diff --git a/.claude/skills/kdoc/SKILL.md b/.claude/skills/kdoc/SKILL.md deleted file mode 100644 index cfacfc3..0000000 --- a/.claude/skills/kdoc/SKILL.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -name: kdoc -description: "Add KDoc documentation to Kotlin public API. Use whenever the user asks to document Kotlin code, add KDoc, generate API docs, mentions undocumented public declarations, or wants to improve existing documentation. Also trigger when the user says 'add docs', 'document this class/file/module', 'write KDoc', or asks about missing documentation in Kotlin code." ---- - -# KDoc Generator - -Add KDoc to all public Kotlin declarations (classes, interfaces, objects, functions, properties, enums, type aliases, annotations — including `@Deprecated`). Read the implementation, not just the signature, to write accurate descriptions. - -## Tag placement - -| Where the declaration lives | Tag | -|---|---| -| Primary-ctor `val` / `var` (public, internal, or protected) | `@property` in class KDoc | -| Primary-ctor `name: Type` (no `val`/`var`) | `@param` in class KDoc | -| Primary-ctor `private val` / `private var` | `@param` in class KDoc | -| Body of class/object/interface/sealed interface | inline `/** */` above the declaration | -| Function parameter | `@param` | -| Non-Unit return type | `@return` | - -## Style - -- Summary: one concise sentence, third-person verb ("Creates", "Returns", "Represents"). Expand to 2-3 sentences only when genuinely complex. -- **Example block**: mandatory for DSL builders (show full receiver-scope usage); add for complex functions or non-obvious extension functions; skip for one-liners and simple getters. -- KDoc links (`[ClassName]`, `[methodName]`) only where they add navigational value. -- Don't write `@throws` or "suspend" notes. -- Rewrite existing KDoc if incomplete or low quality. - -## Examples - -**Class with mixed primary-constructor parameters:** - -````kotlin -/** - * Manages active client sessions and their lifecycle. - * - * @property maxSessions upper limit on concurrent sessions - * @param scope coroutine scope for session lifecycle tasks - * @param secret used internally for session token signing - */ -public class SessionManager( - public val maxSessions: Int, // public val → @property - scope: CoroutineScope, // no val/var → @param - private val secret: ByteArray, // private val → @param -) -```` - -**Body and interface properties (inline `/** */`):** - -````kotlin -/** Represents an entity that includes additional metadata. */ -public interface WithMeta { - /** Optional metadata attached to this entity. */ - public val meta: JsonObject? -} - -public class Connection(public val id: String) { - /** Capabilities negotiated during the handshake, or `null` before initialize completes. */ - public val capabilities: ServerCapabilities? get() = ... -} -```` - -**Function with Example block:** - -````kotlin -/** - * Registers a new tool with the given handler. - * - * Example: - * ```kotlin - * server.addTool(name = "echo", description = "Echoes input back") { request -> - * CallToolResult(content = listOf(TextContent("Echo: ${request.arguments}"))) - * } - * ``` - * - * @param name unique tool identifier - * @param description human-readable tool description - * @param handler suspend function invoked when the tool is called - * @return the registered tool definition - */ -```` diff --git a/.claude/skills/mcp-docs/SKILL.md b/.claude/skills/mcp-docs/SKILL.md deleted file mode 100644 index 074e6f9..0000000 --- a/.claude/skills/mcp-docs/SKILL.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -name: mcp-docs -description: > - Fetch live MCP specification and docs from modelcontextprotocol.io. Training data may be - outdated — default to using this skill when the query touches MCP protocol in any way. - Trigger for: implementing or debugging MCP features (sampling, elicitation, completion, tools, - resources, prompts, transports); SEPs or spec requirements; MCP transport behavior (SSE, - Streamable HTTP, reconnection, retry); authorization/OAuth; conformance test failures; - capability negotiation; message schemas. Skip only for pure Kotlin, build system, or - refactoring tasks with zero MCP protocol dependency. When in doubt, trigger. -user_invocable: true ---- - -# MCP Documentation Skill - -Provides access to the official MCP specification and docs from modelcontextprotocol.io. The spec evolves faster than training data — always consult live documentation for protocol specifics like message schemas, required fields, capability negotiation, error handling, and transport requirements. - -## When to use - -**Proactively** (without being asked): -- Implementing a feature defined in the MCP spec -- Reviewing code that implements MCP protocol behavior -- Fixing conformance test failures - -**On demand** (user asks or invokes `/mcp-docs`): -- Questions about how a specific MCP feature works -- Clarifying spec ambiguities -- Looking up SEPs (Specification Enhancement Proposals) - -## How to fetch documentation - -### Strategy: MCP tool first, llms.txt fallback - -**Step 1 — Try the MCP search tool.** If `search_model_context_protocol` is available, use it: - -``` -search_model_context_protocol(query: "") -``` - -One call, semantically ranked results. Fastest path. - -**Step 2 — Fallback to llms.txt + WebFetch.** If the MCP tool is not available: - -1. Fetch the documentation index: - ``` - WebFetch("https://modelcontextprotocol.io/llms.txt", "Return the full content as-is") - ``` - -2. Identify the relevant page URL(s) from the index. Key sections: - - **Specification**: `specification/...` — protocol details, message formats, transports, lifecycle - - **SEPs**: `seps/...` — specification enhancement proposals - - **Learning**: `docs/learn/...` — architecture, concepts - - **Development**: `docs/develop/...` — building clients/servers - -3. Fetch the specific page: - ``` - WebFetch("", "Return the full content of this documentation page") - ``` - -### Version handling - -Always use the latest spec version by default. Only use a specific version or draft when the user explicitly requests it (e.g., "check the 2025-03-26 spec" or "what does the draft say"). - -### Search guidance - -- Protocol message formats, required fields, capability negotiation → **Specification** section -- Feature motivation, design rationale → relevant **SEP** -- High-level concepts and architecture → **Learning** resources -- Use your judgment on query count. A field-level question may need one page; implementing a feature may need 2-3. - -## Presenting information - -- **Always cite sources.** Include links to spec pages used: `(source: )` -- **Spec over training data** for specific protocol details (schemas, fields, error codes, capabilities). Training data is fine for general MCP concepts. -- **Preserve RFC 2119 language.** The spec uses MUST/SHOULD/MAY — keep this distinction when explaining requirements. -- **Be concise.** Focus on the details relevant to the user's task. Avoid dumping entire spec pages — extract what matters for the specific question or implementation at hand. diff --git a/.editorconfig b/.editorconfig index d8964b9..5c283ed 100644 --- a/.editorconfig +++ b/.editorconfig @@ -30,7 +30,6 @@ ktlint_class_signature_rule_force_multiline_when_parameter_count_greater_or_equa ktlint_function_signature_rule_force_multiline_when_parameter_count_greater_or_equal_than = 4 ktlint_standard_chain-method-continuation = disabled ktlint_ignore_back_ticked_identifier = true -ktlint_standard_backing-property-naming = disabled ktlint_standard_multiline-expression-wrapping = disabled ktlint_standard_when-entry-bracing = disabled diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b951eaa..8d02aac 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,109 +1,20 @@ -# yaml-language-server: $schema=https://json.schemastore.org/dependabot-2.0.json -# Configuration: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file +# Configuration options: +# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file version: 2 - updates: - # Root Gradle project (includes buildSrc) - package-ecosystem: "gradle" directory: "/" schedule: interval: "weekly" - day: "monday" - commit-message: - prefix: "chore(deps):" labels: - "dependencies" - "kotlin" - open-pull-requests-limit: 10 - groups: - ktor: - patterns: - - "io.ktor:*" - kotlinx: - patterns: - - "org.jetbrains.kotlinx:*" - kotlin: - patterns: - - "org.jetbrains.kotlin:*" - kotest: - patterns: - - "io.kotest:*" - testing: - patterns: - - "io.mockk:*" - - "dev.mokksy:*" - - "org.awaitility:*" - - "org.junit.jupiter:*" - infrastructure: - patterns: - - "io.netty:*" - - "io.github.oshai:*" - - "org.slf4j:*" - gradle-plugins: - patterns: - - "dev.detekt" - - "org.jetbrains.kotlinx.kover" - - "org.jlleitschuh.gradle.ktlint" - - "org.jetbrains.kotlinx.knit" - - "org.jetbrains.kotlinx.binary-compatibility-validator" - - "org.openapi.generator" - - "org.jetbrains.dokka:*" - - "com.vanniktech:*" - # Samples (independent Gradle builds) - - package-ecosystem: "gradle" - directories: - - "/samples/*" - schedule: - interval: "weekly" - day: "monday" - commit-message: - prefix: "chore(deps):" - labels: - - "dependencies" - - "kotlin" - - "samples" - open-pull-requests-limit: 10 - groups: - other-dependencies: - patterns: - - "*" - exclude-patterns: - - "io.ktor*" - - "org.jetbrains.kotlin*" - - "io.modelcontextprotocol*" - - # npm (integration tests) - - package-ecosystem: "npm" - directory: "/integration-test/src/jvmTest/typescript" - schedule: - interval: "weekly" - day: "monday" - commit-message: - prefix: "chore(deps):" - labels: - - "dependencies" - - "javascript" - open-pull-requests-limit: 10 - groups: - all-dependencies: - patterns: - - "*" - - # GitHub Actions - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" - day: "monday" - commit-message: - prefix: "chore(deps):" labels: - "dependencies" - "github-actions" - open-pull-requests-limit: 10 - groups: - all-actions: - patterns: - - "*" diff --git a/.github/workflows/apidocs.yaml b/.github/workflows/apidocs.yaml deleted file mode 100644 index 67770a7..0000000 --- a/.github/workflows/apidocs.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: Publish API Docs - -on: - release: - types: - - published - # Allow running this workflow manually from the Actions tab - workflow_dispatch: - -env: - JAVA_VERSION: 21 - JAVA_DISTRIBUTION: temurin - -jobs: - deploy: - - permissions: - pages: write # to deploy to Pages - id-token: write # to verify the deployment originates from an appropriate source - - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - cache: gradle - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - - - name: Generate Dokka Site - run: |- - ./gradlew knit docs:classes docs:knitCheck dokkaGenerate - - - name: Upload artifact - uses: actions/upload-pages-artifact@v5 - with: - path: build/dokka/html - - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v5 diff --git a/.github/workflows/automations.yml b/.github/workflows/automations.yml deleted file mode 100644 index 60a9d3b..0000000 --- a/.github/workflows/automations.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Automations - -on: - schedule: - # Runs every day at 2:00 AM UTC - - cron: '0 2 * * *' - workflow_dispatch: - inputs: - DRY_RUN: - type: boolean - description: 'Run in dry run mode' - default: true - -permissions: - actions: write - # contents: write # only for delete-branch option - issues: write - pull-requests: write - -env: - DRY_RUN: true - MOVE_TO_STALE_DAYS: 30 - CLOSE_AFTER_STALE_DAYS: 15 - -jobs: - mark-stale: - name: Mark/unmark stale PRs and issues - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v11 - with: - debug-only: ${{ env.DRY_RUN }} - exempt-draft-pr: true - exempt-issue-labels: 'awaiting-approval,work-in-progress' - stale-issue-label: 'stale' - stale-pr-label: 'stale' - - # --- Timing --- - # Job 1 marks/unmarks, but never closes. - days-before-issue-stale: ${{ env.MOVE_TO_STALE_DAYS }} - days-before-issue-close: -1 - days-before-pr-stale: ${{ env.MOVE_TO_STALE_DAYS }} - days-before-pr-close: -1 - - remove-stale-when-updated: true - remove-pr-stale-when-updated: true - - # --- Messages --- - stale-issue-message: > - 👋 **This issue has been marked as Stale.** - - This issue has had no activity for **${{ env.MOVE_TO_STALE_DAYS }} days**. - - — 🤖 Stale Bot - stale-pr-message: > - 👋 **This PR has been marked as Stale.** - - This PR has had no activity for **${{ env.MOVE_TO_STALE_DAYS }} days**. - - — 🤖 Stale Bot - - operations-per-run: 100 - ascending: true - - close-stale: - name: Close stale PRs and issues - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v11 - with: - debug-only: ${{ env.DRY_RUN }} - only-labels: 'stale' - stale-issue-label: 'stale' - stale-pr-label: 'stale' - - # --- Timing --- - # Job 2 only closes already marked items. - days-before-issue-stale: -1 - days-before-pr-stale: -1 - days-before-issue-close: ${{ env.CLOSE_AFTER_STALE_DAYS }} - days-before-pr-close: ${{ env.CLOSE_AFTER_STALE_DAYS }} - - # --- Messages --- - close-issue-message: > - 👋 **This issue has been automatically closed.** - - This issue was labeled with `stale` and has had no activity - for **${{ env.CLOSE_AFTER_STALE_DAYS }} days** since that. - - — 🤖 Stale Bot - close-pr-message: > - 👋 **This PR has been automatically closed.** - - This PR was labeled with `stale` and has had no activity - for **${{ env.CLOSE_AFTER_STALE_DAYS }} days** since that. - - If this is still relevant, please feel free to reopen it - or create a new PR. - - — 🤖 Stale Bot - - operations-per-run: 100 - ascending: true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ff99581..a3e2725 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,202 +10,44 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} # Cancel only when the run is NOT on `main` branch - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - -permissions: - contents: read - -env: - JAVA_VERSION: 21 - JAVA_DISTRIBUTION: temurin - GRADLE_OPTS: "-Dorg.gradle.daemon=false" + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: - build: - runs-on: ${{ matrix.os }} - name: Build (${{ matrix.job-name }}) - timeout-minutes: 30 - permissions: - contents: read - - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-latest - job-name: "Linux Tests" - gradle-tasks: "build" - max-workers: 3 - - - os: macos-latest - job-name: "iOS Simulator tests" - gradle-tasks: "iosSimulatorArm64Test" - max-workers: 2 - + validate-pr: + runs-on: macos-latest-xlarge + name: Validate PR steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 - - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v6 + - name: Set up JDK 21 + uses: actions/setup-java@v5 with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Set up Node.js - if: matrix.os == 'ubuntu-latest' - uses: actions/setup-node@v7 - with: - node-version: '22' # increase only after https://github.com/nodejs/node/issues/56645 will be fixed - - - name: Set up Node Packages - if: matrix.os == 'ubuntu-latest' - working-directory: integration-test/src/jvmTest/typescript - run: npm ci + java-version: '21' + distribution: 'temurin' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - validate-wrappers: true - add-job-summary: 'always' - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - gradle-home-cache-includes: | - caches - notifications - ../.konan/** - - - name: ${{ matrix.job-name }} - run: |- - ./gradlew ${{ matrix.gradle-tasks }} --max-workers ${{ matrix.max-workers }} --continue --rerun-tasks - - - name: Coverage Report - if: ${{ success() && matrix.os == 'ubuntu-latest' }} - run: ./gradlew koverLog koverHtmlReport koverXmlReport - - - name: Publish to Maven Local - if: ${{ success() && matrix.os == 'ubuntu-latest' }} - run: ./gradlew publishToMavenLocal -Pversion=1-SNAPSHOT - - - name: Upload Reports - if: failure() - uses: actions/upload-artifact@v7 - with: - name: reports-build-${{ matrix.os }} - path: | - **/build/reports/ - - - name: Publish Test Report - uses: mikepenz/action-junit-report@v6 - if: always() - with: - annotate_only: true - detailed_summary: true - group_suite: true - include_empty_in_summary: false - report_paths: '**/test-results/**/TEST-*.xml' - truncate_stack_traces: false - - - - name: Archive Maven Local Repository - if: ${{ success() && matrix.os == 'ubuntu-latest' }} - run: | - cd ~/.m2/repository/io/modelcontextprotocol && zip -r $GITHUB_WORKSPACE/local-maven-repository.zip . - - - name: Upload Maven Local Repository - if: ${{ success() && matrix.os == 'ubuntu-latest' }} - uses: actions/upload-artifact@v7 - with: - name: local-maven-repository - path: local-maven-repository.zip - retention-days: 1 - - knit: - runs-on: ubuntu-latest - name: Knit - timeout-minutes: 10 - permissions: - contents: read - - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - validate-wrappers: true - add-job-summary: 'always' - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - gradle-home-cache-includes: | - caches - notifications - sdks - ../.konan/** - - - name: Run Knit - run: |- - ./gradlew knit docs:classes docs:knitCheck --max-workers 3 --continue --rerun-tasks - - - samples: - needs: [ build ] - runs-on: ubuntu-latest - permissions: - contents: read - strategy: - fail-fast: false - matrix: - sample: - - kotlin-mcp-client - - kotlin-mcp-server - - simple-streamable-server - - weather-stdio-server - - name: "Build Sample: ${{ matrix.sample }}" - timeout-minutes: 10 - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 + uses: gradle/actions/setup-gradle@v4 with: add-job-summary: 'always' cache-read-only: true - gradle-home-cache-includes: | - caches - notifications - sdks - ../.konan/** - - name: Download Maven Local Repository - uses: actions/download-artifact@v8 - with: - name: local-maven-repository - path: . - - - name: Extract Maven Local Repository - run: | - mkdir -p ~/.m2/repository/io/modelcontextprotocol - unzip -o local-maven-repository.zip -d ~/.m2/repository/io/modelcontextprotocol - - - name: "Build Sample: ${{ matrix.sample }}" - working-directory: ./samples/${{ matrix.sample }} - run: ./gradlew build -Pmcp.kotlin.overrideVersion=1-SNAPSHOT --rerun-tasks + - name: Build with Gradle + run: ./gradlew clean ktlintCheck build koverLog koverHtmlReport + env: + JAVA_OPTS: "-Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g" - name: Upload Reports - if: ${{ !cancelled() }} - uses: actions/upload-artifact@v7 + if: always() + uses: actions/upload-artifact@v4 with: - name: reports-samples-snapshot-${{ matrix.sample }} + name: junit-results path: | - **/build/reports/ + **/build/test-results/test/*.xml + build/reports + + - name: Disable Auto-Merge on Fail + if: failure() && github.event_name == 'pull_request' + run: gh pr merge --disable-auto "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2e7c58f..63c798f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,57 +1,69 @@ name: "CodeQL Advanced" on: + push: + branches: [ "main" ] pull_request: branches: [ "main" ] schedule: - - cron: '0 7 * * 1' # Monday 8:00 CET (7:00 UTC) - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -env: - JAVA_VERSION: 21 - JAVA_DISTRIBUTION: temurin + - cron: '0 4 * * 0' jobs: analyze: - name: Analyze + name: Analyze (${{ matrix.language }}) runs-on: ubuntu-latest - timeout-minutes: 30 permissions: + # required for all workflows security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read contents: read + strategy: + matrix: + language: [ java-kotlin ] + steps: - name: Checkout repository - uses: actions/checkout@v7 - - - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v6 + uses: actions/checkout@v5 with: - distribution: ${{ env.JAVA_DISTRIBUTION }} - java-version: ${{ env.JAVA_VERSION }} + fetch-depth: 0 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: '21' + + # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v4.38.0 + uses: github/codeql-action/init@v3 with: - languages: java-kotlin + languages: ${{ matrix.language }} build-mode: manual - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 + - uses: actions/cache@v4 with: - validate-wrappers: true - cache-read-only: true + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Build Kotlin sources run: | - ./gradlew compileKotlinJvm :conformance-test:compileKotlin \ + ./gradlew \ + :kotlin-sdk-core:compileKotlinJvm \ + :kotlin-sdk-client:compileKotlinJvm \ + :kotlin-sdk-server:compileKotlinJvm \ + :kotlin-sdk:compileKotlinJvm \ + :kotlin-sdk-test:compileKotlinJvm \ -Pkotlin.incremental=false \ - --no-daemon --rerun-tasks --stacktrace + --no-daemon --stacktrace --rerun-tasks - name: Analyze - uses: github/codeql-action/analyze@v4.38.0 + uses: github/codeql-action/analyze@v3 with: - category: '/language:java-kotlin' + category: '/language:${{ matrix.language }}' diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml deleted file mode 100644 index b3e3935..0000000 --- a/.github/workflows/conformance.yml +++ /dev/null @@ -1,172 +0,0 @@ -name: Conformance Tests - -on: - workflow_dispatch: - pull_request: - branches: [ main ] - push: - branches: [ main ] - -env: - JAVA_VERSION: '21' - JAVA_DISTRIBUTION: temurin - NODE_VERSION: '22' - - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - # Cancel only when the run is NOT on `main` branch - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - -jobs: - server: - runs-on: ubuntu-latest - name: Conformance Server Tests - timeout-minutes: 20 - - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - - - name: Build - run: ./gradlew :conformance-test:installDist - - - name: Start server - run: | - MCP_PORT=3001 conformance-test/build/install/conformance-test/bin/conformance-test & - for i in $(seq 1 30); do - if curl -s -o /dev/null http://localhost:3001/mcp; then - echo "Server is ready" - break - fi - sleep 1 - done - - - name: Run conformance tests - uses: modelcontextprotocol/conformance@v0.1.16 - with: - mode: server - url: http://localhost:3001/mcp - suite: active - node-version: ${{ env.NODE_VERSION }} - expected-failures: ./conformance-test/conformance-baseline.yml - - client: - runs-on: ubuntu-latest - name: "Conformance Client Tests: ${{ matrix.scenario }}" - timeout-minutes: 20 - - strategy: - fail-fast: false - matrix: - scenario: - - initialize - - tools_call - - elicitation-sep1034-client-defaults - - sse-retry - - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - - - name: Build - run: ./gradlew :conformance-test:installDist - - - name: Run conformance tests - uses: modelcontextprotocol/conformance@v0.1.16 - with: - mode: client - command: conformance-test/build/install/conformance-test/bin/conformance-client - scenario: ${{ matrix.scenario }} - node-version: ${{ env.NODE_VERSION }} - expected-failures: ./conformance-test/conformance-baseline.yml - - auth: - runs-on: ubuntu-latest - name: Conformance Auth Tests - timeout-minutes: 20 - - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - - - name: Build - run: ./gradlew :conformance-test:installDist - - - name: Run conformance tests - uses: modelcontextprotocol/conformance@v0.1.16 - with: - mode: client - command: conformance-test/build/install/conformance-test/bin/conformance-client - suite: auth - node-version: ${{ env.NODE_VERSION }} - expected-failures: ./conformance-test/conformance-baseline.yml - - auth-scenarios: - runs-on: ubuntu-latest - name: "Conformance Auth Scenario: ${{ matrix.scenario }}" - timeout-minutes: 20 - - strategy: - fail-fast: false - matrix: - scenario: - - auth/client-credentials-jwt - - auth/client-credentials-basic - - auth/cross-app-access-complete-flow - - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - - - name: Build - run: ./gradlew :conformance-test:installDist - - - name: Run conformance tests - uses: modelcontextprotocol/conformance@v0.1.16 - with: - mode: client - command: conformance-test/build/install/conformance-test/bin/conformance-client - scenario: ${{ matrix.scenario }} - node-version: ${{ env.NODE_VERSION }} - expected-failures: ./conformance-test/conformance-baseline.yml diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml deleted file mode 100644 index e7e94c3..0000000 --- a/.github/workflows/dependabot-auto-merge.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Auto-merge Dependabot - -on: pull_request - -permissions: - contents: write - pull-requests: write - -jobs: - auto-merge: - if: github.actor == 'dependabot[bot]' - runs-on: ubuntu-latest - steps: - - uses: dependabot/fetch-metadata@v3 - id: metadata - - - if: >- - steps.metadata.outputs.package-ecosystem == 'github_actions' || - steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' - run: gh pr merge --auto --squash "$PR_URL" - env: - PR_URL: ${{ github.event.pull_request.html_url }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index f01f9c8..63ef877 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -1,47 +1,133 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle + name: Release on: release: - types: [ published ] - workflow_dispatch: + types: [ created ] jobs: build: runs-on: macos-latest environment: release - env: - GRADLE_OPTS: "-Dorg.gradle.daemon=false" permissions: contents: write packages: write steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 - name: Set up JDK 21 - uses: actions/setup-java@v6 + uses: actions/setup-java@v5 with: java-version: '21' distribution: 'temurin' - - name: Set up Node.js - uses: actions/setup-node@v7 - with: - node-version: '22' # increase only after https://github.com/nodejs/node/issues/56645 will be fixed - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 + uses: gradle/actions/setup-gradle@v4 - - name: Check - run: ./gradlew check --no-configuration-cache + - name: Verify publication configuration + run: ./gradlew jreleaserConfig + env: + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Clean Build with Gradle + run: ./gradlew clean build + env: + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} - name: Publish to Maven Central Portal id: publish - run: ./gradlew publishToMavenCentral --no-configuration-cache + run: ./gradlew publish jreleaserFullRelease --info --stacktrace -Djreleaser.verbose=true env: - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_TOKEN }} - ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_SECRET_KEY }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSPHRASE }} + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + + - name: Query Central Portal for validation errors + if: failure() + shell: bash + env: + OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + run: | + set -euo pipefail + + OUTPUT_PROPS="build/jreleaser/output.properties" + + if [[ ! -f "$OUTPUT_PROPS" ]]; then + echo "::error title=File Missing::The file '$OUTPUT_PROPS' does not exist." + exit 1 + fi + + DEPLOY_ID=$(grep '^deploymentId=' "$OUTPUT_PROPS" | cut -d= -f2 || true) + if [[ -z "$DEPLOY_ID" ]]; then + echo "::error title=Missing Deployment ID::The 'deploymentId' key was not found in '$OUTPUT_PROPS'." + exit 1 + fi + + echo "Portal deploymentId: $DEPLOY_ID" + + if [ -z "$OSSRH_USERNAME" ]; then + echo "::error title='OSSRH_USERNAME' is not set." + exit 1 + fi + + if [ -z "$OSSRH_TOKEN" ]; then + echo "::error title='OSSRH_TOKEN' is not set." + exit 1 + fi + + AUTH=$(printf "%s:%s" "$OSSRH_USERNAME" "$OSSRH_TOKEN" | base64) + echo "::add-mask::$AUTH" + + STATUS_JSON=$(curl -sS \ + -H "Authorization: Bearer $AUTH" \ + -H "Content-Type: application/json" \ + -X POST \ + "https://central.sonatype.com/api/v1/publisher/status?id=$DEPLOY_ID") + + echo "$STATUS_JSON" | jq . + + echo "$STATUS_JSON" | jq -r '.errors[]?.message' | + while read -r MSG; do + echo "::error title=Sonatype validation::$MSG" + done + + { + echo "### Sonatype Central Portal validation result" + echo + echo '```json' + echo "$STATUS_JSON" + echo '```' + } >> "$GITHUB_STEP_SUMMARY" + + - name: Upload JReleaser artefacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: jreleaser-logs + path: | + build/jreleaser/trace.log + build/jreleaser/output.properties \ No newline at end of file diff --git a/.github/workflows/samples.yml b/.github/workflows/samples.yml deleted file mode 100644 index 7463a9e..0000000 --- a/.github/workflows/samples.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Build Samples - -on: - workflow_dispatch: - pull_request: - branches: [ main ] - paths: - - 'samples/**' - push: - branches: [ main ] - paths: - - 'samples/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - # Cancel only when the run is NOT on `main` branch - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - -env: - JAVA_VERSION: 21 - JAVA_DISTRIBUTION: temurin - GRADLE_OPTS: "-Dorg.gradle.daemon=false" - -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - sample: - - kotlin-mcp-client - - kotlin-mcp-server - - simple-streamable-server - - weather-stdio-server - - name: Build Sample (${{ matrix.sample }}) - timeout-minutes: 10 - steps: - - uses: actions/checkout@v7 - - - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v6 - with: - java-version: ${{ env.JAVA_VERSION }} - distribution: ${{ env.JAVA_DISTRIBUTION }} - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6.3.0 - with: - validate-wrappers: true - add-job-summary: 'always' - cache-read-only: ${{ github.ref != 'refs/heads/main' }} - - - name: "Build Sample: ${{ matrix.sample }}" - working-directory: ./samples/${{ matrix.sample }} - run: ./gradlew build - - - name: Upload Reports - if: failure() - uses: actions/upload-artifact@v7 - with: - name: reports-samples-${{ matrix.sample }} - path: | - **/build/reports/ diff --git a/.gitignore b/.gitignore index 805579c..4db4381 100644 --- a/.gitignore +++ b/.gitignore @@ -17,13 +17,9 @@ build/ out/ !**/src/main/**/out/ !**/src/test/**/out/ -!.idea/icon.png -!.idea/detekt.xml -!.idea/externalDependencies.xml ### Kotlin ### .kotlin -kotlin-js-store yarn.lock ### Eclipse ### @@ -58,6 +54,3 @@ dist ### SWE agents ### .claude/ .junie/ - -### Conformance test results ### -conformance-test/results/ diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index 6ef38be..0000000 --- a/AGENTS.md +++ /dev/null @@ -1,82 +0,0 @@ -# AGENTS: Development Guidelines for AI Contributors - -This file provides guidance to AI coding agents working with code in this repository. - -## Project - -Kotlin Multiplatform SDK for the [Model Context Protocol (MCP)](https://modelcontextprotocol.io). Targets JVM, Native (macOS/Linux/Windows), JS, and Wasm. Implements both MCP clients and servers with pluggable transports. - -## Build Commands - -```bash -./gradlew ktlintCheck # Lint check -./gradlew detekt # Static analysis -./gradlew ktlintFormat # Auto-fix lint issues -./gradlew apiCheck # Check public API compatibility (run before committing) -./gradlew apiDump # Update API dump after intentional API changes -./gradlew koverLog # Print coverage summary -./gradlew koverXmlReport # Generate XML coverage report -``` - -Run a single test class: -```bash -./gradlew :kotlin-sdk-server:jvmTest --tests "io.modelcontextprotocol.kotlin.sdk.server.StdioServerTransportTest" -``` - -Run a single test method: -```bash -./gradlew :kotlin-sdk-core:jvmTest --tests "*.ProtocolTest.should preserve existing meta when adding progress token" -``` - -Conformance tests (requires Node.js + npx): -```bash -./conformance-test/run-conformance.sh all # All suites sequentially -./conformance-test/run-conformance.sh server # Server suite only -./conformance-test/run-conformance.sh client # Client core suite (initialize, tools_call, elicitation, sse-retry) -./conformance-test/run-conformance.sh client-auth # Client auth suite (20 OAuth scenarios) -``` - -## Module Structure - -``` -kotlin-sdk-core Core: protocol types, JSON-RPC, Transport abstraction, Protocol base class -kotlin-sdk-client Client: MCP client implementation (tools, prompts, resources, sampling) -kotlin-sdk-server Server: MCP server implementation (feature registries, sessions) -kotlin-sdk-testing ChannelTransport for in-memory client-server testing -kotlin-sdk Umbrella module aggregating client + server -test-utils Shared test helpers (mockk, kotest, awaitility) -conformance-test MCP specification compliance tests (external runner) -integration-test End-to-end tests -samples/ Runnable examples (servers and clients) -``` - -## Architecture - -Layered design: - -``` -Application (tools, prompts, resources) - → Client / Server (typed MCP operations, capability enforcement) - → Protocol (JSON-RPC framing, request correlation, timeouts) - → Transport (pluggable I/O: stdio, SSE, Streamable HTTP, WebSocket) -``` - -## Code Conventions - -- **Explicit API mode (Strict)**: all public declarations must have explicit visibility modifiers and return types -- **DSL builders**: prefer DSL builder style (lambda blocks) over direct constructors -- **Multi-dollar interpolation**: use `$$"""..."""` for strings containing literal `$` (e.g., JSON with `$ref`, `$defs`) -- **`McpJson` has `explicitNulls = false`**: null properties must be absent from JSON, not `"field": null` -- **Logging**: use `io.github.oshai.kotlinlogging.KotlinLogging` -- **Structured concurrency**: every coroutine must have a bounded scope and lifetime; always re-throw `CancellationException`; never hold `Mutex` across suspension points - -## Testing - -- **JVM first**: run `jvmTest` instead of `test` — full multiplatform test runs are slow and rarely needed during development -- **Test naming**: use backtick syntax — `fun \`should return 200 OK\`()` -- **Frameworks**: JUnit 5 (runner) + Kotest (assertions) + MockK (mocking) + Awaitility (async waits) -- **In-memory testing**: `ChannelTransport.createLinkedPair()` connects client and server without network - -## Skills - -- `/mcp-docs` — fetches live MCP specification and docs; use when implementing or debugging MCP protocol features diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 120000 index 47dc3e3..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1 +0,0 @@ -AGENTS.md \ No newline at end of file diff --git a/LICENSE b/LICENSE index 185054b..136059a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,193 +1,6 @@ -The MCP project is undergoing a licensing transition from the MIT License to the Apache License, Version 2.0 ("Apache-2.0"). All new code and specification contributions to the project are licensed under Apache-2.0. Documentation contributions (excluding specifications) are licensed under CC-BY-4.0. - -Contributions for which relicensing consent has been obtained are licensed under Apache-2.0. Contributions made by authors who originally licensed their work under the MIT License and who have not yet granted explicit permission to relicense remain licensed under the MIT License. - -No rights beyond those granted by the applicable original license are conveyed for such contributions. - ---- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to the Licensor for inclusion in the Work by the copyright - owner or by an individual or Legal Entity authorized to submit on behalf - of the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - ---- - MIT License -Copyright (c) 2024-2026 Model Context Protocol a Series of LF Projects, LLC. +Copyright (c) 2024 Anthropic, PBC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -205,12 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- - -Creative Commons Attribution 4.0 International (CC-BY-4.0) - -Documentation in this project (excluding specifications) is licensed under -CC-BY-4.0. See https://creativecommons.org/licenses/by/4.0/legalcode for -the full license text. +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index aefadcf..4fd0609 100644 --- a/README.md +++ b/README.md @@ -1,318 +1,104 @@ # MCP Kotlin SDK -[![Maven Central](https://img.shields.io/maven-central/v/io.modelcontextprotocol/kotlin-sdk.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/io.modelcontextprotocol/kotlin-sdk) -[![Build](https://github.com/modelcontextprotocol/kotlin-sdk/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/modelcontextprotocol/kotlin-sdk/actions/workflows/build.yml) +[![Kotlin Multiplatform](https://img.shields.io/badge/Kotlin-Multiplatform-blueviolet?logo=kotlin)](https://kotlinlang.org/docs/multiplatform.html) +[![Platforms](https://img.shields.io/badge/Platforms-JVM%20%7C%20Wasm%2FJS%20%7C%20Native%20(iOS%2FiOS%20Simulator)-blue)](https://kotlinlang.org/docs/multiplatform.html) +[![Maven Central](https://img.shields.io/maven-central/v/io.modelcontextprotocol/kotlin-sdk.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:io.modelcontextprotocol%20a:kotlin-sdk) +[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) -[![Kotlin](https://img.shields.io/badge/kotlin-2.2+-blueviolet.svg?logo=kotlin)](http://kotlinlang.org) -[![Kotlin Multiplatform](https://img.shields.io/badge/Platforms-%20JVM%20%7C%20Wasm%2FJS%20%7C%20Native%20-blueviolet?logo=kotlin)](https://kotlinlang.org/docs/multiplatform.html) -[![JVM](https://img.shields.io/badge/JVM-11+-red.svg?logo=jvm)](http://java.com) -[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) - - -Kotlin Multiplatform SDK for the [Model Context Protocol](https://modelcontextprotocol.io). -It enables Kotlin applications targeting JVM, Native, JS, and Wasm to implement MCP clients and servers using a -standardized protocol interface. - -## Table of Contents - - - -* [Overview](#overview) -* [Installation](#installation) - * [Artifacts](#artifacts) - * [Gradle setup (JVM)](#gradle-setup-jvm) - * [Multiplatform](#multiplatform) - * [Ktor dependencies](#ktor-dependencies) -* [Quickstart](#quickstart) - * [Creating a Client](#creating-a-client) - * [Creating a Server](#creating-a-server) -* [Core Concepts](#core-concepts) - * [MCP Primitives](#mcp-primitives) - * [Capabilities](#capabilities) - * [Server Capabilities](#server-capabilities) - * [Client Capabilities](#client-capabilities) - * [Server Features](#server-features) - * [Prompts](#prompts) - * [Resources](#resources) - * [Tools](#tools) - * [Completion](#completion) - * [Logging](#logging) - * [Pagination](#pagination) - * [Client Features](#client-features) - * [Roots](#roots) - * [Sampling](#sampling) -* [Transports](#transports) - * [STDIO Transport](#stdio-transport) - * [Streamable HTTP Transport](#streamable-http-transport) - * [SSE Transport](#sse-transport) - * [WebSocket Transport](#websocket-transport) - * [ChannelTransport (testing)](#channeltransport-testing) -* [Connecting your server](#connecting-your-server) -* [Examples](#examples) -* [Documentation](#documentation) -* [Contributing](#contributing) -* [License](#license) - - +Kotlin Multiplatform implementation of the [Model Context Protocol](https://modelcontextprotocol.io) (MCP), +providing both client and server capabilities for integrating with LLM surfaces across various platforms. ## Overview The Model Context Protocol allows applications to provide context for LLMs in a standardized way, separating the concerns of providing context from the actual LLM interaction. -This Kotlin SDK implements the MCP specification, making it easy to: +This SDK implements the MCP specification for Kotlin, +enabling you to build applications that can communicate using MCP on the JVM, WebAssembly and iOS. -- Build MCP **clients** that can connect to any MCP server -- Create MCP **servers** that expose resources, prompts, and tools -- Target **JVM, Native, JS, and Wasm** from a single codebase -- Use standard transports like **stdio**, **SSE**, **Streamable HTTP**, and **WebSocket** -- Handle MCP protocol messages and lifecycle events with coroutine-friendly APIs +- Build MCP clients that can connect to any MCP server +- Create MCP servers that expose resources, prompts and tools +- Use standard transports like stdio, SSE, and WebSocket +- Handle all MCP protocol messages and lifecycle events + +## Samples + +- [kotlin-mcp-server](./samples/kotlin-mcp-server): demonstrates a multiplatform (JVM, Wasm) MCP server setup with various features and transports. +- [weather-stdio-server](./samples/weather-stdio-server): shows how to build a Kotlin MCP server providing weather forecast and alerts using STDIO transport. +- [kotlin-mcp-client](./samples/kotlin-mcp-client): demonstrates building an interactive Kotlin MCP client that connects to an MCP server via STDIO and integrates with Anthropic’s API. ## Installation -### Artifacts - -- `io.modelcontextprotocol:kotlin-sdk` – umbrella SDK (client + server APIs) -- `io.modelcontextprotocol:kotlin-sdk-client` – client-only APIs -- `io.modelcontextprotocol:kotlin-sdk-server` – server-only APIs - -### Gradle setup (JVM) - -Add the Maven Central repository and the SDK dependency: +Add the new repository to your build file: ```kotlin repositories { mavenCentral() } +``` +Add the dependency: + +```kotlin dependencies { // See the badge above for the latest version implementation("io.modelcontextprotocol:kotlin-sdk:$mcpVersion") } ``` - -Use _kotlin-sdk-client_ or _kotlin-sdk-server_ if you only need one side of the API: - +MCP SDK uses [Ktor](https://ktor.io/), but does not come with a specific engine dependency. +You should add [Ktor client](https://ktor.io/docs/client-dependencies.html#engine-dependency) +and/or [Ktor server](https://ktor.io/docs/client-dependencies.html#engine-dependency) dependency +to your project yourself, e.g.: ```kotlin dependencies { - implementation("io.modelcontextprotocol:kotlin-sdk-client:$mcpVersion") - implementation("io.modelcontextprotocol:kotlin-sdk-server:$mcpVersion") -} -``` - -### Multiplatform - -In a Kotlin Multiplatform project you can add the SDK to commonMain: - -```kotlin -commonMain { - dependencies { - // Works as a common dependency as well as the platform one - implementation("io.modelcontextprotocol:kotlin-sdk:$mcpVersion") - } -} -``` - -### Ktor dependencies - -The Kotlin MCP SDK uses [Ktor](https://ktor.io/), but it does not add Ktor engine dependencies transitively. -You need to declare -Ktor [client](https://ktor.io/docs/client-dependencies.html#engine-dependency)/[server](https://ktor.io/docs/server-dependencies.html) -dependencies yourself (or reuse the ones already used in your project), -for example: - -```kotlin -dependencies { - // MCP client with Ktor + // for client: implementation("io.ktor:ktor-client-cio:$ktorVersion") - implementation("io.modelcontextprotocol:kotlin-sdk-client:$mcpVersion") - - // MCP server with Ktor + // for server: implementation("io.ktor:ktor-server-netty:$ktorVersion") - implementation("io.modelcontextprotocol:kotlin-sdk-server:$mcpVersion") + } ``` -## Quickstart - -Let's create a simple MCP client and server to demonstrate the basic usage of the Kotlin SDK. - - +## Quick Start ### Creating a Client -Create an MCP client that connects to a server via Streamable HTTP transport and lists available tools: - ```kotlin -import io.ktor.client.HttpClient -import io.ktor.client.plugins.sse.SSE import io.modelcontextprotocol.kotlin.sdk.client.Client -import io.modelcontextprotocol.kotlin.sdk.client.StreamableHttpClientTransport -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import kotlinx.coroutines.runBlocking +import io.modelcontextprotocol.kotlin.sdk.client.StdioClientTransport +import io.modelcontextprotocol.kotlin.sdk.Implementation -fun main(args: Array) = runBlocking { - val url = args.firstOrNull() ?: "http://localhost:3000/mcp" - - val httpClient = HttpClient { install(SSE) } - - val client = Client( - clientInfo = Implementation( - name = "example-client", - version = "1.0.0" - ) +val client = Client( + clientInfo = Implementation( + name = "example-client", + version = "1.0.0" ) +) - val transport = StreamableHttpClientTransport( - client = httpClient, - url = url - ) +val transport = StdioClientTransport( + inputStream = processInputStream, + outputStream = processOutputStream +) - // Connect to server - client.connect(transport) +// Connect to server +client.connect(transport) - // List available tools - val tools = client.listTools().tools +// List available resources +val resources = client.listResources() - println(tools) -} +// Read a specific resource +val resourceContent = client.readResource( + ReadResourceRequest(uri = "file:///example.txt") +) ``` - - ### Creating a Server -Create an MCP server that exposes a simple tool and runs on an embedded Ktor server with Streamable HTTP transport. -For a full working project with all required dependencies, see -the [simple-streamable-server](samples/simple-streamable-server) sample. - - - ```kotlin -import io.ktor.server.cio.CIO -import io.ktor.server.engine.embeddedServer import io.modelcontextprotocol.kotlin.sdk.server.Server import io.modelcontextprotocol.kotlin.sdk.server.ServerOptions -import io.modelcontextprotocol.kotlin.sdk.server.mcpStreamableHttp -import io.modelcontextprotocol.kotlin.sdk.types.CallToolResult -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import io.modelcontextprotocol.kotlin.sdk.types.ServerCapabilities -import io.modelcontextprotocol.kotlin.sdk.types.TextContent -import io.modelcontextprotocol.kotlin.sdk.types.ToolSchema -import kotlinx.serialization.json.buildJsonObject -import kotlinx.serialization.json.put +import io.modelcontextprotocol.kotlin.sdk.server.StdioServerTransport +import io.modelcontextprotocol.kotlin.sdk.ServerCapabilities -fun main(args: Array) { - val port = args.firstOrNull()?.toIntOrNull() ?: 3000 - val mcpServer = Server( - serverInfo = Implementation( - name = "example-server", - version = "1.0.0" - ), - options = ServerOptions( - capabilities = ServerCapabilities( - tools = ServerCapabilities.Tools(listChanged = true), - ), - ) - ) - - mcpServer.addTool( - name = "example-tool", - description = "An example tool", - inputSchema = ToolSchema( - properties = buildJsonObject { - put("input", buildJsonObject { put("type", "string") }) - } - ) - ) { request -> - CallToolResult(content = listOf(TextContent("Hello, world!"))) - } - - embeddedServer(CIO, host = "127.0.0.1", port = port) { - mcpStreamableHttp { - mcpServer - } - }.start(wait = true) -} -``` - - - -You can run the server and then connect to it using the client or test with the MCP Inspector: - -```bash -npx -y @modelcontextprotocol/inspector -``` - -In the inspector UI, connect to `http://localhost:3000/mcp`. - -## Core Concepts - -### MCP Primitives - -The MCP protocol defines core primitives that enable communication between servers and clients: - -| Primitive | Server Role | Client Role | Description | -|---------------|---------------------------------------------------|----------------------------------------|---------------------------------------------------| -| **Prompts** | Provides prompt templates with optional arguments | Requests and uses prompts | Interactive templates for LLM interactions | -| **Resources** | Exposes data sources (files, API responses, etc.) | Reads and subscribes to resources | Contextual data for augmenting LLM context | -| **Tools** | Defines executable functions | Calls tools to perform actions | Functions the LLM can invoke to take actions | -| **Sampling** | Requests LLM completions from client | Executes LLM calls and returns results | Server-initiated LLM requests (reverse direction) | - -### Capabilities - -Capabilities define what features a server or client supports. They are declared during initialization and determine -what operations are available. - -#### Server Capabilities - -Servers declare their capabilities to inform clients what features they provide: - -| Capability | Feature Flags | Description | -|----------------|-------------------------------|------------------------------------------------------------| -| `prompts` | `listChanged` | Prompt template management and notifications | -| `resources` | `subscribe`
`listChanged` | Resource exposure, subscriptions, and update notifications | -| `tools` | `listChanged` | Tool discovery, execution, and list change notifications | -| `logging` | - | Server logging to client console | -| `completions` | - | Argument autocompletion suggestions | -| `experimental` | Custom properties | Non-standard experimental features | - -#### Client Capabilities - -Clients declare their capabilities to inform servers what features they support: - -| Capability | Feature Flags | Description | -|----------------|-------------------|-------------------------------------------------------------| -| `sampling` | - | Client can sample from an LLM (execute model requests) | -| `roots` | `listChanged` | Client exposes root directories and can notify of changes | -| `elicitation` | - | Client can display schema/form dialogs for structured input | -| `experimental` | Custom properties | Non-standard experimental features | - -### Server Features - -The `Server` API lets you wire prompts, resources, and tools with only a few lines of Kotlin. Each feature is registered -up front and then resolved lazily when a client asks for it, so your handlers stay small and suspendable. - -#### Prompts - -Prompts are user-controlled templates that clients discover via `prompts/list` and fetch with `prompts/get` when a user -chooses one (think slash commands or saved flows). They’re best for repeatable, structured starters rather than ad-hoc -model calls. - - - -```kotlin val server = Server( serverInfo = Implementation( name = "example-server", @@ -320,607 +106,95 @@ val server = Server( ), options = ServerOptions( capabilities = ServerCapabilities( - prompts = ServerCapabilities.Prompts(listChanged = true), - ), - ) -) - -server.addPrompt( - name = "code-review", - description = "Ask the model to review a diff", - arguments = listOf( - PromptArgument(name = "diff", description = "Unified diff", required = true), - ), -) { request -> - GetPromptResult( - description = "Quick code review helper", - messages = listOf( - PromptMessage( - role = Role.User, - content = TextContent(text = "Review this change:\n${request.arguments?.get("diff")}"), - ), - ), - ) -} -``` - - - - - -Use prompts for anything that deserves a template: bug triage questions, onboarding checklists, or saved searches. Set -`listChanged = true` only if your prompt catalog can change at runtime and your server will emit -`notifications/prompts/list_changed` when it does. - -#### Resources - -Resources are application-driven context that clients discover via `resources/list` or `resources/templates/list`, then -fetch with `resources/read`. Register each one with a stable URI and return a `ReadResourceResult` when asked—contents -can be text or binary blobs. - - - -```kotlin -val server = Server( - serverInfo = Implementation( - name = "example-server", - version = "1.0.0" - ), - options = ServerOptions( - capabilities = ServerCapabilities( - resources = ServerCapabilities.Resources(subscribe = true, listChanged = true), - ), + resources = ServerCapabilities.Resources( + subscribe = true, + listChanged = true + ) + ) ) ) +// Add a resource server.addResource( - uri = "note://release/latest", - name = "Release notes", - description = "Last deployment summary", - mimeType = "text/markdown", + uri = "file:///example.txt", + name = "Example Resource", + description = "An example text file", + mimeType = "text/plain" ) { request -> ReadResourceResult( contents = listOf( TextResourceContents( - text = "Ship 42 reached production successfully.", + text = "This is the content of the example resource.", uri = request.uri, - mimeType = "text/markdown", - ), - ), + mimeType = "text/plain" + ) + ) ) } + +// Start server with stdio transport +val transport = StdioServerTransport() +server.connect(transport) ``` - - - - -Resources can be static text, generated JSON, or blobs—anything the client can surface to the user or inject into the -model context. Set `subscribe = true` if you emit `notifications/resources/updated` for changes to specific URIs, and -`listChanged = true` if you’ll send `notifications/resources/list_changed` when the catalog itself changes. - -#### Tools - -Tools are model-controlled capabilities the client exposes to the model. Clients discover them via `tools/list`, invoke -them with `tools/call`, and your handlers receive JSON arguments, can emit streaming logs or progress, and return a -`CallToolResult`. Keep a human in the loop for sensitive operations. - - +### Using SSE Transport +Directly in Ktor's `Application`: ```kotlin -val server = Server( - serverInfo = Implementation( - name = "example-server", - version = "1.0.0" - ), - options = ServerOptions( - capabilities = ServerCapabilities( - tools = ServerCapabilities.Tools(listChanged = true), - ), - ) -) - -server.addTool( - name = "echo", - description = "Return whatever the user sent back to them", -) { request -> - val text = request.arguments?.get("text")?.jsonPrimitive?.content ?: "(empty)" - CallToolResult(content = listOf(TextContent(text = "Echo: $text"))) -} -``` - - - - - -Register as many tools as you need—long-running jobs can report progress via the request context, and tools can also -trigger sampling (see below) when they need the client’s LLM. Set `listChanged = true` only if your tool catalog can -change at runtime and your server will emit `notifications/tools/list_changed` when it does. - -#### Completion - -Completion provides argument suggestions for prompts or resource templates. Declare the `completions` capability and -handle `completion/complete` requests to return up to 100 ranked values (include `total`/`hasMore` if you paginate). - - - -```kotlin -val server = Server( - serverInfo = Implementation( - name = "example-server", - version = "1.0.0" - ), - options = ServerOptions( - capabilities = ServerCapabilities( - completions = ServerCapabilities.Completions, - ), - ) -) - -val session = server.createSession( - StdioServerTransport( - inputStream = System.`in`.asSource().buffered(), - outputStream = System.out.asSink().buffered() - ) -) - -session.setRequestHandler(Method.Defined.CompletionComplete) { request, _ -> - val options = listOf("kotlin", "compose", "coroutine") - val matches = options.filter { it.startsWith(request.argument.value.lowercase()) } - - CompleteResult( - completion = CompleteResult.Completion( - values = matches.take(3), - total = matches.size, - hasMore = matches.size > 3, - ), - ) -} -``` - - - - - -Use `context.arguments` to refine suggestions for dependent fields (e.g., framework list filtered by chosen language). - -#### Logging - -Logging lets the server stream structured log notifications to the client using RFC 5424 levels (`debug` → `emergency`). -Declare the `logging` capability; clients can raise the minimum level with `logging/setLevel`, and the server emits -`notifications/message` with severity, optional logger name, and JSON data. - - - -```kotlin -val server = Server( - serverInfo = Implementation("example-server", "1.0.0"), - options = ServerOptions( - capabilities = ServerCapabilities( - logging = ServerCapabilities.Logging, - ), - ) -) - -val session = server.createSession( - StdioServerTransport( - inputStream = System.`in`.asSource().buffered(), - outputStream = System.out.asSink().buffered() - ) -) - -session.sendLoggingMessage( - LoggingMessageNotification( - LoggingMessageNotificationParams( - level = LoggingLevel.Info, - logger = "startup", - data = buildJsonObject { put("message", "Server started") }, - ), - ), -) -``` - - - - - -Keep logs free of sensitive data, and expect clients to surface them in their own UI. - -#### Pagination - -List operations return paginated results with an opaque `nextCursor`, clients echo that cursor to fetch the next page. -Supported list calls: `resources/list`, `resources/templates/list`, `prompts/list`, and `tools/list`. -Treat cursors as opaque—don’t parse or persist them across sessions. - - - -```kotlin -val server = Server( - serverInfo = Implementation("example-server", "1.0.0"), - options = ServerOptions( - capabilities = ServerCapabilities( - resources = ServerCapabilities.Resources(), - ), - ) -) - -val session = server.createSession( - StdioServerTransport( - inputStream = System.`in`.asSource().buffered(), - outputStream = System.out.asSink().buffered() - ) -) - -val resources = listOf( - Resource(uri = "note://1", name = "Note 1", description = "First"), - Resource(uri = "note://2", name = "Note 2", description = "Second"), - Resource(uri = "note://3", name = "Note 3", description = "Third"), -) -val pageSize = 2 - -session.setRequestHandler(Method.Defined.ResourcesList) { request, _ -> - val start = request.params?.cursor?.toIntOrNull() ?: 0 - val page = resources.drop(start).take(pageSize) - val next = if (start + page.size < resources.size) (start + page.size).toString() else null - - ListResourcesResult( - resources = page, - nextCursor = next, - ) -} -``` - - - - - -Include `nextCursor` only when more items remain an absent cursor ends pagination. - -### Client Features - -Clients advertise their capabilities (roots, sampling, elicitation, etc.) during initialization. After that they can -serve requests from the server while still initiating calls such as `listTools` or `callTool`. - -#### Roots - -Roots let the client declare where the server is allowed to operate. Declare the `roots` capability, respond to -`roots/list`, and emit `notifications/roots/list_changed` if you set `listChanged = true`. URIs **must** be `file://` -paths. - - - -```kotlin -val client = Client( - clientInfo = Implementation("demo-client", "1.0.0"), - options = ClientOptions( - capabilities = ClientCapabilities(roots = ClientCapabilities.Roots(listChanged = true)), - ), -) - -client.addRoot( - uri = "file:///Users/demo/projects", - name = "Projects", -) -client.sendRootsListChanged() -``` - - - - - -Call `addRoot`/`removeRoot` whenever your file system view changes, and use `sendRootsListChanged()` to notify the -server. Keep root lists user-controlled and revoke entries that are no longer authorized. - -#### Sampling - -Sampling lets the server ask the client to call its preferred LLM. Declare the `sampling` capability (and -`sampling.tools` if you allow tool-enabled sampling), and handle `sampling/createMessage`. Keep a human in the loop for -approvals. - - - -```kotlin -val client = Client( - clientInfo = Implementation("demo-client", "1.0.0"), - options = ClientOptions( - capabilities = ClientCapabilities( - sampling = buildJsonObject { putJsonObject("tools") { } }, // drop tools if you don't support tool use - ), - ), -) - -client.setRequestHandler(Method.Defined.SamplingCreateMessage) { request, _ -> - val content = request.messages.lastOrNull()?.content?.firstOrNull() - val prompt = if (content is TextContent) content.text else "your topic" - CreateMessageResult( - model = "gpt-4o-mini", - role = Role.Assistant, - content = TextContent(text = "Here is a short note about $prompt"), - ) -} -``` - - - - - -Inside the handler you can pick any model/provider, require approvals, or reject the request. If you don’t support tool -use, omit `sampling.tools` from capabilities. - -[//]: # (TODO: add elicitation section) - -[//]: # (#### Elicitation) - -## Transports - -All transports share the same API surface, so you can change deployment style without touching business logic. Pick the -transport that best matches where the server runs. - -### STDIO Transport - -`StdioClientTransport` and `StdioServerTransport` tunnel MCP messages over stdin/stdout—perfect for editor plugins or -CLI tooling that spawns a helper process. No networking setup is required. - -### Streamable HTTP Transport - -`StreamableHttpClientTransport` and the Ktor `mcpStreamableHttp()` / `mcpStatelessStreamableHttp()` helpers expose MCP -over a single HTTP endpoint with optional JSON-only or SSE streaming responses. This is the recommended choice for -remote deployments and integrates nicely with proxies or service meshes. - -These helpers automatically install `ContentNegotiation` with `McpJson` — do not install it yourself, or a warning will -be logged. Both accept a `path` parameter (default: `"/mcp"`) to mount the endpoint at any URL: - - - - -```kotlin -embeddedServer(CIO, port = 3000) { - mcpStreamableHttp(path = "/api/mcp") { - MyServer() - } -}.start(wait = true) -``` - - - - -**CORS for browser-based clients (e.g. MCP Inspector):** if you connect from a browser-based -client you need to install the Ktor CORS plugin so that MCP-specific headers are allowed and exposed: - -```kotlin -install(CORS) { - anyHost() // restrict to specific origins in production - allowMethod(HttpMethod.Options) - allowMethod(HttpMethod.Get) - allowMethod(HttpMethod.Post) - allowMethod(HttpMethod.Delete) - allowNonSimpleContentTypes = true - allowHeader("Mcp-Session-Id") - allowHeader("Mcp-Protocol-Version") - exposeHeader("Mcp-Session-Id") - exposeHeader("Mcp-Protocol-Version") -} -``` - -### SSE Transport - -Server-Sent Events remain available for backwards compatibility with older MCP clients. Two Ktor helpers are provided: - -- **`Application.mcp { }`** — installs SSE and `ContentNegotiation` with `McpJson` automatically, then registers MCP - endpoints at `/`. Do not install `ContentNegotiation` yourself — the SDK handles it. -- **`Route.mcp { }`** — registers MCP endpoints at the current route path; requires `install(SSE)` in the application - first. Use this to host MCP alongside other routes or under a path prefix: - - - +fun Application.module() { + mcp { + Server( + serverInfo = Implementation( + name = "example-sse-server", + version = "1.0.0" + ), + options = ServerOptions( + capabilities = ServerCapabilities( + prompts = ServerCapabilities.Prompts(listChanged = null), + resources = ServerCapabilities.Resources(subscribe = null, listChanged = null) + ) + ) + ) + } +} +``` +Inside a custom Ktor's `Route`: ```kotlin -embeddedServer(CIO, port = 3000) { +import io.ktor.server.application.* +import io.ktor.server.sse.SSE +import io.modelcontextprotocol.kotlin.sdk.server.mcp + +fun Application.module() { install(SSE) + routing { - route("/api/mcp") { - mcp { MyServer() } + route("myRoute") { + mcp { + Server( + serverInfo = Implementation( + name = "example-sse-server", + version = "1.0.0" + ), + options = ServerOptions( + capabilities = ServerCapabilities( + prompts = ServerCapabilities.Prompts(listChanged = null), + resources = ServerCapabilities.Resources(subscribe = null, listChanged = null) + ) + ) + ) + } } } -}.start(wait = true) -``` - - - - -Prefer Streamable HTTP for new projects. - -### WebSocket Transport - -`WebSocketClientTransport` plus the matching server utilities provide full-duplex, low-latency connections—useful when -you expect lots of notifications or long-running sessions behind a reverse proxy that already terminates WebSockets. - -### ChannelTransport (testing) - -`ChannelTransport` provides a simple, non-networked transport for testing and local development. -It uses Kotlin coroutines channels to provide a full-duplex connection between a client and server, -allowing for easy testing of MCP functionality without the need for network setup. - -## Connecting your server - -1. Start a sample HTTP server on port 3000: - - ```bash - ./gradlew :samples:kotlin-mcp-server:run - ``` - -2. Connect with the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) or Claude Desktop/Code: - - ```bash - npx -y @modelcontextprotocol/inspector --connect http://localhost:3000 - # or - claude mcp add --transport http kotlin-mcp http://localhost:3000 - ``` - -3. In the Inspector, confirm prompts, tools, resources, completions, and logs show up. Iterate locally until you’re - ready to host the server wherever you prefer. - -## Examples - -The [samples](./samples) directory contains runnable projects demonstrating -MCP server and client implementations with various transports. -See the [samples overview](./samples/README.md) for a comparison table and detailed descriptions. - -## Documentation -[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/modelcontextprotocol/kotlin-sdk) - -- [API Reference](https://kotlin.sdk.modelcontextprotocol.io/) -- [Model Context Protocol documentation](https://modelcontextprotocol.io) -- [MCP specification](https://modelcontextprotocol.io/specification/latest) - +``` ## Contributing Please see the [contribution guide](CONTRIBUTING.md) and the [Code of conduct](CODE_OF_CONDUCT.md) before contributing. ## License -This project is licensed under Apache 2.0 for new contributions, with existing code under MIT—see the [LICENSE](LICENSE) -file for details. +This project is licensed under the MIT License—see the [LICENSE](LICENSE) file for details. diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 5029242..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,21 +0,0 @@ -# Security Policy - -Thank you for helping keep the Model Context Protocol and its ecosystem secure. - -## Reporting Security Issues - -If you discover a security vulnerability in this repository, please report it through -the [GitHub Security Advisory process](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability) -for this repository. - -Please **do not** report security vulnerabilities through public GitHub issues, discussions, -or pull requests. - -## What to Include - -To help us triage and respond quickly, please include: - -- A description of the vulnerability -- Steps to reproduce the issue -- The potential impact -- Any suggested fixes (optional) diff --git a/build.gradle.kts b/build.gradle.kts index 2c2dbe3..d9f1b28 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,20 +1,18 @@ plugins { - id("mcp.dokka") alias(libs.plugins.ktlint) alias(libs.plugins.kover) } -dependencies { - dokka(project(":kotlin-sdk-core")) - dokka(project(":kotlin-sdk-client")) - dokka(project(":kotlin-sdk-server")) - dokka(project(":kotlin-sdk-testing")) +allprojects { + group = "io.modelcontextprotocol" + version = "0.7.0" +} +dependencies { kover(project(":kotlin-sdk-core")) kover(project(":kotlin-sdk-client")) kover(project(":kotlin-sdk-server")) - kover(project(":kotlin-sdk-testing")) - kover(project(":integration-test")) + kover(project(":kotlin-sdk-test")) } subprojects { @@ -22,36 +20,17 @@ subprojects { apply(plugin = "org.jetbrains.kotlinx.kover") } -dokka { - moduleName = "MCP Kotlin SDK" - - dokkaPublications.html { - includes.from("docs/moduledoc.md") - } -} - -ktlint { - filter { - exclude("**/generated*/**") - } -} - kover { reports { filters { includes.classes("io.modelcontextprotocol.kotlin.sdk.*") - excludes { - annotatedBy("kotlin.Deprecated") - classes("io.modelcontextprotocol.kotlin.sdk.models.*") // temporary - classes("io.modelcontextprotocol.kotlin.sdk.models.infrastructure.*") // generated - } } total { log { } verify { rule { - minBound(73) + minBound(65) } } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 4a057ce..16c0eb9 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -8,10 +8,9 @@ repositories { } dependencies { - implementation(libs.detekt.gradle) implementation(libs.kotlin.gradle) implementation(libs.kotlin.serialization) implementation(libs.kotlinx.atomicfu.gradle) implementation(libs.dokka.gradle) - implementation(libs.maven.publish) -} + implementation(libs.jreleaser.gradle) +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/mcp.detekt.gradle.kts b/buildSrc/src/main/kotlin/mcp.detekt.gradle.kts deleted file mode 100644 index 3c1419e..0000000 --- a/buildSrc/src/main/kotlin/mcp.detekt.gradle.kts +++ /dev/null @@ -1,23 +0,0 @@ -import dev.detekt.gradle.Detekt -import dev.detekt.gradle.extensions.FailOnSeverity - -plugins { - id("dev.detekt") -} - -detekt { - config = files("$rootDir/config/detekt/detekt.yml") - buildUponDefaultConfig = false - parallel = true - failOnSeverity = FailOnSeverity.Error -} - -tasks.withType().configureEach { - exclude("**/generated/**", "**/generated-sources/**", "**/build/**") -} - -pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") { - tasks.named("detekt").configure { - dependsOn("detektMainJvm") - } -} diff --git a/buildSrc/src/main/kotlin/mcp.dokka.gradle.kts b/buildSrc/src/main/kotlin/mcp.dokka.gradle.kts index 7ad4931..8f912e9 100644 --- a/buildSrc/src/main/kotlin/mcp.dokka.gradle.kts +++ b/buildSrc/src/main/kotlin/mcp.dokka.gradle.kts @@ -5,14 +5,9 @@ plugins { } dokka { + moduleName.set("MCP Kotlin SDK - ${project.name}") dokkaSourceSets.configureEach { - includes.from("Module.md") - - pluginsConfiguration.html { - footerMessage = "Copyright © 2024-2025 Anthropic, PBC" - } - sourceLink { localDirectory = projectDir.resolve("src") remoteUrl("https://github.com/modelcontextprotocol/kotlin-sdk/tree/main/${project.name}/src") @@ -20,20 +15,9 @@ dokka { } documentedVisibilities(VisibilityModifier.Public) - - externalDocumentationLinks.register("ktor-client") { - url("https://api.ktor.io/ktor-client/") - packageListUrl("https://api.ktor.io/package-list") - } - - externalDocumentationLinks.register("kotlinx-coroutines") { - url("https://kotlinlang.org/api/kotlinx.coroutines/") - packageListUrl("https://kotlinlang.org/api/kotlinx.coroutines/package-list") - } - - externalDocumentationLinks.register("kotlinx-serialization") { - url("https://kotlinlang.org/api/kotlinx.serialization/") - packageListUrl("https://kotlinlang.org/api/kotlinx.serialization/package-list") - } } -} + + dokkaPublications.html { + outputDirectory = rootProject.layout.projectDirectory.dir("docs/${project.name}") + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts b/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts new file mode 100644 index 0000000..95c641e --- /dev/null +++ b/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts @@ -0,0 +1,66 @@ +import org.jreleaser.model.Active + +plugins { + id("org.jreleaser") + id("mcp.publishing") +} + +jreleaser { + gitRootSearch = true + strict = true + + signing { + active = Active.ALWAYS + armored = true + artifacts = true + files = true + } + + deploy { + active = Active.ALWAYS + maven { + active = Active.ALWAYS + mavenCentral.create("ossrh") { + active = Active.ALWAYS + sign = true + url = "https://central.sonatype.com/api/v1/publisher" + applyMavenCentralRules = false + maxRetries = 240 + stagingRepository(layout.buildDirectory.dir("staging-deploy").get().asFile.path) + + // workaround: https://github.com/jreleaser/jreleaser/issues/1784 + afterEvaluate { + publishing.publications.forEach { publication -> + if (publication is MavenPublication) { + val pubName = publication.name + + if (!pubName.contains("jvm", ignoreCase = true) + && !pubName.contains("metadata", ignoreCase = true) + && !pubName.contains("kotlinMultiplatform", ignoreCase = true) + ) { + artifactOverride { + artifactId = when { + pubName.contains("wasm", ignoreCase = true) -> + "${project.name}-wasm-${pubName.lowercase().substringAfter("wasm")}" + + else -> "${project.name}-${pubName.lowercase()}" + } + jar = false + verifyPom = false + sourceJar = false + javadocJar = false + } + } + } + } + } + } + } + + checksum { + individual = false + artifacts = false + files = false + } + } +} diff --git a/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts b/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts index 98a0a5e..8656984 100644 --- a/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts +++ b/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts @@ -1,11 +1,8 @@ @file:OptIn(ExperimentalWasmDsl::class) -import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode -import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { kotlin("multiplatform") @@ -13,47 +10,41 @@ plugins { id("org.jetbrains.kotlinx.atomicfu") } +// Generation library versions +val generateLibVersion by tasks.registering { + val outputDir = layout.buildDirectory.dir("generated-sources/libVersion") + outputs.dir(outputDir) + + doLast { + val sourceFile = outputDir.get().file("io/modelcontextprotocol/kotlin/sdk/LibVersion.kt").asFile + sourceFile.parentFile.mkdirs() + sourceFile.writeText( + """ + package io.modelcontextprotocol.kotlin.sdk + + public const val LIB_VERSION: String = "${project.version}" + + """.trimIndent() + ) + } +} + kotlin { - - compilerOptions { - languageVersion = KotlinVersion.KOTLIN_2_1 - apiVersion = KotlinVersion.KOTLIN_2_1 - freeCompilerArgs = - listOf( - "-Wextra", - "-Xmulti-dollar-interpolation", - ) - } jvm { - compilerOptions { - jvmTarget = JvmTarget.JVM_11 - javaParameters = true - jvmDefault = JvmDefaultMode.ENABLE - freeCompilerArgs.addAll( - "-Xdebug", - ) - } - - tasks.withType().configureEach { - - useJUnitPlatform() - - maxParallelForks = Runtime.getRuntime().availableProcessors() - forkEvery = 100 - testLogging { - exceptionFormat = TestExceptionFormat.SHORT - events("failed") - } - systemProperty("kotest.output.ansi", "true") - } + compilerOptions.jvmTarget = JvmTarget.JVM_1_8 } - macosArm64() - linuxX64() - linuxArm64() + macosX64(); macosArm64() + linuxX64(); linuxArm64() mingwX64() js { nodejs() } wasmJs { nodejs() } explicitApi = ExplicitApiMode.Strict jvmToolchain(21) + + sourceSets { + commonMain { + kotlin.srcDir(generateLibVersion) + } + } } diff --git a/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts b/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts index 1355137..bef396d 100644 --- a/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts @@ -1,52 +1,63 @@ -import com.vanniktech.maven.publish.MavenPublishBaseExtension - plugins { `maven-publish` - id("com.vanniktech.maven.publish") signing } -mavenPublishing { - publishToMavenCentral(automaticRelease = true) - configureSigning(this) +val javadocJar by tasks.registering(Jar::class) { + archiveClassifier.set("javadoc") +} - pom { - name = project.name - description = "Kotlin implementation of the Model Context Protocol (MCP)" - url = "https://github.com/modelcontextprotocol/kotlin-sdk" - - licenses { - license { - name = "MIT License" - url = "https://github.com/modelcontextprotocol/kotlin-sdk/blob/main/LICENSE" - distribution = "repo" - } +publishing { + publications.withType().configureEach { + if (name.contains("jvm", ignoreCase = true)) { + artifact(javadocJar) } - organization { - name = "Anthropic" - url = "https://www.anthropic.com" - } - - developers { - developer { - id = "JetBrains" - name = "JetBrains Team" - organization = "JetBrains" - organizationUrl = "https://www.jetbrains.com" - } - } - - scm { + pom { + name = project.name + description = "Kotlin implementation of the Model Context Protocol (MCP)" url = "https://github.com/modelcontextprotocol/kotlin-sdk" - connection = "scm:git:git://github.com/modelcontextprotocol/kotlin-sdk.git" - developerConnection = "scm:git:git@github.com:modelcontextprotocol/kotlin-sdk.git" + + licenses { + license { + name = "MIT License" + url = "https://github.com/modelcontextprotocol/kotlin-sdk/blob/main/LICENSE" + distribution = "repo" + } + } + + organization { + name = "Anthropic" + url = "https://www.anthropic.com" + } + + developers { + developer { + id = "JetBrains" + name = "JetBrains Team" + organization = "JetBrains" + organizationUrl = "https://www.jetbrains.com" + } + } + + scm { + url = "https://github.com/modelcontextprotocol/kotlin-sdk" + connection = "scm:git:git://github.com/modelcontextprotocol/kotlin-sdk.git" + developerConnection = "scm:git:git@github.com:modelcontextprotocol/kotlin-sdk.git" + } + } + } + + repositories { + maven { + name = "staging" + url = uri(layout.buildDirectory.dir("staging-deploy")) } } } -private fun Project.configureSigning(mavenPublishing: MavenPublishBaseExtension) { - val gpgKeyName = "GPG_SECRET_KEY" +signing { + val gpgKeyName = "GPG_SIGNING_KEY" val gpgPassphraseName = "SIGNING_PASSPHRASE" val signingKey = providers.environmentVariable(gpgKeyName) .orElse(providers.gradleProperty(gpgKeyName)) @@ -54,7 +65,7 @@ private fun Project.configureSigning(mavenPublishing: MavenPublishBaseExtension) .orElse(providers.gradleProperty(gpgPassphraseName)) if (signingKey.isPresent) { - mavenPublishing.signAllPublications() - signing.useInMemoryPgpKeys(signingKey.get(), signingPassphrase.get()) + useInMemoryPgpKeys(signingKey.get(), signingPassphrase.get()) + sign(publishing.publications) } -} +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/netty-convention.gradle.kts b/buildSrc/src/main/kotlin/netty-convention.gradle.kts deleted file mode 100644 index 920baf0..0000000 --- a/buildSrc/src/main/kotlin/netty-convention.gradle.kts +++ /dev/null @@ -1,61 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension - -/** - * Netty convention plugin that adds platform-specific Netty native transport libraries - * to the jvmTest source set. This is similar to how Maven handles OS-specific dependencies - * with profile activation. - * - * This plugin should be applied to any module that uses Netty for testing. - */ -val nettyVersion = "4.2.7.Final" -plugins { - id("org.gradle.base") -} - -// This plugin is applied to projects that already have the kotlin multiplatform plugin applied -// It adds the Netty native transport libraries to the jvmTest source set - -afterEvaluate { - - extensions.findByType()?.apply { - sourceSets.findByName("jvmTest")?.apply { - dependencies { - // Netty native transport libraries for different platforms - val osName = System.getProperty("os.name").lowercase() - val osArch = System.getProperty("os.arch").lowercase() - - // Add the base Netty platform - implementation(project.dependencies.platform("io.netty:netty-bom:$nettyVersion")) - - when { - osName.contains("linux") -> { - val archClassifier = - if (osArch.contains("aarch64")) { - "linux-aarch_64" - } else { - "linux-x86_64" - } - runtimeOnly( - "io.netty:netty-transport-native-epoll:$nettyVersion:$archClassifier", - ) - } - - osName.contains("mac") -> { - val archClassifier = - if (osArch.contains("aarch64")) { - "osx-aarch_64" - } else { - "osx-x86_64" - } - runtimeOnly( - "io.netty:netty-transport-native-kqueue:$nettyVersion:$archClassifier", - ) - runtimeOnly( - "io.netty:netty-resolver-dns-native-macos:$nettyVersion:$archClassifier", - ) - } - } - } - } - } -} diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml deleted file mode 100644 index a82b404..0000000 --- a/config/detekt/detekt.yml +++ /dev/null @@ -1,841 +0,0 @@ -config: - validation: true - warningsAsErrors: false - checkExhaustiveness: false - -processors: - active: false - -console-reports: - active: true - exclude: - - 'ProjectStatisticsReport' - - 'ComplexityReport' - - 'NotificationReport' - - 'IssuesReport' - - 'FileBasedIssuesReport' - # - 'LiteIssuesReport' - -comments: - active: true - AbsentOrWrongFileLicense: - active: false - licenseTemplateIsRegex: false - licenseTemplate: '' - DeprecatedBlockTag: - active: true - DocumentationOverPrivateFunction: - active: false - DocumentationOverPrivateProperty: - active: false - EndOfSentenceFormat: - active: false - endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' - KDocReferencesNonPublicProperty: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - OutdatedDocumentation: - active: false - matchTypeParameters: true - matchDeclarationsOrder: true - allowParamOnConstructorProperties: false - UndocumentedPublicClass: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - searchInNestedClass: true - searchInInnerClass: true - searchInInnerObject: true - searchInInnerInterface: true - searchInProtectedClass: false - ignoreDefaultCompanionObject: true - UndocumentedPublicFunction: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - searchProtectedFunction: false - UndocumentedPublicProperty: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - searchProtectedProperty: false - ignoreEnumEntries: false - -complexity: - active: true - CognitiveComplexMethod: - active: false - allowedComplexity: 20 - ComplexCondition: - active: true - allowedConditions: 4 - ComplexInterface: - active: false - allowedDefinitions: 10 - includeStaticDeclarations: false - includePrivateDeclarations: false - ignoreOverloaded: false - CyclomaticComplexMethod: - active: false - allowedComplexity: 15 - ignoreSingleWhenExpression: false - ignoreSimpleWhenEntries: false - ignoreNestingFunctions: false - ignoreLocalFunctions: false - nestingFunctions: - - 'also' - - 'apply' - - 'forEach' - - 'isNotNull' - - 'ifNull' - - 'let' - - 'run' - - 'use' - - 'with' - LabeledExpression: - active: false - ignoredLabels: [] - LargeClass: - active: false - allowedLines: 700 - LongMethod: - active: false - allowedLines: 110 - LongParameterList: - active: false - allowedFunctionParameters: 8 - allowedConstructorParameters: 8 - ignoreDefaultParameters: false - ignoreDataClasses: true - ignoreAnnotatedParameter: [] - MethodOverloading: - active: false - allowedOverloads: 6 - NamedArguments: - active: false - allowedArguments: 3 - ignoreMethods: [] - ignoreArgumentsMatchingNames: false - NestedBlockDepth: - active: true - allowedDepth: 4 - NestedScopeFunctions: - active: false - allowedDepth: 1 - functions: - - 'kotlin.apply' - - 'kotlin.run' - - 'kotlin.with' - - 'kotlin.let' - - 'kotlin.also' - ReplaceSafeCallChainWithRun: - active: false - StringLiteralDuplication: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - allowedDuplications: 3 - ignoreAnnotation: true - allowedWithLengthLessThan: 5 - ignoreStringsRegex: '$^' - TooManyFunctions: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - allowedFunctionsPerFile: 20 - allowedFunctionsPerClass: 20 - allowedFunctionsPerInterface: 20 - allowedFunctionsPerObject: 20 - allowedFunctionsPerEnum: 11 - ignoreDeprecated: true - ignorePrivate: true - ignoreInternal: true - ignoreOverridden: false - ignoreAnnotatedFunctions: [] - -coroutines: - active: true - CoroutineLaunchedInTestWithoutRunTest: - active: false - GlobalCoroutineUsage: - active: true - InjectDispatcher: - active: false - dispatcherNames: - - 'IO' - - 'Default' - - 'Unconfined' - RedundantSuspendModifier: - active: true - SleepInsteadOfDelay: - active: true - SuspendFunInFinallySection: - active: false - SuspendFunSwallowedCancellation: - active: false - SuspendFunWithCoroutineScopeReceiver: - active: false - aliases: ['SuspendFunctionOnCoroutineScope'] - SuspendFunWithFlowReturnType: - active: true - -empty-blocks: - active: true - EmptyCatchBlock: - active: true - allowedExceptionNameRegex: '_|(ignore|expected).*' - EmptyClassBlock: - active: true - EmptyDefaultConstructor: - active: true - EmptyDoWhileBlock: - active: true - EmptyElseBlock: - active: true - EmptyFinallyBlock: - active: true - EmptyForBlock: - active: true - EmptyFunctionBlock: - active: true - ignoreOverridden: false - EmptyIfBlock: - active: true - EmptyInitBlock: - active: true - EmptyKotlinFile: - active: true - EmptySecondaryConstructor: - active: true - EmptyTryBlock: - active: true - EmptyWhenBlock: - active: true - EmptyWhileBlock: - active: true - -exceptions: - active: true - ErrorUsageWithThrowable: - active: false - ExceptionRaisedInUnexpectedLocation: - active: true - methodNames: - - 'equals' - - 'finalize' - - 'hashCode' - - 'toString' - InstanceOfCheckForException: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - NotImplementedDeclaration: - active: true - ObjectExtendsThrowable: - active: true - PrintStackTrace: - active: true - RethrowCaughtException: - active: true - ReturnFromFinally: - active: true - ignoreLabeled: false - SwallowedException: - active: true - ignoredExceptionTypes: - - 'InterruptedException' - - 'MalformedURLException' - - 'NumberFormatException' - - 'ParseException' - allowedExceptionNameRegex: '_|(ignore|expected).*' - ThrowingExceptionFromFinally: - active: true - ThrowingExceptionInMain: - active: false - ThrowingExceptionsWithoutMessageOrCause: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - exceptions: - - 'ArrayIndexOutOfBoundsException' - - 'Exception' - - 'IllegalArgumentException' - - 'IllegalMonitorStateException' - - 'IllegalStateException' - - 'IndexOutOfBoundsException' - - 'NullPointerException' - - 'RuntimeException' - - 'Throwable' - ThrowingNewInstanceOfSameException: - active: true - TooGenericExceptionCaught: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - exceptionNames: - - 'ArrayIndexOutOfBoundsException' - - 'Error' - - 'Exception' - - 'IllegalMonitorStateException' - - 'IndexOutOfBoundsException' - - 'NullPointerException' - - 'RuntimeException' - - 'Throwable' - allowedExceptionNameRegex: '_|(ignore|expected).*' - TooGenericExceptionThrown: - active: false - exceptionNames: - - 'Error' - - 'Exception' - - 'RuntimeException' - - 'Throwable' - -naming: - active: true - BooleanPropertyNaming: - active: false - allowedPattern: '^(is|has|are)' - ClassNaming: - active: true - aliases: ['ClassName'] - classPattern: '[A-Z][a-zA-Z0-9]*' - ConstructorParameterNaming: - active: true - parameterPattern: '[a-z][A-Za-z0-9]*' - privateParameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - EnumNaming: - active: true - aliases: ['EnumEntryName'] - enumEntryPattern: '[A-Z][_a-zA-Z0-9]*' - ForbiddenClassName: - active: false - forbiddenName: [] - FunctionNameMaxLength: - active: false - aliases: ['FunctionMaxNameLength'] - maximumFunctionNameLength: 30 - FunctionNameMinLength: - active: false - aliases: ['FunctionMinNameLength'] - minimumFunctionNameLength: 3 - FunctionNaming: - active: true - aliases: ['FunctionName'] - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - functionPattern: '[a-z][a-zA-Z0-9]*' - excludeClassPattern: '$^' - FunctionParameterNaming: - active: true - parameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - InvalidPackageDeclaration: - active: true - aliases: ['PackageDirectoryMismatch'] - rootPackage: '' - requireRootInDeclaration: false - LambdaParameterNaming: - active: false - parameterPattern: '[a-z][A-Za-z0-9]*|_' - MatchingDeclarationName: - active: false - mustBeFirst: true - multiplatformTargets: - - 'ios' - - 'android' - - 'js' - - 'jvm' - - 'native' - - 'iosArm64' - - 'iosX64' - - 'macosX64' - - 'mingwX64' - - 'linuxX64' - MemberNameEqualsClassName: - active: true - ignoreOverridden: true - NoNameShadowing: - active: true - NonBooleanPropertyPrefixedWithIs: - active: true - ObjectPropertyNaming: - active: true - aliases: ['ObjectPropertyName'] - constantPattern: '[A-Za-z][_A-Za-z0-9]*' - propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*' - PackageNaming: - active: true - aliases: ['PackageName'] - packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*' - TopLevelPropertyNaming: - active: true - constantPattern: '[A-Z][_A-Z0-9]*' - propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*' - VariableMaxLength: - active: false - maximumVariableNameLength: 64 - VariableMinLength: - active: false - minimumVariableNameLength: 1 - VariableNaming: - active: false - aliases: ['PropertyName'] - variablePattern: '[a-z][A-Za-z0-9]*' - privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - -performance: - active: true - ArrayPrimitive: - active: true - CouldBeSequence: - active: false - allowedOperations: 3 - ForEachOnRange: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - SpreadOperator: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - UnnecessaryInitOnArray: - active: false - UnnecessaryPartOfBinaryExpression: - active: true - UnnecessaryTemporaryInstantiation: - active: true - UnnecessaryTypeCasting: - active: true - -potential-bugs: - active: true - AvoidReferentialEquality: - active: true - forbiddenTypePatterns: - - 'kotlin.String' - CastNullableToNonNullableType: - active: true - ignorePlatformTypes: true - CastToNullableType: - active: false - CharArrayToStringCall: - active: false - Deprecation: - active: false - aliases: ['DEPRECATION'] - DontDowncastCollectionTypes: - active: false - DoubleMutabilityForCollection: - active: true - aliases: ['DoubleMutability'] - mutableTypes: - - 'kotlin.collections.MutableList' - - 'kotlin.collections.MutableMap' - - 'kotlin.collections.MutableSet' - - 'java.util.ArrayList' - - 'java.util.LinkedHashSet' - - 'java.util.HashSet' - - 'java.util.LinkedHashMap' - - 'java.util.HashMap' - ElseCaseInsteadOfExhaustiveWhen: - active: false - ignoredSubjectTypes: [] - EqualsAlwaysReturnsTrueOrFalse: - active: true - EqualsWithHashCodeExist: - active: true - ExitOutsideMain: - active: false - ExplicitGarbageCollectionCall: - active: true - HasPlatformType: - active: true - IgnoredReturnValue: - active: true - restrictToConfig: true - returnValueAnnotations: - - 'CheckResult' - - '*.CheckResult' - - 'CheckReturnValue' - - '*.CheckReturnValue' - ignoreReturnValueAnnotations: - - 'CanIgnoreReturnValue' - - '*.CanIgnoreReturnValue' - returnValueTypes: - - 'kotlin.Function*' - - 'kotlin.sequences.Sequence' - - 'kotlinx.coroutines.flow.*Flow' - - 'java.util.stream.*Stream' - ignoreFunctionCall: [] - ImplicitDefaultLocale: - active: true - ImplicitUnitReturnType: - active: false - ignoreAnnotated: ['Test'] - allowExplicitReturnType: true - InvalidRange: - active: true - IteratorHasNextCallsNextMethod: - active: true - IteratorNotThrowingNoSuchElementException: - active: true - LateinitUsage: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - ignoreOnClassesPattern: '' - MapGetWithNotNullAssertionOperator: - active: true - MissingPackageDeclaration: - active: true - excludes: ['**/*.kts'] - MissingSuperCall: - active: false - mustInvokeSuperAnnotations: - - 'androidx.annotation.CallSuper' - - 'javax.annotation.OverridingMethodsMustInvokeSuper' - MissingUseCall: - active: false - ignoreClass: - - 'java.io.ByteArrayInputStream' - - 'java.io.ByteArrayOutputStream' - NullCheckOnMutableProperty: - active: false - NullableToStringCall: - active: false - PropertyUsedBeforeDeclaration: - active: false - UnconditionalJumpStatementInLoop: - active: false - UnnamedParameterUse: - active: false - allowAdjacentDifferentTypeParams: true - allowSingleParamUse: true - ignoreArgumentsMatchingNames: true - ignoreFunctionCall: [] - UnnecessaryNotNullCheck: - active: false - UnnecessaryNotNullOperator: - active: true - UnnecessarySafeCall: - active: true - UnreachableCatchBlock: - active: true - UnreachableCode: - active: true - UnsafeCallOnNullableType: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - UnsafeCast: - active: true - aliases: ['UNCHECKED_CAST'] - UnusedUnaryOperator: - active: true - UselessPostfixExpression: - active: true - WrongEqualsTypeParameter: - active: true - -style: - active: true - AbstractClassCanBeConcreteClass: - active: true - AbstractClassCanBeInterface: - active: true - AlsoCouldBeApply: - active: false - BracesOnIfStatements: - active: false - singleLine: 'never' - multiLine: 'always' - BracesOnWhenStatements: - active: false - singleLine: 'necessary' - multiLine: 'consistent' - CanBeNonNullable: - active: false - CascadingCallWrapping: - active: false - includeElvis: true - ClassOrdering: - active: false - CollapsibleIfStatements: - active: false - DataClassContainsFunctions: - active: false - conversionFunctionPrefix: - - 'to' - allowOperators: false - DataClassShouldBeImmutable: - active: false - DestructuringDeclarationWithTooManyEntries: - active: true - maxDestructuringEntries: 3 - DoubleNegativeExpression: - active: false - DoubleNegativeLambda: - active: false - negativeFunctions: - - reason: 'Use `takeIf` instead.' - value: 'takeUnless' - - reason: 'Use `all` instead.' - value: 'none' - negativeFunctionNameParts: - - 'not' - - 'non' - EqualsNullCall: - active: true - EqualsOnSignatureLine: - active: false - ExplicitCollectionElementAccessMethod: - active: false - ExplicitItLambdaMultipleParameters: - active: true - ExplicitItLambdaParameter: - active: false - ExpressionBodySyntax: - active: false - includeLineWrapping: false - ForbiddenAnnotation: - active: true - annotations: - - reason: 'it is a java annotation. Use `Suppress` instead.' - value: 'java.lang.SuppressWarnings' - - reason: 'it is a java annotation. Use `kotlin.Deprecated` instead.' - value: 'java.lang.Deprecated' - - reason: 'it is a java annotation. Use `kotlin.annotation.MustBeDocumented` instead.' - value: 'java.lang.annotation.Documented' - - reason: 'it is a java annotation. Use `kotlin.annotation.Target` instead.' - value: 'java.lang.annotation.Target' - - reason: 'it is a java annotation. Use `kotlin.annotation.Retention` instead.' - value: 'java.lang.annotation.Retention' - - reason: 'it is a java annotation. Use `kotlin.annotation.Repeatable` instead.' - value: 'java.lang.annotation.Repeatable' - ForbiddenComment: - active: true - comments: - - reason: 'Forbidden FIXME todo marker in comment, please fix the problem.' - value: 'FIXME:' - - reason: 'Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code.' - value: 'STOPSHIP:' - - reason: 'Forbidden TODO todo marker in comment, please do the changes.' - value: 'TODO:' - allowedPatterns: '' - ForbiddenImport: - active: false - forbiddenImports: [] - allowedImports: [] - ForbiddenMethodCall: - active: true - methods: - - reason: 'print does not allow you to configure the output stream. Use a logger instead.' - value: 'kotlin.io.print' - - reason: 'println does not allow you to configure the output stream. Use a logger instead.' - value: 'kotlin.io.println' - - reason: 'using `BigDecimal(Double)` can result in unexpected floating point precision behavior. Use `BigDecimal.valueOf(Double)` or `String.toBigDecimalOrNull()` instead.' - value: 'java.math.BigDecimal.(kotlin.Double)' - - reason: 'using `BigDecimal(String)` can result in a `NumberFormatException`. Use `String.toBigDecimalOrNull()`' - value: 'java.math.BigDecimal.(kotlin.String)' - - reason: 'It is marked as obsolete. Use `kotlin.time.measureTime` instead.' - value: 'kotlin.system.measureTimeMillis' - ForbiddenNamedParam: - active: false - methods: [] - ForbiddenOptIn: - active: false - markerClasses: [] - ForbiddenSuppress: - active: false - rules: [] - ForbiddenVoid: - active: true - ignoreOverridden: false - ignoreUsageInGenerics: false - FunctionOnlyReturningConstant: - active: true - ignoreOverridableFunction: true - ignoreActualFunction: true - excludedFunctions: [] - LoopWithTooManyJumpStatements: - active: true - maxJumpCount: 1 - MagicNumber: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts'] - ignoreNumbers: - - '-1' - - '0' - - '1' - - '2' - ignoreHashCodeFunction: true - ignorePropertyDeclaration: true - ignoreLocalVariableDeclaration: true - ignoreConstantDeclaration: true - ignoreCompanionObjectPropertyDeclaration: true - ignoreAnnotation: false - ignoreNamedArgument: true - ignoreEnums: false - ignoreRanges: false - ignoreExtensionFunctions: true - MandatoryBracesLoops: - active: false - MaxChainedCallsOnSameLine: - active: false - maxChainedCalls: 5 - MaxLineLength: - active: false - maxLineLength: 120 - excludePackageStatements: true - excludeImportStatements: true - excludeCommentStatements: false - excludeRawStrings: true - MayBeConstant: - active: true - ModifierOrder: - active: true - MultilineLambdaItParameter: - active: false - MultilineRawStringIndentation: - active: false - indentSize: 4 - trimmingMethods: - - 'trimIndent' - - 'trimMargin' - NestedClassesVisibility: - active: true - NewLineAtEndOfFile: - active: true - NoTabs: - active: false - NullableBooleanCheck: - active: false - ObjectLiteralToLambda: - active: true - OptionalAbstractKeyword: - active: true - OptionalUnit: - active: false - ProtectedMemberInFinalClass: - active: true - RangeUntilInsteadOfRangeTo: - active: true - RedundantConstructorKeyword: - active: false - RedundantExplicitType: - active: false - RedundantHigherOrderMapUsage: - active: true - RedundantVisibilityModifier: - active: false - ReturnCount: - active: false - max: 2 - excludedFunctions: - - 'equals' - excludeLabeled: false - excludeReturnFromLambda: true - excludeGuardClauses: false - SafeCast: - active: true - SerialVersionUIDInSerializableClass: - active: true - SpacingAfterPackageAndImports: - active: false - StringShouldBeRawString: - active: false - maxEscapedCharacterCount: 2 - ignoredCharacters: [] - ThrowsCount: - active: false - max: 2 - excludeGuardClauses: false - TrailingWhitespace: - active: false - TrimMultilineRawString: - active: false - trimmingMethods: - - 'trimIndent' - - 'trimMargin' - UnderscoresInNumericLiterals: - active: false - acceptableLength: 4 - allowNonStandardGrouping: false - UnnecessaryAny: - active: false - UnnecessaryApply: - active: true - UnnecessaryBackticks: - active: false - UnnecessaryBracesAroundTrailingLambda: - active: false - UnnecessaryFilter: - active: true - UnnecessaryFullyQualifiedName: - active: true - UnnecessaryInheritance: - active: true - UnnecessaryInnerClass: - active: false - UnnecessaryLet: - active: false - UnnecessaryParentheses: - active: false - allowForUnclearPrecedence: false - UnnecessaryReversed: - active: false - UnusedImport: - active: false - additionalOperatorSet: [] - UnusedParameter: - active: true - aliases: ['UNUSED_PARAMETER', 'unused'] - allowedNames: 'ignored|expected' - UnusedPrivateClass: - active: true - aliases: ['unused'] - UnusedPrivateFunction: - active: true - aliases: ['unused'] - allowedNames: '' - UnusedPrivateProperty: - active: true - aliases: ['unused'] - allowedNames: 'ignored|expected|serialVersionUID' - UnusedVariable: - active: true - aliases: ['UNUSED_VARIABLE', 'unused'] - allowedNames: 'ignored|_' - UseAnyOrNoneInsteadOfFind: - active: true - UseArrayLiteralsInAnnotations: - active: true - UseCheckNotNull: - active: true - UseCheckOrError: - active: true - UseDataClass: - active: false - allowVars: false - UseEmptyCounterpart: - active: false - UseIfEmptyOrIfBlank: - active: false - UseIfInsteadOfWhen: - active: false - ignoreWhenContainingVariableDeclaration: false - UseIsNullOrEmpty: - active: true - UseLet: - active: false - UseOrEmpty: - active: true - UseRequire: - active: true - UseRequireNotNull: - active: true - UseSumOfInsteadOfFlatMapSize: - active: false - UselessCallOnNotNull: - active: true - UtilityClassWithPublicConstructor: - active: true - VarCouldBeVal: - active: true - aliases: ['CanBeVal'] - ignoreLateinitVar: false - WildcardImport: - active: false - excludeImports: - - 'java.util.*' diff --git a/conformance-test/.gitignore b/conformance-test/.gitignore deleted file mode 100644 index 6628455..0000000 --- a/conformance-test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/results/ diff --git a/conformance-test/README.md b/conformance-test/README.md deleted file mode 100644 index 9b827bc..0000000 --- a/conformance-test/README.md +++ /dev/null @@ -1,118 +0,0 @@ -# MCP Conformance Tests - -Conformance tests for the Kotlin MCP SDK. Uses the external -[`@modelcontextprotocol/conformance`](https://www.npmjs.com/package/@modelcontextprotocol/conformance) -runner (pinned to **0.1.15**) to validate compliance with the MCP specification. - -## Prerequisites - -- **JDK 17+** -- **Node.js 18+** and `npx` (for the conformance runner) -- **curl** (used to poll server readiness) - -## Quick Start - -Run **all** suites (server, client core, client auth) from the project root: - -```bash -./conformance-test/run-conformance.sh all -``` - -## Commands - -``` -./conformance-test/run-conformance.sh [extra-args...] -``` - -| Command | What it does | -|---------------|--------------------------------------------------------------------------------------| -| `list` | [List scenarios available in MCP Conformance Test Framework][list-scenarios-command] | -| `server` | Starts the Ktor conformance server, runs the server test suite against it | -| `client` | Runs the client test suite (`initialize`, `tools_call`, `elicitation`, `sse-retry`) | -| `client-auth` | Runs the client auth test suite (20 OAuth scenarios) | -| `all` | Runs all three suites sequentially | - -Any `[extra-args]` are forwarded to the conformance runner (e.g. `--verbose`). - -## What the Script Does - -1. **Builds** the module via `./gradlew :conformance-test:installDist` -2. For `server` — starts the conformance server on `localhost:3001`, polls until ready -3. Invokes `npx @modelcontextprotocol/conformance@0.1.15` with the appropriate arguments -4. Saves results to `conformance-test/results//` -5. Cleans up the server process on exit -6. Exits non-zero if any suite fails - -## Environment Variables - -| Variable | Default | Description | -|------------|---------|---------------------------------| -| `MCP_PORT` | `3001` | Port for the conformance server | - -## Project Structure - -``` -conformance-test/ -├── run-conformance.sh # Single entry point script -├── conformance-baseline.yml # Expected failures for known SDK limitations -└── src/main/kotlin/.../conformance/ - ├── ConformanceServer.kt # Ktor server entry point (StreamableHTTP, DNS rebinding, EventStore) - ├── ConformanceClient.kt # Scenario-based client entry point (MCP_CONFORMANCE_SCENARIO routing) - ├── ConformanceTools.kt # 18 tool registrations - ├── ConformanceResources.kt # 5 resource registrations (static, binary, template, watched, dynamic) - ├── ConformancePrompts.kt # 5 prompt registrations (simple, args, image, embedded, dynamic) - ├── ConformanceCompletions.kt # completion/complete handler - ├── InMemoryEventStore.kt # EventStore impl for SSE resumability (SEP-1699) - └── auth/ # OAuth client for 20 auth scenarios - ├── registration.kt # Scenario handler registration - ├── utils.kt # Shared utilities: JSON instance, constants, extractOrigin() - ├── discovery.kt # Protected Resource Metadata + AS Metadata discovery - ├── pkce.kt # PKCE code verifier/challenge generation + AS capability check - ├── tokenExchange.kt # Token endpoint interaction (exchange code, error handling) - ├── authCodeFlow.kt # Main Authorization Code flow handler (runAuthClient + interceptor) - ├── scopeHandling.kt # Scope selection strategy + step-up 403 handling - ├── clientRegistration.kt # Client registration logic (pre-reg, CIMD, dynamic) - ├── JWTScenario.kt # Client Credentials JWT scenario - ├── basicScenario.kt # Client Credentials Basic scenario - └── crossAppAccessScenario.kt # Cross-App Access (SEP-990) scenario -``` - -## Test Suites - -### Server Suite - -Tests the conformance server against all server scenarios: - -| Category | Scenarios | -|-------------|-------------------------------------------------------------------------------------------------------------------------------------| -| Lifecycle | initialize, ping | -| Tools | text, image, audio, embedded, multiple, progress, logging, error, sampling, elicitation, dynamic, reconnection, JSON Schema 2020-12 | -| Resources | list, read-text, read-binary, templates, subscribe, dynamic | -| Prompts | simple, with-args, with-image, with-embedded-resource, dynamic | -| Completions | complete | -| Security | DNS rebinding protection | - -### Client Core Suite - -| Scenario | Description | -|---------------------------------------|-----------------------------------------------| -| `initialize` | Connect, list tools, close | -| `tools_call` | Connect, call `add_numbers(a=5, b=3)`, close | -| `elicitation-sep1034-client-defaults` | Elicitation with `applyDefaults` capability | -| `sse-retry` | Call `test_reconnection`, verify reconnection | - -### Client Auth Suite - -17 OAuth Authorization Code scenarios + 2 Client Credentials scenarios (`jwt`, `basic`) + 1 Cross-App Access scenario = 20 total. - -> [!NOTE] -> Auth scenarios are implemented using Ktor's `HttpClient` plugins (`HttpSend` interceptor, -> `ktor-client-auth`) as a standalone OAuth client. They do not use the SDK's built-in auth support. - -## Known SDK Limitations - -Scenarios, expected to fail due to current SDK limitations, are tracked in -[`conformance-baseline.yml`](conformance-baseline.yml). -These failures reveal SDK gaps and are intentionally not fixed in this module. - -[list-scenarios-command]: https://github.com/modelcontextprotocol/conformance/tree/main?tab=readme-ov-file#list-available-scenarios diff --git a/conformance-test/build.gradle.kts b/conformance-test/build.gradle.kts deleted file mode 100644 index a96f4fb..0000000 --- a/conformance-test/build.gradle.kts +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - kotlin("jvm") - application -} - -application { - mainClass.set("io.modelcontextprotocol.kotlin.sdk.conformance.ConformanceServerKt") -} - -tasks.register("conformanceClientScripts") { - mainClass.set("io.modelcontextprotocol.kotlin.sdk.conformance.ConformanceClientKt") - applicationName = "conformance-client" - outputDir = tasks.named("startScripts").get().outputDir - classpath = tasks.named("jar").get().outputs.files + configurations.named("runtimeClasspath").get() -} - -tasks.named("installDist") { - dependsOn("conformanceClientScripts") -} - -tasks.named("clean") { - delete("results") -} - -dependencies { - implementation(project(":kotlin-sdk")) - implementation(libs.ktor.server.cio) - implementation(libs.ktor.server.content.negotiation) - implementation(libs.ktor.serialization) - implementation(libs.ktor.client.cio) - implementation(libs.ktor.client.auth) - implementation(libs.kotlin.logging) - runtimeOnly(libs.slf4j.simple) -} diff --git a/conformance-test/conformance-baseline.yml b/conformance-test/conformance-baseline.yml deleted file mode 100644 index f349b8c..0000000 --- a/conformance-test/conformance-baseline.yml +++ /dev/null @@ -1,5 +0,0 @@ -# Conformance test baseline - expected failures -# Add entries here as tests are identified as known SDK limitations -server: [] - -client: [] diff --git a/conformance-test/run-conformance.sh b/conformance-test/run-conformance.sh deleted file mode 100755 index 279254e..0000000 --- a/conformance-test/run-conformance.sh +++ /dev/null @@ -1,194 +0,0 @@ -#!/bin/bash -# Script to run MCP conformance tests for the Kotlin SDK. -# -# Usage: ./conformance-test/run-conformance.sh [extra-args...] -# Commands: server | client | client-auth | all - -set -uo pipefail - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1; pwd)" -PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." || exit 1; pwd)" - -CONFORMANCE_VERSION="0.1.16" -PORT="${MCP_PORT:-3001}" -SERVER_URL="http://localhost:${PORT}/mcp" -RESULTS_DIR="$SCRIPT_DIR/results" -SERVER_DIST="$SCRIPT_DIR/build/install/conformance-test/bin/conformance-test" -CLIENT_DIST="$SCRIPT_DIR/build/install/conformance-test/bin/conformance-client" - -SERVER_PID="" - -# shellcheck disable=SC2317 -cleanup() { - if [ -n "$SERVER_PID" ] && kill -0 "$SERVER_PID" 2>/dev/null; then - echo "Stopping server (PID: $SERVER_PID)..." - kill "$SERVER_PID" 2>/dev/null || true - wait "$SERVER_PID" 2>/dev/null || true - fi -} -trap cleanup EXIT - -build() { - echo "Building conformance-test distributions..." - cd "$PROJECT_ROOT" || return 1 - ./gradlew :conformance-test:installDist --quiet - cd "$SCRIPT_DIR" || return 1 - echo "Build complete." -} - -start_server() { - echo "Starting conformance server on port $PORT..." - MCP_PORT="$PORT" "$SERVER_DIST" & - SERVER_PID=$! - - echo "Waiting for server to be ready..." - local retries=0 - local max_retries=30 - while ! curl -sf "$SERVER_URL" > /dev/null 2>&1; do - retries=$((retries + 1)) - if [ "$retries" -ge "$max_retries" ]; then - echo "ERROR: Server failed to start after $max_retries attempts" - return 1 - fi - sleep 0.5 - done - echo "Server is ready (PID: $SERVER_PID)." -} - -stop_server() { - if [ -n "$SERVER_PID" ] && kill -0 "$SERVER_PID" 2>/dev/null; then - echo "Stopping server (PID: $SERVER_PID)..." - kill "$SERVER_PID" 2>/dev/null || true - wait "$SERVER_PID" 2>/dev/null || true - SERVER_PID="" - fi -} - -run_list_scenarios() { - local output_dir="$RESULTS_DIR/list" - mkdir -p "$output_dir" - echo "" - echo "==========================================" - echo " List Available Scenarios" - echo "==========================================" - local rc=0 - npx "@modelcontextprotocol/conformance@$CONFORMANCE_VERSION" list \ - "$@" > "$output_dir/scenarios.txt" || rc=$? - - cat "$output_dir/scenarios.txt" - return $rc -} - -run_server_suite() { - local output_dir="$RESULTS_DIR/server" - mkdir -p "$output_dir" - echo "" - echo "==========================================" - echo " Running SERVER conformance tests" - echo "==========================================" - start_server || return 1 - local rc=0 - npx "@modelcontextprotocol/conformance@$CONFORMANCE_VERSION" server \ - --url "$SERVER_URL" \ - --output-dir "$output_dir" \ - --expected-failures "$SCRIPT_DIR/conformance-baseline.yml" \ - "$@" || rc=$? - stop_server - return $rc -} - -run_client_suite() { - local output_dir="$RESULTS_DIR/client" - mkdir -p "$output_dir" - echo "" - echo "==========================================" - echo " Running CLIENT conformance tests" - echo "==========================================" - local scenarios=("initialize" "tools_call" "elicitation-sep1034-client-defaults" "sse-retry") - local rc=0 - for scenario in "${scenarios[@]}"; do - npx "@modelcontextprotocol/conformance@$CONFORMANCE_VERSION" client \ - --command "$CLIENT_DIST" \ - --scenario "$scenario" \ - --output-dir "$output_dir" \ - --expected-failures "$SCRIPT_DIR/conformance-baseline.yml" \ - "$@" || rc=$? - done - return $rc -} - -run_client_auth_suite() { - local output_dir="$RESULTS_DIR/client-auth" - mkdir -p "$output_dir" - echo "" - echo "==========================================" - echo " Running CLIENT (auth) conformance tests" - echo "==========================================" - local rc=0 - npx "@modelcontextprotocol/conformance@$CONFORMANCE_VERSION" client \ - --command "$CLIENT_DIST" \ - --suite auth \ - --output-dir "$output_dir" \ - --expected-failures "$SCRIPT_DIR/conformance-baseline.yml" \ - "$@" || rc=$? - - local extra_scenarios=("auth/client-credentials-jwt" "auth/client-credentials-basic" "auth/cross-app-access-complete-flow") - for scenario in "${extra_scenarios[@]}"; do - npx "@modelcontextprotocol/conformance@$CONFORMANCE_VERSION" client \ - --command "$CLIENT_DIST" \ - --scenario "$scenario" \ - --output-dir "$output_dir" \ - --expected-failures "$SCRIPT_DIR/conformance-baseline.yml" \ - "$@" || rc=$? - done - return $rc -} - -# ============================================================================ -# Main -# ============================================================================ - -COMMAND="${1:-}" -shift 2>/dev/null || true - -if [ -z "$COMMAND" ]; then - echo "Usage: $0 [extra-args...]" - echo "Commands: list | server | client | client-auth | all" - exit 1 -fi - -build - -EXIT_CODE=0 - -case "$COMMAND" in - list) - run_list_scenarios "$@" || EXIT_CODE=1 - ;; - server) - run_server_suite "$@" || EXIT_CODE=1 - ;; - client) - run_client_suite "$@" || EXIT_CODE=1 - ;; - client-auth) - run_client_auth_suite "$@" || EXIT_CODE=1 - ;; - all) - run_server_suite "$@" || EXIT_CODE=1 - run_client_suite "$@" || EXIT_CODE=1 - run_client_auth_suite "$@" || EXIT_CODE=1 - ;; - *) - echo "Unknown command: $COMMAND" - echo "Commands: list | server | client | client-auth | all" - exit 1 - ;; -esac - -echo "" -echo "==========================================" -echo " Results saved to: $RESULTS_DIR" -echo "==========================================" - -exit $EXIT_CODE diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceClient.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceClient.kt deleted file mode 100644 index dba24ff..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceClient.kt +++ /dev/null @@ -1,199 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.github.oshai.kotlinlogging.KotlinLogging -import io.ktor.client.HttpClient -import io.ktor.client.engine.cio.CIO -import io.ktor.client.plugins.HttpTimeout -import io.ktor.client.plugins.sse.SSE -import io.modelcontextprotocol.kotlin.sdk.client.Client -import io.modelcontextprotocol.kotlin.sdk.client.ClientOptions -import io.modelcontextprotocol.kotlin.sdk.client.StreamableHttpClientTransport -import io.modelcontextprotocol.kotlin.sdk.conformance.auth.registerAuthScenarios -import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequest -import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequestParams -import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities -import io.modelcontextprotocol.kotlin.sdk.types.ElicitResult -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import kotlinx.coroutines.runBlocking -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.buildJsonObject -import kotlinx.serialization.json.put -import kotlin.system.exitProcess -import kotlin.time.Duration.Companion.seconds - -private val logger = KotlinLogging.logger {} - -typealias ScenarioHandler = suspend (serverUrl: String) -> Unit - -internal val scenarioHandlers = mutableMapOf() - -// ============================================================================ -// Main entry point -// ============================================================================ - -fun main(args: Array) { - val scenarioName = System.getenv("MCP_CONFORMANCE_SCENARIO") - val serverUrl = args.lastOrNull() - - // Register all scenario handlers - registerCoreScenarios() - registerAuthScenarios() - - if (scenarioName == null || serverUrl == null) { - logger.error { "Usage: MCP_CONFORMANCE_SCENARIO= conformance-client " } - logger.error { "\nThe MCP_CONFORMANCE_SCENARIO env var is set automatically by the conformance runner." } - logger.error { "\nAvailable scenarios:" } - for (name in scenarioHandlers.keys.sorted()) { - logger.error { " - $name" } - } - exitProcess(1) - } - - val handler = scenarioHandlers[scenarioName] - if (handler == null) { - logger.error { "Unknown scenario: $scenarioName" } - logger.error { "\nAvailable scenarios:" } - for (name in scenarioHandlers.keys.sorted()) { - logger.error { " - $name" } - } - exitProcess(1) - } - - try { - runBlocking { - handler(serverUrl) - } - exitProcess(0) - } catch (e: Exception) { - logger.error(e) { "Error: ${e.message}" } - exitProcess(1) - } -} - -// ============================================================================ -// Shared HTTP client factory -// ============================================================================ - -private fun createHttpClient(): HttpClient = HttpClient(CIO) { - install(SSE) - install(HttpTimeout) { - requestTimeoutMillis = 30.seconds.inWholeMilliseconds - } -} - -// ============================================================================ -// Basic scenarios (initialize, tools_call) -// ============================================================================ - -private suspend fun runBasicClient(serverUrl: String) { - createHttpClient().use { httpClient -> - val transport = StreamableHttpClientTransport(httpClient, serverUrl) - val client = Client( - clientInfo = Implementation("test-client", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - client.connect(transport) - client.close() - } -} - -private suspend fun runToolsCallClient(serverUrl: String) { - createHttpClient().use { httpClient -> - val transport = StreamableHttpClientTransport(httpClient, serverUrl) - val client = Client( - clientInfo = Implementation("test-client", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - client.connect(transport) - - val tools = client.listTools() - val addTool = tools.tools.find { it.name == "add_numbers" } - if (addTool != null) { - client.callTool( - CallToolRequest( - CallToolRequestParams( - name = "add_numbers", - arguments = buildJsonObject { - put("a", 5) - put("b", 3) - }, - ), - ), - ) - } - - client.close() - } -} - -// ============================================================================ -// Elicitation defaults scenario -// ============================================================================ - -private suspend fun runElicitationDefaultsClient(serverUrl: String) { - createHttpClient().use { httpClient -> - val transport = StreamableHttpClientTransport(httpClient, serverUrl) - val client = Client( - clientInfo = Implementation("elicitation-defaults-test-client", "1.0.0"), - options = ClientOptions( - capabilities = ClientCapabilities( - elicitation = ClientCapabilities.elicitation, - ), - ), - ) - - // Register elicitation handler that returns empty content — SDK should fill in defaults - client.setElicitationHandler { _ -> - ElicitResult( - action = ElicitResult.Action.Accept, - content = JsonObject(emptyMap()), - ) - } - - client.connect(transport) - - val tools = client.listTools() - val testTool = tools.tools.find { it.name == "test_client_elicitation_defaults" } - ?: error("Test tool not found: test_client_elicitation_defaults") - - client.callTool( - CallToolRequest(CallToolRequestParams(name = testTool.name)), - ) - - client.close() - } -} - -// ============================================================================ -// SSE retry scenario -// ============================================================================ - -private suspend fun runSSERetryClient(serverUrl: String) { - createHttpClient().use { httpClient -> - val transport = StreamableHttpClientTransport(httpClient, serverUrl) - val client = Client( - clientInfo = Implementation("sse-retry-test-client", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - client.connect(transport) - - client.listTools() - - client.callTool( - CallToolRequest(CallToolRequestParams(name = "test_reconnection")), - ) - - client.close() - } -} - -// ============================================================================ -// Register core scenarios -// ============================================================================ - -private fun registerCoreScenarios() { - scenarioHandlers["initialize"] = ::runBasicClient - scenarioHandlers["tools_call"] = ::runToolsCallClient - scenarioHandlers["elicitation-sep1034-client-defaults"] = ::runElicitationDefaultsClient - scenarioHandlers["sse-retry"] = ::runSSERetryClient -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceCompletions.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceCompletions.kt deleted file mode 100644 index 6297139..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceCompletions.kt +++ /dev/null @@ -1,15 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.modelcontextprotocol.kotlin.sdk.server.Server -import io.modelcontextprotocol.kotlin.sdk.types.CompleteRequest -import io.modelcontextprotocol.kotlin.sdk.types.CompleteResult -import io.modelcontextprotocol.kotlin.sdk.types.Method - -fun Server.registerConformanceCompletions() { - onConnect { - val session = sessions.values.lastOrNull() ?: return@onConnect - session.setRequestHandler(Method.Defined.CompletionComplete) { _, _ -> - CompleteResult(CompleteResult.Completion(values = emptyList(), total = 0, hasMore = false)) - } - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformancePrompts.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformancePrompts.kt deleted file mode 100644 index 6c591e4..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformancePrompts.kt +++ /dev/null @@ -1,114 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.modelcontextprotocol.kotlin.sdk.server.Server -import io.modelcontextprotocol.kotlin.sdk.types.EmbeddedResource -import io.modelcontextprotocol.kotlin.sdk.types.GetPromptResult -import io.modelcontextprotocol.kotlin.sdk.types.ImageContent -import io.modelcontextprotocol.kotlin.sdk.types.PromptArgument -import io.modelcontextprotocol.kotlin.sdk.types.PromptMessage -import io.modelcontextprotocol.kotlin.sdk.types.Role -import io.modelcontextprotocol.kotlin.sdk.types.TextContent -import io.modelcontextprotocol.kotlin.sdk.types.TextResourceContents -import kotlinx.coroutines.delay -import kotlin.time.Duration.Companion.milliseconds - -fun Server.registerConformancePrompts() { - // 1. Simple prompt - addPrompt( - name = "test_simple_prompt", - description = "test_simple_prompt", - ) { - GetPromptResult( - messages = listOf( - PromptMessage(Role.User, TextContent("This is a simple prompt for testing.")), - ), - ) - } - - // 2. Prompt with arguments - addPrompt( - name = "test_prompt_with_arguments", - description = "test_prompt_with_arguments", - arguments = listOf( - PromptArgument(name = "arg1", description = "First test argument", required = true), - PromptArgument(name = "arg2", description = "Second test argument", required = true), - ), - ) { request -> - val arg1 = request.arguments?.get("arg1") ?: "" - val arg2 = request.arguments?.get("arg2") ?: "" - GetPromptResult( - messages = listOf( - PromptMessage( - Role.User, - TextContent("Prompt with arguments: arg1='$arg1', arg2='$arg2'"), - ), - ), - ) - } - - // 3. Prompt with image - addPrompt( - name = "test_prompt_with_image", - description = "test_prompt_with_image", - ) { - GetPromptResult( - messages = listOf( - PromptMessage(Role.User, ImageContent(data = PNG_BASE64, mimeType = "image/png")), - PromptMessage(Role.User, TextContent("Please analyze the image above.")), - ), - ) - } - - // 4. Prompt with embedded resource - addPrompt( - name = "test_prompt_with_embedded_resource", - description = "test_prompt_with_embedded_resource", - arguments = listOf( - PromptArgument(name = "resourceUri", description = "URI of the resource to embed", required = true), - ), - ) { request -> - val resourceUri = request.arguments?.get("resourceUri") ?: "test://embedded-resource" - GetPromptResult( - messages = listOf( - PromptMessage( - Role.User, - EmbeddedResource( - resource = TextResourceContents( - text = "Embedded resource content for testing", - uri = resourceUri, - mimeType = "text/plain", - ), - ), - ), - PromptMessage(Role.User, TextContent("Please process the embedded resource above.")), - ), - ) - } - - // 5. Dynamic prompt - val server = this - addPrompt( - name = "test_dynamic_prompt", - description = "test_dynamic_prompt", - ) { - // Add a temporary prompt, triggering listChanged - server.addPrompt( - name = "test_dynamic_prompt_temp", - description = "Temporary dynamic prompt", - ) { - GetPromptResult( - messages = listOf( - PromptMessage(Role.User, TextContent("Temporary prompt response")), - ), - ) - } - delay(100.milliseconds) - // Remove the temporary prompt, triggering listChanged again - server.removePrompt("test_dynamic_prompt_temp") - GetPromptResult( - messages = listOf( - PromptMessage(Role.User, TextContent("Dynamic prompt executed successfully")), - ), - ) - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceResources.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceResources.kt deleted file mode 100644 index 89d83f6..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceResources.kt +++ /dev/null @@ -1,122 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.modelcontextprotocol.kotlin.sdk.server.Server -import io.modelcontextprotocol.kotlin.sdk.types.BlobResourceContents -import io.modelcontextprotocol.kotlin.sdk.types.ReadResourceResult -import io.modelcontextprotocol.kotlin.sdk.types.TextResourceContents -import kotlinx.coroutines.delay -import kotlin.time.Duration.Companion.milliseconds - -fun Server.registerConformanceResources() { - // 1. Static text resource - addResource( - uri = "test://static-text", - name = "static-text", - description = "A static text resource for testing", - mimeType = "text/plain", - ) { - ReadResourceResult( - listOf( - TextResourceContents( - text = "This is the content of the static text resource.", - uri = "test://static-text", - mimeType = "text/plain", - ), - ), - ) - } - - // 2. Static binary resource - addResource( - uri = "test://static-binary", - name = "static-binary", - description = "A static binary resource for testing", - mimeType = "image/png", - ) { - ReadResourceResult( - listOf( - BlobResourceContents( - blob = PNG_BASE64, - uri = "test://static-binary", - mimeType = "image/png", - ), - ), - ) - } - - // 3. Template resource - addResourceTemplate( - uriTemplate = "test://template/{id}/data", - name = "template", - description = "A template resource for testing", - mimeType = "application/json", - ) { request, variables -> - val id = variables["id"] - ReadResourceResult( - listOf( - TextResourceContents( - text = """{"id": "$id"}""", - uri = request.uri, - mimeType = "application/json", - ), - ), - ) - } - - // 4. Watched resource - addResource( - uri = "test://watched-resource", - name = "watched-resource", - description = "A watched resource for testing", - mimeType = "text/plain", - ) { - ReadResourceResult( - listOf( - TextResourceContents( - text = "Watched resource content.", - uri = "test://watched-resource", - mimeType = "text/plain", - ), - ), - ) - } - - // 5. Dynamic resource - val server = this - addResource( - uri = "test://dynamic-resource", - name = "dynamic-resource", - description = "A dynamic resource for testing", - mimeType = "text/plain", - ) { - // Add a temporary resource, triggering listChanged - server.addResource( - uri = "test://dynamic-resource-temp", - name = "dynamic-resource-temp", - description = "Temporary dynamic resource", - mimeType = "text/plain", - ) { - ReadResourceResult( - listOf( - TextResourceContents( - text = "Temporary resource content.", - uri = "test://dynamic-resource-temp", - mimeType = "text/plain", - ), - ), - ) - } - delay(100.milliseconds) - // Remove the temporary resource, triggering listChanged again - server.removeResource("test://dynamic-resource-temp") - ReadResourceResult( - listOf( - TextResourceContents( - text = "Dynamic resource content.", - uri = "test://dynamic-resource", - mimeType = "text/plain", - ), - ), - ) - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceServer.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceServer.kt deleted file mode 100644 index 8a18957..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceServer.kt +++ /dev/null @@ -1,38 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.ktor.server.cio.CIO -import io.ktor.server.engine.embeddedServer -import io.modelcontextprotocol.kotlin.sdk.server.Server -import io.modelcontextprotocol.kotlin.sdk.server.ServerOptions -import io.modelcontextprotocol.kotlin.sdk.server.mcpStreamableHttp -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import io.modelcontextprotocol.kotlin.sdk.types.ServerCapabilities - -fun main() { - val port = System.getenv("MCP_PORT")?.toIntOrNull() ?: 3001 - embeddedServer(CIO, port = port) { - mcpStreamableHttp( - eventStore = InMemoryEventStore(), - ) { - createConformanceServer() - } - }.start(wait = true) -} - -fun createConformanceServer(): Server = Server( - serverInfo = Implementation("mcp-kotlin-sdk-conformance", "0.1.0"), - options = ServerOptions( - ServerCapabilities( - tools = ServerCapabilities.Tools(listChanged = true), - resources = ServerCapabilities.Resources(subscribe = true, listChanged = true), - prompts = ServerCapabilities.Prompts(listChanged = true), - logging = ServerCapabilities.Logging, - completions = ServerCapabilities.Completions, - ), - ), -) { - registerConformanceTools() - registerConformanceResources() - registerConformancePrompts() - registerConformanceCompletions() -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceTools.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceTools.kt deleted file mode 100644 index c81c98c..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceTools.kt +++ /dev/null @@ -1,454 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.github.oshai.kotlinlogging.KotlinLogging -import io.modelcontextprotocol.kotlin.sdk.server.Server -import io.modelcontextprotocol.kotlin.sdk.types.AudioContent -import io.modelcontextprotocol.kotlin.sdk.types.BooleanSchema -import io.modelcontextprotocol.kotlin.sdk.types.CallToolResult -import io.modelcontextprotocol.kotlin.sdk.types.CreateMessageRequest -import io.modelcontextprotocol.kotlin.sdk.types.CreateMessageRequestParams -import io.modelcontextprotocol.kotlin.sdk.types.DoubleSchema -import io.modelcontextprotocol.kotlin.sdk.types.ElicitRequestParams -import io.modelcontextprotocol.kotlin.sdk.types.EmbeddedResource -import io.modelcontextprotocol.kotlin.sdk.types.EnumOption -import io.modelcontextprotocol.kotlin.sdk.types.ImageContent -import io.modelcontextprotocol.kotlin.sdk.types.IntegerSchema -import io.modelcontextprotocol.kotlin.sdk.types.LegacyTitledEnumSchema -import io.modelcontextprotocol.kotlin.sdk.types.LoggingLevel -import io.modelcontextprotocol.kotlin.sdk.types.LoggingMessageNotification -import io.modelcontextprotocol.kotlin.sdk.types.LoggingMessageNotificationParams -import io.modelcontextprotocol.kotlin.sdk.types.ProgressNotification -import io.modelcontextprotocol.kotlin.sdk.types.ProgressNotificationParams -import io.modelcontextprotocol.kotlin.sdk.types.Role -import io.modelcontextprotocol.kotlin.sdk.types.SamplingMessage -import io.modelcontextprotocol.kotlin.sdk.types.StringSchema -import io.modelcontextprotocol.kotlin.sdk.types.TextContent -import io.modelcontextprotocol.kotlin.sdk.types.TextResourceContents -import io.modelcontextprotocol.kotlin.sdk.types.TitledMultiSelectEnumSchema -import io.modelcontextprotocol.kotlin.sdk.types.TitledSingleSelectEnumSchema -import io.modelcontextprotocol.kotlin.sdk.types.ToolSchema -import io.modelcontextprotocol.kotlin.sdk.types.UntitledMultiSelectEnumSchema -import io.modelcontextprotocol.kotlin.sdk.types.UntitledSingleSelectEnumSchema -import kotlinx.coroutines.delay -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject -import kotlinx.serialization.json.double -import kotlinx.serialization.json.jsonPrimitive -import kotlin.time.Duration.Companion.milliseconds - -// Minimal 1x1 PNG (base64) -internal const val PNG_BASE64 = - "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" - -// Minimal WAV (base64) -internal const val WAV_BASE64 = "UklGRiYAAABXQVZFZm10IBAAAAABAAEAQB8AAAB9AAACABAAZGF0YQIAAAA=" - -private val logger = KotlinLogging.logger {} - -fun Server.registerConformanceTools() { - // 1. Simple text - addTool( - name = "test_simple_text", - description = "test_simple_text", - ) { - CallToolResult(listOf(TextContent("Simple text content"))) - } - - // 2. Image content - addTool( - name = "test_image_content", - description = "test_image_content", - ) { - CallToolResult(listOf(ImageContent(data = PNG_BASE64, mimeType = "image/png"))) - } - - // 3. Audio content - addTool( - name = "test_audio_content", - description = "test_audio_content", - ) { - CallToolResult(listOf(AudioContent(data = WAV_BASE64, mimeType = "audio/wav"))) - } - - // 4. Embedded resource - addTool( - name = "test_embedded_resource", - description = "test_embedded_resource", - ) { - CallToolResult( - listOf( - EmbeddedResource( - resource = TextResourceContents( - text = "This is an embedded resource content.", - uri = "test://embedded-resource", - mimeType = "text/plain", - ), - ), - ), - ) - } - - // 5. Multiple content types - addTool( - name = "test_multiple_content_types", - description = "test_multiple_content_types", - ) { - CallToolResult( - listOf( - TextContent("Simple text content"), - ImageContent(data = PNG_BASE64, mimeType = "image/png"), - EmbeddedResource( - resource = TextResourceContents( - text = "This is an embedded resource content.", - uri = "test://embedded-resource", - mimeType = "text/plain", - ), - ), - ), - ) - } - - // 6. Progress tool - addTool( - name = "test_tool_with_progress", - description = "test_tool_with_progress", - ) { request -> - val progressToken = request.meta?.progressToken - if (progressToken != null) { - notification( - ProgressNotification( - ProgressNotificationParams( - progressToken, - 0.0, - 100.0, - "Completed step 0 of 100", - ), - ), - ) - delay(50.milliseconds) - notification( - ProgressNotification( - ProgressNotificationParams( - progressToken, - 50.0, - 100.0, - "Completed step 50 of 100", - ), - ), - ) - delay(50.milliseconds) - notification( - ProgressNotification( - ProgressNotificationParams( - progressToken, - 100.0, - 100.0, - "Completed step 100 of 100", - ), - ), - ) - } - CallToolResult(listOf(TextContent("Simple text content"))) - } - - // 7. Error handling - addTool( - name = "test_error_handling", - description = "test_error_handling", - ) { - throw Exception("This tool intentionally returns an error for testing") - } - - // 8. Sampling - addTool( - name = "test_sampling", - description = "test_sampling", - inputSchema = ToolSchema( - properties = buildJsonObject { - put("prompt", buildJsonObject { put("type", JsonPrimitive("string")) }) - }, - required = listOf("prompt"), - ), - ) { request -> - val prompt = request.arguments?.get("prompt")?.jsonPrimitive?.content ?: "Hello" - val result = createMessage( - CreateMessageRequest( - CreateMessageRequestParams( - maxTokens = 10000, - messages = listOf(SamplingMessage(Role.User, listOf(TextContent(prompt)))), - ), - ), - ) - val sampledText = result.content.joinToString("\n") { content -> - when (content) { - is TextContent -> content.text - else -> "Non-text sampling content: ${content::class.simpleName}" - } - } - CallToolResult(listOf(TextContent(sampledText))) - } - - // 9. Elicitation - addTool( - name = "test_elicitation", - description = "test_elicitation", - inputSchema = ToolSchema( - properties = buildJsonObject { - put("message", buildJsonObject { put("type", JsonPrimitive("string")) }) - }, - required = listOf("message"), - ), - ) { request -> - val message = request.arguments?.get("message")?.jsonPrimitive?.content ?: "Please provide input" - val schema = ElicitRequestParams.RequestedSchema( - properties = mapOf( - "username" to StringSchema(description = "User's response"), - "email" to StringSchema(description = "User's email address"), - ), - required = listOf("username", "email"), - ) - val result = createElicitation(message, schema) - CallToolResult(listOf(TextContent("User response: "))) - } - - // 10. Elicitation SEP1034 (defaults) - addTool( - name = "test_elicitation_sep1034_defaults", - description = "test_elicitation_sep1034_defaults", - ) { - val schema = ElicitRequestParams.RequestedSchema( - properties = mapOf( - "name" to StringSchema(description = "User name", default = "John Doe"), - "age" to IntegerSchema(description = "User age", default = 30), - "score" to DoubleSchema(description = "User score", default = 95.5), - "status" to UntitledSingleSelectEnumSchema( - description = "User status", - enumValues = listOf("active", "inactive", "pending"), - default = "active", - ), - "verified" to BooleanSchema(description = "Verification status", default = true), - ), - required = listOf("name", "age", "score", "status", "verified"), - ) - val result = createElicitation( - "Please review and update the form fields with defaults", - schema, - ) - CallToolResult(listOf(TextContent(result.content.toString()))) - } - - // 11. Elicitation SEP1330 enums - addTool( - name = "test_elicitation_sep1330_enums", - description = "test_elicitation_sep1330_enums", - ) { - val schema = ElicitRequestParams.RequestedSchema( - properties = mapOf( - // Untitled single-select - "untitledSingle" to UntitledSingleSelectEnumSchema( - enumValues = listOf("option1", "option2", "option3"), - ), - // Titled single-select - "titledSingle" to TitledSingleSelectEnumSchema( - oneOf = listOf( - EnumOption(const = "value1", title = "First Option"), - EnumOption(const = "value2", title = "Second Option"), - EnumOption(const = "value3", title = "Third Option"), - ), - ), - // Legacy titled (deprecated) — uses enum + enumNames - @Suppress("DEPRECATION") - "legacyEnum" - to LegacyTitledEnumSchema( - enumValues = listOf("opt1", "opt2", "opt3"), - enumNames = listOf("Option One", "Option Two", "Option Three"), - ), - // Untitled multi-select - "untitledMulti" to UntitledMultiSelectEnumSchema( - items = UntitledMultiSelectEnumSchema.Items( - enumValues = listOf("option1", "option2", "option3"), - ), - ), - // Titled multi-select - "titledMulti" to TitledMultiSelectEnumSchema( - items = TitledMultiSelectEnumSchema.Items( - anyOf = listOf( - EnumOption(const = "value1", title = "First Choice"), - EnumOption(const = "value2", title = "Second Choice"), - EnumOption(const = "value3", title = "Third Choice"), - ), - ), - ), - ), - ) - val result = createElicitation( - "Please review and update the form fields with defaults", - schema, - ) - CallToolResult(listOf(TextContent("Elicitation completed: action=${result.action}, content=${result.content}"))) - } - - // 12. Dynamic tool - val server = this - addTool( - name = "test_dynamic_tool", - description = "test_dynamic_tool", - ) { - // Add a temporary tool, triggering listChanged - server.addTool( - name = "test_dynamic_tool_temp", - description = "Temporary dynamic tool", - ) { - CallToolResult(listOf(TextContent("Temporary tool response"))) - } - delay(100.milliseconds) - // Remove the temporary tool, triggering listChanged again - server.removeTool("test_dynamic_tool_temp") - CallToolResult(listOf(TextContent("Dynamic tool executed successfully"))) - } - - // 13. Logging tool - addTool( - name = "test_tool_with_logging", - description = "test_tool_with_logging", - ) { - logger.debug { "[test_tool_with_logging] Sending message 1" } - sendLoggingMessage( - LoggingMessageNotification( - LoggingMessageNotificationParams( - level = LoggingLevel.Info, - data = JsonPrimitive("Tool execution started"), - logger = "conformance", - ), - ), - ) - delay(50.milliseconds) - logger.debug { "[test_tool_with_logging] Sending message #2" } - sendLoggingMessage( - LoggingMessageNotification( - LoggingMessageNotificationParams( - level = LoggingLevel.Info, - data = JsonPrimitive("Tool processing data"), - logger = "conformance", - ), - ), - ) - delay(50.milliseconds) - logger.debug { "[test_tool_with_logging] Sending message 3" } - sendLoggingMessage( - LoggingMessageNotification( - LoggingMessageNotificationParams( - level = LoggingLevel.Info, - data = JsonPrimitive("Tool execution completed"), - logger = "conformance", - ), - ), - ) - - CallToolResult(listOf(TextContent("Simple text content"))) - } - - // 14. add_numbers — used by tools_call client scenario - addTool( - name = "add_numbers", - description = "Adds two numbers together", - inputSchema = ToolSchema( - properties = buildJsonObject { - put("a", buildJsonObject { put("type", JsonPrimitive("number")) }) - put("b", buildJsonObject { put("type", JsonPrimitive("number")) }) - }, - required = listOf("a", "b"), - ), - ) { request -> - val a = request.arguments?.get("a")?.jsonPrimitive?.double ?: 0.0 - val b = request.arguments?.get("b")?.jsonPrimitive?.double ?: 0.0 - val sum = a + b - CallToolResult(listOf(TextContent("The sum of $a and $b is $sum"))) - } - - // 15. test_reconnection — SEP-1699, closes SSE stream to test client reconnection - addTool( - name = "test_reconnection", - description = "Tests SSE stream disconnection and client reconnection (SEP-1699)", - ) { - // SDK limitation: cannot access the JSONRPC request ID from the tool handler - // to close the SSE stream. Return success text; this test may fail at the - // conformance runner level because the stream isn't actually closed. - delay(100.milliseconds) - CallToolResult( - listOf( - TextContent( - "Reconnection test completed successfully. " + - "If you received this, the client properly reconnected after stream closure.", - ), - ), - ) - } - - // 16. json_schema_2020_12_tool — SEP-1613 - addTool( - name = "json_schema_2020_12_tool", - description = "Tool with JSON Schema 2020-12 features for conformance testing (SEP-1613)", - inputSchema = ToolSchema( - properties = buildJsonObject { - put( - "name", - buildJsonObject { - put("type", JsonPrimitive("string")) - }, - ) - put( - "address", - buildJsonObject { - put("type", JsonPrimitive("object")) - put( - "properties", - buildJsonObject { - put("street", buildJsonObject { put("type", JsonPrimitive("string")) }) - put("city", buildJsonObject { put("type", JsonPrimitive("string")) }) - }, - ) - }, - ) - }, - ), - ) { request -> - CallToolResult( - listOf(TextContent("JSON Schema 2020-12 tool called with: ${request.arguments}")), - ) - } - - // 17. test_client_elicitation_defaults — used by elicitation-sep1034-client-defaults scenario - addTool( - name = "test_client_elicitation_defaults", - description = "test_client_elicitation_defaults", - ) { - val schema = ElicitRequestParams.RequestedSchema( - properties = mapOf( - "name" to StringSchema(description = "User name", default = "John Doe"), - "age" to IntegerSchema(description = "User age", default = 30), - "score" to DoubleSchema(description = "User score", default = 95.5), - "status" to UntitledSingleSelectEnumSchema( - description = "User status", - enumValues = listOf("active", "inactive", "pending"), - default = "active", - ), - "verified" to BooleanSchema(description = "Verification status", default = true), - ), - required = emptyList(), - ) - val result = createElicitation( - "Please review and update the form fields with defaults", - schema, - ) - CallToolResult(listOf(TextContent("Elicitation completed: action=${result.action}, content=${result.content}"))) - } - - // 18. test-tool — simple tool used by auth scenarios - addTool( - name = "test-tool", - description = "Simple test tool for auth scenarios", - ) { - CallToolResult(listOf(TextContent("Test tool executed successfully"))) - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/InMemoryEventStore.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/InMemoryEventStore.kt deleted file mode 100644 index ca7abb3..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/InMemoryEventStore.kt +++ /dev/null @@ -1,46 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance - -import io.modelcontextprotocol.kotlin.sdk.server.EventStore -import io.modelcontextprotocol.kotlin.sdk.types.JSONRPCMessage -import java.util.concurrent.ConcurrentHashMap -import kotlin.uuid.ExperimentalUuidApi -import kotlin.uuid.Uuid - -@OptIn(ExperimentalUuidApi::class) -class InMemoryEventStore : EventStore { - - private val events = ConcurrentHashMap>() - private val streamEvents = ConcurrentHashMap>() - - override suspend fun storeEvent(streamId: String, message: JSONRPCMessage): String { - val eventId = "$streamId::${System.currentTimeMillis()}_${Uuid.random()}" - events[eventId] = message to streamId - streamEvents.getOrPut(streamId) { mutableListOf() }.add(eventId) - return eventId - } - - override suspend fun replayEventsAfter( - lastEventId: String, - sender: suspend (eventId: String, message: JSONRPCMessage) -> Unit, - ): String { - val streamId = getStreamIdForEventId(lastEventId) - ?: error("Unknown event ID: $lastEventId") - val eventIds = streamEvents[streamId] ?: return streamId - - var found = false - for (eventId in eventIds) { - if (!found) { - if (eventId == lastEventId) found = true - continue - } - val (message, _) = events[eventId] ?: continue - sender(eventId, message) - } - return streamId - } - - override suspend fun getStreamIdForEventId(eventId: String): String? { - val idx = eventId.indexOf("::") - return if (idx >= 0) eventId.substring(0, idx) else null - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/JWTScenario.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/JWTScenario.kt deleted file mode 100644 index 9a20681..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/JWTScenario.kt +++ /dev/null @@ -1,189 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.engine.cio.CIO -import io.ktor.client.plugins.sse.SSE -import io.ktor.client.request.forms.submitForm -import io.ktor.http.Parameters -import io.modelcontextprotocol.kotlin.sdk.client.Client -import io.modelcontextprotocol.kotlin.sdk.client.ClientOptions -import io.modelcontextprotocol.kotlin.sdk.client.StreamableHttpClientTransport -import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import kotlinx.serialization.json.buildJsonObject -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import kotlinx.serialization.json.put -import java.security.KeyFactory -import java.security.Signature -import java.security.spec.PKCS8EncodedKeySpec -import java.util.Base64 -import kotlin.uuid.ExperimentalUuidApi -import kotlin.uuid.Uuid - -// Client Credentials JWT scenario -internal suspend fun runClientCredentialsJwt(serverUrl: String) { - val ctx = conformanceContext() - val clientId = ctx.requiredString("client_id") - val privateKeyPem = ctx.requiredString("private_key_pem") - val signingAlgorithm = ctx["signing_algorithm"]?.jsonPrimitive?.content ?: "ES256" - - val httpClient = HttpClient(CIO) { - install(SSE) - followRedirects = false - } - - httpClient.use { client -> - val resourceMetadata = discoverResourceMetadata(client, serverUrl) - val authServer = resourceMetadata["authorization_servers"]?.jsonArray?.firstOrNull()?.jsonPrimitive?.content - ?: error("No authorization_servers in resource metadata") - val oauthMetadata = fetchOAuthMetadata(client, authServer) - val tokenEndpoint = oauthMetadata["token_endpoint"]?.jsonPrimitive?.content - ?: error("No token_endpoint in AS metadata") - val issuer = oauthMetadata["issuer"]?.jsonPrimitive?.content - ?: error("No issuer in AS metadata") - - // Create JWT client assertion - val assertion = createJwtAssertion(clientId, issuer, privateKeyPem, signingAlgorithm) - - // Exchange for token - val tokenResponse = client.submitForm( - url = tokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "client_credentials") - append("client_id", clientId) - append("client_assertion_type", "urn:ietf:params:oauth:client-assertion-type:jwt-bearer") - append("client_assertion", assertion) - }, - ) - val accessToken = extractAccessToken(tokenResponse) - - withBearerToken(accessToken) { authedClient -> - val transport = StreamableHttpClientTransport(authedClient, serverUrl) - val client = Client( - clientInfo = Implementation("conformance-client-credentials-jwt", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - client.connect(transport) - client.listTools() - client.close() - } - } -} - -// JWT Assertion -@OptIn(ExperimentalUuidApi::class) -private fun createJwtAssertion( - clientId: String, - audience: String, - privateKeyPem: String, - algorithm: String, -): String { - val header = buildJsonObject { - put("alg", algorithm) - put("typ", "JWT") - }.toString() - - val now = System.currentTimeMillis() / 1000 - val payload = buildJsonObject { - put("iss", clientId) - put("sub", clientId) - put("aud", audience) - put("iat", now) - put("exp", now + 300) - put("jti", Uuid.random().toString()) - }.toString() - - val headerB64 = Base64.getUrlEncoder().withoutPadding().encodeToString(header.toByteArray()) - val payloadB64 = Base64.getUrlEncoder().withoutPadding().encodeToString(payload.toByteArray()) - val signingInput = "$headerB64.$payloadB64" - - val signature = signJwt(signingInput, privateKeyPem, algorithm) - return "$signingInput.$signature" -} - -private fun signJwt(input: String, privateKeyPem: String, algorithm: String): String { - val pemBody = privateKeyPem - .replace("-----BEGIN PRIVATE KEY-----", "") - .replace("-----END PRIVATE KEY-----", "") - .replace("-----BEGIN EC PRIVATE KEY-----", "") - .replace("-----END EC PRIVATE KEY-----", "") - .replace("-----BEGIN RSA PRIVATE KEY-----", "") - .replace("-----END RSA PRIVATE KEY-----", "") - .replace("\n", "") - .replace("\r", "") - .trim() - - val keyBytes = Base64.getDecoder().decode(pemBody) - val keySpec = PKCS8EncodedKeySpec(keyBytes) - - val (keyAlgorithm, signatureAlgorithm) = when (algorithm) { - "ES256" -> "EC" to "SHA256withECDSA" - "RS256" -> "RSA" to "SHA256withRSA" - else -> error("Unsupported signing algorithm: $algorithm") - } - - val keyFactory = KeyFactory.getInstance(keyAlgorithm) - val privateKey = keyFactory.generatePrivate(keySpec) - - val sig = Signature.getInstance(signatureAlgorithm) - sig.initSign(privateKey) - sig.update(input.toByteArray()) - val rawSignature = sig.sign() - - // For EC, convert DER to raw r||s format for JWS - val signatureBytes = if (keyAlgorithm == "EC") { - derToRawEcSignature(rawSignature) - } else { - rawSignature - } - - return Base64.getUrlEncoder().withoutPadding().encodeToString(signatureBytes) -} - -private fun derToRawEcSignature(der: ByteArray): ByteArray { - // DER format: 0x30 len 0x02 rLen r 0x02 sLen s - require(der.size >= 2) { "DER signature too short" } - - var offset = 2 // skip SEQUENCE tag and length - if (der[1].toInt() and 0x80 != 0) { - offset += (der[1].toInt() and 0x7f) - } - - // Read r - require(offset < der.size) { "DER signature truncated before r tag" } - check(der[offset] == 0x02.toByte()) { "Expected INTEGER tag for r" } - offset++ - require(offset < der.size) { "DER signature truncated before r length" } - val rLen = der[offset].toInt() and 0xff - offset++ - require(offset + rLen <= der.size) { "DER signature truncated in r value" } - val r = der.copyOfRange(offset, offset + rLen) - offset += rLen - - // Read s - require(offset < der.size) { "DER signature truncated before s tag" } - check(der[offset] == 0x02.toByte()) { "Expected INTEGER tag for s" } - offset++ - require(offset < der.size) { "DER signature truncated before s length" } - val sLen = der[offset].toInt() and 0xff - offset++ - require(offset + sLen <= der.size) { "DER signature truncated in s value" } - val s = der.copyOfRange(offset, offset + sLen) - - // Each component should be 32 bytes for P-256 - val componentLen = 32 - val result = ByteArray(componentLen * 2) - - // Copy r (may need padding or trimming of leading zero) - val rStart = if (r.size > componentLen) r.size - componentLen else 0 - val rDest = if (r.size < componentLen) componentLen - r.size else 0 - r.copyInto(result, rDest, rStart, r.size) - - // Copy s - val sStart = if (s.size > componentLen) s.size - componentLen else 0 - val sDest = componentLen + if (s.size < componentLen) componentLen - s.size else 0 - s.copyInto(result, sDest, sStart, s.size) - - return result -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/authCodeFlow.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/authCodeFlow.kt deleted file mode 100644 index c59e8e0..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/authCodeFlow.kt +++ /dev/null @@ -1,154 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.engine.cio.CIO -import io.ktor.client.plugins.HttpSend -import io.ktor.client.plugins.plugin -import io.ktor.client.plugins.sse.SSE -import io.ktor.http.HttpHeaders -import io.ktor.http.HttpStatusCode -import io.modelcontextprotocol.kotlin.sdk.client.Client -import io.modelcontextprotocol.kotlin.sdk.client.ClientOptions -import io.modelcontextprotocol.kotlin.sdk.client.StreamableHttpClientTransport -import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequest -import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequestParams -import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import java.util.UUID - -internal suspend fun runAuthClient(serverUrl: String) { - val httpClient = HttpClient(CIO) { - install(SSE) - followRedirects = false - } - - var accessToken: String? = null - var authAttempts = 0 - // Cache discovery and credentials across retries - var cachedDiscovery: DiscoveryResult? = null - var cachedCredentials: ClientCredentials? = null - - httpClient.plugin(HttpSend).intercept { request -> - // Add existing token if available - if (accessToken != null) { - request.headers.remove(HttpHeaders.Authorization) - request.headers.append(HttpHeaders.Authorization, "Bearer $accessToken") - } - - val response = execute(request) - val status = response.response.status - - // Determine if we need to (re-)authorize - val needsAuth = status == HttpStatusCode.Unauthorized - val wwwAuth = response.response.headers[HttpHeaders.WWWAuthenticate] ?: "" - val stepUpScope = if (status == HttpStatusCode.Forbidden) parseStepUpScope(wwwAuth) else null - val needsStepUp = stepUpScope != null - - if ((needsAuth || needsStepUp) && authAttempts < 3) { - authAttempts++ - - // Discover metadata (cache across retries) - if (cachedDiscovery == null) { - val resourceMetadataUrl = extractParam(wwwAuth, "resource_metadata") - cachedDiscovery = discoverOAuthMetadata(httpClient, serverUrl, resourceMetadataUrl) - } - val discovery: DiscoveryResult = cachedDiscovery - - // Validate PRM resource matches server URL (RFC 8707) - val discoveredResource = discovery.resourceUrl - if (discoveredResource != null) { - val normalizedResource = discoveredResource.trimEnd('/') - val normalizedServerUrl = serverUrl.trimEnd('/') - val matches = normalizedServerUrl == normalizedResource || - normalizedServerUrl.startsWith("$normalizedResource/") - require(matches) { - "PRM resource mismatch: resource='$discoveredResource' does not match server URL='$serverUrl'" - } - } - - val metadata = discovery.asMetadata - - val authEndpoint = metadata["authorization_endpoint"]?.jsonPrimitive?.content - ?: error("No authorization_endpoint in metadata") - val tokenEndpoint = metadata["token_endpoint"]?.jsonPrimitive?.content - ?: error("No token_endpoint in metadata") - - val tokenEndpointAuthMethods = metadata["token_endpoint_auth_methods_supported"] - ?.jsonArray?.map { it.jsonPrimitive.content } - ?: listOf("client_secret_post") - val tokenAuthMethod = tokenEndpointAuthMethods.firstOrNull() ?: "client_secret_post" - - // Verify PKCE support - verifyPkceSupport(metadata) - - // Resolve client credentials (cache across retries) - if (cachedCredentials == null) { - cachedCredentials = resolveClientCredentials(httpClient, metadata) - } - val creds: ClientCredentials = cachedCredentials - - // Determine scope - val scope = if (needsStepUp) { - stepUpScope - } else { - val wwwAuthScope = extractParam(wwwAuth, "scope") - selectScope(wwwAuthScope, discovery.scopesSupported) - } - - // PKCE - val codeVerifier = generateCodeVerifier() - val codeChallenge = generateCodeChallenge(codeVerifier) - - // CSRF state parameter - val state = UUID.randomUUID().toString() - - // Build authorization URL - val authUrl = buildAuthorizationUrl( - authEndpoint, - creds.clientId, - CALLBACK_URL, - codeChallenge, - scope, - discovery.resourceUrl, - state, - ) - - // Follow the authorization redirect to get auth code - val authCode = followAuthorizationRedirect(httpClient, authUrl, CALLBACK_URL, state) - - // Exchange code for tokens - accessToken = exchangeCodeForTokens( - httpClient, - tokenEndpoint, - authCode, - creds.clientId, - creds.clientSecret, - CALLBACK_URL, - codeVerifier, - tokenAuthMethod, - discovery.resourceUrl, - ) - - // Retry the original request with the token - request.headers.remove(HttpHeaders.Authorization) - request.headers.append(HttpHeaders.Authorization, "Bearer $accessToken") - execute(request) - } else { - response - } - } - - httpClient.use { client -> - val transport = StreamableHttpClientTransport(client, serverUrl) - val mcpClient = Client( - clientInfo = Implementation("test-auth-client", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - mcpClient.connect(transport) - mcpClient.listTools() - mcpClient.callTool(CallToolRequest(CallToolRequestParams(name = "test-tool"))) - mcpClient.close() - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/basicScenario.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/basicScenario.kt deleted file mode 100644 index a0d6d86..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/basicScenario.kt +++ /dev/null @@ -1,54 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.engine.cio.CIO -import io.ktor.client.plugins.sse.SSE -import io.ktor.client.request.forms.submitForm -import io.ktor.client.request.header -import io.ktor.http.HttpHeaders -import io.ktor.http.Parameters -import io.modelcontextprotocol.kotlin.sdk.client.Client -import io.modelcontextprotocol.kotlin.sdk.client.ClientOptions -import io.modelcontextprotocol.kotlin.sdk.client.StreamableHttpClientTransport -import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import java.util.Base64 - -// Client Credentials Basic scenario -internal suspend fun runClientCredentialsBasic(serverUrl: String) { - val ctx = conformanceContext() - val clientId = ctx.requiredString("client_id") - val clientSecret = ctx.requiredString("client_secret") - - val httpClient = HttpClient(CIO) { - install(SSE) - followRedirects = false - } - - httpClient.use { client -> - val tokenEndpoint = discoverTokenEndpoint(client, serverUrl) - - // Exchange credentials for token using Basic auth - val basicAuth = Base64.getEncoder().encodeToString("$clientId:$clientSecret".toByteArray()) - val tokenResponse = client.submitForm( - url = tokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "client_credentials") - }, - ) { - header(HttpHeaders.Authorization, "Basic $basicAuth") - } - val accessToken = extractAccessToken(tokenResponse) - - withBearerToken(accessToken) { authedClient -> - val transport = StreamableHttpClientTransport(authedClient, serverUrl) - val client = Client( - clientInfo = Implementation("conformance-client-credentials-basic", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - client.connect(transport) - client.listTools() - client.close() - } - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/clientRegistration.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/clientRegistration.kt deleted file mode 100644 index 8e84a15..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/clientRegistration.kt +++ /dev/null @@ -1,73 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.request.post -import io.ktor.client.request.setBody -import io.ktor.client.statement.bodyAsText -import io.ktor.http.ContentType -import io.ktor.http.contentType -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject -import kotlinx.serialization.json.jsonObject -import kotlinx.serialization.json.jsonPrimitive -import kotlinx.serialization.json.put - -internal data class ClientCredentials(val clientId: String, val clientSecret: String?) - -/** - * Resolve client credentials per spec priority: - * 1. Pre-registered (from MCP_CONFORMANCE_CONTEXT) - * 2. CIMD (client_id_metadata_document_supported) - * 3. Dynamic registration (registration_endpoint) - * 4. Error - */ -internal suspend fun resolveClientCredentials(httpClient: HttpClient, asMetadata: JsonObject): ClientCredentials { - // 1. Pre-registered - val contextJson = System.getenv("MCP_CONFORMANCE_CONTEXT") - if (contextJson != null) { - val ctx = json.parseToJsonElement(contextJson).jsonObject - val clientId = ctx["client_id"]?.jsonPrimitive?.content - if (clientId != null) { - val clientSecret = ctx["client_secret"]?.jsonPrimitive?.content - return ClientCredentials(clientId, clientSecret) - } - } - - // 2. CIMD - val cimdSupported = asMetadata["client_id_metadata_document_supported"] - ?.jsonPrimitive?.content?.toBoolean() ?: false - if (cimdSupported) { - return ClientCredentials(CIMD_CLIENT_METADATA_URL, null) - } - - // 3. Dynamic registration - val registrationEndpoint = asMetadata["registration_endpoint"]?.jsonPrimitive?.content - if (registrationEndpoint != null) { - return dynamicClientRegistration(httpClient, registrationEndpoint) - } - - error("No way to register client: no pre-registered credentials, CIMD not supported, and no registration_endpoint") -} - -private suspend fun dynamicClientRegistration( - httpClient: HttpClient, - registrationEndpoint: String, -): ClientCredentials { - val regBody = buildJsonObject { - put("client_name", "test-auth-client") - put("redirect_uris", buildJsonArray { add(kotlinx.serialization.json.JsonPrimitive(CALLBACK_URL)) }) - put("grant_types", buildJsonArray { add(kotlinx.serialization.json.JsonPrimitive("authorization_code")) }) - put("response_types", buildJsonArray { add(kotlinx.serialization.json.JsonPrimitive("code")) }) - put("token_endpoint_auth_method", "client_secret_post") - } - - val response = httpClient.post(registrationEndpoint) { - contentType(ContentType.Application.Json) - setBody(regBody.toString()) - } - val regJson = json.parseToJsonElement(response.bodyAsText()).jsonObject - val clientId = regJson["client_id"]?.jsonPrimitive?.content ?: error("No client_id in registration response") - val clientSecret = regJson["client_secret"]?.jsonPrimitive?.content - return ClientCredentials(clientId, clientSecret) -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/crossAppAccessScenario.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/crossAppAccessScenario.kt deleted file mode 100644 index db4b7f0..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/crossAppAccessScenario.kt +++ /dev/null @@ -1,82 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.engine.cio.CIO -import io.ktor.client.plugins.sse.SSE -import io.ktor.client.request.forms.submitForm -import io.ktor.client.request.header -import io.ktor.http.HttpHeaders -import io.ktor.http.Parameters -import io.modelcontextprotocol.kotlin.sdk.client.Client -import io.modelcontextprotocol.kotlin.sdk.client.ClientOptions -import io.modelcontextprotocol.kotlin.sdk.client.StreamableHttpClientTransport -import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities -import io.modelcontextprotocol.kotlin.sdk.types.Implementation -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import java.util.Base64 - -// SEP-990 Enterprise Managed OAuth: Cross-App Access complete flow -internal suspend fun runCrossAppAccess(serverUrl: String) { - val ctx = conformanceContext() - val clientId = ctx.requiredString("client_id") - val clientSecret = ctx.requiredString("client_secret") - val idpIdToken = ctx.requiredString("idp_id_token") - val idpTokenEndpoint = ctx.requiredString("idp_token_endpoint") - - val httpClient = HttpClient(CIO) { - install(SSE) - followRedirects = false - } - - httpClient.use { client -> - // Discover PRM + AS metadata - val resourceMeta = discoverResourceMetadata(client, serverUrl) - val resourceUrl = resourceMeta["resource"]?.jsonPrimitive?.content - ?: error("No resource in resource metadata") - val authServer = resourceMeta["authorization_servers"]?.jsonArray?.firstOrNull()?.jsonPrimitive?.content - ?: error("No authorization_servers in resource metadata") - val asMeta = fetchOAuthMetadata(client, authServer) - val tokenEndpoint = asMeta["token_endpoint"]?.jsonPrimitive?.content - ?: error("No token_endpoint in AS metadata") - - // RFC 8693 Token Exchange at IDP: exchange ID token for ID-JAG - val idpResponse = client.submitForm( - url = idpTokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "urn:ietf:params:oauth:grant-type:token-exchange") - append("subject_token", idpIdToken) - append("subject_token_type", "urn:ietf:params:oauth:token-type:id_token") - append("requested_token_type", "urn:ietf:params:oauth:token-type:id-jag") - append("audience", authServer) - append("resource", resourceUrl) - }, - ) - val idJag = extractAccessToken(idpResponse) - - // RFC 7523 JWT Bearer Grant at AS with Basic auth - val basicAuth = Base64.getEncoder().encodeToString("$clientId:$clientSecret".toByteArray()) - val asResponse = client.submitForm( - url = tokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "urn:ietf:params:oauth:grant-type:jwt-bearer") - append("assertion", idJag) - }, - ) { - header(HttpHeaders.Authorization, "Basic $basicAuth") - } - val accessToken = extractAccessToken(asResponse) - - // Use access token for MCP requests - withBearerToken(accessToken) { authedClient -> - val transport = StreamableHttpClientTransport(authedClient, serverUrl) - val mcpClient = Client( - clientInfo = Implementation("conformance-cross-app-access", "1.0.0"), - options = ClientOptions(capabilities = ClientCapabilities()), - ) - mcpClient.connect(transport) - mcpClient.listTools() - mcpClient.close() - } - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/discovery.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/discovery.kt deleted file mode 100644 index 73979db..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/discovery.kt +++ /dev/null @@ -1,48 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.request.get -import io.ktor.client.statement.bodyAsText -import io.ktor.http.isSuccess -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonObject -import kotlinx.serialization.json.jsonPrimitive - -internal data class DiscoveryResult( - val asMetadata: JsonObject, - val resourceUrl: String?, - val scopesSupported: List?, -) - -internal suspend fun discoverOAuthMetadata( - httpClient: HttpClient, - serverUrl: String, - resourceMetadataUrl: String?, -): DiscoveryResult { - // Get resource metadata - val resourceMeta = if (resourceMetadataUrl != null) { - val resp = httpClient.get(resourceMetadataUrl) - if (!resp.status.isSuccess()) { - error("Failed to fetch resource metadata from $resourceMetadataUrl: ${resp.status}") - } - json.parseToJsonElement(resp.bodyAsText()).jsonObject - } else { - discoverResourceMetadata(httpClient, serverUrl) - } - - val resourceUrl = resourceMeta["resource"]?.jsonPrimitive?.content - val scopesSupported = resourceMeta["scopes_supported"] - ?.jsonArray?.map { it.jsonPrimitive.content } - val authServer = resourceMeta["authorization_servers"]?.jsonArray?.firstOrNull()?.jsonPrimitive?.content - - val oauthMeta = if (authServer != null) { - fetchOAuthMetadata(httpClient, authServer) - } else { - // Fallback: try well-known on server URL origin - val origin = extractOrigin(serverUrl) - fetchOAuthMetadata(httpClient, origin) - } - - return DiscoveryResult(oauthMeta, resourceUrl, scopesSupported) -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/pkce.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/pkce.kt deleted file mode 100644 index e1c5419..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/pkce.kt +++ /dev/null @@ -1,30 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import java.security.MessageDigest -import java.util.Base64 - -internal fun generateCodeVerifier(): String { - val bytes = ByteArray(32) - java.security.SecureRandom().nextBytes(bytes) - return Base64.getUrlEncoder().withoutPadding().encodeToString(bytes) -} - -internal fun generateCodeChallenge(verifier: String): String { - val digest = MessageDigest.getInstance("SHA-256").digest(verifier.toByteArray(Charsets.US_ASCII)) - return Base64.getUrlEncoder().withoutPadding().encodeToString(digest) -} - -/** - * Verify that the AS metadata advertises S256 in code_challenge_methods_supported. - * Abort if PKCE S256 is not supported. - */ -internal fun verifyPkceSupport(asMetadata: JsonObject) { - val methods = asMetadata["code_challenge_methods_supported"] - ?.jsonArray?.map { it.jsonPrimitive.content } - require(methods != null && "S256" in methods) { - "Authorization server does not support PKCE S256 (code_challenge_methods_supported: $methods)" - } -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/registration.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/registration.kt deleted file mode 100644 index 4964f20..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/registration.kt +++ /dev/null @@ -1,32 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.modelcontextprotocol.kotlin.sdk.conformance.scenarioHandlers - -// Registration -fun registerAuthScenarios() { - val authScenarios = listOf( - "auth/metadata-default", - "auth/metadata-var1", - "auth/metadata-var2", - "auth/metadata-var3", - "auth/basic-cimd", - "auth/scope-from-www-authenticate", - "auth/scope-from-scopes-supported", - "auth/scope-omitted-when-undefined", - "auth/scope-step-up", - "auth/scope-retry-limit", - "auth/token-endpoint-auth-basic", - "auth/token-endpoint-auth-post", - "auth/token-endpoint-auth-none", - "auth/resource-mismatch", - "auth/pre-registration", - "auth/2025-03-26-oauth-metadata-backcompat", - "auth/2025-03-26-oauth-endpoint-fallback", - ) - for (name in authScenarios) { - scenarioHandlers[name] = ::runAuthClient - } - scenarioHandlers["auth/client-credentials-jwt"] = ::runClientCredentialsJwt - scenarioHandlers["auth/client-credentials-basic"] = ::runClientCredentialsBasic - scenarioHandlers["auth/cross-app-access-complete-flow"] = ::runCrossAppAccess -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/scopeHandling.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/scopeHandling.kt deleted file mode 100644 index 33b69ce..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/scopeHandling.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -internal fun extractParam(wwwAuth: String, param: String): String? { - val regex = Regex("""$param="([^"]+)"""") - return regex.find(wwwAuth)?.groupValues?.get(1) -} - -/** - * Select scope per MCP spec priority: - * 1. scope from WWW-Authenticate header - * 2. scopes_supported from Protected Resource Metadata (space-joined) - * 3. null (omit scope entirely) - */ -internal fun selectScope(wwwAuthScope: String?, scopesSupported: List?): String? { - if (wwwAuthScope != null) return wwwAuthScope - if (!scopesSupported.isNullOrEmpty()) return scopesSupported.joinToString(" ") - return null -} - -/** - * Detect 403 with error="insufficient_scope" and extract the new scope. - * Returns the scope string if step-up is needed, null otherwise. - */ -internal fun parseStepUpScope(wwwAuth: String?): String? { - if (wwwAuth == null) return null - val error = extractParam(wwwAuth, "error") - if (error != "insufficient_scope") return null - return extractParam(wwwAuth, "scope") -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/tokenExchange.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/tokenExchange.kt deleted file mode 100644 index 0c79bb9..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/tokenExchange.kt +++ /dev/null @@ -1,174 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.request.forms.submitForm -import io.ktor.client.request.get -import io.ktor.client.request.header -import io.ktor.client.statement.bodyAsText -import io.ktor.http.HttpHeaders -import io.ktor.http.HttpStatusCode -import io.ktor.http.Parameters -import io.ktor.http.isSuccess -import kotlinx.serialization.json.jsonObject -import kotlinx.serialization.json.jsonPrimitive -import java.net.URI -import java.net.URLEncoder -import java.util.Base64 - -internal fun buildAuthorizationUrl( - authEndpoint: String, - clientId: String, - redirectUri: String, - codeChallenge: String, - scope: String?, - resource: String?, - state: String, -): String { - val params = buildString { - append("response_type=code") - append("&client_id=${URLEncoder.encode(clientId, "UTF-8")}") - append("&redirect_uri=${URLEncoder.encode(redirectUri, "UTF-8")}") - append("&code_challenge=${URLEncoder.encode(codeChallenge, "UTF-8")}") - append("&code_challenge_method=S256") - append("&state=${URLEncoder.encode(state, "UTF-8")}") - if (scope != null) { - append("&scope=${URLEncoder.encode(scope, "UTF-8")}") - } - if (resource != null) { - append("&resource=${URLEncoder.encode(resource, "UTF-8")}") - } - } - return if (authEndpoint.contains("?")) "$authEndpoint&$params" else "$authEndpoint?$params" -} - -internal suspend fun followAuthorizationRedirect( - httpClient: HttpClient, - authUrl: String, - expectedCallbackUrl: String, - expectedState: String, -): String { - val response = httpClient.get(authUrl) - - if (response.status == HttpStatusCode.Found || - response.status == HttpStatusCode.MovedPermanently || - response.status == HttpStatusCode.TemporaryRedirect || - response.status == HttpStatusCode.SeeOther - ) { - val location = response.headers[HttpHeaders.Location] - ?: error("No Location header in redirect response") - - require(location.startsWith(expectedCallbackUrl)) { - "Redirect location does not match expected callback URL" - } - - val uri = URI(location) - val queryParams = uri.query?.split("&")?.mapNotNull { - val parts = it.split("=", limit = 2) - if (parts.size == 2) parts[0] to java.net.URLDecoder.decode(parts[1], "UTF-8") else null - }?.toMap() ?: emptyMap() - - val returnedState = queryParams["state"] - require(returnedState == expectedState) { - "State parameter mismatch in authorization redirect" - } - - return queryParams["code"] ?: error("No authorization code in redirect response") - } - - error("Expected redirect from auth endpoint, got ${response.status}") -} - -internal suspend fun exchangeCodeForTokens( - httpClient: HttpClient, - tokenEndpoint: String, - code: String, - clientId: String, - clientSecret: String?, - redirectUri: String, - codeVerifier: String, - tokenAuthMethod: String, - resource: String?, -): String { - val response = when (tokenAuthMethod) { - "client_secret_basic" -> { - val basicAuth = Base64.getEncoder() - .encodeToString("$clientId:${clientSecret ?: ""}".toByteArray()) - httpClient.submitForm( - url = tokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "authorization_code") - append("code", code) - append("redirect_uri", redirectUri) - append("code_verifier", codeVerifier) - if (resource != null) { - append("resource", resource) - } - }, - ) { - header(HttpHeaders.Authorization, "Basic $basicAuth") - } - } - - "none" -> { - httpClient.submitForm( - url = tokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "authorization_code") - append("code", code) - append("client_id", clientId) - append("redirect_uri", redirectUri) - append("code_verifier", codeVerifier) - if (resource != null) { - append("resource", resource) - } - }, - ) - } - - else -> { - // client_secret_post (default) - httpClient.submitForm( - url = tokenEndpoint, - formParameters = Parameters.build { - append("grant_type", "authorization_code") - append("code", code) - append("client_id", clientId) - if (clientSecret != null) { - append("client_secret", clientSecret) - } - append("redirect_uri", redirectUri) - append("code_verifier", codeVerifier) - if (resource != null) { - append("resource", resource) - } - }, - ) - } - } - - // Check HTTP status - if (!response.status.isSuccess()) { - val body = response.bodyAsText() - val errorDetail = try { - val obj = json.parseToJsonElement(body).jsonObject - val err = obj["error"]?.jsonPrimitive?.content ?: "unknown" - val desc = obj["error_description"]?.jsonPrimitive?.content - if (desc != null) "$err: $desc" else err - } catch (_: Exception) { - body - } - error("Token exchange failed (${response.status}): $errorDetail") - } - - val tokenJson = json.parseToJsonElement(response.bodyAsText()).jsonObject - - // Check for error field in response body (some servers return 200 with error) - val errorField = tokenJson["error"]?.jsonPrimitive?.content - if (errorField != null) { - val desc = tokenJson["error_description"]?.jsonPrimitive?.content - error("Token exchange error: $errorField${if (desc != null) " - $desc" else ""}") - } - - return tokenJson["access_token"]?.jsonPrimitive?.content - ?: error("No access_token in token response") -} diff --git a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/utils.kt b/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/utils.kt deleted file mode 100644 index 4bc75a0..0000000 --- a/conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/auth/utils.kt +++ /dev/null @@ -1,120 +0,0 @@ -package io.modelcontextprotocol.kotlin.sdk.conformance.auth - -import io.ktor.client.HttpClient -import io.ktor.client.engine.cio.CIO -import io.ktor.client.plugins.HttpSend -import io.ktor.client.plugins.plugin -import io.ktor.client.plugins.sse.SSE -import io.ktor.client.request.get -import io.ktor.client.statement.HttpResponse -import io.ktor.client.statement.bodyAsText -import io.ktor.http.HttpHeaders -import io.ktor.http.isSuccess -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonObject -import kotlinx.serialization.json.jsonPrimitive -import java.net.URI -import kotlin.text.ifEmpty - -internal val json = Json { ignoreUnknownKeys = true } - -internal fun conformanceContext(): JsonObject { - val contextJson = System.getenv("MCP_CONFORMANCE_CONTEXT") - ?: error("MCP_CONFORMANCE_CONTEXT not set") - return json.parseToJsonElement(contextJson).jsonObject -} - -internal fun JsonObject.requiredString(key: String): String = this[key]?.jsonPrimitive?.content ?: error("Missing $key") - -internal const val CIMD_CLIENT_METADATA_URL = "https://conformance-test.local/client-metadata.json" -internal const val CALLBACK_URL = "http://localhost:3000/callback" - -internal fun extractOrigin(url: String): String { - val uri = URI(url) - return "${uri.scheme}://${uri.host}${if (uri.port > 0) ":${uri.port}" else ""}" -} - -internal suspend fun discoverResourceMetadata(httpClient: HttpClient, serverUrl: String): JsonObject { - val origin = extractOrigin(serverUrl) - val path = URI(serverUrl).path.ifEmpty { "/" } - - // Try RFC 9728 format first: /.well-known/oauth-protected-resource/ - val wellKnownUrl = "$origin/.well-known/oauth-protected-resource$path" - val response = httpClient.get(wellKnownUrl) - if (response.status.isSuccess()) { - return json.parseToJsonElement(response.bodyAsText()).jsonObject - } - - // Fallback: try root - val fallbackUrl = "$origin/.well-known/oauth-protected-resource" - val fallbackResponse = httpClient.get(fallbackUrl) - if (!fallbackResponse.status.isSuccess()) { - error( - "Failed to discover resource metadata at $wellKnownUrl (${response.status}) and $fallbackUrl (${fallbackResponse.status})", - ) - } - return json.parseToJsonElement(fallbackResponse.bodyAsText()).jsonObject -} - -internal suspend fun fetchOAuthMetadata(httpClient: HttpClient, authServerUrl: String): JsonObject { - val origin = extractOrigin(authServerUrl) - val path = URI(authServerUrl).path.ifEmpty { "/" } - - // RFC 8414 §3: /.well-known/oauth-authorization-server/ - val oauthUrl = "$origin/.well-known/oauth-authorization-server$path" - val oauthResponse = httpClient.get(oauthUrl) - if (oauthResponse.status.isSuccess()) { - return json.parseToJsonElement(oauthResponse.bodyAsText()).jsonObject - } - - // OIDC Discovery with path insertion: /.well-known/openid-configuration/ - val oidcPathUrl = "$origin/.well-known/openid-configuration$path" - val oidcPathResponse = httpClient.get(oidcPathUrl) - if (oidcPathResponse.status.isSuccess()) { - return json.parseToJsonElement(oidcPathResponse.bodyAsText()).jsonObject - } - - // Fallback: OpenID Connect discovery (issuer + /.well-known/openid-configuration) - val oidcUrl = "$authServerUrl/.well-known/openid-configuration" - val oidcResponse = httpClient.get(oidcUrl) - if (oidcResponse.status.isSuccess()) { - return json.parseToJsonElement(oidcResponse.bodyAsText()).jsonObject - } - - error( - "Failed to fetch OAuth metadata from $oauthUrl (${oauthResponse.status}) and $oidcUrl (${oidcResponse.status})", - ) -} - -internal suspend fun discoverTokenEndpoint(httpClient: HttpClient, serverUrl: String): String { - val resourceMetadata = discoverResourceMetadata(httpClient, serverUrl) - val authServer = resourceMetadata["authorization_servers"]?.jsonArray?.firstOrNull()?.jsonPrimitive?.content - ?: error("No authorization_servers in resource metadata") - - val oauthMetadata = fetchOAuthMetadata(httpClient, authServer) - return oauthMetadata["token_endpoint"]?.jsonPrimitive?.content - ?: error("No token_endpoint") -} - -internal suspend fun extractAccessToken(tokenResponse: HttpResponse): String { - if (!tokenResponse.status.isSuccess()) { - error("Token request failed: ${tokenResponse.status}") - } - val tokenJson = json.parseToJsonElement(tokenResponse.bodyAsText()).jsonObject - return tokenJson["access_token"]?.jsonPrimitive?.content - ?: error("No access_token in token response") -} - -internal suspend fun withBearerToken(accessToken: String, block: suspend (HttpClient) -> T): T { - val client = HttpClient(CIO) { - install(SSE) - } - client.plugin(HttpSend).intercept { request -> - request.headers.remove(HttpHeaders.Authorization) - request.headers.append(HttpHeaders.Authorization, "Bearer $accessToken") - execute(request) - } - return client.use { block(it) } -} diff --git a/conformance-test/src/main/resources/simplelogger.properties b/conformance-test/src/main/resources/simplelogger.properties deleted file mode 100644 index 16141d3..0000000 --- a/conformance-test/src/main/resources/simplelogger.properties +++ /dev/null @@ -1,9 +0,0 @@ -# Level of logging for the ROOT logger: ERROR, WARN, INFO, DEBUG, TRACE (default is INFO) -org.slf4j.simpleLogger.defaultLogLevel=INFO -org.slf4j.simpleLogger.showThreadName=true -org.slf4j.simpleLogger.showDateTime=false - -# Log level for specific packages or classes -org.slf4j.simpleLogger.log.io.ktor.server=DEBUG -org.slf4j.simpleLogger.log.io.modelcontextprotocol=DEBUG -org.slf4j.simpleLogger.log.io.modelcontextprotocol.kotlin.sdk.conformance=INFO diff --git a/context7.json b/context7.json deleted file mode 100644 index 5fde250..0000000 --- a/context7.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "https://context7.com/schema/context7.json", - "projectTitle": "Model Context Protocol Kotlin SDK", - "description": "Kotlin Multiplatform SDK for MCP — client and server implementations", - "excludeFolders": [ - ".github", - "buildSrc", - "config", - "gradle/wrapper" - ], - "excludeFiles": [ - "CONTRIBUTING.md", - "LICENSE", - "SECURITY.md", - "gradlew", - "gradlew.bat", - ".editorconfig", - "knit.properties", - "gradle.properties", - "settings.gradle.kts", - "conformance-baseline.yml", - "run-conformance.sh", - "detekt-baseline.xml", - "detekt-baseline-test.xml", - "detekt-baseline-main.xml", - "detekt-baseline-commonMainSourceSet.xml", - "detekt-baseline-commonTestSourceSet.xml" - ] -} \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/-client-options.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/-client-options.html new file mode 100644 index 0000000..47fffb7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/-client-options.html @@ -0,0 +1,87 @@ + + + + + ClientOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ClientOptions

+
+
constructor(capabilities: ClientCapabilities = ClientCapabilities(), enforceStrictCapabilities: Boolean = true)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/capabilities.html new file mode 100644 index 0000000..81cac81 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/capabilities.html @@ -0,0 +1,87 @@ + + + + + capabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

capabilities

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/index.html new file mode 100644 index 0000000..dabc367 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/index.html @@ -0,0 +1,160 @@ + + + + + ClientOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ClientOptions

+
class ClientOptions(val capabilities: ClientCapabilities = ClientCapabilities(), var enforceStrictCapabilities: Boolean = true) : ProtocolOptions(source)

Options for configuring the MCP client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(capabilities: ClientCapabilities = ClientCapabilities(), enforceStrictCapabilities: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The capabilities this client supports.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether to restrict emitted requests to only those that the remote side has indicated that they can handle, through their advertised capabilities.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/-client.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/-client.html new file mode 100644 index 0000000..c5d0479 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/-client.html @@ -0,0 +1,87 @@ + + + + + Client + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Client

+
+
constructor(clientInfo: Implementation, options: ClientOptions = ClientOptions())(source)

Parameters

clientInfo

Information about the client implementation (name, version).

options

Configuration options for this client.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/assert-request-handler-capability.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/assert-request-handler-capability.html new file mode 100644 index 0000000..bf58326 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/assert-request-handler-capability.html @@ -0,0 +1,87 @@ + + + + + assertRequestHandlerCapability + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

assertRequestHandlerCapability

+
+
open override fun assertRequestHandlerCapability(method: Method)(source)

A method to check if a request handler is supported by the local side, for the given method to be handled.

This should be implemented by subclasses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/call-tool.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/call-tool.html new file mode 100644 index 0000000..f7c0308 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/call-tool.html @@ -0,0 +1,87 @@ + + + + + callTool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

callTool

+
+
suspend fun callTool(name: String, arguments: Map<String, Any?>, compatibility: Boolean = false, options: RequestOptions? = null): CallToolResultBase?(source)

Calls a tool on the server by name, passing the specified arguments.

Return

The result of the tool call, or null if none.

Parameters

name

The name of the tool to call.

arguments

A map of argument names to values for the tool.

compatibility

Whether to use compatibility mode for older protocol versions.

options

Optional request options.

Throws

If the server does not support tools.


suspend fun callTool(request: CallToolRequest, compatibility: Boolean = false, options: RequestOptions? = null): CallToolResultBase?(source)

Calls a tool on the server using a CallToolRequest object.

Return

The result of the tool call, or null if none.

Parameters

request

The request object containing the tool name and arguments.

compatibility

Whether to use compatibility mode for older protocol versions.

options

Optional request options.

Throws

If the server does not support tools.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/complete.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/complete.html new file mode 100644 index 0000000..8d9ff96 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/complete.html @@ -0,0 +1,87 @@ + + + + + complete + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

complete

+
+
suspend fun complete(params: CompleteRequest, options: RequestOptions? = null): CompleteResult?(source)

Sends a completion request to the server, typically to generate or complete some content.

Return

The completion result returned by the server, or null if none.

Parameters

params

The completion request parameters.

options

Optional request options.

Throws

If the server does not support prompts or completion.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/connect.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/connect.html new file mode 100644 index 0000000..7bac15f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/connect.html @@ -0,0 +1,87 @@ + + + + + connect + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

connect

+
+
open suspend override fun connect(transport: Transport)(source)

Connects the client to the given transport, performing the initialization handshake with the server.

Parameters

transport

The transport to use for communication with the server.

Throws

If the server's protocol version is not supported.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-prompt.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-prompt.html new file mode 100644 index 0000000..dd6b512 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-prompt.html @@ -0,0 +1,87 @@ + + + + + getPrompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getPrompt

+
+
suspend fun getPrompt(request: GetPromptRequest, options: RequestOptions? = null): GetPromptResult?(source)

Retrieves a prompt by name from the server.

Return

The requested prompt details, or null if not found.

Parameters

request

The prompt request containing the prompt name.

options

Optional request options.

Throws

If the server does not support prompts.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-capabilities.html new file mode 100644 index 0000000..d0c3886 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-capabilities.html @@ -0,0 +1,87 @@ + + + + + getServerCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getServerCapabilities

+
+

Retrieves the server's reported capabilities after the initialization process completes.

Return

The server's capabilities, or null if initialization is not yet complete.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-version.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-version.html new file mode 100644 index 0000000..559a398 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-version.html @@ -0,0 +1,87 @@ + + + + + getServerVersion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getServerVersion

+
+

Retrieves the server's reported version information after initialization.

Return

Information about the server's implementation, or null if initialization is not yet complete.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/index.html new file mode 100644 index 0000000..d436aea --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/index.html @@ -0,0 +1,569 @@ + + + + + Client + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Client

+
open class Client(clientInfo: Implementation, options: ClientOptions = ClientOptions()) : Protocol<ClientRequest, ClientNotification, ClientResult> (source)

An MCP client on top of a pluggable transport.

The client automatically performs the initialization handshake with the server when connect is called. After initialization, getServerCapabilities and getServerVersion provide details about the connected server.

You can extend this class with custom request/notification/result types if needed.

Parameters

clientInfo

Information about the client implementation (name, version).

options

Configuration options for this client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(clientInfo: Implementation, options: ClientOptions = ClientOptions())
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
var fallbackNotificationHandler: suspend (notification: JSONRPCNotification) -> Unit?

A handler to invoke for any notification types that do not have their own handler installed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A handler to invoke for any request types that do not have their own handler installed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun assertRequestHandlerCapability(method: Method)

A method to check if a request handler is supported by the local side, for the given method to be handled.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun callTool(request: CallToolRequest, compatibility: Boolean = false, options: RequestOptions? = null): CallToolResultBase?

Calls a tool on the server using a CallToolRequest object.

suspend fun callTool(name: String, arguments: Map<String, Any?>, compatibility: Boolean = false, options: RequestOptions? = null): CallToolResultBase?

Calls a tool on the server by name, passing the specified arguments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun complete(params: CompleteRequest, options: RequestOptions? = null): CompleteResult?

Sends a completion request to the server, typically to generate or complete some content.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun connect(transport: Transport)

Connects the client to the given transport, performing the initialization handshake with the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun getPrompt(request: GetPromptRequest, options: RequestOptions? = null): GetPromptResult?

Retrieves a prompt by name from the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Retrieves the server's reported capabilities after the initialization process completes.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Retrieves the server's reported version information after initialization.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun listPrompts(request: ListPromptsRequest = ListPromptsRequest(), options: RequestOptions? = null): ListPromptsResult?

Lists all available prompts from the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun listResources(request: ListResourcesRequest = ListResourcesRequest(), options: RequestOptions? = null): ListResourcesResult?

Lists all available resources from the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lists resource templates available on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun listTools(request: ListToolsRequest = ListToolsRequest(), options: RequestOptions? = null): ListToolsResult?

Lists all available tools on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun notification(notification: ClientNotification)

Emits a notification, which is a one-way message that does not expect a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onclose()

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onerror(error: Throwable)

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun ping(options: RequestOptions? = null): EmptyRequestResult

Sends a ping request to the server to check connectivity.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun readResource(request: ReadResourceRequest, options: RequestOptions? = null): ReadResourceResult?

Reads a resource from the server by its URI.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Removes the notification handler for the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Removes the request handler for the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun <T : RequestResult> request(request: ClientRequest, options: RequestOptions? = null): T

Sends a request and wait for a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun sendRootsListChanged()

Notifies the server that the list of roots has changed. Typically used if the client is managing some form of hierarchical structure.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun setLoggingLevel(level: LoggingLevel, options: RequestOptions? = null): EmptyRequestResult

Sets the logging level on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T : Notification> setNotificationHandler(method: Method, handler: (notification: T) -> Deferred<Unit>)

Registers a handler to invoke when this protocol object receives a notification with the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T : Request> setRequestHandler(method: Method, noinline block: suspend (T, RequestHandlerExtra) -> ClientResult?)

Registers a handler to invoke when this protocol object receives a request with the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun subscribeResource(request: SubscribeRequest, options: RequestOptions? = null): EmptyRequestResult

Subscribes to resource changes on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Unsubscribes from resource changes on the server.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-prompts.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-prompts.html new file mode 100644 index 0000000..10d747d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-prompts.html @@ -0,0 +1,87 @@ + + + + + listPrompts + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listPrompts

+
+
suspend fun listPrompts(request: ListPromptsRequest = ListPromptsRequest(), options: RequestOptions? = null): ListPromptsResult?(source)

Lists all available prompts from the server.

Return

The list of available prompts, or null if none.

Parameters

request

A request object for listing prompts (usually empty).

options

Optional request options.

Throws

If the server does not support prompts.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resource-templates.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resource-templates.html new file mode 100644 index 0000000..47951d9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resource-templates.html @@ -0,0 +1,87 @@ + + + + + listResourceTemplates + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listResourceTemplates

+
+

Lists resource templates available on the server.

Return

The list of resource templates, or null if none.

Parameters

request

The request object for listing resource templates.

options

Optional request options.

Throws

If the server does not support resources.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resources.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resources.html new file mode 100644 index 0000000..738d8ea --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resources.html @@ -0,0 +1,87 @@ + + + + + listResources + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listResources

+
+
suspend fun listResources(request: ListResourcesRequest = ListResourcesRequest(), options: RequestOptions? = null): ListResourcesResult?(source)

Lists all available resources from the server.

Return

The list of resources, or null if none.

Parameters

request

A request object for listing resources (usually empty).

options

Optional request options.

Throws

If the server does not support resources.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-tools.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-tools.html new file mode 100644 index 0000000..c29b3f4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-tools.html @@ -0,0 +1,87 @@ + + + + + listTools + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listTools

+
+
suspend fun listTools(request: ListToolsRequest = ListToolsRequest(), options: RequestOptions? = null): ListToolsResult?(source)

Lists all available tools on the server.

Return

The list of available tools, or null if none.

Parameters

request

A request object for listing tools (usually empty).

options

Optional request options.

Throws

If the server does not support tools.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/ping.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/ping.html new file mode 100644 index 0000000..968bfa7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/ping.html @@ -0,0 +1,87 @@ + + + + + ping + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ping

+
+
suspend fun ping(options: RequestOptions? = null): EmptyRequestResult(source)

Sends a ping request to the server to check connectivity.

Parameters

options

Optional request options.

Throws

If the server does not support the ping method (unlikely).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/read-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/read-resource.html new file mode 100644 index 0000000..22f70cc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/read-resource.html @@ -0,0 +1,87 @@ + + + + + readResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

readResource

+
+
suspend fun readResource(request: ReadResourceRequest, options: RequestOptions? = null): ReadResourceResult?(source)

Reads a resource from the server by its URI.

Return

The resource content, or null if the resource is not found.

Parameters

request

The request object containing the resource URI.

options

Optional request options.

Throws

If the server does not support resources.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/send-roots-list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/send-roots-list-changed.html new file mode 100644 index 0000000..be599b6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/send-roots-list-changed.html @@ -0,0 +1,87 @@ + + + + + sendRootsListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sendRootsListChanged

+
+

Notifies the server that the list of roots has changed. Typically used if the client is managing some form of hierarchical structure.

Throws

If the client or server does not support roots.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/set-logging-level.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/set-logging-level.html new file mode 100644 index 0000000..5de4493 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/set-logging-level.html @@ -0,0 +1,87 @@ + + + + + setLoggingLevel + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setLoggingLevel

+
+
suspend fun setLoggingLevel(level: LoggingLevel, options: RequestOptions? = null): EmptyRequestResult(source)

Sets the logging level on the server.

Parameters

level

The desired logging level.

options

Optional request options.

Throws

If the server does not support logging.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/subscribe-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/subscribe-resource.html new file mode 100644 index 0000000..2351fd2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/subscribe-resource.html @@ -0,0 +1,87 @@ + + + + + subscribeResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

subscribeResource

+
+

Subscribes to resource changes on the server.

Parameters

request

The subscription request containing resource details.

options

Optional request options.

Throws

If the server does not support resource subscriptions.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/unsubscribe-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/unsubscribe-resource.html new file mode 100644 index 0000000..0ae962b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/unsubscribe-resource.html @@ -0,0 +1,87 @@ + + + + + unsubscribeResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unsubscribeResource

+
+

Unsubscribes from resource changes on the server.

Parameters

request

The unsubscribe request containing resource details.

options

Optional request options.

Throws

If the server does not support resource subscriptions.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/-s-s-e-client-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/-s-s-e-client-transport.html new file mode 100644 index 0000000..1a55f25 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/-s-s-e-client-transport.html @@ -0,0 +1,87 @@ + + + + + SSEClientTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SSEClientTransport

+
+
constructor(client: HttpClient, urlString: String?, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {})(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/close.html new file mode 100644 index 0000000..1521fd1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
open suspend override fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/index.html new file mode 100644 index 0000000..f4a370e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/index.html @@ -0,0 +1,209 @@ + + + + + SSEClientTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SSEClientTransport

+
class SSEClientTransport(client: HttpClient, urlString: String?, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}) : Transport(source)

Client transport for SSE: this will connect to a server using Server-Sent Events for receiving messages and make separate POST requests for sending messages.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(client: HttpClient, urlString: String?, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {})
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-close.html new file mode 100644 index 0000000..7880f3a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-close.html @@ -0,0 +1,87 @@ + + + + + onClose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onClose

+
+
open override var onClose: () -> Unit?(source)

Callback for when the connection is closed for any reason.

This should be invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-error.html new file mode 100644 index 0000000..9bf7ead --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-error.html @@ -0,0 +1,87 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
open override var onError: (Throwable) -> Unit?(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-message.html new file mode 100644 index 0000000..d5a4a51 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-message.html @@ -0,0 +1,87 @@ + + + + + onMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onMessage

+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?(source)

Callback for when a message (request or response) is received over the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/send.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/send.html new file mode 100644 index 0000000..b39a9bf --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/send.html @@ -0,0 +1,87 @@ + + + + + send + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

send

+
+
open suspend override fun send(message: JSONRPCMessage)(source)

Sends a JSON-RPC message (request or response).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/start.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/start.html new file mode 100644 index 0000000..2614c26 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/start.html @@ -0,0 +1,87 @@ + + + + + start + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
open suspend override fun start()(source)

Starts processing messages on the transport, including any connection steps that might need to be taken.

This method should only be called after callbacks are installed, or else messages may be lost.

NOTE: This method should not be called explicitly when using Client, Server, or Protocol classes, as they will implicitly call start().

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/-stdio-client-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/-stdio-client-transport.html new file mode 100644 index 0000000..84f445d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/-stdio-client-transport.html @@ -0,0 +1,87 @@ + + + + + StdioClientTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

StdioClientTransport

+
+
constructor(input: InputStream, output: OutputStream)(source)

Parameters

input

The input stream where messages are received.

output

The output stream where messages are sent.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/close.html new file mode 100644 index 0000000..bad6cc8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
open suspend override fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/index.html new file mode 100644 index 0000000..562850e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/index.html @@ -0,0 +1,209 @@ + + + + + StdioClientTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

StdioClientTransport

+

A transport implementation for JSON-RPC communication that leverages standard input and output streams.

This class reads from an input stream to process incoming JSON-RPC messages and writes JSON-RPC messages to an output stream.

Parameters

input

The input stream where messages are received.

output

The output stream where messages are sent.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(input: InputStream, output: OutputStream)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-close.html new file mode 100644 index 0000000..4da0942 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-close.html @@ -0,0 +1,87 @@ + + + + + onClose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onClose

+
+
open override var onClose: () -> Unit?(source)

Callback for when the connection is closed for any reason.

This should be invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-error.html new file mode 100644 index 0000000..88ee7d3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-error.html @@ -0,0 +1,87 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
open override var onError: (Throwable) -> Unit?(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-message.html new file mode 100644 index 0000000..f58f2a8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-message.html @@ -0,0 +1,87 @@ + + + + + onMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onMessage

+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?(source)

Callback for when a message (request or response) is received over the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/send.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/send.html new file mode 100644 index 0000000..ec900e8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/send.html @@ -0,0 +1,87 @@ + + + + + send + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

send

+
+
open suspend override fun send(message: JSONRPCMessage)(source)

Sends a JSON-RPC message (request or response).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/start.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/start.html new file mode 100644 index 0000000..6264ce4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/start.html @@ -0,0 +1,87 @@ + + + + + start + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
open suspend override fun start()(source)

Starts processing messages on the transport, including any connection steps that might need to be taken.

This method should only be called after callbacks are installed, or else messages may be lost.

NOTE: This method should not be called explicitly when using Client, Server, or Protocol classes, as they will implicitly call start().

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/-web-socket-client-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/-web-socket-client-transport.html new file mode 100644 index 0000000..5e27b49 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/-web-socket-client-transport.html @@ -0,0 +1,87 @@ + + + + + WebSocketClientTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WebSocketClientTransport

+
+
constructor(client: HttpClient, urlString: String?, requestBuilder: HttpRequestBuilder.() -> Unit = {})(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/index.html new file mode 100644 index 0000000..791e89d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/index.html @@ -0,0 +1,224 @@ + + + + + WebSocketClientTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WebSocketClientTransport

+
class WebSocketClientTransport(client: HttpClient, urlString: String?, requestBuilder: HttpRequestBuilder.() -> Unit = {}) : WebSocketMcpTransport(source)

Client transport for WebSocket: this will connect to a server over the WebSocket protocol.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(client: HttpClient, urlString: String?, requestBuilder: HttpRequestBuilder.() -> Unit = {})
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
protected open override var session: WebSocketSession

The WebSocket session used for communication.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/session.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/session.html new file mode 100644 index 0000000..4b0cc5b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/session.html @@ -0,0 +1,87 @@ + + + + + session + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

session

+
+
protected open override var session: WebSocketSession(source)

The WebSocket session used for communication.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/index.html new file mode 100644 index 0000000..5f2d10a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/index.html @@ -0,0 +1,234 @@ + + + + + io.modelcontextprotocol.kotlin.sdk.client + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class Client(clientInfo: Implementation, options: ClientOptions = ClientOptions()) : Protocol<ClientRequest, ClientNotification, ClientResult>

An MCP client on top of a pluggable transport.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ClientOptions(val capabilities: ClientCapabilities = ClientCapabilities(), var enforceStrictCapabilities: Boolean = true) : ProtocolOptions

Options for configuring the MCP client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class SSEClientTransport(client: HttpClient, urlString: String?, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}) : Transport

Client transport for SSE: this will connect to a server using Server-Sent Events for receiving messages and make separate POST requests for sending messages.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A transport implementation for JSON-RPC communication that leverages standard input and output streams.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class WebSocketClientTransport(client: HttpClient, urlString: String?, requestBuilder: HttpRequestBuilder.() -> Unit = {}) : WebSocketMcpTransport

Client transport for WebSocket: this will connect to a server over the WebSocket protocol.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun HttpClient.mcpSse(urlString: String? = null, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): Client

Creates and connects an MCP client over SSE using the provided HttpClient.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun HttpClient.mcpSseTransport(urlString: String? = null, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): SSEClientTransport

Returns a new SSE transport for the Model Context Protocol using the provided HttpClient.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun HttpClient.mcpWebSocket(urlString: String? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): Client

Creates and connects an MCP client over WebSocket using the provided HttpClient.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun HttpClient.mcpWebSocketTransport(urlString: String? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): WebSocketClientTransport

Returns a new WebSocket transport for the Model Context Protocol using the provided HttpClient.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse-transport.html new file mode 100644 index 0000000..518bed8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse-transport.html @@ -0,0 +1,87 @@ + + + + + mcpSseTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mcpSseTransport

+
+
fun HttpClient.mcpSseTransport(urlString: String? = null, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): SSEClientTransport(source)

Returns a new SSE transport for the Model Context Protocol using the provided HttpClient.

Return

A SSEClientTransport configured for MCP communication.

Parameters

urlString

Optional URL of the MCP server.

reconnectionTime

Optional duration to wait before attempting to reconnect.

requestBuilder

Optional lambda to configure the HTTP request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse.html new file mode 100644 index 0000000..c84898a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse.html @@ -0,0 +1,87 @@ + + + + + mcpSse + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mcpSse

+
+
suspend fun HttpClient.mcpSse(urlString: String? = null, reconnectionTime: Duration? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): Client(source)

Creates and connects an MCP client over SSE using the provided HttpClient.

Return

A connected Client ready for MCP communication.

Parameters

urlString

Optional URL of the MCP server.

reconnectionTime

Optional duration to wait before attempting to reconnect.

requestBuilder

Optional lambda to configure the HTTP request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket-transport.html new file mode 100644 index 0000000..4ee7f3d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket-transport.html @@ -0,0 +1,87 @@ + + + + + mcpWebSocketTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mcpWebSocketTransport

+
+
fun HttpClient.mcpWebSocketTransport(urlString: String? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): WebSocketClientTransport(source)

Returns a new WebSocket transport for the Model Context Protocol using the provided HttpClient.

Return

A WebSocketClientTransport configured for MCP communication.

Parameters

urlString

Optional URL of the MCP server.

requestBuilder

Optional lambda to configure the HTTP request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket.html new file mode 100644 index 0000000..e205d08 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket.html @@ -0,0 +1,87 @@ + + + + + mcpWebSocket + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mcpWebSocket

+
+
suspend fun HttpClient.mcpWebSocket(urlString: String? = null, requestBuilder: HttpRequestBuilder.() -> Unit = {}): Client(source)

Creates and connects an MCP client over WebSocket using the provided HttpClient.

Return

A connected Client ready for MCP communication.

Parameters

urlString

Optional URL of the MCP server.

requestBuilder

Optional lambda to configure the HTTP request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-m-c-p.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-m-c-p.html new file mode 100644 index 0000000..bd0a1db --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-m-c-p.html @@ -0,0 +1,87 @@ + + + + + MCP + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MCP

+
+
fun Application.MCP(block: () -> Server)(source)

Configures the Ktor Application to handle Model Context Protocol (MCP) over Server-Sent Events (SSE).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/-registered-prompt.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/-registered-prompt.html new file mode 100644 index 0000000..375bcc4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/-registered-prompt.html @@ -0,0 +1,87 @@ + + + + + RegisteredPrompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisteredPrompt

+
+
constructor(prompt: Prompt, messageProvider: suspend (GetPromptRequest) -> GetPromptResult)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/index.html new file mode 100644 index 0000000..6a002ad --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/index.html @@ -0,0 +1,145 @@ + + + + + RegisteredPrompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisteredPrompt

+
data class RegisteredPrompt(val prompt: Prompt, val messageProvider: suspend (GetPromptRequest) -> GetPromptResult)(source)

A wrapper class representing a registered prompt on the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(prompt: Prompt, messageProvider: suspend (GetPromptRequest) -> GetPromptResult)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A suspend function that returns the prompt content when requested by the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The prompt definition.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/message-provider.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/message-provider.html new file mode 100644 index 0000000..7299474 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/message-provider.html @@ -0,0 +1,87 @@ + + + + + messageProvider + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

messageProvider

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/prompt.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/prompt.html new file mode 100644 index 0000000..ddadcae --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/prompt.html @@ -0,0 +1,87 @@ + + + + + prompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

prompt

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/-registered-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/-registered-resource.html new file mode 100644 index 0000000..3a1fac6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/-registered-resource.html @@ -0,0 +1,87 @@ + + + + + RegisteredResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisteredResource

+
+
constructor(resource: Resource, readHandler: suspend (ReadResourceRequest) -> ReadResourceResult)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/index.html new file mode 100644 index 0000000..edd5e88 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/index.html @@ -0,0 +1,145 @@ + + + + + RegisteredResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisteredResource

+
data class RegisteredResource(val resource: Resource, val readHandler: suspend (ReadResourceRequest) -> ReadResourceResult)(source)

A wrapper class representing a registered resource on the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(resource: Resource, readHandler: suspend (ReadResourceRequest) -> ReadResourceResult)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A suspend function to handle read requests for this resource.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The resource definition.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/read-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/read-handler.html new file mode 100644 index 0000000..c9ef444 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/read-handler.html @@ -0,0 +1,87 @@ + + + + + readHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

readHandler

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/resource.html new file mode 100644 index 0000000..b11b695 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/resource.html @@ -0,0 +1,87 @@ + + + + + resource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resource

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/-registered-tool.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/-registered-tool.html new file mode 100644 index 0000000..3974561 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/-registered-tool.html @@ -0,0 +1,87 @@ + + + + + RegisteredTool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisteredTool

+
+
constructor(tool: Tool, handler: suspend (CallToolRequest) -> CallToolResult)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/handler.html new file mode 100644 index 0000000..9da4137 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/handler.html @@ -0,0 +1,87 @@ + + + + + handler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

handler

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/index.html new file mode 100644 index 0000000..a7a9e3f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/index.html @@ -0,0 +1,145 @@ + + + + + RegisteredTool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisteredTool

+
data class RegisteredTool(val tool: Tool, val handler: suspend (CallToolRequest) -> CallToolResult)(source)

A wrapper class representing a registered tool on the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(tool: Tool, handler: suspend (CallToolRequest) -> CallToolResult)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A suspend function to handle the tool call requests.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val tool: Tool

The tool definition.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/tool.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/tool.html new file mode 100644 index 0000000..126af61 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/tool.html @@ -0,0 +1,87 @@ + + + + + tool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

tool

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/-s-s-e-server-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/-s-s-e-server-transport.html new file mode 100644 index 0000000..c75de94 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/-s-s-e-server-transport.html @@ -0,0 +1,87 @@ + + + + + SSEServerTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SSEServerTransport

+
+
constructor(endpoint: String, session: ServerSSESession)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/close.html new file mode 100644 index 0000000..c33238c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
open suspend override fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-message.html new file mode 100644 index 0000000..a03695b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-message.html @@ -0,0 +1,87 @@ + + + + + handleMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

handleMessage

+
+
suspend fun handleMessage(message: String)(source)

Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different from HTTP POST.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-post-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-post-message.html new file mode 100644 index 0000000..f3c9e16 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-post-message.html @@ -0,0 +1,87 @@ + + + + + handlePostMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

handlePostMessage

+
+
suspend fun handlePostMessage(call: ApplicationCall)(source)

Handles incoming POST messages.

This should be called when a POST request is made to send a message to the server.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/index.html new file mode 100644 index 0000000..fd8358b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/index.html @@ -0,0 +1,254 @@ + + + + + SSEServerTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SSEServerTransport

+
class SSEServerTransport(endpoint: String, session: ServerSSESession) : Transport(source)

Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.

Creates a new SSE server transport, which will direct the client to POST messages to the relative or absolute URL identified by _endpoint.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(endpoint: String, session: ServerSSESession)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun handleMessage(message: String)

Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different from HTTP POST.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun handlePostMessage(call: ApplicationCall)

Handles incoming POST messages.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Handles the initial SSE connection request.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-close.html new file mode 100644 index 0000000..f96b3df --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-close.html @@ -0,0 +1,87 @@ + + + + + onClose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onClose

+
+
open override var onClose: () -> Unit?(source)

Callback for when the connection is closed for any reason.

This should be invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-error.html new file mode 100644 index 0000000..aee32db --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-error.html @@ -0,0 +1,87 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
open override var onError: (Throwable) -> Unit?(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-message.html new file mode 100644 index 0000000..9fdb1cd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-message.html @@ -0,0 +1,87 @@ + + + + + onMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onMessage

+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?(source)

Callback for when a message (request or response) is received over the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/send.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/send.html new file mode 100644 index 0000000..0119944 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/send.html @@ -0,0 +1,87 @@ + + + + + send + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

send

+
+
open suspend override fun send(message: JSONRPCMessage)(source)

Sends a JSON-RPC message (request or response).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/session-id.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/session-id.html new file mode 100644 index 0000000..72a3050 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/session-id.html @@ -0,0 +1,87 @@ + + + + + sessionId + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sessionId

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/start.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/start.html new file mode 100644 index 0000000..903070a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/start.html @@ -0,0 +1,87 @@ + + + + + start + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
open suspend override fun start()(source)

Handles the initial SSE connection request.

This should be called when a GET request is made to establish the SSE stream.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/-server-options.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/-server-options.html new file mode 100644 index 0000000..f2b5dfd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/-server-options.html @@ -0,0 +1,87 @@ + + + + + ServerOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerOptions

+
+
constructor(capabilities: ServerCapabilities, enforceStrictCapabilities: Boolean = true)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/capabilities.html new file mode 100644 index 0000000..a084057 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/capabilities.html @@ -0,0 +1,87 @@ + + + + + capabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

capabilities

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/index.html new file mode 100644 index 0000000..033aa9e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/index.html @@ -0,0 +1,160 @@ + + + + + ServerOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerOptions

+
class ServerOptions(val capabilities: ServerCapabilities, var enforceStrictCapabilities: Boolean = true) : ProtocolOptions(source)

Configuration options for the MCP server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(capabilities: ServerCapabilities, enforceStrictCapabilities: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The capabilities this server supports.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether to restrict emitted requests to only those that the remote side has indicated that they can handle, through their advertised capabilities.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/-server.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/-server.html new file mode 100644 index 0000000..e484cf9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/-server.html @@ -0,0 +1,87 @@ + + + + + Server + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Server

+
+
constructor(serverInfo: Implementation, options: ServerOptions, onCloseCallback: () -> Unit? = null)(source)

Parameters

serverInfo

Information about this server implementation (name, version).

options

Configuration options for the server.

onCloseCallback

A callback invoked when the server connection closes.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompt.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompt.html new file mode 100644 index 0000000..a82aa75 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompt.html @@ -0,0 +1,87 @@ + + + + + addPrompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addPrompt

+
+
fun addPrompt(prompt: Prompt, promptProvider: suspend (GetPromptRequest) -> GetPromptResult)(source)

Registers a single prompt. The prompt can then be retrieved by the client.

Parameters

prompt

A Prompt object describing the prompt.

promptProvider

A suspend function that returns the prompt content when requested by the client.

Throws

If the server does not support prompts.


fun addPrompt(name: String, description: String? = null, arguments: List<PromptArgument>? = null, promptProvider: suspend (GetPromptRequest) -> GetPromptResult)(source)

Registers a single prompt by constructing a Prompt from given parameters.

Parameters

name

The name of the prompt.

description

An optional human-readable description of the prompt.

arguments

An optional list of PromptArgument that the prompt accepts.

promptProvider

A suspend function that returns the prompt content when requested.

Throws

If the server does not support prompts.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompts.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompts.html new file mode 100644 index 0000000..56cae71 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompts.html @@ -0,0 +1,87 @@ + + + + + addPrompts + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addPrompts

+
+
fun addPrompts(promptsToAdd: List<RegisteredPrompt>)(source)

Registers multiple prompts at once.

Parameters

promptsToAdd

A list of RegisteredPrompt objects representing the prompts to register.

Throws

If the server does not support prompts.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resource.html new file mode 100644 index 0000000..58a619a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resource.html @@ -0,0 +1,87 @@ + + + + + addResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addResource

+
+
fun addResource(uri: String, name: String, description: String, mimeType: String = "text/html", readHandler: suspend (ReadResourceRequest) -> ReadResourceResult)(source)

Registers a single resource. The resource content can then be read by the client.

Parameters

uri

The URI of the resource.

name

A human-readable name for the resource.

description

A description of the resource's content.

mimeType

The MIME type of the resource content.

readHandler

A suspend function that returns the resource content when read by the client.

Throws

If the server does not support resources.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resources.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resources.html new file mode 100644 index 0000000..aed7410 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resources.html @@ -0,0 +1,87 @@ + + + + + addResources + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addResources

+
+

Registers multiple resources at once.

Parameters

resourcesToAdd

A list of RegisteredResource objects representing the resources to register.

Throws

If the server does not support resources.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tool.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tool.html new file mode 100644 index 0000000..f2eab8a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tool.html @@ -0,0 +1,87 @@ + + + + + addTool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addTool

+
+
fun addTool(name: String, description: String, inputSchema: Tool.Input = Tool.Input(), handler: suspend (CallToolRequest) -> CallToolResult)(source)

Registers a single tool. This tool can then be called by the client.

Parameters

name

The name of the tool.

description

A human-readable description of what the tool does.

inputSchema

The expected input schema for the tool.

handler

A suspend function that handles executing the tool when called by the client.

Throws

If the server does not support tools.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tools.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tools.html new file mode 100644 index 0000000..ec16009 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tools.html @@ -0,0 +1,87 @@ + + + + + addTools + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addTools

+
+
fun addTools(toolsToAdd: List<RegisteredTool>)(source)

Registers multiple tools at once.

Parameters

toolsToAdd

A list of RegisteredTool objects representing the tools to register.

Throws

If the server does not support tools.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/assert-request-handler-capability.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/assert-request-handler-capability.html new file mode 100644 index 0000000..afa6bd3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/assert-request-handler-capability.html @@ -0,0 +1,87 @@ + + + + + assertRequestHandlerCapability + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

assertRequestHandlerCapability

+
+
open override fun assertRequestHandlerCapability(method: Method)(source)

Asserts that the server can handle the specified request method.

Throws IllegalStateException if the server does not have the capabilities required to handle this request.

Parameters

method

The request method.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-capabilities.html new file mode 100644 index 0000000..9e17a7d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-capabilities.html @@ -0,0 +1,87 @@ + + + + + clientCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

clientCapabilities

+
+

The client's reported capabilities after initialization.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-version.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-version.html new file mode 100644 index 0000000..f973997 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-version.html @@ -0,0 +1,87 @@ + + + + + clientVersion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

clientVersion

+
+

The client's version information after initialization.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/create-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/create-message.html new file mode 100644 index 0000000..6ceb0b6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/create-message.html @@ -0,0 +1,87 @@ + + + + + createMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

createMessage

+
+

Creates a message using the server's sampling capability.

Return

The created message result.

Parameters

params

The parameters for creating a message.

options

Optional request options.

Throws

If the server does not support sampling or if the request fails.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/index.html new file mode 100644 index 0000000..fed251b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/index.html @@ -0,0 +1,614 @@ + + + + + Server + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Server

+
open class Server(serverInfo: Implementation, options: ServerOptions, var onCloseCallback: () -> Unit? = null) : Protocol<ServerRequest, ServerNotification, ServerResult> (source)

An MCP server on top of a pluggable transport.

This server automatically responds to the initialization flow as initiated by the client. You can register tools, prompts, and resources using addTool, addPrompt, and addResource. The server will then automatically handle listing and retrieval requests from the client.

Parameters

serverInfo

Information about this server implementation (name, version).

options

Configuration options for the server.

onCloseCallback

A callback invoked when the server connection closes.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(serverInfo: Implementation, options: ServerOptions, onCloseCallback: () -> Unit? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The client's reported capabilities after initialization.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The client's version information after initialization.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
var fallbackNotificationHandler: suspend (notification: JSONRPCNotification) -> Unit?

A handler to invoke for any notification types that do not have their own handler installed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A handler to invoke for any request types that do not have their own handler installed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
var onCloseCallback: () -> Unit?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
var onInitialized: () -> Unit?

A callback invoked when the server has completed the initialization sequence. After initialization, the server is ready to handle requests.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addPrompt(prompt: Prompt, promptProvider: suspend (GetPromptRequest) -> GetPromptResult)

Registers a single prompt. The prompt can then be retrieved by the client.

fun addPrompt(name: String, description: String? = null, arguments: List<PromptArgument>? = null, promptProvider: suspend (GetPromptRequest) -> GetPromptResult)

Registers a single prompt by constructing a Prompt from given parameters.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addPrompts(promptsToAdd: List<RegisteredPrompt>)

Registers multiple prompts at once.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addResource(uri: String, name: String, description: String, mimeType: String = "text/html", readHandler: suspend (ReadResourceRequest) -> ReadResourceResult)

Registers a single resource. The resource content can then be read by the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addResources(resourcesToAdd: List<RegisteredResource>)

Registers multiple resources at once.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addTool(name: String, description: String, inputSchema: Tool.Input = Tool.Input(), handler: suspend (CallToolRequest) -> CallToolResult)

Registers a single tool. This tool can then be called by the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addTools(toolsToAdd: List<RegisteredTool>)

Registers multiple tools at once.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun assertRequestHandlerCapability(method: Method)

Asserts that the server can handle the specified request method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend fun connect(transport: Transport)

Attaches to the given transport, starts it, and starts listening for messages.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Creates a message using the server's sampling capability.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun listRoots(params: JsonObject = EmptyJsonObject, options: RequestOptions? = null): ListRootsResult

Lists the available "roots" from the client's perspective (if supported).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun notification(notification: ServerNotification)

Emits a notification, which is a one-way message that does not expect a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun onclose()

Called when the server connection is closing. Invokes onCloseCallback if set.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onerror(error: Throwable)

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun ping(): EmptyRequestResult

Sends a ping request to the client to check connectivity.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Removes the notification handler for the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Removes the request handler for the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun <T : RequestResult> request(request: ServerRequest, options: RequestOptions? = null): T

Sends a request and wait for a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sends a logging message notification to the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun sendPromptListChanged()

Sends a notification to the client indicating that the list of prompts has changed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sends a notification to the client indicating that the list of resources has changed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sends a resource-updated notification to the client, indicating that a specific resource has changed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun sendToolListChanged()

Sends a notification to the client indicating that the list of tools has changed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T : Notification> setNotificationHandler(method: Method, handler: (notification: T) -> Deferred<Unit>)

Registers a handler to invoke when this protocol object receives a notification with the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T : Request> setRequestHandler(method: Method, noinline block: suspend (T, RequestHandlerExtra) -> ServerResult?)

Registers a handler to invoke when this protocol object receives a request with the given method.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/list-roots.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/list-roots.html new file mode 100644 index 0000000..846c216 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/list-roots.html @@ -0,0 +1,87 @@ + + + + + listRoots + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listRoots

+
+
suspend fun listRoots(params: JsonObject = EmptyJsonObject, options: RequestOptions? = null): ListRootsResult(source)

Lists the available "roots" from the client's perspective (if supported).

Return

The list of roots.

Parameters

params

JSON parameters for the request, usually empty.

options

Optional request options.

Throws

If the server or client does not support roots.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-close-callback.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-close-callback.html new file mode 100644 index 0000000..7917b7e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-close-callback.html @@ -0,0 +1,87 @@ + + + + + onCloseCallback + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onCloseCallback

+
+

Parameters

onCloseCallback

A callback invoked when the server connection closes.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-initialized.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-initialized.html new file mode 100644 index 0000000..e5cffe8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-initialized.html @@ -0,0 +1,87 @@ + + + + + onInitialized + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onInitialized

+
+

A callback invoked when the server has completed the initialization sequence. After initialization, the server is ready to handle requests.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/onclose.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/onclose.html new file mode 100644 index 0000000..3cc4b24 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/onclose.html @@ -0,0 +1,87 @@ + + + + + onclose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onclose

+
+
open override fun onclose()(source)

Called when the server connection is closing. Invokes onCloseCallback if set.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/ping.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/ping.html new file mode 100644 index 0000000..187bb35 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/ping.html @@ -0,0 +1,87 @@ + + + + + ping + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ping

+
+

Sends a ping request to the client to check connectivity.

Return

The result of the ping request.

Throws

If for some reason the method is not supported or the connection is closed.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-logging-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-logging-message.html new file mode 100644 index 0000000..308f3a2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-logging-message.html @@ -0,0 +1,87 @@ + + + + + sendLoggingMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sendLoggingMessage

+
+

Sends a logging message notification to the client.

Parameters

params

The logging message notification parameters.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-prompt-list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-prompt-list-changed.html new file mode 100644 index 0000000..270ab9f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-prompt-list-changed.html @@ -0,0 +1,87 @@ + + + + + sendPromptListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sendPromptListChanged

+
+

Sends a notification to the client indicating that the list of prompts has changed.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-list-changed.html new file mode 100644 index 0000000..ecbb3f3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-list-changed.html @@ -0,0 +1,87 @@ + + + + + sendResourceListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sendResourceListChanged

+
+

Sends a notification to the client indicating that the list of resources has changed.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-updated.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-updated.html new file mode 100644 index 0000000..659820a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-updated.html @@ -0,0 +1,87 @@ + + + + + sendResourceUpdated + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sendResourceUpdated

+
+

Sends a resource-updated notification to the client, indicating that a specific resource has changed.

Parameters

params

Details of the updated resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-tool-list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-tool-list-changed.html new file mode 100644 index 0000000..019e9f3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-tool-list-changed.html @@ -0,0 +1,87 @@ + + + + + sendToolListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sendToolListChanged

+
+

Sends a notification to the client indicating that the list of tools has changed.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/-stdio-server-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/-stdio-server-transport.html new file mode 100644 index 0000000..2ff788b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/-stdio-server-transport.html @@ -0,0 +1,87 @@ + + + + + StdioServerTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

StdioServerTransport

+
+
constructor(inputStream: BufferedInputStream = BufferedInputStream(System.`in`), outputStream: PrintStream = System.out)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/close.html new file mode 100644 index 0000000..e23fb6a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
open suspend override fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/index.html new file mode 100644 index 0000000..3c2cee9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/index.html @@ -0,0 +1,209 @@ + + + + + StdioServerTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

StdioServerTransport

+
class StdioServerTransport(inputStream: BufferedInputStream = BufferedInputStream(System.`in`), outputStream: PrintStream = System.out) : Transport(source)

A server transport that communicates with a client via standard I/O.

Reads from System.in and writes to System.out.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(inputStream: BufferedInputStream = BufferedInputStream(System.`in`), outputStream: PrintStream = System.out)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-close.html new file mode 100644 index 0000000..e16be22 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-close.html @@ -0,0 +1,87 @@ + + + + + onClose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onClose

+
+
open override var onClose: () -> Unit?(source)

Callback for when the connection is closed for any reason.

This should be invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-error.html new file mode 100644 index 0000000..920ff14 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-error.html @@ -0,0 +1,87 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
open override var onError: (Throwable) -> Unit?(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-message.html new file mode 100644 index 0000000..5249361 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-message.html @@ -0,0 +1,87 @@ + + + + + onMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onMessage

+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?(source)

Callback for when a message (request or response) is received over the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/send.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/send.html new file mode 100644 index 0000000..f12ebd8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/send.html @@ -0,0 +1,87 @@ + + + + + send + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

send

+
+
open suspend override fun send(message: JSONRPCMessage)(source)

Sends a JSON-RPC message (request or response).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/start.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/start.html new file mode 100644 index 0000000..9d5747a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/start.html @@ -0,0 +1,87 @@ + + + + + start + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
open suspend override fun start()(source)

Starts processing messages on the transport, including any connection steps that might need to be taken.

This method should only be called after callbacks are installed, or else messages may be lost.

NOTE: This method should not be called explicitly when using Client, Server, or Protocol classes, as they will implicitly call start().

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/-web-socket-mcp-server-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/-web-socket-mcp-server-transport.html new file mode 100644 index 0000000..3b1d8f8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/-web-socket-mcp-server-transport.html @@ -0,0 +1,87 @@ + + + + + WebSocketMcpServerTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WebSocketMcpServerTransport

+
+
constructor(session: WebSocketServerSession)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/index.html new file mode 100644 index 0000000..16eeeb5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/index.html @@ -0,0 +1,209 @@ + + + + + WebSocketMcpServerTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WebSocketMcpServerTransport

+
class WebSocketMcpServerTransport(session: WebSocketServerSession) : WebSocketMcpTransport(source)

Server-side implementation of the MCP (Model Context Protocol) transport over WebSocket.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(session: WebSocketServerSession)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/index.html new file mode 100644 index 0000000..1e584c5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/index.html @@ -0,0 +1,264 @@ + + + + + io.modelcontextprotocol.kotlin.sdk.server + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class RegisteredPrompt(val prompt: Prompt, val messageProvider: suspend (GetPromptRequest) -> GetPromptResult)

A wrapper class representing a registered prompt on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class RegisteredResource(val resource: Resource, val readHandler: suspend (ReadResourceRequest) -> ReadResourceResult)

A wrapper class representing a registered resource on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class RegisteredTool(val tool: Tool, val handler: suspend (CallToolRequest) -> CallToolResult)

A wrapper class representing a registered tool on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class Server(serverInfo: Implementation, options: ServerOptions, var onCloseCallback: () -> Unit? = null) : Protocol<ServerRequest, ServerNotification, ServerResult>

An MCP server on top of a pluggable transport.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ServerOptions(val capabilities: ServerCapabilities, var enforceStrictCapabilities: Boolean = true) : ProtocolOptions

Configuration options for the MCP server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class SSEServerTransport(endpoint: String, session: ServerSSESession) : Transport

Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class StdioServerTransport(inputStream: BufferedInputStream = BufferedInputStream(System.`in`), outputStream: PrintStream = System.out) : Transport

A server transport that communicates with a client via standard I/O.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class WebSocketMcpServerTransport(session: WebSocketServerSession) : WebSocketMcpTransport

Server-side implementation of the MCP (Model Context Protocol) transport over WebSocket.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Application.MCP(block: () -> Server)

Configures the Ktor Application to handle Model Context Protocol (MCP) over Server-Sent Events (SSE).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Route.mcpWebSocket(options: ServerOptions? = null, handler: suspend Server.() -> Unit = {})

Registers a WebSocket route that establishes an MCP (Model Context Protocol) server session.

fun Route.mcpWebSocket(path: String, options: ServerOptions? = null, handler: suspend Server.() -> Unit = {})

Registers a WebSocket route at the specified path that establishes an MCP server session.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Route.mcpWebSocketTransport(handler: suspend WebSocketMcpServerTransport.() -> Unit = {})

Registers a WebSocket route that creates an MCP server transport layer.

fun Route.mcpWebSocketTransport(path: String, handler: suspend WebSocketMcpServerTransport.() -> Unit = {})

Registers a WebSocket route at the specified path that creates an MCP server transport layer.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket-transport.html new file mode 100644 index 0000000..814d396 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket-transport.html @@ -0,0 +1,87 @@ + + + + + mcpWebSocketTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mcpWebSocketTransport

+
+
fun Route.mcpWebSocketTransport(handler: suspend WebSocketMcpServerTransport.() -> Unit = {})(source)

Registers a WebSocket route that creates an MCP server transport layer.

Parameters

handler

A suspend function that defines the behavior of the transport layer.


fun Route.mcpWebSocketTransport(path: String, handler: suspend WebSocketMcpServerTransport.() -> Unit = {})(source)

Registers a WebSocket route at the specified path that creates an MCP server transport layer.

Parameters

path

The URL path at which to register the WebSocket route.

handler

A suspend function that defines the behavior of the transport layer.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket.html new file mode 100644 index 0000000..283aa7b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket.html @@ -0,0 +1,87 @@ + + + + + mcpWebSocket + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mcpWebSocket

+
+
fun Route.mcpWebSocket(options: ServerOptions? = null, handler: suspend Server.() -> Unit = {})(source)

Registers a WebSocket route that establishes an MCP (Model Context Protocol) server session.

Parameters

options

Optional server configuration settings for the MCP server.

handler

A suspend function that defines the server's behavior.


fun Route.mcpWebSocket(path: String, options: ServerOptions? = null, handler: suspend Server.() -> Unit = {})(source)

Registers a WebSocket route at the specified path that establishes an MCP server session.

Parameters

path

The URL path at which to register the WebSocket route.

options

Optional server configuration settings for the MCP server.

handler

A suspend function that defines the server's behavior.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-t-i-m-e-o-u-t.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-t-i-m-e-o-u-t.html new file mode 100644 index 0000000..10dcc56 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-t-i-m-e-o-u-t.html @@ -0,0 +1,87 @@ + + + + + DEFAULT_REQUEST_TIMEOUT + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DEFAULT_REQUEST_TIMEOUT

+
+

The default request timeout.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-progress-callback/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-progress-callback/index.html new file mode 100644 index 0000000..be73111 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-progress-callback/index.html @@ -0,0 +1,91 @@ + + + + + ProgressCallback + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProgressCallback

+

Callback for progress notifications.

+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/-protocol-options.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/-protocol-options.html new file mode 100644 index 0000000..b83e2b7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/-protocol-options.html @@ -0,0 +1,87 @@ + + + + + ProtocolOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProtocolOptions

+
+
constructor(enforceStrictCapabilities: Boolean = false, timeout: Duration = DEFAULT_REQUEST_TIMEOUT)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/enforce-strict-capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/enforce-strict-capabilities.html new file mode 100644 index 0000000..806c3a8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/enforce-strict-capabilities.html @@ -0,0 +1,87 @@ + + + + + enforceStrictCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

enforceStrictCapabilities

+
+

Whether to restrict emitted requests to only those that the remote side has indicated that they can handle, through their advertised capabilities.

Note that this DOES NOT affect checking of local side capabilities, as it is considered a logic error to mis-specify those.

Currently this defaults to false, for backwards compatibility with SDK versions that did not advertise capabilities correctly. In future, this will default to true.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/index.html new file mode 100644 index 0000000..e42d3c1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/index.html @@ -0,0 +1,145 @@ + + + + + ProtocolOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProtocolOptions

+
open class ProtocolOptions(var enforceStrictCapabilities: Boolean = false, var timeout: Duration = DEFAULT_REQUEST_TIMEOUT)(source)

Additional initialization options.

Inheritors

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(enforceStrictCapabilities: Boolean = false, timeout: Duration = DEFAULT_REQUEST_TIMEOUT)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether to restrict emitted requests to only those that the remote side has indicated that they can handle, through their advertised capabilities.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/timeout.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/timeout.html new file mode 100644 index 0000000..7cc70fc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/timeout.html @@ -0,0 +1,87 @@ + + + + + timeout + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

timeout

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/-protocol.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/-protocol.html new file mode 100644 index 0000000..f1e037a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/-protocol.html @@ -0,0 +1,87 @@ + + + + + Protocol + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Protocol

+
+
constructor(options: ProtocolOptions?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/assert-request-handler-capability.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/assert-request-handler-capability.html new file mode 100644 index 0000000..fb9a2b4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/assert-request-handler-capability.html @@ -0,0 +1,87 @@ + + + + + assertRequestHandlerCapability + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

assertRequestHandlerCapability

+
+

A method to check if a request handler is supported by the local side, for the given method to be handled.

This should be implemented by subclasses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/close.html new file mode 100644 index 0000000..f9b7a03 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
suspend fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/connect.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/connect.html new file mode 100644 index 0000000..6b8e809 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/connect.html @@ -0,0 +1,87 @@ + + + + + connect + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

connect

+
+
open suspend fun connect(transport: Transport)(source)

Attaches to the given transport, starts it, and starts listening for messages.

The Protocol object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-notification-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-notification-handler.html new file mode 100644 index 0000000..1b699ef --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-notification-handler.html @@ -0,0 +1,87 @@ + + + + + fallbackNotificationHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

fallbackNotificationHandler

+
+

A handler to invoke for any notification types that do not have their own handler installed.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-request-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-request-handler.html new file mode 100644 index 0000000..957be76 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-request-handler.html @@ -0,0 +1,87 @@ + + + + + fallbackRequestHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

fallbackRequestHandler

+
+

A handler to invoke for any request types that do not have their own handler installed.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/index.html new file mode 100644 index 0000000..3bb00c8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/index.html @@ -0,0 +1,344 @@ + + + + + Protocol + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Protocol

+

Implements MCP protocol framing on top of a pluggable transport, including features like request/response linking, notifications, and progress.

Inheritors

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(options: ProtocolOptions?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
var fallbackNotificationHandler: suspend (notification: JSONRPCNotification) -> Unit?

A handler to invoke for any notification types that do not have their own handler installed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A handler to invoke for any request types that do not have their own handler installed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A method to check if a request handler is supported by the local side, for the given method to be handled.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend fun connect(transport: Transport)

Attaches to the given transport, starts it, and starts listening for messages.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun notification(notification: SendNotificationT)

Emits a notification, which is a one-way message that does not expect a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onclose()

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onerror(error: Throwable)

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Removes the notification handler for the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Removes the request handler for the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
suspend fun <T : RequestResult> request(request: SendRequestT, options: RequestOptions? = null): T

Sends a request and wait for a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T : Notification> setNotificationHandler(method: Method, handler: (notification: T) -> Deferred<Unit>)

Registers a handler to invoke when this protocol object receives a notification with the given method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T : Request> setRequestHandler(method: Method, noinline block: suspend (T, RequestHandlerExtra) -> SendResultT?)

Registers a handler to invoke when this protocol object receives a request with the given method.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification-handlers.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification-handlers.html new file mode 100644 index 0000000..b74b0b9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification-handlers.html @@ -0,0 +1,87 @@ + + + + + notificationHandlers + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

notificationHandlers

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification.html new file mode 100644 index 0000000..34ec03c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification.html @@ -0,0 +1,87 @@ + + + + + notification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

notification

+
+
suspend fun notification(notification: SendNotificationT)(source)

Emits a notification, which is a one-way message that does not expect a response.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onclose.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onclose.html new file mode 100644 index 0000000..62af388 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onclose.html @@ -0,0 +1,87 @@ + + + + + onclose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onclose

+
+
open fun onclose()(source)

Callback for when the connection is closed for any reason.

This is invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onerror.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onerror.html new file mode 100644 index 0000000..b214de1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onerror.html @@ -0,0 +1,87 @@ + + + + + onerror + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onerror

+
+
open fun onerror(error: Throwable)(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-notification-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-notification-handler.html new file mode 100644 index 0000000..a8c3115 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-notification-handler.html @@ -0,0 +1,87 @@ + + + + + removeNotificationHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

removeNotificationHandler

+
+

Removes the notification handler for the given method.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-request-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-request-handler.html new file mode 100644 index 0000000..89d6a2e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-request-handler.html @@ -0,0 +1,87 @@ + + + + + removeRequestHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

removeRequestHandler

+
+

Removes the request handler for the given method.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/request.html new file mode 100644 index 0000000..be560ba --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/request.html @@ -0,0 +1,87 @@ + + + + + request + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

request

+
+
suspend fun <T : RequestResult> request(request: SendRequestT, options: RequestOptions? = null): T(source)

Sends a request and wait for a response.

Do not use this method to emit notifications! Use notification() instead.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-notification-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-notification-handler.html new file mode 100644 index 0000000..645ee4a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-notification-handler.html @@ -0,0 +1,87 @@ + + + + + setNotificationHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setNotificationHandler

+
+
fun <T : Notification> setNotificationHandler(method: Method, handler: (notification: T) -> Deferred<Unit>)(source)

Registers a handler to invoke when this protocol object receives a notification with the given method.

Note that this will replace any previous notification handler for the same method.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-request-handler.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-request-handler.html new file mode 100644 index 0000000..5897216 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-request-handler.html @@ -0,0 +1,87 @@ + + + + + setRequestHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setRequestHandler

+
+
inline fun <T : Request> setRequestHandler(method: Method, noinline block: suspend (T, RequestHandlerExtra) -> SendResultT?)(source)

Registers a handler to invoke when this protocol object receives a request with the given method.

Note that this will replace any previous request handler for the same method.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/transport.html new file mode 100644 index 0000000..e2008e5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/transport.html @@ -0,0 +1,87 @@ + + + + + transport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

transport

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/-read-buffer.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/-read-buffer.html new file mode 100644 index 0000000..caa7bb3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/-read-buffer.html @@ -0,0 +1,87 @@ + + + + + ReadBuffer + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ReadBuffer

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/append.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/append.html new file mode 100644 index 0000000..776d34c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/append.html @@ -0,0 +1,87 @@ + + + + + append + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

append

+
+
fun append(chunk: ByteArray)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/clear.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/clear.html new file mode 100644 index 0000000..cc740b6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/clear.html @@ -0,0 +1,87 @@ + + + + + clear + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

clear

+
+
fun clear()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/index.html new file mode 100644 index 0000000..b40cb50 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/index.html @@ -0,0 +1,160 @@ + + + + + ReadBuffer + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ReadBuffer

+

Buffers a continuous stdio stream into discrete JSON-RPC messages.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun append(chunk: ByteArray)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun clear()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/read-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/read-message.html new file mode 100644 index 0000000..24cc6bd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/read-message.html @@ -0,0 +1,87 @@ + + + + + readMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

readMessage

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/-request-handler-extra.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/-request-handler-extra.html new file mode 100644 index 0000000..3bb0e2c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/-request-handler-extra.html @@ -0,0 +1,87 @@ + + + + + RequestHandlerExtra + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestHandlerExtra

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/index.html new file mode 100644 index 0000000..8aaf627 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/index.html @@ -0,0 +1,111 @@ + + + + + RequestHandlerExtra + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestHandlerExtra

+

Extra data given to request handlers.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/-request-options.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/-request-options.html new file mode 100644 index 0000000..3c73c33 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/-request-options.html @@ -0,0 +1,87 @@ + + + + + RequestOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestOptions

+
+
constructor(onProgress: ProgressCallback? = null, timeout: Duration = DEFAULT_REQUEST_TIMEOUT)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/index.html new file mode 100644 index 0000000..023ebfe --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/index.html @@ -0,0 +1,145 @@ + + + + + RequestOptions + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestOptions

+
data class RequestOptions(val onProgress: ProgressCallback? = null, val timeout: Duration = DEFAULT_REQUEST_TIMEOUT)(source)

Options that can be given per request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(onProgress: ProgressCallback? = null, timeout: Duration = DEFAULT_REQUEST_TIMEOUT)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

If set, requests progress notifications from the remote end (if supported). When progress notifications are received, this callback will be invoked.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A timeout for this request. If exceeded, an McpError with code RequestTimeout will be raised from request().

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/on-progress.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/on-progress.html new file mode 100644 index 0000000..e356624 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/on-progress.html @@ -0,0 +1,87 @@ + + + + + onProgress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onProgress

+
+

If set, requests progress notifications from the remote end (if supported). When progress notifications are received, this callback will be invoked.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/timeout.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/timeout.html new file mode 100644 index 0000000..273b96f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/timeout.html @@ -0,0 +1,87 @@ + + + + + timeout + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

timeout

+
+

A timeout for this request. If exceeded, an McpError with code RequestTimeout will be raised from request().

If not specified, DEFAULT_REQUEST_TIMEOUT will be used as the timeout.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/close.html new file mode 100644 index 0000000..b75bfa3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
abstract suspend fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/index.html new file mode 100644 index 0000000..3ddeaf8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/index.html @@ -0,0 +1,190 @@ + + + + + Transport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Transport

+
interface Transport(source)

Describes the minimal contract for a MCP transport that a client or server can communicate over.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract suspend fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract suspend fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract suspend fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-close.html new file mode 100644 index 0000000..35e83a1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-close.html @@ -0,0 +1,87 @@ + + + + + onClose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onClose

+
+
abstract var onClose: () -> Unit?(source)

Callback for when the connection is closed for any reason.

This should be invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-error.html new file mode 100644 index 0000000..1126732 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-error.html @@ -0,0 +1,87 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
abstract var onError: (Throwable) -> Unit?(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-message.html new file mode 100644 index 0000000..b8ab046 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-message.html @@ -0,0 +1,87 @@ + + + + + onMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onMessage

+
+
abstract var onMessage: suspend (JSONRPCMessage) -> Unit?(source)

Callback for when a message (request or response) is received over the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/send.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/send.html new file mode 100644 index 0000000..dc6fd4e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/send.html @@ -0,0 +1,87 @@ + + + + + send + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

send

+
+
abstract suspend fun send(message: JSONRPCMessage)(source)

Sends a JSON-RPC message (request or response).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/start.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/start.html new file mode 100644 index 0000000..0a2db77 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/start.html @@ -0,0 +1,87 @@ + + + + + start + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
abstract suspend fun start()(source)

Starts processing messages on the transport, including any connection steps that might need to be taken.

This method should only be called after callbacks are installed, or else messages may be lost.

NOTE: This method should not be called explicitly when using Client, Server, or Protocol classes, as they will implicitly call start().

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/-web-socket-mcp-transport.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/-web-socket-mcp-transport.html new file mode 100644 index 0000000..159f320 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/-web-socket-mcp-transport.html @@ -0,0 +1,87 @@ + + + + + WebSocketMcpTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WebSocketMcpTransport

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/close.html new file mode 100644 index 0000000..992943f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/close.html @@ -0,0 +1,87 @@ + + + + + close + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

close

+
+
open suspend override fun close()(source)

Closes the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/index.html new file mode 100644 index 0000000..bca396d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/index.html @@ -0,0 +1,209 @@ + + + + + WebSocketMcpTransport + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WebSocketMcpTransport

+

Abstract class representing a WebSocket transport for the Model Context Protocol (MCP). Handles communication over a WebSocket session.

Inheritors

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun close()

Closes the connection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-close.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-close.html new file mode 100644 index 0000000..693113c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-close.html @@ -0,0 +1,87 @@ + + + + + onClose + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onClose

+
+
open override var onClose: () -> Unit?(source)

Callback for when the connection is closed for any reason.

This should be invoked when close() is called as well.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-error.html new file mode 100644 index 0000000..ab057fa --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-error.html @@ -0,0 +1,87 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
open override var onError: (Throwable) -> Unit?(source)

Callback for when an error occurs.

Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-message.html new file mode 100644 index 0000000..2609693 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-message.html @@ -0,0 +1,87 @@ + + + + + onMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onMessage

+
+
open override var onMessage: suspend (JSONRPCMessage) -> Unit?(source)

Callback for when a message (request or response) is received over the connection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/send.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/send.html new file mode 100644 index 0000000..93b717f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/send.html @@ -0,0 +1,87 @@ + + + + + send + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

send

+
+
open suspend override fun send(message: JSONRPCMessage)(source)

Sends a JSON-RPC message (request or response).

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/start.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/start.html new file mode 100644 index 0000000..631500c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/start.html @@ -0,0 +1,87 @@ + + + + + start + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
open suspend override fun start()(source)

Starts processing messages on the transport, including any connection steps that might need to be taken.

This method should only be called after callbacks are installed, or else messages may be lost.

NOTE: This method should not be called explicitly when using Client, Server, or Protocol classes, as they will implicitly call start().

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/index.html new file mode 100644 index 0000000..c34ed64 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/index.html @@ -0,0 +1,234 @@ + + + + + io.modelcontextprotocol.kotlin.sdk.shared + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias ProgressCallback = (Progress) -> Unit

Callback for progress notifications.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Implements MCP protocol framing on top of a pluggable transport, including features like request/response linking, notifications, and progress.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class ProtocolOptions(var enforceStrictCapabilities: Boolean = false, var timeout: Duration = DEFAULT_REQUEST_TIMEOUT)

Additional initialization options.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Buffers a continuous stdio stream into discrete JSON-RPC messages.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Extra data given to request handlers.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class RequestOptions(val onProgress: ProgressCallback? = null, val timeout: Duration = DEFAULT_REQUEST_TIMEOUT)

Options that can be given per request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Transport

Describes the minimal contract for a MCP transport that a client or server can communicate over.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Abstract class representing a WebSocket transport for the Model Context Protocol (MCP). Handles communication over a WebSocket session.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The default request timeout.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/-blob-resource-contents.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/-blob-resource-contents.html new file mode 100644 index 0000000..d89bb5f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/-blob-resource-contents.html @@ -0,0 +1,87 @@ + + + + + BlobResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BlobResourceContents

+
+
constructor(blob: String, uri: String, mimeType: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/blob.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/blob.html new file mode 100644 index 0000000..48241ec --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/blob.html @@ -0,0 +1,87 @@ + + + + + blob + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

blob

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/index.html new file mode 100644 index 0000000..534852f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/index.html @@ -0,0 +1,160 @@ + + + + + BlobResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BlobResourceContents

+
@Serializable
data class BlobResourceContents(val blob: String, val uri: String, val mimeType: String?) : ResourceContents(source)

Represents the binary contents of a resource encoded as a base64 string.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(blob: String, uri: String, mimeType: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A base64-encoded string representing the binary data of the item.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val mimeType: String?

The MIME type of this resource, if known.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val uri: String

The URI of this resource.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/mime-type.html new file mode 100644 index 0000000..fc90c7f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+
open override val mimeType: String?(source)

The MIME type of this resource, if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/uri.html new file mode 100644 index 0000000..35cd354 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+
open override val uri: String(source)

The URI of this resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/-call-tool-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/-call-tool-request.html new file mode 100644 index 0000000..0f9433a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/-call-tool-request.html @@ -0,0 +1,87 @@ + + + + + CallToolRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CallToolRequest

+
+
constructor(name: String, arguments: JsonObject = EmptyJsonObject, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/_meta.html new file mode 100644 index 0000000..1ad2ded --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/arguments.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/arguments.html new file mode 100644 index 0000000..07357bd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/arguments.html @@ -0,0 +1,87 @@ + + + + + arguments + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

arguments

+
+
val arguments: JsonObject(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/index.html new file mode 100644 index 0000000..a2d43af --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/index.html @@ -0,0 +1,175 @@ + + + + + CallToolRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CallToolRequest

+
@Serializable
data class CallToolRequest(val name: String, val arguments: JsonObject = EmptyJsonObject, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

Used by the client to invoke a tool provided by the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, arguments: JsonObject = EmptyJsonObject, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val arguments: JsonObject
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/method.html new file mode 100644 index 0000000..310c5ef --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/name.html new file mode 100644 index 0000000..29c4011 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/content.html new file mode 100644 index 0000000..1e1ceb4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/content.html @@ -0,0 +1,87 @@ + + + + + content + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

content

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/index.html new file mode 100644 index 0000000..c0dc084 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/index.html @@ -0,0 +1,141 @@ + + + + + CallToolResultBase + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CallToolResultBase

+
@Serializable
sealed interface CallToolResultBase : ServerResult(source)

The server's response to a tool call.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val isError: Boolean?
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/is-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/is-error.html new file mode 100644 index 0000000..e5b9a47 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/is-error.html @@ -0,0 +1,87 @@ + + + + + isError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isError

+
+
open val isError: Boolean?(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/-call-tool-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/-call-tool-result.html new file mode 100644 index 0000000..9543cbd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/-call-tool-result.html @@ -0,0 +1,87 @@ + + + + + CallToolResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CallToolResult

+
+
constructor(content: List<PromptMessageContent>, isError: Boolean? = false, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/_meta.html new file mode 100644 index 0000000..030fdd3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/content.html new file mode 100644 index 0000000..507758c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/content.html @@ -0,0 +1,87 @@ + + + + + content + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

content

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/index.html new file mode 100644 index 0000000..92d6605 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/index.html @@ -0,0 +1,160 @@ + + + + + CallToolResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CallToolResult

+
@Serializable
class CallToolResult(val content: List<PromptMessageContent>, val isError: Boolean? = false, val _meta: JsonObject = EmptyJsonObject) : CallToolResultBase(source)

The server's response to a tool call.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(content: List<PromptMessageContent>, isError: Boolean? = false, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val content: List<PromptMessageContent>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isError: Boolean? = false
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/is-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/is-error.html new file mode 100644 index 0000000..c5a09b9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/is-error.html @@ -0,0 +1,87 @@ + + + + + isError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isError

+
+
open override val isError: Boolean? = false(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/-cancelled-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/-cancelled-notification.html new file mode 100644 index 0000000..75f818b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/-cancelled-notification.html @@ -0,0 +1,87 @@ + + + + + CancelledNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CancelledNotification

+
+
constructor(requestId: RequestId, reason: String?, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/_meta.html new file mode 100644 index 0000000..2ba5329 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/index.html new file mode 100644 index 0000000..ca18c31 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/index.html @@ -0,0 +1,175 @@ + + + + + CancelledNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CancelledNotification

+
@Serializable
data class CancelledNotification(val requestId: RequestId, val reason: String?, val _meta: JsonObject = EmptyJsonObject) : ClientNotification, ServerNotification, WithMeta(source)

This notification can be sent by either side to indicate that it is cancelling a previously issued request.

The request SHOULD still be in-flight, but due to communication latency, it is always possible that this notification MAY arrive after the request has already finished.

This notification indicates that the result will be unused, so any associated processing SHOULD cease.

A client MUST NOT attempt to cancel its initialize request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(requestId: RequestId, reason: String?, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional string describing the reason for the cancellation. This MAY be logged or presented to the user.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The ID of the request to cancel.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/method.html new file mode 100644 index 0000000..61d2b73 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/reason.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/reason.html new file mode 100644 index 0000000..b4d28ac --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/reason.html @@ -0,0 +1,87 @@ + + + + + reason + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

reason

+
+

An optional string describing the reason for the cancellation. This MAY be logged or presented to the user.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/request-id.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/request-id.html new file mode 100644 index 0000000..4cf7b84 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/request-id.html @@ -0,0 +1,87 @@ + + + + + requestId + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

requestId

+
+

The ID of the request to cancel.

It MUST correspond to the ID of a request previously issued in the same direction.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-client-capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-client-capabilities.html new file mode 100644 index 0000000..81d37e9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-client-capabilities.html @@ -0,0 +1,87 @@ + + + + + ClientCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ClientCapabilities

+
+
constructor(experimental: JsonObject? = EmptyJsonObject, sampling: JsonObject? = EmptyJsonObject, roots: ClientCapabilities.Roots? = null)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/-roots.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/-roots.html new file mode 100644 index 0000000..bc74d1b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/-roots.html @@ -0,0 +1,87 @@ + + + + + Roots + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Roots

+
+
constructor(listChanged: Boolean?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/index.html new file mode 100644 index 0000000..00408e1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/index.html @@ -0,0 +1,130 @@ + + + + + Roots + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Roots

+
@Serializable
data class Roots(val listChanged: Boolean?)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(listChanged: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether the client supports issuing notifications for changes to the root list.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/list-changed.html new file mode 100644 index 0000000..b869eec --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/list-changed.html @@ -0,0 +1,87 @@ + + + + + listChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listChanged

+
+

Whether the client supports issuing notifications for changes to the root list.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/experimental.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/experimental.html new file mode 100644 index 0000000..ceb3106 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/experimental.html @@ -0,0 +1,87 @@ + + + + + experimental + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

experimental

+
+
val experimental: JsonObject?(source)

Experimental, non-standard capabilities that the client supports.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/index.html new file mode 100644 index 0000000..38feee3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/index.html @@ -0,0 +1,179 @@ + + + + + ClientCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ClientCapabilities

+
@Serializable
data class ClientCapabilities(val experimental: JsonObject? = EmptyJsonObject, val sampling: JsonObject? = EmptyJsonObject, val roots: ClientCapabilities.Roots? = null)(source)

Capabilities a client may support. Known capabilities are defined here, in this, but this is not a closed set: any client can define its own, additional capabilities.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(experimental: JsonObject? = EmptyJsonObject, sampling: JsonObject? = EmptyJsonObject, roots: ClientCapabilities.Roots? = null)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Roots(val listChanged: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val experimental: JsonObject?

Experimental, non-standard capabilities that the client supports.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Present if the client supports listing roots.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val sampling: JsonObject?

Present if the client supports sampling from an LLM.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/roots.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/roots.html new file mode 100644 index 0000000..045b706 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/roots.html @@ -0,0 +1,87 @@ + + + + + roots + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

roots

+
+

Present if the client supports listing roots.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/sampling.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/sampling.html new file mode 100644 index 0000000..983a868 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/sampling.html @@ -0,0 +1,87 @@ + + + + + sampling + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sampling

+
+
val sampling: JsonObject?(source)

Present if the client supports sampling from an LLM.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-notification/index.html new file mode 100644 index 0000000..2832792 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-notification/index.html @@ -0,0 +1,111 @@ + + + + + ClientNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ClientNotification

+
@Serializable(with = ClientNotificationPolymorphicSerializer::class)
sealed interface ClientNotification : Notification(source)

Represents a notification sent by the client.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-request/index.html new file mode 100644 index 0000000..fe4e03d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-request/index.html @@ -0,0 +1,111 @@ + + + + + ClientRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-result/index.html new file mode 100644 index 0000000..7ca2cb9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-result/index.html @@ -0,0 +1,111 @@ + + + + + ClientResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ClientResult

+
@Serializable(with = ClientResultPolymorphicSerializer::class)
sealed interface ClientResult : RequestResult(source)

Represents a result returned to the client.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/-compatibility-call-tool-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/-compatibility-call-tool-result.html new file mode 100644 index 0000000..146da2b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/-compatibility-call-tool-result.html @@ -0,0 +1,87 @@ + + + + + CompatibilityCallToolResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompatibilityCallToolResult

+
+
constructor(content: List<PromptMessageContent>, isError: Boolean? = false, _meta: JsonObject = EmptyJsonObject, toolResult: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/_meta.html new file mode 100644 index 0000000..ba927ed --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/content.html new file mode 100644 index 0000000..d402fd9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/content.html @@ -0,0 +1,87 @@ + + + + + content + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

content

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/index.html new file mode 100644 index 0000000..166127c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/index.html @@ -0,0 +1,175 @@ + + + + + CompatibilityCallToolResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompatibilityCallToolResult

+
@Serializable
class CompatibilityCallToolResult(val content: List<PromptMessageContent>, val isError: Boolean? = false, val _meta: JsonObject = EmptyJsonObject, val toolResult: JsonObject = EmptyJsonObject) : CallToolResultBase(source)

CallToolResult extended with backwards compatibility to protocol version 2024-10-07.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(content: List<PromptMessageContent>, isError: Boolean? = false, _meta: JsonObject = EmptyJsonObject, toolResult: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val content: List<PromptMessageContent>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isError: Boolean? = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val toolResult: JsonObject
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/is-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/is-error.html new file mode 100644 index 0000000..25acb25 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/is-error.html @@ -0,0 +1,87 @@ + + + + + isError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isError

+
+
open override val isError: Boolean? = false(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/tool-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/tool-result.html new file mode 100644 index 0000000..3c0c498 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/tool-result.html @@ -0,0 +1,87 @@ + + + + + toolResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toolResult

+
+
val toolResult: JsonObject(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/-argument.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/-argument.html new file mode 100644 index 0000000..4270072 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/-argument.html @@ -0,0 +1,87 @@ + + + + + Argument + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Argument

+
+
constructor(name: String, value: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/index.html new file mode 100644 index 0000000..a8c8d3e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/index.html @@ -0,0 +1,145 @@ + + + + + Argument + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Argument

+
@Serializable
data class Argument(val name: String, val value: String)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, value: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the argument

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The value of the argument to use for completion matching.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/name.html new file mode 100644 index 0000000..fc2b444 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

The name of the argument

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/value.html new file mode 100644 index 0000000..b9a8dd3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+

The value of the argument to use for completion matching.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-complete-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-complete-request.html new file mode 100644 index 0000000..338636e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-complete-request.html @@ -0,0 +1,87 @@ + + + + + CompleteRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompleteRequest

+
+
constructor(ref: Reference, argument: CompleteRequest.Argument, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/_meta.html new file mode 100644 index 0000000..07d73d4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/argument.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/argument.html new file mode 100644 index 0000000..5562674 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/argument.html @@ -0,0 +1,87 @@ + + + + + argument + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

argument

+
+

The argument's information

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/index.html new file mode 100644 index 0000000..22dbd60 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/index.html @@ -0,0 +1,194 @@ + + + + + CompleteRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompleteRequest

+
@Serializable
data class CompleteRequest(val ref: Reference, val argument: CompleteRequest.Argument, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

A request from the client to the server to ask for completion options.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(ref: Reference, argument: CompleteRequest.Argument, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Argument(val name: String, val value: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The argument's information

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/method.html new file mode 100644 index 0000000..339a838 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/ref.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/ref.html new file mode 100644 index 0000000..bb24e09 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/ref.html @@ -0,0 +1,87 @@ + + + + + ref + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ref

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-complete-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-complete-result.html new file mode 100644 index 0000000..4a45210 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-complete-result.html @@ -0,0 +1,87 @@ + + + + + CompleteResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompleteResult

+
+
constructor(completion: CompleteResult.Completion, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/-completion.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/-completion.html new file mode 100644 index 0000000..81d3f33 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/-completion.html @@ -0,0 +1,87 @@ + + + + + Completion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Completion

+
+
constructor(values: List<String>, total: Int?, hasMore: Boolean?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/has-more.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/has-more.html new file mode 100644 index 0000000..42107ef --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/has-more.html @@ -0,0 +1,87 @@ + + + + + hasMore + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hasMore

+
+

Indicates whether there are additional completion options beyond those provided in the current response, even if the exact total is unknown.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/index.html new file mode 100644 index 0000000..2fec555 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/index.html @@ -0,0 +1,160 @@ + + + + + Completion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Completion

+
@Serializable
class Completion(val values: List<String>, val total: Int?, val hasMore: Boolean?)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(values: List<String>, total: Int?, hasMore: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Indicates whether there are additional completion options beyond those provided in the current response, even if the exact total is unknown.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val total: Int?

The total number of completion options available. This can exceed the number of values actually sent in the response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A list of completion values. Must not exceed 100 items.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/total.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/total.html new file mode 100644 index 0000000..a4b96df --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/total.html @@ -0,0 +1,87 @@ + + + + + total + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

total

+
+

The total number of completion options available. This can exceed the number of values actually sent in the response.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/values.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/values.html new file mode 100644 index 0000000..9dc6177 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/values.html @@ -0,0 +1,87 @@ + + + + + values + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

A list of completion values. Must not exceed 100 items.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/_meta.html new file mode 100644 index 0000000..300d044 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/completion.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/completion.html new file mode 100644 index 0000000..456f65d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/completion.html @@ -0,0 +1,87 @@ + + + + + completion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

completion

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/index.html new file mode 100644 index 0000000..ecd1a95 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/index.html @@ -0,0 +1,164 @@ + + + + + CompleteResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompleteResult

+
@Serializable
data class CompleteResult(val completion: CompleteResult.Completion, val _meta: JsonObject = EmptyJsonObject) : ServerResult(source)

The server's response to a completion/complete request

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(completion: CompleteResult.Completion, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class Completion(val values: List<String>, val total: Int?, val hasMore: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-create-message-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-create-message-request.html new file mode 100644 index 0000000..c0080f8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-create-message-request.html @@ -0,0 +1,87 @@ + + + + + CreateMessageRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CreateMessageRequest

+
+
constructor(messages: List<SamplingMessage>, systemPrompt: String?, includeContext: CreateMessageRequest.IncludeContext?, temperature: Double?, maxTokens: Int, stopSequences: List<String>?, metadata: JsonObject = EmptyJsonObject, modelPreferences: ModelPreferences?, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/all-servers/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/all-servers/index.html new file mode 100644 index 0000000..5a478da --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/all-servers/index.html @@ -0,0 +1,126 @@ + + + + + allServers + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

allServers

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/entries.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/entries.html new file mode 100644 index 0000000..9061652 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/entries.html @@ -0,0 +1,87 @@ + + + + + entries + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/index.html new file mode 100644 index 0000000..8e4cc36 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/index.html @@ -0,0 +1,224 @@ + + + + + IncludeContext + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

IncludeContext

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/none/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/none/index.html new file mode 100644 index 0000000..aa2907f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/none/index.html @@ -0,0 +1,126 @@ + + + + + none + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

none

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/this-server/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/this-server/index.html new file mode 100644 index 0000000..926207e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/this-server/index.html @@ -0,0 +1,126 @@ + + + + + thisServer + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

thisServer

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/value-of.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/value-of.html new file mode 100644 index 0000000..60ea823 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/value-of.html @@ -0,0 +1,87 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/values.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/values.html new file mode 100644 index 0000000..44c2685 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/values.html @@ -0,0 +1,87 @@ + + + + + values + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/_meta.html new file mode 100644 index 0000000..25eef34 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/include-context.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/include-context.html new file mode 100644 index 0000000..9bf22c9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/include-context.html @@ -0,0 +1,87 @@ + + + + + includeContext + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includeContext

+
+

A request to include context from one or more MCP servers (including the caller), to be attached to the prompt. The client MAY ignore this request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/index.html new file mode 100644 index 0000000..0571db9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/index.html @@ -0,0 +1,284 @@ + + + + + CreateMessageRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CreateMessageRequest

+
@Serializable
data class CreateMessageRequest(val messages: List<SamplingMessage>, val systemPrompt: String?, val includeContext: CreateMessageRequest.IncludeContext?, val temperature: Double?, val maxTokens: Int, val stopSequences: List<String>?, val metadata: JsonObject = EmptyJsonObject, val modelPreferences: ModelPreferences?, val _meta: JsonObject = EmptyJsonObject) : ServerRequest, WithMeta(source)

A request from the server to sample an LLM via the client. The client has full discretion over which model to select. The client should also inform the user before beginning sampling to allow them to inspect the request (human in the loop) and decide whether to approve it.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(messages: List<SamplingMessage>, systemPrompt: String?, includeContext: CreateMessageRequest.IncludeContext?, temperature: Double?, maxTokens: Int, stopSequences: List<String>?, metadata: JsonObject = EmptyJsonObject, modelPreferences: ModelPreferences?, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A request to include context from one or more MCP servers (including the caller), to be attached to the prompt. The client MAY ignore this request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The maximum number of tokens to sample, as requested by the server. The client MAY choose to sample fewer tokens than requested.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val metadata: JsonObject

Optional metadata to pass through to the LLM provider. The format of this metadata is provider-specific.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The server's preferences for which model to select.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional system prompt the server wants to use it for sampling. The client MAY modify or omit this prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/max-tokens.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/max-tokens.html new file mode 100644 index 0000000..6bab5a9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/max-tokens.html @@ -0,0 +1,87 @@ + + + + + maxTokens + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

maxTokens

+
+

The maximum number of tokens to sample, as requested by the server. The client MAY choose to sample fewer tokens than requested.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/messages.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/messages.html new file mode 100644 index 0000000..247da6e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/messages.html @@ -0,0 +1,87 @@ + + + + + messages + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

messages

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/metadata.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/metadata.html new file mode 100644 index 0000000..67bb812 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/metadata.html @@ -0,0 +1,87 @@ + + + + + metadata + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

metadata

+
+
val metadata: JsonObject(source)

Optional metadata to pass through to the LLM provider. The format of this metadata is provider-specific.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/method.html new file mode 100644 index 0000000..90aa088 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/model-preferences.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/model-preferences.html new file mode 100644 index 0000000..e924ac9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/model-preferences.html @@ -0,0 +1,87 @@ + + + + + modelPreferences + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

modelPreferences

+
+

The server's preferences for which model to select.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/stop-sequences.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/stop-sequences.html new file mode 100644 index 0000000..39d8c89 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/stop-sequences.html @@ -0,0 +1,87 @@ + + + + + stopSequences + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

stopSequences

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/system-prompt.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/system-prompt.html new file mode 100644 index 0000000..6acaa43 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/system-prompt.html @@ -0,0 +1,87 @@ + + + + + systemPrompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

systemPrompt

+
+

An optional system prompt the server wants to use it for sampling. The client MAY modify or omit this prompt.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/temperature.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/temperature.html new file mode 100644 index 0000000..f6b009e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/temperature.html @@ -0,0 +1,87 @@ + + + + + temperature + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

temperature

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/-create-message-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/-create-message-result.html new file mode 100644 index 0000000..268bd32 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/-create-message-result.html @@ -0,0 +1,87 @@ + + + + + CreateMessageResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CreateMessageResult

+
+
constructor(model: String, stopReason: StopReason? = null, role: Role, content: PromptMessageContentTextOrImage, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/_meta.html new file mode 100644 index 0000000..557bcc2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/content.html new file mode 100644 index 0000000..b187927 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/content.html @@ -0,0 +1,87 @@ + + + + + content + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

content

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/index.html new file mode 100644 index 0000000..05ca7ef --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/index.html @@ -0,0 +1,190 @@ + + + + + CreateMessageResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CreateMessageResult

+
@Serializable
data class CreateMessageResult(val model: String, val stopReason: StopReason? = null, val role: Role, val content: PromptMessageContentTextOrImage, val _meta: JsonObject = EmptyJsonObject) : ClientResult(source)

The client's response to a sampling/create_message request from the server. The client should inform the user before returning the sampled message to allow them to inspect the response (human in the loop) and decide whether to allow the server to see it.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(model: String, stopReason: StopReason? = null, role: Role, content: PromptMessageContentTextOrImage, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the model that generated the message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val role: Role
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val stopReason: StopReason? = null

The reason why sampling stopped.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/model.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/model.html new file mode 100644 index 0000000..26cae47 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/model.html @@ -0,0 +1,87 @@ + + + + + model + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

model

+
+

The name of the model that generated the message.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/role.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/role.html new file mode 100644 index 0000000..f4fb6c2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/role.html @@ -0,0 +1,87 @@ + + + + + role + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

role

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/stop-reason.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/stop-reason.html new file mode 100644 index 0000000..feb4bc2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/stop-reason.html @@ -0,0 +1,87 @@ + + + + + stopReason + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

stopReason

+
+

The reason why sampling stopped.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cursor/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cursor/index.html new file mode 100644 index 0000000..1d602ac --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cursor/index.html @@ -0,0 +1,91 @@ + + + + + Cursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Cursor

+
typealias Cursor = String(source)

An opaque token used to represent a cursor for pagination.

+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/-custom-meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/-custom-meta.html new file mode 100644 index 0000000..1b8329f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/-custom-meta.html @@ -0,0 +1,87 @@ + + + + + CustomMeta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CustomMeta

+
+
constructor(_meta: JsonObject = EmptyJsonObject)(source)

Parameters

_meta

The JSON object holding metadata. Defaults to an empty JSON object.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/_meta.html new file mode 100644 index 0000000..4a11e89 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

Parameters

_meta

The JSON object holding metadata. Defaults to an empty JSON object.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/index.html new file mode 100644 index 0000000..2ae4738 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/index.html @@ -0,0 +1,130 @@ + + + + + CustomMeta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CustomMeta

+
@Serializable
class CustomMeta(val _meta: JsonObject = EmptyJsonObject) : WithMeta(source)

An implementation of WithMeta containing custom metadata.

Parameters

_meta

The JSON object holding metadata. Defaults to an empty JSON object.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(_meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/-custom-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/-custom-request.html new file mode 100644 index 0000000..b3fee7f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/-custom-request.html @@ -0,0 +1,87 @@ + + + + + CustomRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CustomRequest

+
+
constructor(method: Method)(source)

Parameters

method

The method associated with the request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/index.html new file mode 100644 index 0000000..cddc6f6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/index.html @@ -0,0 +1,130 @@ + + + + + CustomRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CustomRequest

+
@Serializable
open class CustomRequest(val method: Method) : Request(source)

A custom request with a specified method.

Parameters

method

The method associated with the request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(method: Method)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/method.html new file mode 100644 index 0000000..895aba2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)

Parameters

method

The method associated with the request.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/-t-y-p-e.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/-t-y-p-e.html new file mode 100644 index 0000000..35518c8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/-t-y-p-e.html @@ -0,0 +1,87 @@ + + + + + TYPE + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE

+
+
const val TYPE: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/index.html new file mode 100644 index 0000000..c39e5ea --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/index.html @@ -0,0 +1,111 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
const val TYPE: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-embedded-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-embedded-resource.html new file mode 100644 index 0000000..f0d104f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-embedded-resource.html @@ -0,0 +1,87 @@ + + + + + EmbeddedResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EmbeddedResource

+
+
constructor(resource: ResourceContents)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/index.html new file mode 100644 index 0000000..48d03cd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/index.html @@ -0,0 +1,164 @@ + + + + + EmbeddedResource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EmbeddedResource

+
@Serializable
data class EmbeddedResource(val resource: ResourceContents) : PromptMessageContent(source)

The contents of a resource, embedded into a prompt or tool call result.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(resource: ResourceContents)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/resource.html new file mode 100644 index 0000000..88f1c64 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/resource.html @@ -0,0 +1,87 @@ + + + + + resource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resource

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/type.html new file mode 100644 index 0000000..2709c85 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/-empty-request-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/-empty-request-result.html new file mode 100644 index 0000000..c206381 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/-empty-request-result.html @@ -0,0 +1,87 @@ + + + + + EmptyRequestResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EmptyRequestResult

+
+
constructor(_meta: JsonObject = EmptyJsonObject)(source)

Parameters

_meta

Additional metadata for the response. Defaults to an empty JSON object.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/_meta.html new file mode 100644 index 0000000..8561e2a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

Parameters

_meta

Additional metadata for the response. Defaults to an empty JSON object.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/index.html new file mode 100644 index 0000000..7b97d72 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/index.html @@ -0,0 +1,130 @@ + + + + + EmptyRequestResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EmptyRequestResult

+
@Serializable
data class EmptyRequestResult(val _meta: JsonObject = EmptyJsonObject) : ServerResult, ClientResult(source)

An empty result for a request, containing optional metadata.

Parameters

_meta

Additional metadata for the response. Defaults to an empty JSON object.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(_meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-connection-closed/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-connection-closed/index.html new file mode 100644 index 0000000..d2d2afd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-connection-closed/index.html @@ -0,0 +1,141 @@ + + + + + ConnectionClosed + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ConnectionClosed

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-internal-error/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-internal-error/index.html new file mode 100644 index 0000000..1b591d6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-internal-error/index.html @@ -0,0 +1,141 @@ + + + + + InternalError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InternalError

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-params/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-params/index.html new file mode 100644 index 0000000..6421e99 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-params/index.html @@ -0,0 +1,141 @@ + + + + + InvalidParams + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InvalidParams

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-request/index.html new file mode 100644 index 0000000..b2a25a4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-request/index.html @@ -0,0 +1,141 @@ + + + + + InvalidRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InvalidRequest

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-method-not-found/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-method-not-found/index.html new file mode 100644 index 0000000..940487b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-method-not-found/index.html @@ -0,0 +1,141 @@ + + + + + MethodNotFound + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MethodNotFound

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-parse-error/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-parse-error/index.html new file mode 100644 index 0000000..1ef12c5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-parse-error/index.html @@ -0,0 +1,141 @@ + + + + + ParseError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ParseError

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-request-timeout/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-request-timeout/index.html new file mode 100644 index 0000000..9a48902 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-request-timeout/index.html @@ -0,0 +1,141 @@ + + + + + RequestTimeout + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestTimeout

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/code.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/code.html new file mode 100644 index 0000000..1ff0415 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/code.html @@ -0,0 +1,87 @@ + + + + + code + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

code

+
+
open override val code: Int(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/entries.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/entries.html new file mode 100644 index 0000000..cc254b9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/entries.html @@ -0,0 +1,87 @@ + + + + + entries + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/index.html new file mode 100644 index 0000000..8eac60e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/index.html @@ -0,0 +1,299 @@ + + + + + Defined + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Defined

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/value-of.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/value-of.html new file mode 100644 index 0000000..32ef915 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/value-of.html @@ -0,0 +1,87 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/values.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/values.html new file mode 100644 index 0000000..22c9599 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/values.html @@ -0,0 +1,87 @@ + + + + + values + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/-unknown.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/-unknown.html new file mode 100644 index 0000000..774aed6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/-unknown.html @@ -0,0 +1,87 @@ + + + + + Unknown + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Unknown

+
+
constructor(code: Int)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/code.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/code.html new file mode 100644 index 0000000..509f47a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/code.html @@ -0,0 +1,87 @@ + + + + + code + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

code

+
+
open override val code: Int(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/index.html new file mode 100644 index 0000000..b394f9f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/index.html @@ -0,0 +1,130 @@ + + + + + Unknown + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Unknown

+
@Serializable
data class Unknown(val code: Int) : ErrorCode(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(code: Int)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val code: Int
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/code.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/code.html new file mode 100644 index 0000000..0f7350b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/code.html @@ -0,0 +1,87 @@ + + + + + code + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

code

+
+
abstract val code: Int(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/index.html new file mode 100644 index 0000000..2224632 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/index.html @@ -0,0 +1,145 @@ + + + + + ErrorCode + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ErrorCode

+
@Serializable(with = ErrorCodeSerializer::class)
sealed interface ErrorCode(source)

An incomplete set of error codes that may appear in JSON-RPC responses.

Inheritors

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum Defined : Enum<ErrorCode.Defined> , ErrorCode
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Unknown(val code: Int) : ErrorCode
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val code: Int
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/-get-prompt-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/-get-prompt-request.html new file mode 100644 index 0000000..fa4bd45 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/-get-prompt-request.html @@ -0,0 +1,87 @@ + + + + + GetPromptRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

GetPromptRequest

+
+
constructor(name: String, arguments: Map<String, String>?, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/_meta.html new file mode 100644 index 0000000..7f7c330 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/arguments.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/arguments.html new file mode 100644 index 0000000..70048d3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/arguments.html @@ -0,0 +1,87 @@ + + + + + arguments + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

arguments

+
+

Arguments to use for templating the prompt.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/index.html new file mode 100644 index 0000000..800648d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/index.html @@ -0,0 +1,175 @@ + + + + + GetPromptRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

GetPromptRequest

+
@Serializable
data class GetPromptRequest(val name: String, val arguments: Map<String, String>?, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

Used by the client to get a prompt provided by the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, arguments: Map<String, String>?, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Arguments to use for templating the prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the prompt or prompt template.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/method.html new file mode 100644 index 0000000..eceeea6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/name.html new file mode 100644 index 0000000..6900431 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

The name of the prompt or prompt template.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/-get-prompt-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/-get-prompt-result.html new file mode 100644 index 0000000..e38da18 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/-get-prompt-result.html @@ -0,0 +1,87 @@ + + + + + GetPromptResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

GetPromptResult

+
+
constructor(description: String?, messages: List<PromptMessage>, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/_meta.html new file mode 100644 index 0000000..90887a7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/description.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/description.html new file mode 100644 index 0000000..c68b094 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/description.html @@ -0,0 +1,87 @@ + + + + + description + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+

An optional description for the prompt.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/index.html new file mode 100644 index 0000000..6fc57b5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/index.html @@ -0,0 +1,160 @@ + + + + + GetPromptResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

GetPromptResult

+
@Serializable
class GetPromptResult(val description: String?, val messages: List<PromptMessage>, val _meta: JsonObject = EmptyJsonObject) : ServerResult(source)

The server's response to a prompts/get request from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(description: String?, messages: List<PromptMessage>, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional description for the prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/messages.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/messages.html new file mode 100644 index 0000000..4e54d5b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/messages.html @@ -0,0 +1,87 @@ + + + + + messages + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

messages

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/-t-y-p-e.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/-t-y-p-e.html new file mode 100644 index 0000000..59d0593 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/-t-y-p-e.html @@ -0,0 +1,87 @@ + + + + + TYPE + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE

+
+
const val TYPE: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/index.html new file mode 100644 index 0000000..1aecab8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/index.html @@ -0,0 +1,111 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
const val TYPE: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-image-content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-image-content.html new file mode 100644 index 0000000..931d04b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-image-content.html @@ -0,0 +1,87 @@ + + + + + ImageContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ImageContent

+
+
constructor(data: String, mimeType: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/data.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/data.html new file mode 100644 index 0000000..d3f0477 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/data.html @@ -0,0 +1,87 @@ + + + + + data + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

data

+
+

The base64-encoded image data.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/index.html new file mode 100644 index 0000000..a110dfd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/index.html @@ -0,0 +1,179 @@ + + + + + ImageContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ImageContent

+
@Serializable
data class ImageContent(val data: String, val mimeType: String) : PromptMessageContentTextOrImage(source)

An image provided to or from an LLM.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(data: String, mimeType: String)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The base64-encoded image data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The MIME type of the image. Different providers may support different image types.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/mime-type.html new file mode 100644 index 0000000..e960a3b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+

The MIME type of the image. Different providers may support different image types.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/type.html new file mode 100644 index 0000000..9088343 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/-implementation.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/-implementation.html new file mode 100644 index 0000000..8244986 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/-implementation.html @@ -0,0 +1,87 @@ + + + + + Implementation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Implementation

+
+
constructor(name: String, version: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/index.html new file mode 100644 index 0000000..0871d70 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/index.html @@ -0,0 +1,145 @@ + + + + + Implementation + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Implementation

+
@Serializable
data class Implementation(val name: String, val version: String)(source)

Describes the name and version of an MCP implementation.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, version: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/name.html new file mode 100644 index 0000000..c9b5874 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/version.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/version.html new file mode 100644 index 0000000..92a5966 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/version.html @@ -0,0 +1,87 @@ + + + + + version + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

version

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/-initialize-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/-initialize-request.html new file mode 100644 index 0000000..fe67911 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/-initialize-request.html @@ -0,0 +1,87 @@ + + + + + InitializeRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InitializeRequest

+
+
constructor(protocolVersion: String, capabilities: ClientCapabilities, clientInfo: Implementation, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/_meta.html new file mode 100644 index 0000000..43fb87d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/capabilities.html new file mode 100644 index 0000000..b736654 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/capabilities.html @@ -0,0 +1,87 @@ + + + + + capabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

capabilities

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/client-info.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/client-info.html new file mode 100644 index 0000000..e7af269 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/client-info.html @@ -0,0 +1,87 @@ + + + + + clientInfo + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

clientInfo

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/index.html new file mode 100644 index 0000000..090bb75 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/index.html @@ -0,0 +1,190 @@ + + + + + InitializeRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InitializeRequest

+
@Serializable
data class InitializeRequest(val protocolVersion: String, val capabilities: ClientCapabilities, val clientInfo: Implementation, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

This request is sent from the client to the server when it first connects, asking it to begin initialization.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(protocolVersion: String, capabilities: ClientCapabilities, clientInfo: Implementation, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/method.html new file mode 100644 index 0000000..0b0dd18 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/protocol-version.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/protocol-version.html new file mode 100644 index 0000000..0cbbed6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/protocol-version.html @@ -0,0 +1,87 @@ + + + + + protocolVersion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

protocolVersion

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/-initialize-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/-initialize-result.html new file mode 100644 index 0000000..6f3f15f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/-initialize-result.html @@ -0,0 +1,87 @@ + + + + + InitializeResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InitializeResult

+
+
constructor(protocolVersion: String = LATEST_PROTOCOL_VERSION, capabilities: ServerCapabilities = ServerCapabilities(), serverInfo: Implementation, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/_meta.html new file mode 100644 index 0000000..24774c5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/capabilities.html new file mode 100644 index 0000000..6e936ce --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/capabilities.html @@ -0,0 +1,87 @@ + + + + + capabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

capabilities

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/index.html new file mode 100644 index 0000000..fefebae --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/index.html @@ -0,0 +1,175 @@ + + + + + InitializeResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InitializeResult

+
@Serializable
data class InitializeResult(val protocolVersion: String = LATEST_PROTOCOL_VERSION, val capabilities: ServerCapabilities = ServerCapabilities(), val serverInfo: Implementation, val _meta: JsonObject = EmptyJsonObject) : ServerResult(source)

After receiving an initialized request from the client, the server sends this response.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(protocolVersion: String = LATEST_PROTOCOL_VERSION, capabilities: ServerCapabilities = ServerCapabilities(), serverInfo: Implementation, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The version of the Model Context Protocol that the server wants to use. This may not match the version that the client requested. If the client cannot support this version, it MUST disconnect.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/protocol-version.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/protocol-version.html new file mode 100644 index 0000000..6b33094 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/protocol-version.html @@ -0,0 +1,87 @@ + + + + + protocolVersion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

protocolVersion

+
+

The version of the Model Context Protocol that the server wants to use. This may not match the version that the client requested. If the client cannot support this version, it MUST disconnect.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/server-info.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/server-info.html new file mode 100644 index 0000000..8b89305 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/server-info.html @@ -0,0 +1,87 @@ + + + + + serverInfo + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

serverInfo

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/-initialized-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/-initialized-notification.html new file mode 100644 index 0000000..4db2ac7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/-initialized-notification.html @@ -0,0 +1,87 @@ + + + + + InitializedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InitializedNotification

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/index.html new file mode 100644 index 0000000..4ae5e41 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/index.html @@ -0,0 +1,130 @@ + + + + + InitializedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

InitializedNotification

+

This notification is sent from the client to the server after initialization has finished.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/method.html new file mode 100644 index 0000000..705c578 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/-j-s-o-n-r-p-c-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/-j-s-o-n-r-p-c-error.html new file mode 100644 index 0000000..edacf30 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/-j-s-o-n-r-p-c-error.html @@ -0,0 +1,87 @@ + + + + + JSONRPCError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCError

+
+
constructor(code: ErrorCode, message: String, data: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/code.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/code.html new file mode 100644 index 0000000..9285ebf --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/code.html @@ -0,0 +1,87 @@ + + + + + code + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

code

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/data.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/data.html new file mode 100644 index 0000000..8f63229 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/data.html @@ -0,0 +1,87 @@ + + + + + data + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

data

+
+
val data: JsonObject(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/index.html new file mode 100644 index 0000000..f6aad0e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/index.html @@ -0,0 +1,160 @@ + + + + + JSONRPCError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCError

+
@Serializable
data class JSONRPCError(val code: ErrorCode, val message: String, val data: JsonObject = EmptyJsonObject) : JSONRPCMessage(source)

A response to a request that indicates an error occurred.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(code: ErrorCode, message: String, data: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: JsonObject
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/message.html new file mode 100644 index 0000000..89afda2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/message.html @@ -0,0 +1,87 @@ + + + + + message + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

message

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-message/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-message/index.html new file mode 100644 index 0000000..f02b03f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-message/index.html @@ -0,0 +1,91 @@ + + + + + JSONRPCMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCMessage

+
@Serializable(with = JSONRPCMessagePolymorphicSerializer::class)
sealed interface JSONRPCMessage(source)

Represents a JSON-RPC message in the protocol.

Inheritors

+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/-j-s-o-n-r-p-c-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/-j-s-o-n-r-p-c-notification.html new file mode 100644 index 0000000..d3828db --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/-j-s-o-n-r-p-c-notification.html @@ -0,0 +1,87 @@ + + + + + JSONRPCNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCNotification

+
+
constructor(method: String, params: JsonElement = EmptyJsonObject, jsonrpc: String = JSONRPC_VERSION)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/index.html new file mode 100644 index 0000000..17da15a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/index.html @@ -0,0 +1,160 @@ + + + + + JSONRPCNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCNotification

+
@Serializable
data class JSONRPCNotification(val method: String, val params: JsonElement = EmptyJsonObject, val jsonrpc: String = JSONRPC_VERSION) : JSONRPCMessage(source)

A notification which does not expect a response.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(method: String, params: JsonElement = EmptyJsonObject, jsonrpc: String = JSONRPC_VERSION)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val params: JsonElement
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/jsonrpc.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/jsonrpc.html new file mode 100644 index 0000000..b82e96e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/jsonrpc.html @@ -0,0 +1,87 @@ + + + + + jsonrpc + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

jsonrpc

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/method.html new file mode 100644 index 0000000..d85cc9a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/params.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/params.html new file mode 100644 index 0000000..81c26d9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/params.html @@ -0,0 +1,87 @@ + + + + + params + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

params

+
+
val params: JsonElement(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/-j-s-o-n-r-p-c-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/-j-s-o-n-r-p-c-request.html new file mode 100644 index 0000000..a5ba135 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/-j-s-o-n-r-p-c-request.html @@ -0,0 +1,87 @@ + + + + + JSONRPCRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCRequest

+
+
constructor(id: RequestId = REQUEST_MESSAGE_ID.incrementAndGet(), method: String, params: JsonElement? = null, jsonrpc: String = JSONRPC_VERSION)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/id.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/id.html new file mode 100644 index 0000000..62ae29f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/id.html @@ -0,0 +1,87 @@ + + + + + id + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

id

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/index.html new file mode 100644 index 0000000..0519f62 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/index.html @@ -0,0 +1,175 @@ + + + + + JSONRPCRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCRequest

+
@Serializable
data class JSONRPCRequest(val id: RequestId = REQUEST_MESSAGE_ID.incrementAndGet(), val method: String, val params: JsonElement? = null, val jsonrpc: String = JSONRPC_VERSION) : JSONRPCMessage(source)

A request that expects a response.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: RequestId = REQUEST_MESSAGE_ID.incrementAndGet(), method: String, params: JsonElement? = null, jsonrpc: String = JSONRPC_VERSION)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val params: JsonElement? = null
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/jsonrpc.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/jsonrpc.html new file mode 100644 index 0000000..5ee7086 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/jsonrpc.html @@ -0,0 +1,87 @@ + + + + + jsonrpc + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

jsonrpc

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/method.html new file mode 100644 index 0000000..be6ad5e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/params.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/params.html new file mode 100644 index 0000000..75aa304 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/params.html @@ -0,0 +1,87 @@ + + + + + params + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

params

+
+
val params: JsonElement? = null(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/-j-s-o-n-r-p-c-response.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/-j-s-o-n-r-p-c-response.html new file mode 100644 index 0000000..914eb4d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/-j-s-o-n-r-p-c-response.html @@ -0,0 +1,87 @@ + + + + + JSONRPCResponse + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCResponse

+
+
constructor(id: RequestId, jsonrpc: String = JSONRPC_VERSION, result: RequestResult? = null, error: JSONRPCError? = null)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/error.html new file mode 100644 index 0000000..278896c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/error.html @@ -0,0 +1,87 @@ + + + + + error + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

error

+
+
val error: JSONRPCError? = null(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/id.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/id.html new file mode 100644 index 0000000..1b6218a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/id.html @@ -0,0 +1,87 @@ + + + + + id + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

id

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/index.html new file mode 100644 index 0000000..19035eb --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/index.html @@ -0,0 +1,175 @@ + + + + + JSONRPCResponse + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPCResponse

+
@Serializable
class JSONRPCResponse(val id: RequestId, val jsonrpc: String = JSONRPC_VERSION, val result: RequestResult? = null, val error: JSONRPCError? = null) : JSONRPCMessage(source)

A successful (non-error) response to a request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: RequestId, jsonrpc: String = JSONRPC_VERSION, result: RequestResult? = null, error: JSONRPCError? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val error: JSONRPCError? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val result: RequestResult? = null
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/jsonrpc.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/jsonrpc.html new file mode 100644 index 0000000..69af7d8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/jsonrpc.html @@ -0,0 +1,87 @@ + + + + + jsonrpc + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

jsonrpc

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/result.html new file mode 100644 index 0000000..f88bd33 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/result.html @@ -0,0 +1,87 @@ + + + + + result + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

result

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c_-v-e-r-s-i-o-n.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c_-v-e-r-s-i-o-n.html new file mode 100644 index 0000000..55ac762 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c_-v-e-r-s-i-o-n.html @@ -0,0 +1,87 @@ + + + + + JSONRPC_VERSION + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JSONRPC_VERSION

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-a-t-e-s-t_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-a-t-e-s-t_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n.html new file mode 100644 index 0000000..b158e66 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-a-t-e-s-t_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n.html @@ -0,0 +1,87 @@ + + + + + LATEST_PROTOCOL_VERSION + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LATEST_PROTOCOL_VERSION

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-i-b_-v-e-r-s-i-o-n.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-i-b_-v-e-r-s-i-o-n.html new file mode 100644 index 0000000..f8818e6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-i-b_-v-e-r-s-i-o-n.html @@ -0,0 +1,87 @@ + + + + + LIB_VERSION + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LIB_VERSION

+
+
const val LIB_VERSION: String
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/-list-prompts-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/-list-prompts-request.html new file mode 100644 index 0000000..c9fafe2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/-list-prompts-request.html @@ -0,0 +1,87 @@ + + + + + ListPromptsRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListPromptsRequest

+
+
constructor(cursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/_meta.html new file mode 100644 index 0000000..adbb5d5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/cursor.html new file mode 100644 index 0000000..a63785e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/cursor.html @@ -0,0 +1,87 @@ + + + + + cursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cursor

+
+
open override val cursor: Cursor? = null(source)

The cursor indicating the pagination position.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/index.html new file mode 100644 index 0000000..5ff6625 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/index.html @@ -0,0 +1,160 @@ + + + + + ListPromptsRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListPromptsRequest

+
@Serializable
data class ListPromptsRequest(val cursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest(source)

Sent from the client to request a list of prompts and prompt templates the server has.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(cursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val cursor: Cursor? = null

The cursor indicating the pagination position.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/method.html new file mode 100644 index 0000000..e92ced0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/-list-prompts-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/-list-prompts-result.html new file mode 100644 index 0000000..27d6a68 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/-list-prompts-result.html @@ -0,0 +1,87 @@ + + + + + ListPromptsResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListPromptsResult

+
+
constructor(prompts: List<Prompt>, nextCursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/_meta.html new file mode 100644 index 0000000..ddd13ac --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/index.html new file mode 100644 index 0000000..199c252 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/index.html @@ -0,0 +1,160 @@ + + + + + ListPromptsResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListPromptsResult

+
@Serializable
class ListPromptsResult(val prompts: List<Prompt>, val nextCursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult(source)

The server's response to a prompts/list request from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(prompts: List<Prompt>, nextCursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val nextCursor: Cursor? = null

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/next-cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/next-cursor.html new file mode 100644 index 0000000..80f1736 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/next-cursor.html @@ -0,0 +1,87 @@ + + + + + nextCursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

nextCursor

+
+
open override val nextCursor: Cursor? = null(source)

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/prompts.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/prompts.html new file mode 100644 index 0000000..beb6c94 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/prompts.html @@ -0,0 +1,87 @@ + + + + + prompts + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

prompts

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/-list-resource-templates-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/-list-resource-templates-request.html new file mode 100644 index 0000000..54e8ff1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/-list-resource-templates-request.html @@ -0,0 +1,87 @@ + + + + + ListResourceTemplatesRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourceTemplatesRequest

+
+
constructor(cursor: Cursor?, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/_meta.html new file mode 100644 index 0000000..d0d90e5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/cursor.html new file mode 100644 index 0000000..2de5d29 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/cursor.html @@ -0,0 +1,87 @@ + + + + + cursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cursor

+
+
open override val cursor: Cursor?(source)

The cursor indicating the pagination position.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/index.html new file mode 100644 index 0000000..341a8e2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/index.html @@ -0,0 +1,160 @@ + + + + + ListResourceTemplatesRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourceTemplatesRequest

+
@Serializable
data class ListResourceTemplatesRequest(val cursor: Cursor?, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest(source)

Sent from the client to request a list of resource templates the server has.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(cursor: Cursor?, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val cursor: Cursor?

The cursor indicating the pagination position.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/method.html new file mode 100644 index 0000000..4c85e06 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/-list-resource-templates-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/-list-resource-templates-result.html new file mode 100644 index 0000000..48e9722 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/-list-resource-templates-result.html @@ -0,0 +1,87 @@ + + + + + ListResourceTemplatesResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourceTemplatesResult

+
+
constructor(resourceTemplates: List<ResourceTemplate>, nextCursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/_meta.html new file mode 100644 index 0000000..445ad68 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/index.html new file mode 100644 index 0000000..e9b4b92 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/index.html @@ -0,0 +1,160 @@ + + + + + ListResourceTemplatesResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourceTemplatesResult

+
@Serializable
class ListResourceTemplatesResult(val resourceTemplates: List<ResourceTemplate>, val nextCursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult(source)

The server's response to a resources/templates/list request from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(resourceTemplates: List<ResourceTemplate>, nextCursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val nextCursor: Cursor? = null

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/next-cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/next-cursor.html new file mode 100644 index 0000000..2c8fbe9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/next-cursor.html @@ -0,0 +1,87 @@ + + + + + nextCursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

nextCursor

+
+
open override val nextCursor: Cursor? = null(source)

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/resource-templates.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/resource-templates.html new file mode 100644 index 0000000..6d4f47c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/resource-templates.html @@ -0,0 +1,87 @@ + + + + + resourceTemplates + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resourceTemplates

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/-list-resources-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/-list-resources-request.html new file mode 100644 index 0000000..ed74273 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/-list-resources-request.html @@ -0,0 +1,87 @@ + + + + + ListResourcesRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourcesRequest

+
+
constructor(cursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/_meta.html new file mode 100644 index 0000000..92fd10e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/cursor.html new file mode 100644 index 0000000..02b3d91 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/cursor.html @@ -0,0 +1,87 @@ + + + + + cursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cursor

+
+
open override val cursor: Cursor? = null(source)

The cursor indicating the pagination position.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/index.html new file mode 100644 index 0000000..43b81a6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/index.html @@ -0,0 +1,160 @@ + + + + + ListResourcesRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourcesRequest

+
@Serializable
data class ListResourcesRequest(val cursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest(source)

Sent from the client to request a list of resources the server has.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(cursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val cursor: Cursor? = null

The cursor indicating the pagination position.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/method.html new file mode 100644 index 0000000..fbf1d99 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/-list-resources-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/-list-resources-result.html new file mode 100644 index 0000000..e3945e6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/-list-resources-result.html @@ -0,0 +1,87 @@ + + + + + ListResourcesResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourcesResult

+
+
constructor(resources: List<Resource>, nextCursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/_meta.html new file mode 100644 index 0000000..b14569c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/index.html new file mode 100644 index 0000000..da4bcba --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/index.html @@ -0,0 +1,160 @@ + + + + + ListResourcesResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListResourcesResult

+
@Serializable
class ListResourcesResult(val resources: List<Resource>, val nextCursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult(source)

The server's response to a resources/list request from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(resources: List<Resource>, nextCursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val nextCursor: Cursor? = null

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/next-cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/next-cursor.html new file mode 100644 index 0000000..0445d20 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/next-cursor.html @@ -0,0 +1,87 @@ + + + + + nextCursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

nextCursor

+
+
open override val nextCursor: Cursor? = null(source)

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/resources.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/resources.html new file mode 100644 index 0000000..5efa115 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/resources.html @@ -0,0 +1,87 @@ + + + + + resources + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resources

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/-list-roots-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/-list-roots-request.html new file mode 100644 index 0000000..de94c1a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/-list-roots-request.html @@ -0,0 +1,87 @@ + + + + + ListRootsRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListRootsRequest

+
+
constructor(_meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/_meta.html new file mode 100644 index 0000000..e273307 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/index.html new file mode 100644 index 0000000..f718102 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/index.html @@ -0,0 +1,145 @@ + + + + + ListRootsRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListRootsRequest

+
@Serializable
class ListRootsRequest(val _meta: JsonObject = EmptyJsonObject) : ServerRequest, WithMeta(source)

Sent from the server to request a list of root URIs from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(_meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/method.html new file mode 100644 index 0000000..6f1362b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/-list-roots-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/-list-roots-result.html new file mode 100644 index 0000000..a38b4b1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/-list-roots-result.html @@ -0,0 +1,87 @@ + + + + + ListRootsResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListRootsResult

+
+
constructor(roots: List<Root>, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/_meta.html new file mode 100644 index 0000000..6d07224 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/index.html new file mode 100644 index 0000000..5448903 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/index.html @@ -0,0 +1,145 @@ + + + + + ListRootsResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListRootsResult

+
@Serializable
class ListRootsResult(val roots: List<Root>, val _meta: JsonObject = EmptyJsonObject) : ClientResult(source)

The client's response to a roots/list request from the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(roots: List<Root>, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/roots.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/roots.html new file mode 100644 index 0000000..440228b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/roots.html @@ -0,0 +1,87 @@ + + + + + roots + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

roots

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/-list-tools-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/-list-tools-request.html new file mode 100644 index 0000000..683e009 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/-list-tools-request.html @@ -0,0 +1,87 @@ + + + + + ListToolsRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListToolsRequest

+
+
constructor(cursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/_meta.html new file mode 100644 index 0000000..293b1b8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/cursor.html new file mode 100644 index 0000000..d5b6849 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/cursor.html @@ -0,0 +1,87 @@ + + + + + cursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cursor

+
+
open override val cursor: Cursor? = null(source)

The cursor indicating the pagination position.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/index.html new file mode 100644 index 0000000..c371085 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/index.html @@ -0,0 +1,160 @@ + + + + + ListToolsRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListToolsRequest

+
@Serializable
data class ListToolsRequest(val cursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest(source)

Sent from the client to request a list of tools the server has.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(cursor: Cursor? = null, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val cursor: Cursor? = null

The cursor indicating the pagination position.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/method.html new file mode 100644 index 0000000..3257e2b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/-list-tools-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/-list-tools-result.html new file mode 100644 index 0000000..ab66e54 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/-list-tools-result.html @@ -0,0 +1,87 @@ + + + + + ListToolsResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListToolsResult

+
+
constructor(tools: List<Tool>, nextCursor: Cursor?, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/_meta.html new file mode 100644 index 0000000..0d53b19 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/index.html new file mode 100644 index 0000000..ab89cf1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/index.html @@ -0,0 +1,160 @@ + + + + + ListToolsResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ListToolsResult

+
@Serializable
class ListToolsResult(val tools: List<Tool>, val nextCursor: Cursor?, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult(source)

The server's response to a tools/list request from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(tools: List<Tool>, nextCursor: Cursor?, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val nextCursor: Cursor?

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/next-cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/next-cursor.html new file mode 100644 index 0000000..d07e90c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/next-cursor.html @@ -0,0 +1,87 @@ + + + + + nextCursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

nextCursor

+
+
open override val nextCursor: Cursor?(source)

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/tools.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/tools.html new file mode 100644 index 0000000..332f67a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/tools.html @@ -0,0 +1,87 @@ + + + + + tools + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

tools

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/alert/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/alert/index.html new file mode 100644 index 0000000..0f052a9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/alert/index.html @@ -0,0 +1,126 @@ + + + + + alert + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

alert

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/critical/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/critical/index.html new file mode 100644 index 0000000..6454924 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/critical/index.html @@ -0,0 +1,126 @@ + + + + + critical + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

critical

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/debug/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/debug/index.html new file mode 100644 index 0000000..431e661 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/debug/index.html @@ -0,0 +1,126 @@ + + + + + debug + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

debug

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/emergency/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/emergency/index.html new file mode 100644 index 0000000..2ccc93c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/emergency/index.html @@ -0,0 +1,126 @@ + + + + + emergency + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

emergency

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/entries.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/entries.html new file mode 100644 index 0000000..eb87e96 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/entries.html @@ -0,0 +1,87 @@ + + + + + entries + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/error/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/error/index.html new file mode 100644 index 0000000..c2b5fc0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/error/index.html @@ -0,0 +1,126 @@ + + + + + error + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

error

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/index.html new file mode 100644 index 0000000..e8f9374 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/index.html @@ -0,0 +1,299 @@ + + + + + LoggingLevel + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LoggingLevel

+
@Serializable
enum LoggingLevel : Enum<LoggingLevel> (source)

The severity of a log message.

+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/info/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/info/index.html new file mode 100644 index 0000000..2dc4488 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/info/index.html @@ -0,0 +1,126 @@ + + + + + info + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

info

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/notice/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/notice/index.html new file mode 100644 index 0000000..aabe45d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/notice/index.html @@ -0,0 +1,126 @@ + + + + + notice + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

notice

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/value-of.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/value-of.html new file mode 100644 index 0000000..d45232f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/value-of.html @@ -0,0 +1,87 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/values.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/values.html new file mode 100644 index 0000000..a8c190e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/values.html @@ -0,0 +1,87 @@ + + + + + values + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/warning/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/warning/index.html new file mode 100644 index 0000000..6877542 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/warning/index.html @@ -0,0 +1,126 @@ + + + + + warning + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

warning

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-logging-message-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-logging-message-notification.html new file mode 100644 index 0000000..28be875 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-logging-message-notification.html @@ -0,0 +1,87 @@ + + + + + LoggingMessageNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LoggingMessageNotification

+
+
constructor(level: LoggingLevel, logger: String? = null, data: JsonObject = EmptyJsonObject, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/-set-level-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/-set-level-request.html new file mode 100644 index 0000000..f6ceeee --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/-set-level-request.html @@ -0,0 +1,87 @@ + + + + + SetLevelRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SetLevelRequest

+
+
constructor(level: LoggingLevel, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/_meta.html new file mode 100644 index 0000000..c7c8cc3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/index.html new file mode 100644 index 0000000..34fbe45 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/index.html @@ -0,0 +1,160 @@ + + + + + SetLevelRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SetLevelRequest

+
@Serializable
data class SetLevelRequest(val level: LoggingLevel, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

A request from the client to the server to enable or adjust logging.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(level: LoggingLevel, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The level of logging that the client wants to receive from the server. The server should send all logs at this level and higher (i.e., more severe) to the client as notifications/logging/message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/level.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/level.html new file mode 100644 index 0000000..ea17f30 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/level.html @@ -0,0 +1,87 @@ + + + + + level + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

level

+
+

The level of logging that the client wants to receive from the server. The server should send all logs at this level and higher (i.e., more severe) to the client as notifications/logging/message.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/method.html new file mode 100644 index 0000000..e258f3d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/_meta.html new file mode 100644 index 0000000..d181a3a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/data.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/data.html new file mode 100644 index 0000000..7312b13 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/data.html @@ -0,0 +1,87 @@ + + + + + data + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

data

+
+
val data: JsonObject(source)

The data to be logged, such as a string message or an object. Any JSON serializable type is allowed here.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/index.html new file mode 100644 index 0000000..bc99bcb --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/index.html @@ -0,0 +1,209 @@ + + + + + LoggingMessageNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LoggingMessageNotification

+
@Serializable
data class LoggingMessageNotification(val level: LoggingLevel, val logger: String? = null, val data: JsonObject = EmptyJsonObject, val _meta: JsonObject = EmptyJsonObject) : ServerNotification, WithMeta(source)

Notification of a log message passed from server to client. If no logging level request has been sent from the client, the server MAY decide which messages to send automatically.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(level: LoggingLevel, logger: String? = null, data: JsonObject = EmptyJsonObject, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class SetLevelRequest(val level: LoggingLevel, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

A request from the client to the server to enable or adjust logging.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: JsonObject

The data to be logged, such as a string message or an object. Any JSON serializable type is allowed here.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The severity of this log message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val logger: String? = null

An optional name of the logger issuing this message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/level.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/level.html new file mode 100644 index 0000000..1562f3c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/level.html @@ -0,0 +1,87 @@ + + + + + level + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

level

+
+

The severity of this log message.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/logger.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/logger.html new file mode 100644 index 0000000..edb9087 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/logger.html @@ -0,0 +1,87 @@ + + + + + logger + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

logger

+
+
val logger: String? = null(source)

An optional name of the logger issuing this message.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/method.html new file mode 100644 index 0000000..2e32714 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/-mcp-error.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/-mcp-error.html new file mode 100644 index 0000000..77389d2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/-mcp-error.html @@ -0,0 +1,87 @@ + + + + + McpError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

McpError

+
+
constructor(code: Int, message: String, data: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/code.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/code.html new file mode 100644 index 0000000..6e41690 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/code.html @@ -0,0 +1,87 @@ + + + + + code + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

code

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/data.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/data.html new file mode 100644 index 0000000..4cb4a11 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/data.html @@ -0,0 +1,87 @@ + + + + + data + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

data

+
+
val data: JsonObject(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/index.html new file mode 100644 index 0000000..c26734a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/index.html @@ -0,0 +1,175 @@ + + + + + McpError + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

McpError

+
class McpError(val code: Int, message: String, val data: JsonObject = EmptyJsonObject) : Exception(source)

Represents an error specific to the MCP protocol.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(code: Int, message: String, data: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val code: Int

The error code.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: JsonObject

Additional error data as a JSON object.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val message: String

The error message.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/message.html new file mode 100644 index 0000000..6c8a12f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/message.html @@ -0,0 +1,87 @@ + + + + + message + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

message

+
+
open override val message: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/-custom.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/-custom.html new file mode 100644 index 0000000..985a991 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/-custom.html @@ -0,0 +1,87 @@ + + + + + Custom + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Custom

+
+
constructor(value: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/index.html new file mode 100644 index 0000000..1f0840a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/index.html @@ -0,0 +1,130 @@ + + + + + Custom + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Custom

+
@Serializable
data class Custom(val value: String) : Method(source)

Represents a custom method defined by the user.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(value: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/value.html new file mode 100644 index 0000000..b1353c8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
open override val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-completion-complete/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-completion-complete/index.html new file mode 100644 index 0000000..65f9de0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-completion-complete/index.html @@ -0,0 +1,141 @@ + + + + + CompletionComplete + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CompletionComplete

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-initialize/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-initialize/index.html new file mode 100644 index 0000000..5dd42c1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-initialize/index.html @@ -0,0 +1,141 @@ + + + + + Initialize + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Initialize

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-logging-set-level/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-logging-set-level/index.html new file mode 100644 index 0000000..0a8d5c8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-logging-set-level/index.html @@ -0,0 +1,141 @@ + + + + + LoggingSetLevel + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LoggingSetLevel

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-cancelled/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-cancelled/index.html new file mode 100644 index 0000000..636fff8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-cancelled/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsCancelled + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsCancelled

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-initialized/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-initialized/index.html new file mode 100644 index 0000000..ff7b085 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-initialized/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsInitialized + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsInitialized

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-message/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-message/index.html new file mode 100644 index 0000000..31fe987 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-message/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsMessage

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-progress/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-progress/index.html new file mode 100644 index 0000000..a376231 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-progress/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsProgress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsProgress

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-prompts-list-changed/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-prompts-list-changed/index.html new file mode 100644 index 0000000..793a741 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-prompts-list-changed/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsPromptsListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsPromptsListChanged

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-list-changed/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-list-changed/index.html new file mode 100644 index 0000000..388dd51 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-list-changed/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsResourcesListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsResourcesListChanged

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-updated/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-updated/index.html new file mode 100644 index 0000000..bd61d5f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-updated/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsResourcesUpdated + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsResourcesUpdated

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-roots-list-changed/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-roots-list-changed/index.html new file mode 100644 index 0000000..4fc3e68 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-roots-list-changed/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsRootsListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsRootsListChanged

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-tools-list-changed/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-tools-list-changed/index.html new file mode 100644 index 0000000..ea4dda5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-tools-list-changed/index.html @@ -0,0 +1,141 @@ + + + + + NotificationsToolsListChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotificationsToolsListChanged

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-ping/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-ping/index.html new file mode 100644 index 0000000..453219f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-ping/index.html @@ -0,0 +1,141 @@ + + + + + Ping + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Ping

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-get/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-get/index.html new file mode 100644 index 0000000..d58d925 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-get/index.html @@ -0,0 +1,141 @@ + + + + + PromptsGet + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptsGet

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-list/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-list/index.html new file mode 100644 index 0000000..b7e4df6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-list/index.html @@ -0,0 +1,141 @@ + + + + + PromptsList + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptsList

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-list/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-list/index.html new file mode 100644 index 0000000..60a94a0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-list/index.html @@ -0,0 +1,141 @@ + + + + + ResourcesList + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourcesList

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-read/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-read/index.html new file mode 100644 index 0000000..7e49edc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-read/index.html @@ -0,0 +1,141 @@ + + + + + ResourcesRead + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourcesRead

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-subscribe/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-subscribe/index.html new file mode 100644 index 0000000..001858c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-subscribe/index.html @@ -0,0 +1,141 @@ + + + + + ResourcesSubscribe + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourcesSubscribe

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-templates-list/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-templates-list/index.html new file mode 100644 index 0000000..aa53463 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-templates-list/index.html @@ -0,0 +1,141 @@ + + + + + ResourcesTemplatesList + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourcesTemplatesList

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-unsubscribe/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-unsubscribe/index.html new file mode 100644 index 0000000..6e3454a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-unsubscribe/index.html @@ -0,0 +1,141 @@ + + + + + ResourcesUnsubscribe + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourcesUnsubscribe

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-roots-list/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-roots-list/index.html new file mode 100644 index 0000000..fce1176 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-roots-list/index.html @@ -0,0 +1,141 @@ + + + + + RootsList + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RootsList

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-sampling-create-message/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-sampling-create-message/index.html new file mode 100644 index 0000000..29e249d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-sampling-create-message/index.html @@ -0,0 +1,141 @@ + + + + + SamplingCreateMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SamplingCreateMessage

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-call/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-call/index.html new file mode 100644 index 0000000..78518f8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-call/index.html @@ -0,0 +1,141 @@ + + + + + ToolsCall + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ToolsCall

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-list/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-list/index.html new file mode 100644 index 0000000..b3ae14d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-list/index.html @@ -0,0 +1,141 @@ + + + + + ToolsList + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ToolsList

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/entries.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/entries.html new file mode 100644 index 0000000..00b82d2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/entries.html @@ -0,0 +1,87 @@ + + + + + entries + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/index.html new file mode 100644 index 0000000..560f11c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/index.html @@ -0,0 +1,554 @@ + + + + + Defined + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Defined

+
@Serializable
enum Defined : Enum<Method.Defined> , Method(source)

Enum of predefined methods supported by the protocol.

+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value-of.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value-of.html new file mode 100644 index 0000000..164c79a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value-of.html @@ -0,0 +1,87 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value.html new file mode 100644 index 0000000..adb0cd2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
open override val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/values.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/values.html new file mode 100644 index 0000000..a63f5df --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/values.html @@ -0,0 +1,87 @@ + + + + + values + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/index.html new file mode 100644 index 0000000..445a14d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/index.html @@ -0,0 +1,145 @@ + + + + + Method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Method

+
@Serializable(with = RequestMethodSerializer::class)
sealed interface Method(source)

Represents a method in the protocol, which can be predefined or custom.

Inheritors

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Custom(val value: String) : Method

Represents a custom method defined by the user.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum Defined : Enum<Method.Defined> , Method

Enum of predefined methods supported by the protocol.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/value.html new file mode 100644 index 0000000..acef320 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
abstract val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/-model-hint.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/-model-hint.html new file mode 100644 index 0000000..356caa0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/-model-hint.html @@ -0,0 +1,87 @@ + + + + + ModelHint + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ModelHint

+
+
constructor(name: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/index.html new file mode 100644 index 0000000..d99ba90 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/index.html @@ -0,0 +1,130 @@ + + + + + ModelHint + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ModelHint

+
@Serializable
data class ModelHint(val name: String?)(source)

Hints to use for model selection.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String?

A hint for a model name.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/name.html new file mode 100644 index 0000000..cde923e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

A hint for a model name.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/-model-preferences.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/-model-preferences.html new file mode 100644 index 0000000..25862e8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/-model-preferences.html @@ -0,0 +1,87 @@ + + + + + ModelPreferences + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ModelPreferences

+
+
constructor(hints: List<ModelHint>?, costPriority: Double?, speedPriority: Double?, intelligencePriority: Double?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/cost-priority.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/cost-priority.html new file mode 100644 index 0000000..0da40c7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/cost-priority.html @@ -0,0 +1,87 @@ + + + + + costPriority + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

costPriority

+
+

How much to prioritize cost when selecting a model.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/hints.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/hints.html new file mode 100644 index 0000000..327e024 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/hints.html @@ -0,0 +1,87 @@ + + + + + hints + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hints

+
+

Optional hints to use for model selection.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/index.html new file mode 100644 index 0000000..b9a0769 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/index.html @@ -0,0 +1,175 @@ + + + + + ModelPreferences + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ModelPreferences

+
@Serializable
class ModelPreferences(val hints: List<ModelHint>?, val costPriority: Double?, val speedPriority: Double?, val intelligencePriority: Double?)(source)

The server's preferences for model selection, requested by the client during sampling.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(hints: List<ModelHint>?, costPriority: Double?, speedPriority: Double?, intelligencePriority: Double?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

How much to prioritize cost when selecting a model.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Optional hints to use for model selection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

How much to prioritize intelligence and capabilities when selecting a model.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

How much to prioritize sampling speed (latency) when selecting a model.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/intelligence-priority.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/intelligence-priority.html new file mode 100644 index 0000000..4683117 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/intelligence-priority.html @@ -0,0 +1,87 @@ + + + + + intelligencePriority + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

intelligencePriority

+
+

How much to prioritize intelligence and capabilities when selecting a model.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/speed-priority.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/speed-priority.html new file mode 100644 index 0000000..1e3fa8c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/speed-priority.html @@ -0,0 +1,87 @@ + + + + + speedPriority + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

speedPriority

+
+

How much to prioritize sampling speed (latency) when selecting a model.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/index.html new file mode 100644 index 0000000..bea364e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/index.html @@ -0,0 +1,111 @@ + + + + + Notification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Notification

+
@Serializable(with = NotificationPolymorphicSerializer::class)
sealed interface Notification(source)

Represents a notification in the protocol.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/method.html new file mode 100644 index 0000000..d078623 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
abstract val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/_meta.html new file mode 100644 index 0000000..3514951 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
abstract override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/cursor.html new file mode 100644 index 0000000..4b2d0fd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/cursor.html @@ -0,0 +1,87 @@ + + + + + cursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cursor

+
+
abstract val cursor: Cursor?(source)

The cursor indicating the pagination position.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/index.html new file mode 100644 index 0000000..b92dc75 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/index.html @@ -0,0 +1,141 @@ + + + + + PaginatedRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PaginatedRequest

+
@Serializable
sealed interface PaginatedRequest : Request, WithMeta(source)

Represents a request supporting pagination.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val cursor: Cursor?

The cursor indicating the pagination position.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/index.html new file mode 100644 index 0000000..c238707 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/index.html @@ -0,0 +1,126 @@ + + + + + PaginatedResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PaginatedResult

+
@Serializable
sealed interface PaginatedResult : RequestResult(source)

Represents a paginated result of a request.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val nextCursor: Cursor?

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/next-cursor.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/next-cursor.html new file mode 100644 index 0000000..db655a9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/next-cursor.html @@ -0,0 +1,87 @@ + + + + + nextCursor + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

nextCursor

+
+
abstract val nextCursor: Cursor?(source)

An opaque token representing the pagination position after the last returned result. If present, there may be more results available.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/-ping-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/-ping-request.html new file mode 100644 index 0000000..143be62 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/-ping-request.html @@ -0,0 +1,87 @@ + + + + + PingRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PingRequest

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/index.html new file mode 100644 index 0000000..474ee46 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/index.html @@ -0,0 +1,130 @@ + + + + + PingRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PingRequest

+

A ping, issued by either the server or the client, to check that the other party is still alive. The receiver must promptly respond, or else may be disconnected.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/method.html new file mode 100644 index 0000000..e75cb34 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/index.html new file mode 100644 index 0000000..f6efe02 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/index.html @@ -0,0 +1,126 @@ + + + + + ProgressBase + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProgressBase

+
@Serializable
sealed interface ProgressBase(source)

Represents the base interface for progress tracking.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val progress: Int

The progress thus far. This should increase every time progress is made, even if the total is unknown.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val total: Double?

Total number of items to a process (or total progress required), if known.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/progress.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/progress.html new file mode 100644 index 0000000..6bcf5e2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/progress.html @@ -0,0 +1,87 @@ + + + + + progress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

progress

+
+
abstract val progress: Int(source)

The progress thus far. This should increase every time progress is made, even if the total is unknown.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/total.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/total.html new file mode 100644 index 0000000..6e079d7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/total.html @@ -0,0 +1,87 @@ + + + + + total + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

total

+
+
abstract val total: Double?(source)

Total number of items to a process (or total progress required), if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/-progress-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/-progress-notification.html new file mode 100644 index 0000000..d1b0928 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/-progress-notification.html @@ -0,0 +1,87 @@ + + + + + ProgressNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProgressNotification

+
+
constructor(progress: Int, progressToken: ProgressToken, _meta: JsonObject = EmptyJsonObject, total: Double?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/_meta.html new file mode 100644 index 0000000..e992c16 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
val _meta: JsonObject(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/index.html new file mode 100644 index 0000000..9d2f87c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/index.html @@ -0,0 +1,190 @@ + + + + + ProgressNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProgressNotification

+
@Serializable
data class ProgressNotification(val progress: Int, val progressToken: ProgressToken, val _meta: JsonObject = EmptyJsonObject, val total: Double?) : ClientNotification, ServerNotification, ProgressBase(source)

An out-of-band notification used to inform the receiver of a progress update for a long-running request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(progress: Int, progressToken: ProgressToken, _meta: JsonObject = EmptyJsonObject, total: Double?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val _meta: JsonObject
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val progress: Int

The progress thus far. This should increase every time progress is made, even if the total is unknown.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The progress token, which was given in the initial request, used to associate this notification with the request that is proceeding.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val total: Double?

Total number of items to a process (or total progress required), if known.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/method.html new file mode 100644 index 0000000..de128fa --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress-token.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress-token.html new file mode 100644 index 0000000..de0b21e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress-token.html @@ -0,0 +1,87 @@ + + + + + progressToken + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

progressToken

+
+

The progress token, which was given in the initial request, used to associate this notification with the request that is proceeding.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress.html new file mode 100644 index 0000000..28fcd1e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress.html @@ -0,0 +1,87 @@ + + + + + progress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

progress

+
+
open override val progress: Int(source)

The progress thus far. This should increase every time progress is made, even if the total is unknown.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/total.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/total.html new file mode 100644 index 0000000..84a8bc1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/total.html @@ -0,0 +1,87 @@ + + + + + total + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

total

+
+
open override val total: Double?(source)

Total number of items to a process (or total progress required), if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-token/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-token/index.html new file mode 100644 index 0000000..785339f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-token/index.html @@ -0,0 +1,91 @@ + + + + + ProgressToken + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProgressToken

+

A progress token, used to associate progress notifications with the original request. Stores message ID.

+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/-progress.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/-progress.html new file mode 100644 index 0000000..83b8369 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/-progress.html @@ -0,0 +1,87 @@ + + + + + Progress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Progress

+
+
constructor(progress: Int, total: Double?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/index.html new file mode 100644 index 0000000..0aebb98 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/index.html @@ -0,0 +1,145 @@ + + + + + Progress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Progress

+
@Serializable
open class Progress(val progress: Int, val total: Double?) : ProgressBase(source)

Represents a progress notification.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(progress: Int, total: Double?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val progress: Int

The progress thus far. This should increase every time progress is made, even if the total is unknown.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val total: Double?

Total number of items to a process (or total progress required), if known.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/progress.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/progress.html new file mode 100644 index 0000000..4a43ca8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/progress.html @@ -0,0 +1,87 @@ + + + + + progress + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

progress

+
+
open override val progress: Int(source)

The progress thus far. This should increase every time progress is made, even if the total is unknown.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/total.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/total.html new file mode 100644 index 0000000..37b81bd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/total.html @@ -0,0 +1,87 @@ + + + + + total + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

total

+
+
open override val total: Double?(source)

Total number of items to a process (or total progress required), if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/-prompt-argument.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/-prompt-argument.html new file mode 100644 index 0000000..97c5d3d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/-prompt-argument.html @@ -0,0 +1,87 @@ + + + + + PromptArgument + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptArgument

+
+
constructor(name: String, description: String?, required: Boolean?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/description.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/description.html new file mode 100644 index 0000000..13fdc61 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/description.html @@ -0,0 +1,87 @@ + + + + + description + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+

A human-readable description of the argument.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/index.html new file mode 100644 index 0000000..81627ea --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/index.html @@ -0,0 +1,160 @@ + + + + + PromptArgument + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptArgument

+
@Serializable
data class PromptArgument(val name: String, val description: String?, val required: Boolean?)(source)

Describes an argument that a prompt can accept.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, description: String?, required: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A human-readable description of the argument.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the argument.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether this argument must be provided.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/name.html new file mode 100644 index 0000000..f40429b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

The name of the argument.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/required.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/required.html new file mode 100644 index 0000000..0a61aca --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/required.html @@ -0,0 +1,87 @@ + + + + + required + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

required

+
+

Whether this argument must be provided.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/-prompt-list-changed-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/-prompt-list-changed-notification.html new file mode 100644 index 0000000..2915f02 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/-prompt-list-changed-notification.html @@ -0,0 +1,87 @@ + + + + + PromptListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptListChangedNotification

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/index.html new file mode 100644 index 0000000..ee5842b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/index.html @@ -0,0 +1,130 @@ + + + + + PromptListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptListChangedNotification

+

An optional notification from the server to the client, informing it that the list of prompts it offers has changed. Servers may issue this without any previous subscription from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/method.html new file mode 100644 index 0000000..e70003a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content-text-or-image/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content-text-or-image/index.html new file mode 100644 index 0000000..f7ad9eb --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content-text-or-image/index.html @@ -0,0 +1,111 @@ + + + + + PromptMessageContentTextOrImage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptMessageContentTextOrImage

+
@Serializable(with = PromptMessageContentTextOrImagePolymorphicSerializer::class)
sealed interface PromptMessageContentTextOrImage : PromptMessageContent(source)

Represents prompt message content that is either text or an image.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/index.html new file mode 100644 index 0000000..3e63550 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/index.html @@ -0,0 +1,111 @@ + + + + + PromptMessageContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptMessageContent

+
@Serializable(with = PromptMessageContentPolymorphicSerializer::class)
sealed interface PromptMessageContent(source)

Represents the content of a prompt message.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/type.html new file mode 100644 index 0000000..4426e5f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
abstract val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/-prompt-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/-prompt-message.html new file mode 100644 index 0000000..5634539 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/-prompt-message.html @@ -0,0 +1,87 @@ + + + + + PromptMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptMessage

+
+
constructor(role: Role, content: PromptMessageContent)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/content.html new file mode 100644 index 0000000..9c73f38 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/content.html @@ -0,0 +1,87 @@ + + + + + content + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

content

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/index.html new file mode 100644 index 0000000..d12e161 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/index.html @@ -0,0 +1,145 @@ + + + + + PromptMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptMessage

+
@Serializable
data class PromptMessage(val role: Role, val content: PromptMessageContent)(source)

Describes a message returned as part of a prompt.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(role: Role, content: PromptMessageContent)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val role: Role
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/role.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/role.html new file mode 100644 index 0000000..7ff7b0a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/role.html @@ -0,0 +1,87 @@ + + + + + role + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

role

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/-t-y-p-e.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/-t-y-p-e.html new file mode 100644 index 0000000..e6d1488 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/-t-y-p-e.html @@ -0,0 +1,87 @@ + + + + + TYPE + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE

+
+
const val TYPE: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/index.html new file mode 100644 index 0000000..de77e81 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/index.html @@ -0,0 +1,111 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
const val TYPE: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-prompt-reference.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-prompt-reference.html new file mode 100644 index 0000000..e675899 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-prompt-reference.html @@ -0,0 +1,87 @@ + + + + + PromptReference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptReference

+
+
constructor(name: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/index.html new file mode 100644 index 0000000..77039f9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/index.html @@ -0,0 +1,164 @@ + + + + + PromptReference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PromptReference

+
@Serializable
data class PromptReference(val name: String) : Reference(source)

Identifies a prompt.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the prompt or prompt template

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/name.html new file mode 100644 index 0000000..266f431 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

The name of the prompt or prompt template

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/type.html new file mode 100644 index 0000000..d363138 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/-prompt.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/-prompt.html new file mode 100644 index 0000000..0fdeec5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/-prompt.html @@ -0,0 +1,87 @@ + + + + + Prompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Prompt

+
+
constructor(name: String, description: String?, arguments: List<PromptArgument>?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/arguments.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/arguments.html new file mode 100644 index 0000000..e22ec9e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/arguments.html @@ -0,0 +1,87 @@ + + + + + arguments + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

arguments

+
+

A list of arguments to use for templating the prompt.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/description.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/description.html new file mode 100644 index 0000000..9d2179a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/description.html @@ -0,0 +1,87 @@ + + + + + description + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+

An optional description of what this prompt provides

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/index.html new file mode 100644 index 0000000..123b1cc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/index.html @@ -0,0 +1,160 @@ + + + + + Prompt + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Prompt

+
@Serializable
class Prompt(val name: String, val description: String?, val arguments: List<PromptArgument>?)(source)

A prompt or prompt template that the server offers.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, description: String?, arguments: List<PromptArgument>?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A list of arguments to use for templating the prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional description of what this prompt provides

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the prompt or prompt template.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/name.html new file mode 100644 index 0000000..020af47 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

The name of the prompt or prompt template.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/-read-resource-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/-read-resource-request.html new file mode 100644 index 0000000..ab661e4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/-read-resource-request.html @@ -0,0 +1,87 @@ + + + + + ReadResourceRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ReadResourceRequest

+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/_meta.html new file mode 100644 index 0000000..0a0065c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/index.html new file mode 100644 index 0000000..46684a6 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/index.html @@ -0,0 +1,160 @@ + + + + + ReadResourceRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ReadResourceRequest

+
@Serializable
data class ReadResourceRequest(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

Sent from the client to the server to read a specific resource URI.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/method.html new file mode 100644 index 0000000..ba3c9ee --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/uri.html new file mode 100644 index 0000000..720054d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/-read-resource-result.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/-read-resource-result.html new file mode 100644 index 0000000..85d0023 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/-read-resource-result.html @@ -0,0 +1,87 @@ + + + + + ReadResourceResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ReadResourceResult

+
+
constructor(contents: List<ResourceContents>, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/_meta.html new file mode 100644 index 0000000..a9abcf8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/contents.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/contents.html new file mode 100644 index 0000000..1cda5a1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/contents.html @@ -0,0 +1,87 @@ + + + + + contents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

contents

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/index.html new file mode 100644 index 0000000..eaa2ad5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/index.html @@ -0,0 +1,145 @@ + + + + + ReadResourceResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ReadResourceResult

+
@Serializable
class ReadResourceResult(val contents: List<ResourceContents>, val _meta: JsonObject = EmptyJsonObject) : ServerResult(source)

The server's response to a resources/read request from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(contents: List<ResourceContents>, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/index.html new file mode 100644 index 0000000..1b4388a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/index.html @@ -0,0 +1,111 @@ + + + + + Reference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Reference

+
@Serializable(with = ReferencePolymorphicSerializer::class)
sealed interface Reference(source)

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/type.html new file mode 100644 index 0000000..65bf961 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
abstract val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-id/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-id/index.html new file mode 100644 index 0000000..3571e1a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-id/index.html @@ -0,0 +1,91 @@ + + + + + RequestId + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestId

+
typealias RequestId = Long(source)

A uniquely identifying ID for a request in JSON-RPC.

+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-result/index.html new file mode 100644 index 0000000..0589a4f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-result/index.html @@ -0,0 +1,111 @@ + + + + + RequestResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RequestResult

+
@Serializable(with = RequestResultPolymorphicSerializer::class)
sealed interface RequestResult : WithMeta(source)

Represents the result of a request, including additional metadata.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/index.html new file mode 100644 index 0000000..430cde8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/index.html @@ -0,0 +1,111 @@ + + + + + Request + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Request

+
@Serializable(with = RequestPolymorphicSerializer::class)
sealed interface Request(source)

Represents a request in the protocol.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/method.html new file mode 100644 index 0000000..1f9a7b0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
abstract val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/index.html new file mode 100644 index 0000000..eba43da --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/index.html @@ -0,0 +1,126 @@ + + + + + ResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceContents

+
@Serializable(with = ResourceContentsPolymorphicSerializer::class)
sealed interface ResourceContents(source)

The contents of a specific resource or sub-resource.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val mimeType: String?

The MIME type of this resource, if known.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val uri: String

The URI of this resource.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/mime-type.html new file mode 100644 index 0000000..a69ef5b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+
abstract val mimeType: String?(source)

The MIME type of this resource, if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/uri.html new file mode 100644 index 0000000..1c53b3f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+
abstract val uri: String(source)

The URI of this resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/-resource-list-changed-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/-resource-list-changed-notification.html new file mode 100644 index 0000000..5fa6c95 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/-resource-list-changed-notification.html @@ -0,0 +1,87 @@ + + + + + ResourceListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceListChangedNotification

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/index.html new file mode 100644 index 0000000..f1fc1fc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/index.html @@ -0,0 +1,130 @@ + + + + + ResourceListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceListChangedNotification

+

An optional notification from the server to the client, informing it that the list of resources it can read from has changed. Servers may issue this without any previous subscription from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/method.html new file mode 100644 index 0000000..4baeea7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/-t-y-p-e.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/-t-y-p-e.html new file mode 100644 index 0000000..4fd89be --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/-t-y-p-e.html @@ -0,0 +1,87 @@ + + + + + TYPE + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE

+
+
const val TYPE: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/index.html new file mode 100644 index 0000000..a97f0b3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/index.html @@ -0,0 +1,111 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
const val TYPE: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-resource-reference.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-resource-reference.html new file mode 100644 index 0000000..bfc08af --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-resource-reference.html @@ -0,0 +1,87 @@ + + + + + ResourceReference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceReference

+
+
constructor(uri: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/index.html new file mode 100644 index 0000000..15de40a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/index.html @@ -0,0 +1,164 @@ + + + + + ResourceReference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceReference

+
@Serializable
data class ResourceReference(val uri: String) : Reference(source)

A reference to a resource or resource template definition.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String

The URI or URI template of the resource.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/type.html new file mode 100644 index 0000000..176ea31 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/uri.html new file mode 100644 index 0000000..d2e9da9 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+

The URI or URI template of the resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/-resource-template.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/-resource-template.html new file mode 100644 index 0000000..3cf5566 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/-resource-template.html @@ -0,0 +1,87 @@ + + + + + ResourceTemplate + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceTemplate

+
+
constructor(uriTemplate: String, name: String, description: String?, mimeType: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/description.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/description.html new file mode 100644 index 0000000..d45ef1b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/description.html @@ -0,0 +1,87 @@ + + + + + description + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+

A description of what this template is for.

Clients can use this to improve the LLM's understanding of available resources. It can be thought of as a "hint" to the model.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/index.html new file mode 100644 index 0000000..fdc4683 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/index.html @@ -0,0 +1,175 @@ + + + + + ResourceTemplate + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceTemplate

+
@Serializable
data class ResourceTemplate(val uriTemplate: String, val name: String, val description: String?, val mimeType: String?)(source)

A template description for resources available on the server.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uriTemplate: String, name: String, description: String?, mimeType: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A description of what this template is for.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A human-readable name for the type of resource this template refers to.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A URI template (according to RFC 6570) that can be used to construct resource URIs.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/mime-type.html new file mode 100644 index 0000000..5f2525e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+

The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/name.html new file mode 100644 index 0000000..67723c1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

A human-readable name for the type of resource this template refers to.

Clients can use this to populate UI elements.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/uri-template.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/uri-template.html new file mode 100644 index 0000000..b80e45a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/uri-template.html @@ -0,0 +1,87 @@ + + + + + uriTemplate + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uriTemplate

+
+

A URI template (according to RFC 6570) that can be used to construct resource URIs.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/-resource-updated-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/-resource-updated-notification.html new file mode 100644 index 0000000..f6c8055 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/-resource-updated-notification.html @@ -0,0 +1,87 @@ + + + + + ResourceUpdatedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceUpdatedNotification

+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/_meta.html new file mode 100644 index 0000000..d4f85cf --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/index.html new file mode 100644 index 0000000..4cadc30 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/index.html @@ -0,0 +1,160 @@ + + + + + ResourceUpdatedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ResourceUpdatedNotification

+
@Serializable
data class ResourceUpdatedNotification(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ServerNotification, WithMeta(source)

A notification from the server to the client, informing it that a resource has changed and may need to be read again. This should only be sent if the client previously sent a resources/subscribe request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String

The URI of the resource that has been updated. This might be a sub-resource of the one that the client actually subscribed to.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/method.html new file mode 100644 index 0000000..796d77e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/uri.html new file mode 100644 index 0000000..c83d5bb --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+

The URI of the resource that has been updated. This might be a sub-resource of the one that the client actually subscribed to.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/-resource.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/-resource.html new file mode 100644 index 0000000..973e434 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/-resource.html @@ -0,0 +1,87 @@ + + + + + Resource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Resource

+
+
constructor(uri: String, name: String, description: String?, mimeType: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/description.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/description.html new file mode 100644 index 0000000..790910b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/description.html @@ -0,0 +1,87 @@ + + + + + description + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+

A description of what this resource represents.

Clients can use this to improve the LLM's understanding of available resources. It can be thought of as a "hint" to the model.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/index.html new file mode 100644 index 0000000..9821b2b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/index.html @@ -0,0 +1,175 @@ + + + + + Resource + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Resource

+
@Serializable
data class Resource(val uri: String, val name: String, val description: String?, val mimeType: String?)(source)

A known resource that the server is capable of reading.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, name: String, description: String?, mimeType: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A description of what this resource represents.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The MIME type of this resource, if known.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A human-readable name for this resource.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String

The URI of this resource.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/mime-type.html new file mode 100644 index 0000000..4862fbb --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+

The MIME type of this resource, if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/name.html new file mode 100644 index 0000000..7c3b76a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

A human-readable name for this resource.

Clients can use this to populate UI elements.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/uri.html new file mode 100644 index 0000000..62d6f98 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+

The URI of this resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/assistant/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/assistant/index.html new file mode 100644 index 0000000..9de936e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/assistant/index.html @@ -0,0 +1,126 @@ + + + + + assistant + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

assistant

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/entries.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/entries.html new file mode 100644 index 0000000..c28f66a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/entries.html @@ -0,0 +1,87 @@ + + + + + entries + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/index.html new file mode 100644 index 0000000..1e87c52 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/index.html @@ -0,0 +1,209 @@ + + + + + Role + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Role

+
@Serializable
enum Role : Enum<Role> (source)

Enum representing the role of a participant.

+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun valueOf(value: String): Role

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun values(): Array<Role>

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/user/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/user/index.html new file mode 100644 index 0000000..5da355f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/user/index.html @@ -0,0 +1,126 @@ + + + + + user + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

user

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/value-of.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/value-of.html new file mode 100644 index 0000000..705241e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/value-of.html @@ -0,0 +1,87 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+
fun valueOf(value: String): Role(source)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/values.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/values.html new file mode 100644 index 0000000..842bbbe --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/values.html @@ -0,0 +1,87 @@ + + + + + values + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/-root.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/-root.html new file mode 100644 index 0000000..1b4af5b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/-root.html @@ -0,0 +1,87 @@ + + + + + Root + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Root

+
+
constructor(uri: String, name: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/index.html new file mode 100644 index 0000000..9e672ec --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/index.html @@ -0,0 +1,145 @@ + + + + + Root + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Root

+
@Serializable
data class Root(val uri: String, val name: String?)(source)

Represents a root directory or file that the server can operate on.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, name: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String?

An optional name for the root.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String

The URI identifying the root. This must start with file:// for now.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/name.html new file mode 100644 index 0000000..03d6f42 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

An optional name for the root.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/uri.html new file mode 100644 index 0000000..15262fa --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+

The URI identifying the root. This must start with file:// for now.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/-roots-list-changed-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/-roots-list-changed-notification.html new file mode 100644 index 0000000..551046a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/-roots-list-changed-notification.html @@ -0,0 +1,87 @@ + + + + + RootsListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RootsListChangedNotification

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/index.html new file mode 100644 index 0000000..9e50a87 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/index.html @@ -0,0 +1,130 @@ + + + + + RootsListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RootsListChangedNotification

+

A notification from the client to the server, informing it that the list of roots has changed.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/method.html new file mode 100644 index 0000000..227077b --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-s-u-p-p-o-r-t-e-d_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n-s.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-s-u-p-p-o-r-t-e-d_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n-s.html new file mode 100644 index 0000000..d3110da --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-s-u-p-p-o-r-t-e-d_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n-s.html @@ -0,0 +1,87 @@ + + + + + SUPPORTED_PROTOCOL_VERSIONS + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SUPPORTED_PROTOCOL_VERSIONS

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/-sampling-message.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/-sampling-message.html new file mode 100644 index 0000000..ea7e428 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/-sampling-message.html @@ -0,0 +1,87 @@ + + + + + SamplingMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SamplingMessage

+
+
constructor(role: Role, content: PromptMessageContentTextOrImage)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/content.html new file mode 100644 index 0000000..75358da --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/content.html @@ -0,0 +1,87 @@ + + + + + content + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

content

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/index.html new file mode 100644 index 0000000..f80b6c3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/index.html @@ -0,0 +1,145 @@ + + + + + SamplingMessage + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SamplingMessage

+
@Serializable
data class SamplingMessage(val role: Role, val content: PromptMessageContentTextOrImage)(source)

Describes a message issued to or received from an LLM API.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(role: Role, content: PromptMessageContentTextOrImage)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val role: Role
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/role.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/role.html new file mode 100644 index 0000000..e5b417e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/role.html @@ -0,0 +1,87 @@ + + + + + role + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

role

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/-prompts.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/-prompts.html new file mode 100644 index 0000000..e2638ec --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/-prompts.html @@ -0,0 +1,87 @@ + + + + + Prompts + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Prompts

+
+
constructor(listChanged: Boolean?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/index.html new file mode 100644 index 0000000..ae1908f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/index.html @@ -0,0 +1,130 @@ + + + + + Prompts + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Prompts

+
@Serializable
data class Prompts(val listChanged: Boolean?)(source)

Capabilities related to prompt templates.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(listChanged: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether this server supports issuing notifications for changes to the prompt list.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/list-changed.html new file mode 100644 index 0000000..28dcb93 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/list-changed.html @@ -0,0 +1,87 @@ + + + + + listChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listChanged

+
+

Whether this server supports issuing notifications for changes to the prompt list.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/-resources.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/-resources.html new file mode 100644 index 0000000..b2ee8c0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/-resources.html @@ -0,0 +1,87 @@ + + + + + Resources + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Resources

+
+
constructor(subscribe: Boolean?, listChanged: Boolean?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/index.html new file mode 100644 index 0000000..096f052 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/index.html @@ -0,0 +1,145 @@ + + + + + Resources + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Resources

+
@Serializable
data class Resources(val subscribe: Boolean?, val listChanged: Boolean?)(source)

Capabilities related to resources.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(subscribe: Boolean?, listChanged: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether this server supports issuing notifications for changes to the resource list.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether this server supports clients subscribing to resource updates.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/list-changed.html new file mode 100644 index 0000000..93c6fdc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/list-changed.html @@ -0,0 +1,87 @@ + + + + + listChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listChanged

+
+

Whether this server supports issuing notifications for changes to the resource list.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/subscribe.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/subscribe.html new file mode 100644 index 0000000..b25ffac --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/subscribe.html @@ -0,0 +1,87 @@ + + + + + subscribe + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

subscribe

+
+

Whether this server supports clients subscribing to resource updates.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-server-capabilities.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-server-capabilities.html new file mode 100644 index 0000000..0850060 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-server-capabilities.html @@ -0,0 +1,87 @@ + + + + + ServerCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerCapabilities

+
+
constructor(experimental: JsonObject? = EmptyJsonObject, sampling: JsonObject? = EmptyJsonObject, logging: JsonObject? = EmptyJsonObject, prompts: ServerCapabilities.Prompts? = null, resources: ServerCapabilities.Resources? = null, tools: ServerCapabilities.Tools? = null)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/-tools.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/-tools.html new file mode 100644 index 0000000..fa0ae2d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/-tools.html @@ -0,0 +1,87 @@ + + + + + Tools + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Tools

+
+
constructor(listChanged: Boolean?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/index.html new file mode 100644 index 0000000..94b75f5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/index.html @@ -0,0 +1,130 @@ + + + + + Tools + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Tools

+
@Serializable
data class Tools(val listChanged: Boolean?)(source)

Capabilities related to tools.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(listChanged: Boolean?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether this server supports issuing notifications for changes to the tool list.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/list-changed.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/list-changed.html new file mode 100644 index 0000000..eee4d33 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/list-changed.html @@ -0,0 +1,87 @@ + + + + + listChanged + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

listChanged

+
+

Whether this server supports issuing notifications for changes to the tool list.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/experimental.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/experimental.html new file mode 100644 index 0000000..9bf9921 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/experimental.html @@ -0,0 +1,87 @@ + + + + + experimental + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

experimental

+
+
val experimental: JsonObject?(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/index.html new file mode 100644 index 0000000..c8b79aa --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/index.html @@ -0,0 +1,254 @@ + + + + + ServerCapabilities + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerCapabilities

+
@Serializable
data class ServerCapabilities(val experimental: JsonObject? = EmptyJsonObject, val sampling: JsonObject? = EmptyJsonObject, val logging: JsonObject? = EmptyJsonObject, val prompts: ServerCapabilities.Prompts? = null, val resources: ServerCapabilities.Resources? = null, val tools: ServerCapabilities.Tools? = null)(source)

Represents the capabilities that a server can support.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(experimental: JsonObject? = EmptyJsonObject, sampling: JsonObject? = EmptyJsonObject, logging: JsonObject? = EmptyJsonObject, prompts: ServerCapabilities.Prompts? = null, resources: ServerCapabilities.Resources? = null, tools: ServerCapabilities.Tools? = null)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Prompts(val listChanged: Boolean?)

Capabilities related to prompt templates.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Resources(val subscribe: Boolean?, val listChanged: Boolean?)

Capabilities related to resources.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Tools(val listChanged: Boolean?)

Capabilities related to tools.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val experimental: JsonObject?

Experimental, non-standard capabilities that the server supports.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val logging: JsonObject?

Present if the server supports sending log messages to the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Capabilities related to prompt templates offered by the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Capabilities related to resources available on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val sampling: JsonObject?

Present if the client supports sampling from an LLM.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Capabilities related to tools that can be called on the server.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/logging.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/logging.html new file mode 100644 index 0000000..3f16ef7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/logging.html @@ -0,0 +1,87 @@ + + + + + logging + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

logging

+
+
val logging: JsonObject?(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/prompts.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/prompts.html new file mode 100644 index 0000000..ceaba1e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/prompts.html @@ -0,0 +1,87 @@ + + + + + prompts + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

prompts

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/resources.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/resources.html new file mode 100644 index 0000000..dfc9728 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/resources.html @@ -0,0 +1,87 @@ + + + + + resources + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resources

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/sampling.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/sampling.html new file mode 100644 index 0000000..f455899 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/sampling.html @@ -0,0 +1,87 @@ + + + + + sampling + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sampling

+
+
val sampling: JsonObject?(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/tools.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/tools.html new file mode 100644 index 0000000..516b5bf --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/tools.html @@ -0,0 +1,87 @@ + + + + + tools + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

tools

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-notification/index.html new file mode 100644 index 0000000..2047284 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-notification/index.html @@ -0,0 +1,111 @@ + + + + + ServerNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerNotification

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-request/index.html new file mode 100644 index 0000000..c6fbbc7 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-request/index.html @@ -0,0 +1,111 @@ + + + + + ServerRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerRequest

+
sealed interface ServerRequest : Request(source)

Represents a request sent by the server.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-result/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-result/index.html new file mode 100644 index 0000000..f8123df --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-result/index.html @@ -0,0 +1,111 @@ + + + + + ServerResult + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ServerResult

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/index.html new file mode 100644 index 0000000..480ca37 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/index.html @@ -0,0 +1,111 @@ + + + + + EndTurn + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EndTurn

+
@Serializable
data object EndTurn : StopReason(source)
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/value.html new file mode 100644 index 0000000..1ace265 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
open override val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/index.html new file mode 100644 index 0000000..7b26010 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/index.html @@ -0,0 +1,111 @@ + + + + + MaxTokens + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MaxTokens

+
@Serializable
data object MaxTokens : StopReason(source)
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/value.html new file mode 100644 index 0000000..08957ec --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
open override val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/-other.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/-other.html new file mode 100644 index 0000000..9e81a61 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/-other.html @@ -0,0 +1,87 @@ + + + + + Other + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Other

+
+
constructor(value: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/index.html new file mode 100644 index 0000000..25c82e2 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/index.html @@ -0,0 +1,130 @@ + + + + + Other + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Other

+
@Serializable
value class Other(val value: String) : StopReason(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(value: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/value.html new file mode 100644 index 0000000..42cfe8e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
open override val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/index.html new file mode 100644 index 0000000..a38eb7c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/index.html @@ -0,0 +1,111 @@ + + + + + StopSequence + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

StopSequence

+
@Serializable
data object StopSequence : StopReason(source)
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/value.html new file mode 100644 index 0000000..d42c986 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
open override val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/index.html new file mode 100644 index 0000000..013a571 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/index.html @@ -0,0 +1,175 @@ + + + + + StopReason + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

StopReason

+
@Serializable(with = StopReasonSerializer::class)
sealed interface StopReason(source)

Inheritors

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data object EndTurn : StopReason
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data object MaxTokens : StopReason
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
value class Other(val value: String) : StopReason
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data object StopSequence : StopReason
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val value: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/value.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/value.html new file mode 100644 index 0000000..d8c9f94 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/value.html @@ -0,0 +1,87 @@ + + + + + value + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
abstract val value: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/-subscribe-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/-subscribe-request.html new file mode 100644 index 0000000..944a8a1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/-subscribe-request.html @@ -0,0 +1,87 @@ + + + + + SubscribeRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SubscribeRequest

+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/_meta.html new file mode 100644 index 0000000..4e88007 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/index.html new file mode 100644 index 0000000..981558c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/index.html @@ -0,0 +1,160 @@ + + + + + SubscribeRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SubscribeRequest

+
@Serializable
data class SubscribeRequest(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

Sent from the client to request resources/updated notifications from the server whenever a particular resource changes.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String

The URI of the resource to subscribe to. The URI can use any protocol; it is up to the server how to interpret it.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/method.html new file mode 100644 index 0000000..2cb3a9f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/uri.html new file mode 100644 index 0000000..a81c99d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+

The URI of the resource to subscribe to. The URI can use any protocol; it is up to the server how to interpret it.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/-t-y-p-e.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/-t-y-p-e.html new file mode 100644 index 0000000..95da66f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/-t-y-p-e.html @@ -0,0 +1,87 @@ + + + + + TYPE + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE

+
+
const val TYPE: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/index.html new file mode 100644 index 0000000..0cc7d01 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/index.html @@ -0,0 +1,111 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
const val TYPE: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-text-content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-text-content.html new file mode 100644 index 0000000..5ef7f3a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-text-content.html @@ -0,0 +1,87 @@ + + + + + TextContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TextContent

+
+
constructor(text: String? = null)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/index.html new file mode 100644 index 0000000..c4ff19a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/index.html @@ -0,0 +1,164 @@ + + + + + TextContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TextContent

+
@Serializable
data class TextContent(val text: String? = null) : PromptMessageContentTextOrImage(source)

Text provided to or from an LLM.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(text: String? = null)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val text: String? = null

The text content of the message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/text.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/text.html new file mode 100644 index 0000000..75b4251 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/text.html @@ -0,0 +1,87 @@ + + + + + text + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

text

+
+
val text: String? = null(source)

The text content of the message.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/type.html new file mode 100644 index 0000000..e930a83 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/-text-resource-contents.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/-text-resource-contents.html new file mode 100644 index 0000000..79ecd2c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/-text-resource-contents.html @@ -0,0 +1,87 @@ + + + + + TextResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TextResourceContents

+
+
constructor(text: String, uri: String, mimeType: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/index.html new file mode 100644 index 0000000..43d217c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/index.html @@ -0,0 +1,160 @@ + + + + + TextResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TextResourceContents

+
@Serializable
data class TextResourceContents(val text: String, val uri: String, val mimeType: String?) : ResourceContents(source)

Represents the text contents of a resource.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(text: String, uri: String, mimeType: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val mimeType: String?

The MIME type of this resource, if known.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The text of the item. This must only be set if the item can actually be represented as text (not binary data).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val uri: String

The URI of this resource.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/mime-type.html new file mode 100644 index 0000000..d7f38bd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+
open override val mimeType: String?(source)

The MIME type of this resource, if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/text.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/text.html new file mode 100644 index 0000000..13c09f3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/text.html @@ -0,0 +1,87 @@ + + + + + text + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

text

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/uri.html new file mode 100644 index 0000000..7a1b74f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+
open override val uri: String(source)

The URI of this resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/-tool-list-changed-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/-tool-list-changed-notification.html new file mode 100644 index 0000000..1442756 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/-tool-list-changed-notification.html @@ -0,0 +1,87 @@ + + + + + ToolListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ToolListChangedNotification

+
+
constructor()(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/index.html new file mode 100644 index 0000000..5abd6db --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/index.html @@ -0,0 +1,130 @@ + + + + + ToolListChangedNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ToolListChangedNotification

+

An optional notification from the server to the client, informing it that the list of tools it offers has changed. Servers may issue this without any previous subscription from the client.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/method.html new file mode 100644 index 0000000..eab3afa --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/-input.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/-input.html new file mode 100644 index 0000000..35771a5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/-input.html @@ -0,0 +1,87 @@ + + + + + Input + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Input

+
+
constructor(properties: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/index.html new file mode 100644 index 0000000..9af2097 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/index.html @@ -0,0 +1,145 @@ + + + + + Input + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Input

+
@Serializable
data class Input(val properties: JsonObject = EmptyJsonObject)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(properties: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val properties: JsonObject
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/properties.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/properties.html new file mode 100644 index 0000000..7c328c0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/properties.html @@ -0,0 +1,87 @@ + + + + + properties + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

properties

+
+
val properties: JsonObject(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/type.html new file mode 100644 index 0000000..1a043f0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-tool.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-tool.html new file mode 100644 index 0000000..4b18cf0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-tool.html @@ -0,0 +1,87 @@ + + + + + Tool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Tool

+
+
constructor(name: String, description: String?, inputSchema: Tool.Input)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/description.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/description.html new file mode 100644 index 0000000..108b9b4 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/description.html @@ -0,0 +1,87 @@ + + + + + description + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+

A human-readable description of the tool.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/index.html new file mode 100644 index 0000000..ea28d0d --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/index.html @@ -0,0 +1,179 @@ + + + + + Tool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Tool

+
@Serializable
data class Tool(val name: String, val description: String?, val inputSchema: Tool.Input)(source)

Definition for a tool the client can call.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, description: String?, inputSchema: Tool.Input)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Input(val properties: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A human-readable description of the tool.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A JSON object defining the expected parameters for the tool.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The name of the tool.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/input-schema.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/input-schema.html new file mode 100644 index 0000000..c060397 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/input-schema.html @@ -0,0 +1,87 @@ + + + + + inputSchema + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

inputSchema

+
+

A JSON object defining the expected parameters for the tool.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/name.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/name.html new file mode 100644 index 0000000..02d010c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/name.html @@ -0,0 +1,87 @@ + + + + + name + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+

The name of the tool.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/-unknown-content.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/-unknown-content.html new file mode 100644 index 0000000..829e127 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/-unknown-content.html @@ -0,0 +1,87 @@ + + + + + UnknownContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownContent

+
+
constructor(type: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/index.html new file mode 100644 index 0000000..131e881 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/index.html @@ -0,0 +1,130 @@ + + + + + UnknownContent + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownContent

+
@Serializable
data class UnknownContent(val type: String) : PromptMessageContentTextOrImage(source)

An image provided to or from an LLM.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(type: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/type.html new file mode 100644 index 0000000..3c8922e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/-unknown-method-request-or-notification.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/-unknown-method-request-or-notification.html new file mode 100644 index 0000000..8c636dd --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/-unknown-method-request-or-notification.html @@ -0,0 +1,87 @@ + + + + + UnknownMethodRequestOrNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownMethodRequestOrNotification

+
+
constructor(method: Method)(source)

Parameters

method

The method that is unknown.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/index.html new file mode 100644 index 0000000..e43e25a --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/index.html @@ -0,0 +1,130 @@ + + + + + UnknownMethodRequestOrNotification + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownMethodRequestOrNotification

+

Represents a request or notification for an unknown method.

Parameters

method

The method that is unknown.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(method: Method)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/method.html new file mode 100644 index 0000000..5686d56 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)

Parameters

method

The method that is unknown.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/-unknown-reference.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/-unknown-reference.html new file mode 100644 index 0000000..846bf2c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/-unknown-reference.html @@ -0,0 +1,87 @@ + + + + + UnknownReference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownReference

+
+
constructor(type: String)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/index.html new file mode 100644 index 0000000..a06c2cc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/index.html @@ -0,0 +1,130 @@ + + + + + UnknownReference + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownReference

+
@Serializable
data class UnknownReference(val type: String) : Reference(source)

Identifies a prompt.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(type: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val type: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/type.html new file mode 100644 index 0000000..ab9727c --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/type.html @@ -0,0 +1,87 @@ + + + + + type + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+
open override val type: String(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/-unknown-resource-contents.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/-unknown-resource-contents.html new file mode 100644 index 0000000..5fb8463 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/-unknown-resource-contents.html @@ -0,0 +1,87 @@ + + + + + UnknownResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownResourceContents

+
+
constructor(uri: String, mimeType: String?)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/index.html new file mode 100644 index 0000000..16729f3 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/index.html @@ -0,0 +1,145 @@ + + + + + UnknownResourceContents + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnknownResourceContents

+
@Serializable
data class UnknownResourceContents(val uri: String, val mimeType: String?) : ResourceContents(source)

Represents resource contents with unknown or unspecified data.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, mimeType: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val mimeType: String?

The MIME type of this resource, if known.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val uri: String

The URI of this resource.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/mime-type.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/mime-type.html new file mode 100644 index 0000000..8743e3e --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/mime-type.html @@ -0,0 +1,87 @@ + + + + + mimeType + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mimeType

+
+
open override val mimeType: String?(source)

The MIME type of this resource, if known.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/uri.html new file mode 100644 index 0000000..37078e8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+
open override val uri: String(source)

The URI of this resource.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/-unsubscribe-request.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/-unsubscribe-request.html new file mode 100644 index 0000000..48fd77f --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/-unsubscribe-request.html @@ -0,0 +1,87 @@ + + + + + UnsubscribeRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnsubscribeRequest

+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/_meta.html new file mode 100644 index 0000000..a4e2bd1 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
open override val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/index.html new file mode 100644 index 0000000..44d1bbc --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/index.html @@ -0,0 +1,160 @@ + + + + + UnsubscribeRequest + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UnsubscribeRequest

+
@Serializable
data class UnsubscribeRequest(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta(source)

Sent from the client to request cancellation of resources/updated notifications from the server. This should follow a previous resources/subscribe request.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(uri: String, _meta: JsonObject = EmptyJsonObject)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val method: Method
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String

The URI of the resource to unsubscribe from.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/method.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/method.html new file mode 100644 index 0000000..deeec19 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/method.html @@ -0,0 +1,87 @@ + + + + + method + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

method

+
+
open override val method: Method(source)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/uri.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/uri.html new file mode 100644 index 0000000..fb79b28 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/uri.html @@ -0,0 +1,87 @@ + + + + + uri + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

uri

+
+

The URI of the resource to unsubscribe from.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/-empty.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/-empty.html new file mode 100644 index 0000000..e3361f5 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/-empty.html @@ -0,0 +1,87 @@ + + + + + Empty + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Empty

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/index.html new file mode 100644 index 0000000..f4bf7b0 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/index.html @@ -0,0 +1,111 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/_meta.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/_meta.html new file mode 100644 index 0000000..25f5eee --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/_meta.html @@ -0,0 +1,87 @@ + + + + + _meta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

_meta

+
+
abstract val _meta: JsonObject(source)

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/index.html new file mode 100644 index 0000000..a02f784 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/index.html @@ -0,0 +1,130 @@ + + + + + WithMeta + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + +
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val _meta: JsonObject

The protocol reserves this result property to allow clients and servers to attach additional metadata to their responses.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/index.html b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/index.html new file mode 100644 index 0000000..4b605c8 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/index.html @@ -0,0 +1,1584 @@ + + + + + io.modelcontextprotocol.kotlin.sdk + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class BlobResourceContents(val blob: String, val uri: String, val mimeType: String?) : ResourceContents

Represents the binary contents of a resource encoded as a base64 string.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CallToolRequest(val name: String, val arguments: JsonObject = EmptyJsonObject, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

Used by the client to invoke a tool provided by the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class CallToolResult(val content: List<PromptMessageContent>, val isError: Boolean? = false, val _meta: JsonObject = EmptyJsonObject) : CallToolResultBase

The server's response to a tool call.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed interface CallToolResultBase : ServerResult

The server's response to a tool call.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CancelledNotification(val requestId: RequestId, val reason: String?, val _meta: JsonObject = EmptyJsonObject) : ClientNotification, ServerNotification, WithMeta

This notification can be sent by either side to indicate that it is cancelling a previously issued request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ClientCapabilities(val experimental: JsonObject? = EmptyJsonObject, val sampling: JsonObject? = EmptyJsonObject, val roots: ClientCapabilities.Roots? = null)

Capabilities a client may support. Known capabilities are defined here, in this, but this is not a closed set: any client can define its own, additional capabilities.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClientNotificationPolymorphicSerializer::class)
sealed interface ClientNotification : Notification

Represents a notification sent by the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents a request sent by the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClientResultPolymorphicSerializer::class)
sealed interface ClientResult : RequestResult

Represents a result returned to the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class CompatibilityCallToolResult(val content: List<PromptMessageContent>, val isError: Boolean? = false, val _meta: JsonObject = EmptyJsonObject, val toolResult: JsonObject = EmptyJsonObject) : CallToolResultBase

CallToolResult extended with backwards compatibility to protocol version 2024-10-07.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CompleteRequest(val ref: Reference, val argument: CompleteRequest.Argument, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

A request from the client to the server to ask for completion options.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CompleteResult(val completion: CompleteResult.Completion, val _meta: JsonObject = EmptyJsonObject) : ServerResult

The server's response to a completion/complete request

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CreateMessageRequest(val messages: List<SamplingMessage>, val systemPrompt: String?, val includeContext: CreateMessageRequest.IncludeContext?, val temperature: Double?, val maxTokens: Int, val stopSequences: List<String>?, val metadata: JsonObject = EmptyJsonObject, val modelPreferences: ModelPreferences?, val _meta: JsonObject = EmptyJsonObject) : ServerRequest, WithMeta

A request from the server to sample an LLM via the client. The client has full discretion over which model to select. The client should also inform the user before beginning sampling to allow them to inspect the request (human in the loop) and decide whether to approve it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CreateMessageResult(val model: String, val stopReason: StopReason? = null, val role: Role, val content: PromptMessageContentTextOrImage, val _meta: JsonObject = EmptyJsonObject) : ClientResult

The client's response to a sampling/create_message request from the server. The client should inform the user before returning the sampled message to allow them to inspect the response (human in the loop) and decide whether to allow the server to see it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias Cursor = String

An opaque token used to represent a cursor for pagination.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class CustomMeta(val _meta: JsonObject = EmptyJsonObject) : WithMeta

An implementation of WithMeta containing custom metadata.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
open class CustomRequest(val method: Method) : Request

A custom request with a specified method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class EmbeddedResource(val resource: ResourceContents) : PromptMessageContent

The contents of a resource, embedded into a prompt or tool call result.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class EmptyRequestResult(val _meta: JsonObject = EmptyJsonObject) : ServerResult, ClientResult

An empty result for a request, containing optional metadata.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ErrorCodeSerializer::class)
sealed interface ErrorCode

An incomplete set of error codes that may appear in JSON-RPC responses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class GetPromptRequest(val name: String, val arguments: Map<String, String>?, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

Used by the client to get a prompt provided by the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class GetPromptResult(val description: String?, val messages: List<PromptMessage>, val _meta: JsonObject = EmptyJsonObject) : ServerResult

The server's response to a prompts/get request from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ImageContent(val data: String, val mimeType: String) : PromptMessageContentTextOrImage

An image provided to or from an LLM.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Implementation(val name: String, val version: String)

Describes the name and version of an MCP implementation.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

This notification is sent from the client to the server after initialization has finished.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class InitializeRequest(val protocolVersion: String, val capabilities: ClientCapabilities, val clientInfo: Implementation, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

This request is sent from the client to the server when it first connects, asking it to begin initialization.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class InitializeResult(val protocolVersion: String = LATEST_PROTOCOL_VERSION, val capabilities: ServerCapabilities = ServerCapabilities(), val serverInfo: Implementation, val _meta: JsonObject = EmptyJsonObject) : ServerResult

After receiving an initialized request from the client, the server sends this response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JSONRPCError(val code: ErrorCode, val message: String, val data: JsonObject = EmptyJsonObject) : JSONRPCMessage

A response to a request that indicates an error occurred.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = JSONRPCMessagePolymorphicSerializer::class)
sealed interface JSONRPCMessage

Represents a JSON-RPC message in the protocol.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JSONRPCNotification(val method: String, val params: JsonElement = EmptyJsonObject, val jsonrpc: String = JSONRPC_VERSION) : JSONRPCMessage

A notification which does not expect a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JSONRPCRequest(val id: RequestId = REQUEST_MESSAGE_ID.incrementAndGet(), val method: String, val params: JsonElement? = null, val jsonrpc: String = JSONRPC_VERSION) : JSONRPCMessage

A request that expects a response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class JSONRPCResponse(val id: RequestId, val jsonrpc: String = JSONRPC_VERSION, val result: RequestResult? = null, val error: JSONRPCError? = null) : JSONRPCMessage

A successful (non-error) response to a request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ListPromptsRequest(val cursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest

Sent from the client to request a list of prompts and prompt templates the server has.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ListPromptsResult(val prompts: List<Prompt>, val nextCursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult

The server's response to a prompts/list request from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ListResourcesRequest(val cursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest

Sent from the client to request a list of resources the server has.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ListResourcesResult(val resources: List<Resource>, val nextCursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult

The server's response to a resources/list request from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ListResourceTemplatesRequest(val cursor: Cursor?, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest

Sent from the client to request a list of resource templates the server has.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ListResourceTemplatesResult(val resourceTemplates: List<ResourceTemplate>, val nextCursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult

The server's response to a resources/templates/list request from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ListRootsRequest(val _meta: JsonObject = EmptyJsonObject) : ServerRequest, WithMeta

Sent from the server to request a list of root URIs from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ListRootsResult(val roots: List<Root>, val _meta: JsonObject = EmptyJsonObject) : ClientResult

The client's response to a roots/list request from the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ListToolsRequest(val cursor: Cursor? = null, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, PaginatedRequest

Sent from the client to request a list of tools the server has.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ListToolsResult(val tools: List<Tool>, val nextCursor: Cursor?, val _meta: JsonObject = EmptyJsonObject) : ServerResult, PaginatedResult

The server's response to a tools/list request from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum LoggingLevel : Enum<LoggingLevel>

The severity of a log message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class LoggingMessageNotification(val level: LoggingLevel, val logger: String? = null, val data: JsonObject = EmptyJsonObject, val _meta: JsonObject = EmptyJsonObject) : ServerNotification, WithMeta

Notification of a log message passed from server to client. If no logging level request has been sent from the client, the server MAY decide which messages to send automatically.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class McpError(val code: Int, message: String, val data: JsonObject = EmptyJsonObject) : Exception

Represents an error specific to the MCP protocol.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = RequestMethodSerializer::class)
sealed interface Method

Represents a method in the protocol, which can be predefined or custom.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ModelHint(val name: String?)

Hints to use for model selection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ModelPreferences(val hints: List<ModelHint>?, val costPriority: Double?, val speedPriority: Double?, val intelligencePriority: Double?)

The server's preferences for model selection, requested by the client during sampling.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = NotificationPolymorphicSerializer::class)
sealed interface Notification

Represents a notification in the protocol.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed interface PaginatedRequest : Request, WithMeta

Represents a request supporting pagination.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed interface PaginatedResult : RequestResult

Represents a paginated result of a request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A ping, issued by either the server or the client, to check that the other party is still alive. The receiver must promptly respond, or else may be disconnected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
open class Progress(val progress: Int, val total: Double?) : ProgressBase

Represents a progress notification.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed interface ProgressBase

Represents the base interface for progress tracking.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ProgressNotification(val progress: Int, val progressToken: ProgressToken, val _meta: JsonObject = EmptyJsonObject, val total: Double?) : ClientNotification, ServerNotification, ProgressBase

An out-of-band notification used to inform the receiver of a progress update for a long-running request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias ProgressToken = Long

A progress token, used to associate progress notifications with the original request. Stores message ID.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class Prompt(val name: String, val description: String?, val arguments: List<PromptArgument>?)

A prompt or prompt template that the server offers.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class PromptArgument(val name: String, val description: String?, val required: Boolean?)

Describes an argument that a prompt can accept.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional notification from the server to the client, informing it that the list of prompts it offers has changed. Servers may issue this without any previous subscription from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class PromptMessage(val role: Role, val content: PromptMessageContent)

Describes a message returned as part of a prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = PromptMessageContentPolymorphicSerializer::class)
sealed interface PromptMessageContent

Represents the content of a prompt message.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = PromptMessageContentTextOrImagePolymorphicSerializer::class)
sealed interface PromptMessageContentTextOrImage : PromptMessageContent

Represents prompt message content that is either text or an image.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class PromptReference(val name: String) : Reference

Identifies a prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ReadResourceRequest(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

Sent from the client to the server to read a specific resource URI.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ReadResourceResult(val contents: List<ResourceContents>, val _meta: JsonObject = EmptyJsonObject) : ServerResult

The server's response to a resources/read request from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ReferencePolymorphicSerializer::class)
sealed interface Reference
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = RequestPolymorphicSerializer::class)
sealed interface Request

Represents a request in the protocol.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias RequestId = Long

A uniquely identifying ID for a request in JSON-RPC.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = RequestResultPolymorphicSerializer::class)
sealed interface RequestResult : WithMeta

Represents the result of a request, including additional metadata.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Resource(val uri: String, val name: String, val description: String?, val mimeType: String?)

A known resource that the server is capable of reading.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ResourceContentsPolymorphicSerializer::class)
sealed interface ResourceContents

The contents of a specific resource or sub-resource.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional notification from the server to the client, informing it that the list of resources it can read from has changed. Servers may issue this without any previous subscription from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ResourceReference(val uri: String) : Reference

A reference to a resource or resource template definition.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ResourceTemplate(val uriTemplate: String, val name: String, val description: String?, val mimeType: String?)

A template description for resources available on the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ResourceUpdatedNotification(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ServerNotification, WithMeta

A notification from the server to the client, informing it that a resource has changed and may need to be read again. This should only be sent if the client previously sent a resources/subscribe request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum Role : Enum<Role>

Enum representing the role of a participant.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Root(val uri: String, val name: String?)

Represents a root directory or file that the server can operate on.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A notification from the client to the server, informing it that the list of roots has changed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class SamplingMessage(val role: Role, val content: PromptMessageContentTextOrImage)

Describes a message issued to or received from an LLM API.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ServerCapabilities(val experimental: JsonObject? = EmptyJsonObject, val sampling: JsonObject? = EmptyJsonObject, val logging: JsonObject? = EmptyJsonObject, val prompts: ServerCapabilities.Prompts? = null, val resources: ServerCapabilities.Resources? = null, val tools: ServerCapabilities.Tools? = null)

Represents the capabilities that a server can support.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ServerNotificationPolymorphicSerializer::class)
sealed interface ServerNotification : Notification

Represents a notification sent by the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed interface ServerRequest : Request

Represents a request sent by the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ServerResultPolymorphicSerializer::class)
sealed interface ServerResult : RequestResult

Represents a result returned by the server.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = StopReasonSerializer::class)
sealed interface StopReason
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class SubscribeRequest(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

Sent from the client to request resources/updated notifications from the server whenever a particular resource changes.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TextContent(val text: String? = null) : PromptMessageContentTextOrImage

Text provided to or from an LLM.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TextResourceContents(val text: String, val uri: String, val mimeType: String?) : ResourceContents

Represents the text contents of a resource.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Tool(val name: String, val description: String?, val inputSchema: Tool.Input)

Definition for a tool the client can call.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An optional notification from the server to the client, informing it that the list of tools it offers has changed. Servers may issue this without any previous subscription from the client.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class UnknownContent(val type: String) : PromptMessageContentTextOrImage

An image provided to or from an LLM.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents a request or notification for an unknown method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class UnknownReference(val type: String) : Reference

Identifies a prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class UnknownResourceContents(val uri: String, val mimeType: String?) : ResourceContents

Represents resource contents with unknown or unspecified data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class UnsubscribeRequest(val uri: String, val _meta: JsonObject = EmptyJsonObject) : ClientRequest, WithMeta

Sent from the client to request cancellation of resources/updated notifications from the server. This should follow a previous resources/subscribe request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed interface WithMeta

Represents an entity that includes additional metadata in its responses.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
const val LIB_VERSION: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/-m-c-p -kotlin -s-d-k/package-list b/docs/-m-c-p -kotlin -s-d-k/package-list new file mode 100644 index 0000000..e82cf57 --- /dev/null +++ b/docs/-m-c-p -kotlin -s-d-k/package-list @@ -0,0 +1,668 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client////PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client//mcpSse/io.ktor.client.HttpClient#kotlin.String?#kotlin.time.Duration?#kotlin.Function1[io.ktor.client.request.HttpRequestBuilder,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client//mcpSseTransport/io.ktor.client.HttpClient#kotlin.String?#kotlin.time.Duration?#kotlin.Function1[io.ktor.client.request.HttpRequestBuilder,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-sse-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client//mcpWebSocket/io.ktor.client.HttpClient#kotlin.String?#kotlin.Function1[io.ktor.client.request.HttpRequestBuilder,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client//mcpWebSocketTransport/io.ktor.client.HttpClient#kotlin.String?#kotlin.Function1[io.ktor.client.request.HttpRequestBuilder,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/mcp-web-socket-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/Client/#io.modelcontextprotocol.kotlin.sdk.Implementation#io.modelcontextprotocol.kotlin.sdk.client.ClientOptions/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/-client.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/assertRequestHandlerCapability/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/assert-request-handler-capability.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/callTool/#io.modelcontextprotocol.kotlin.sdk.CallToolRequest#kotlin.Boolean#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/call-tool.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/callTool/#kotlin.String#kotlin.collections.Map[kotlin.String,kotlin.Any?]#kotlin.Boolean#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/call-tool.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/complete/#io.modelcontextprotocol.kotlin.sdk.CompleteRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/complete.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/connect/#io.modelcontextprotocol.kotlin.sdk.shared.Transport/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/connect.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/getPrompt/#io.modelcontextprotocol.kotlin.sdk.GetPromptRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/getServerCapabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/getServerVersion/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/get-server-version.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/listPrompts/#io.modelcontextprotocol.kotlin.sdk.ListPromptsRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-prompts.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/listResourceTemplates/#io.modelcontextprotocol.kotlin.sdk.ListResourceTemplatesRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resource-templates.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/listResources/#io.modelcontextprotocol.kotlin.sdk.ListResourcesRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-resources.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/listTools/#io.modelcontextprotocol.kotlin.sdk.ListToolsRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/list-tools.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/ping/#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/ping.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/readResource/#io.modelcontextprotocol.kotlin.sdk.ReadResourceRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/read-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/sendRootsListChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/send-roots-list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/setLoggingLevel/#io.modelcontextprotocol.kotlin.sdk.LoggingLevel#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/set-logging-level.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/subscribeResource/#io.modelcontextprotocol.kotlin.sdk.SubscribeRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/subscribe-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/Client/unsubscribeResource/#io.modelcontextprotocol.kotlin.sdk.UnsubscribeRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client/unsubscribe-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/ClientOptions///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/ClientOptions/ClientOptions/#io.modelcontextprotocol.kotlin.sdk.ClientCapabilities#kotlin.Boolean/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/-client-options.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/ClientOptions/capabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-client-options/capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/SSEClientTransport/#io.ktor.client.HttpClient#kotlin.String?#kotlin.time.Duration?#kotlin.Function1[io.ktor.client.request.HttpRequestBuilder,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/-s-s-e-client-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/onClose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/onError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/onMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/on-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/send/#io.modelcontextprotocol.kotlin.sdk.JSONRPCMessage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/send.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/SSEClientTransport/start/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-s-s-e-client-transport/start.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/StdioClientTransport/#java.io.InputStream#java.io.OutputStream/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/-stdio-client-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/onClose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/onError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/onMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/on-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/send/#io.modelcontextprotocol.kotlin.sdk.JSONRPCMessage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/send.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/StdioClientTransport/start/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-stdio-client-transport/start.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/WebSocketClientTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/WebSocketClientTransport/WebSocketClientTransport/#io.ktor.client.HttpClient#kotlin.String?#kotlin.Function1[io.ktor.client.request.HttpRequestBuilder,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/-web-socket-client-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.client/WebSocketClientTransport/session/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.client/-web-socket-client-transport/session.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server////PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server//MCP/io.ktor.server.application.Application#kotlin.Function0[io.modelcontextprotocol.kotlin.sdk.server.Server]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-m-c-p.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server//mcpWebSocket/io.ktor.server.routing.Route#io.modelcontextprotocol.kotlin.sdk.server.ServerOptions?#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.server.Server,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server//mcpWebSocket/io.ktor.server.routing.Route#kotlin.String#io.modelcontextprotocol.kotlin.sdk.server.ServerOptions?#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.server.Server,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server//mcpWebSocketTransport/io.ktor.server.routing.Route#kotlin.String#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.server.WebSocketMcpServerTransport,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server//mcpWebSocketTransport/io.ktor.server.routing.Route#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.server.WebSocketMcpServerTransport,kotlin.Unit]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/mcp-web-socket-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredPrompt///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredPrompt/RegisteredPrompt/#io.modelcontextprotocol.kotlin.sdk.Prompt#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.GetPromptRequest,io.modelcontextprotocol.kotlin.sdk.GetPromptResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/-registered-prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredPrompt/messageProvider/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/message-provider.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredPrompt/prompt/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-prompt/prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredResource///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredResource/RegisteredResource/#io.modelcontextprotocol.kotlin.sdk.Resource#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.ReadResourceRequest,io.modelcontextprotocol.kotlin.sdk.ReadResourceResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/-registered-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredResource/readHandler/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/read-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredResource/resource/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-resource/resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredTool///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredTool/RegisteredTool/#io.modelcontextprotocol.kotlin.sdk.Tool#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.CallToolRequest,io.modelcontextprotocol.kotlin.sdk.CallToolResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/-registered-tool.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredTool/handler/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/RegisteredTool/tool/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-registered-tool/tool.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/SSEServerTransport/#kotlin.String#io.ktor.server.sse.ServerSSESession/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/-s-s-e-server-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/handleMessage/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/handlePostMessage/#io.ktor.server.application.ApplicationCall/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/handle-post-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/onClose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/onError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/onMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/on-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/send/#io.modelcontextprotocol.kotlin.sdk.JSONRPCMessage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/send.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/sessionId/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/session-id.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/SSEServerTransport/start/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-s-s-e-server-transport/start.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/Server/#io.modelcontextprotocol.kotlin.sdk.Implementation#io.modelcontextprotocol.kotlin.sdk.server.ServerOptions#kotlin.Function0[kotlin.Unit]?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/-server.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addPrompt/#io.modelcontextprotocol.kotlin.sdk.Prompt#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.GetPromptRequest,io.modelcontextprotocol.kotlin.sdk.GetPromptResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addPrompt/#kotlin.String#kotlin.String?#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.PromptArgument]?#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.GetPromptRequest,io.modelcontextprotocol.kotlin.sdk.GetPromptResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addPrompts/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.server.RegisteredPrompt]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-prompts.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addResource/#kotlin.String#kotlin.String#kotlin.String#kotlin.String#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.ReadResourceRequest,io.modelcontextprotocol.kotlin.sdk.ReadResourceResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addResources/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.server.RegisteredResource]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-resources.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addTool/#kotlin.String#kotlin.String#io.modelcontextprotocol.kotlin.sdk.Tool.Input#kotlin.coroutines.SuspendFunction1[io.modelcontextprotocol.kotlin.sdk.CallToolRequest,io.modelcontextprotocol.kotlin.sdk.CallToolResult]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tool.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/addTools/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.server.RegisteredTool]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/add-tools.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/assertRequestHandlerCapability/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/assert-request-handler-capability.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/clientCapabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/clientVersion/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/client-version.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/createMessage/#io.modelcontextprotocol.kotlin.sdk.CreateMessageRequest#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/create-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/listRoots/#kotlinx.serialization.json.JsonObject#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/list-roots.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/onCloseCallback/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-close-callback.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/onInitialized/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/on-initialized.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/onclose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/onclose.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/ping/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/ping.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/sendLoggingMessage/#io.modelcontextprotocol.kotlin.sdk.LoggingMessageNotification/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-logging-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/sendPromptListChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-prompt-list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/sendResourceListChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/sendResourceUpdated/#io.modelcontextprotocol.kotlin.sdk.ResourceUpdatedNotification/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-resource-updated.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/Server/sendToolListChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server/send-tool-list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/ServerOptions///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/ServerOptions/ServerOptions/#io.modelcontextprotocol.kotlin.sdk.ServerCapabilities#kotlin.Boolean/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/-server-options.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/ServerOptions/capabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-server-options/capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/StdioServerTransport/#java.io.BufferedInputStream#java.io.PrintStream/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/-stdio-server-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/onClose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/onError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/onMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/on-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/send/#io.modelcontextprotocol.kotlin.sdk.JSONRPCMessage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/send.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/StdioServerTransport/start/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-stdio-server-transport/start.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/WebSocketMcpServerTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.server/WebSocketMcpServerTransport/WebSocketMcpServerTransport/#io.ktor.server.websocket.WebSocketServerSession/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.server/-web-socket-mcp-server-transport/-web-socket-mcp-server-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared////PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared//DEFAULT_REQUEST_TIMEOUT/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-d-e-f-a-u-l-t_-r-e-q-u-e-s-t_-t-i-m-e-o-u-t.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ProgressCallback///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-progress-callback/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/Protocol/#io.modelcontextprotocol.kotlin.sdk.shared.ProtocolOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/-protocol.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/assertRequestHandlerCapability/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/assert-request-handler-capability.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/connect/#io.modelcontextprotocol.kotlin.sdk.shared.Transport/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/connect.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/fallbackNotificationHandler/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-notification-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/fallbackRequestHandler/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/fallback-request-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/notification/#TypeParam(bounds=[io.modelcontextprotocol.kotlin.sdk.Notification])/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/notificationHandlers/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/notification-handlers.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/onclose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onclose.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/onerror/#kotlin.Throwable/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/onerror.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/removeNotificationHandler/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-notification-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/removeRequestHandler/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/remove-request-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/request/#TypeParam(bounds=[io.modelcontextprotocol.kotlin.sdk.Request])#io.modelcontextprotocol.kotlin.sdk.shared.RequestOptions?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/setNotificationHandler/#io.modelcontextprotocol.kotlin.sdk.Method#kotlin.Function1[TypeParam(bounds=[io.modelcontextprotocol.kotlin.sdk.Notification]),kotlinx.coroutines.Deferred[kotlin.Unit]]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-notification-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/setRequestHandler/#io.modelcontextprotocol.kotlin.sdk.Method#kotlin.coroutines.SuspendFunction2[TypeParam(bounds=[io.modelcontextprotocol.kotlin.sdk.Request]),io.modelcontextprotocol.kotlin.sdk.shared.RequestHandlerExtra,TypeParam(bounds=[io.modelcontextprotocol.kotlin.sdk.RequestResult])?]/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/set-request-handler.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Protocol/transport/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol/transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ProtocolOptions///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ProtocolOptions/ProtocolOptions/#kotlin.Boolean#kotlin.time.Duration/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/-protocol-options.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ProtocolOptions/enforceStrictCapabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/enforce-strict-capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ProtocolOptions/timeout/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-protocol-options/timeout.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ReadBuffer///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ReadBuffer/ReadBuffer/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/-read-buffer.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ReadBuffer/append/#kotlin.ByteArray/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/append.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ReadBuffer/clear/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/clear.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/ReadBuffer/readMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-read-buffer/read-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/RequestHandlerExtra///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/RequestHandlerExtra/RequestHandlerExtra/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-handler-extra/-request-handler-extra.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/RequestOptions///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/RequestOptions/RequestOptions/#kotlin.Function1[io.modelcontextprotocol.kotlin.sdk.Progress,kotlin.Unit]?#kotlin.time.Duration/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/-request-options.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/RequestOptions/onProgress/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/on-progress.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/RequestOptions/timeout/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-request-options/timeout.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport/onClose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport/onError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport/onMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/on-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport/send/#io.modelcontextprotocol.kotlin.sdk.JSONRPCMessage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/send.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/Transport/start/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-transport/start.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/WebSocketMcpTransport/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/-web-socket-mcp-transport.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/close/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/onClose/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-close.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/onError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/onMessage/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/on-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/send/#io.modelcontextprotocol.kotlin.sdk.JSONRPCMessage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/send.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk.shared/WebSocketMcpTransport/start/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk.shared/-web-socket-mcp-transport/start.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk////PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk//JSONRPC_VERSION/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c_-v-e-r-s-i-o-n.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk//LATEST_PROTOCOL_VERSION/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-a-t-e-s-t_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk//LIB_VERSION/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-l-i-b_-v-e-r-s-i-o-n.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk//SUPPORTED_PROTOCOL_VERSIONS/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-s-u-p-p-o-r-t-e-d_-p-r-o-t-o-c-o-l_-v-e-r-s-i-o-n-s.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/BlobResourceContents///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/BlobResourceContents/BlobResourceContents/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/-blob-resource-contents.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/BlobResourceContents/blob/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/blob.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/BlobResourceContents/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/BlobResourceContents/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-blob-resource-contents/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolRequest/CallToolRequest/#kotlin.String#kotlinx.serialization.json.JsonObject#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/-call-tool-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolRequest/arguments/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/arguments.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolRequest/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-request/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResult/CallToolResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.PromptMessageContent]#kotlin.Boolean?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/-call-tool-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResult/content/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResult/isError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result/is-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResultBase///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResultBase/content/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CallToolResultBase/isError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-call-tool-result-base/is-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CancelledNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CancelledNotification/CancelledNotification/#kotlin.Long#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/-cancelled-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CancelledNotification/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CancelledNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CancelledNotification/reason/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/reason.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CancelledNotification/requestId/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cancelled-notification/request-id.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities.Roots///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities.Roots/Roots/#kotlin.Boolean?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/-roots.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities.Roots/listChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-roots/list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities/ClientCapabilities/#kotlinx.serialization.json.JsonObject?#kotlinx.serialization.json.JsonObject?#io.modelcontextprotocol.kotlin.sdk.ClientCapabilities.Roots?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/-client-capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities/experimental/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/experimental.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities/roots/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/roots.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientCapabilities/sampling/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-capabilities/sampling.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ClientResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-client-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompatibilityCallToolResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompatibilityCallToolResult/CompatibilityCallToolResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.PromptMessageContent]#kotlin.Boolean?#kotlinx.serialization.json.JsonObject#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/-compatibility-call-tool-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompatibilityCallToolResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompatibilityCallToolResult/content/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompatibilityCallToolResult/isError/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/is-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompatibilityCallToolResult/toolResult/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-compatibility-call-tool-result/tool-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest.Argument///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest.Argument/Argument/#kotlin.String#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/-argument.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest.Argument/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest.Argument/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-argument/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest/CompleteRequest/#io.modelcontextprotocol.kotlin.sdk.Reference#io.modelcontextprotocol.kotlin.sdk.CompleteRequest.Argument#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/-complete-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest/argument/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/argument.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteRequest/ref/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-request/ref.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult.Completion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult.Completion/Completion/#kotlin.collections.List[kotlin.String]#kotlin.Int?#kotlin.Boolean?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/-completion.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult.Completion/hasMore/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/has-more.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult.Completion/total/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/total.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult.Completion/values/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-completion/values.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult/CompleteResult/#io.modelcontextprotocol.kotlin.sdk.CompleteResult.Completion#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/-complete-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CompleteResult/completion/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-complete-result/completion.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext.allServers///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/all-servers/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext.none///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/none/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext.thisServer///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/this-server/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext/entries/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/entries.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext/valueOf/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/value-of.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest.IncludeContext/values/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-include-context/values.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/CreateMessageRequest/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.SamplingMessage]#kotlin.String?#io.modelcontextprotocol.kotlin.sdk.CreateMessageRequest.IncludeContext?#kotlin.Double?#kotlin.Int#kotlin.collections.List[kotlin.String]?#kotlinx.serialization.json.JsonObject#io.modelcontextprotocol.kotlin.sdk.ModelPreferences?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/-create-message-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/includeContext/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/include-context.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/maxTokens/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/max-tokens.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/messages/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/messages.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/metadata/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/metadata.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/modelPreferences/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/model-preferences.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/stopSequences/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/stop-sequences.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/systemPrompt/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/system-prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageRequest/temperature/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-request/temperature.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult/CreateMessageResult/#kotlin.String#io.modelcontextprotocol.kotlin.sdk.StopReason?#io.modelcontextprotocol.kotlin.sdk.Role#io.modelcontextprotocol.kotlin.sdk.PromptMessageContentTextOrImage#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/-create-message-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult/content/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult/model/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/model.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult/role/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/role.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CreateMessageResult/stopReason/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-create-message-result/stop-reason.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Cursor///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-cursor/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CustomMeta///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CustomMeta/CustomMeta/#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/-custom-meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CustomMeta/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-meta/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CustomRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CustomRequest/CustomRequest/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/-custom-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/CustomRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-custom-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmbeddedResource.Companion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmbeddedResource.Companion/TYPE/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-companion/-t-y-p-e.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmbeddedResource///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmbeddedResource/EmbeddedResource/#io.modelcontextprotocol.kotlin.sdk.ResourceContents/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/-embedded-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmbeddedResource/resource/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmbeddedResource/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-embedded-resource/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmptyRequestResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmptyRequestResult/EmptyRequestResult/#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/-empty-request-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/EmptyRequestResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-empty-request-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.ConnectionClosed///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-connection-closed/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.InternalError///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-internal-error/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.InvalidParams///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-params/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.InvalidRequest///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-invalid-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.MethodNotFound///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-method-not-found/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.ParseError///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-parse-error/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined.RequestTimeout///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/-request-timeout/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined/code/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/code.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined/entries/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/entries.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined/valueOf/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/value-of.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Defined/values/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-defined/values.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Unknown///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Unknown/Unknown/#kotlin.Int/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/-unknown.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode.Unknown/code/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/-unknown/code.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ErrorCode/code/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-error-code/code.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptRequest/GetPromptRequest/#kotlin.String#kotlin.collections.Map[kotlin.String,kotlin.String]?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/-get-prompt-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptRequest/arguments/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/arguments.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptRequest/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-request/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptResult/GetPromptResult/#kotlin.String?#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.PromptMessage]#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/-get-prompt-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptResult/description/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/description.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/GetPromptResult/messages/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-get-prompt-result/messages.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent.Companion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent.Companion/TYPE/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-companion/-t-y-p-e.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent/ImageContent/#kotlin.String#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/-image-content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent/data/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/data.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ImageContent/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-image-content/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Implementation///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Implementation/Implementation/#kotlin.String#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/-implementation.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Implementation/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Implementation/version/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-implementation/version.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest/InitializeRequest/#kotlin.String#io.modelcontextprotocol.kotlin.sdk.ClientCapabilities#io.modelcontextprotocol.kotlin.sdk.Implementation#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/-initialize-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest/capabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest/clientInfo/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/client-info.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeRequest/protocolVersion/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-request/protocol-version.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeResult/InitializeResult/#kotlin.String#io.modelcontextprotocol.kotlin.sdk.ServerCapabilities#io.modelcontextprotocol.kotlin.sdk.Implementation#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/-initialize-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeResult/capabilities/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeResult/protocolVersion/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/protocol-version.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializeResult/serverInfo/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialize-result/server-info.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializedNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializedNotification/InitializedNotification/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/-initialized-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/InitializedNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-initialized-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCError///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCError/JSONRPCError/#io.modelcontextprotocol.kotlin.sdk.ErrorCode#kotlin.String#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/-j-s-o-n-r-p-c-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCError/code/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/code.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCError/data/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/data.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCError/message/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-error/message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCMessage///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-message/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCNotification/JSONRPCNotification/#kotlin.String#kotlinx.serialization.json.JsonElement#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/-j-s-o-n-r-p-c-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCNotification/jsonrpc/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/jsonrpc.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCNotification/params/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-notification/params.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCRequest/JSONRPCRequest/#kotlin.Long#kotlin.String#kotlinx.serialization.json.JsonElement?#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/-j-s-o-n-r-p-c-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCRequest/id/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/id.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCRequest/jsonrpc/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/jsonrpc.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCRequest/params/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-request/params.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCResponse///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCResponse/JSONRPCResponse/#kotlin.Long#kotlin.String#io.modelcontextprotocol.kotlin.sdk.RequestResult?#io.modelcontextprotocol.kotlin.sdk.JSONRPCError?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/-j-s-o-n-r-p-c-response.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCResponse/error/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCResponse/id/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/id.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCResponse/jsonrpc/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/jsonrpc.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/JSONRPCResponse/result/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-j-s-o-n-r-p-c-response/result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsRequest/ListPromptsRequest/#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/-list-prompts-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsRequest/cursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsResult/ListPromptsResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.Prompt]#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/-list-prompts-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsResult/nextCursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/next-cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListPromptsResult/prompts/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-prompts-result/prompts.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesRequest/ListResourceTemplatesRequest/#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/-list-resource-templates-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesRequest/cursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesResult/ListResourceTemplatesResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.ResourceTemplate]#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/-list-resource-templates-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesResult/nextCursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/next-cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourceTemplatesResult/resourceTemplates/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resource-templates-result/resource-templates.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesRequest/ListResourcesRequest/#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/-list-resources-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesRequest/cursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesResult/ListResourcesResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.Resource]#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/-list-resources-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesResult/nextCursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/next-cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListResourcesResult/resources/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-resources-result/resources.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsRequest/ListRootsRequest/#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/-list-roots-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsResult/ListRootsResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.Root]#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/-list-roots-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListRootsResult/roots/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-roots-result/roots.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsRequest/ListToolsRequest/#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/-list-tools-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsRequest/cursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsResult/ListToolsResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.Tool]#kotlin.String?#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/-list-tools-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsResult/nextCursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/next-cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ListToolsResult/tools/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-list-tools-result/tools.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.alert///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/alert/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.critical///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/critical/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.debug///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/debug/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.emergency///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/emergency/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.error///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/error/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.info///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/info/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.notice///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/notice/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel.warning///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/warning/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel/entries/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/entries.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel/valueOf/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/value-of.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingLevel/values/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-level/values.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification.SetLevelRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification.SetLevelRequest/SetLevelRequest/#io.modelcontextprotocol.kotlin.sdk.LoggingLevel#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/-set-level-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification.SetLevelRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification.SetLevelRequest/level/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/level.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification.SetLevelRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-set-level-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification/LoggingMessageNotification/#io.modelcontextprotocol.kotlin.sdk.LoggingLevel#kotlin.String?#kotlinx.serialization.json.JsonObject#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/-logging-message-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification/data/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/data.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification/level/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/level.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification/logger/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/logger.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/LoggingMessageNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-logging-message-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/McpError///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/McpError/McpError/#kotlin.Int#kotlin.String#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/-mcp-error.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/McpError/code/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/code.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/McpError/data/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/data.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/McpError/message/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-mcp-error/message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Custom///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Custom/Custom/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/-custom.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Custom/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-custom/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.CompletionComplete///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-completion-complete/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.Initialize///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-initialize/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.LoggingSetLevel///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-logging-set-level/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsCancelled///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-cancelled/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsInitialized///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-initialized/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsMessage///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-message/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsProgress///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-progress/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsPromptsListChanged///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-prompts-list-changed/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsResourcesListChanged///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-list-changed/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsResourcesUpdated///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-resources-updated/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsRootsListChanged///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-roots-list-changed/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.NotificationsToolsListChanged///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-notifications-tools-list-changed/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.Ping///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-ping/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.PromptsGet///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-get/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.PromptsList///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-prompts-list/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ResourcesList///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-list/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ResourcesRead///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-read/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ResourcesSubscribe///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-subscribe/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ResourcesTemplatesList///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-templates-list/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ResourcesUnsubscribe///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-resources-unsubscribe/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.RootsList///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-roots-list/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.SamplingCreateMessage///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-sampling-create-message/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ToolsCall///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-call/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined.ToolsList///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/-tools-list/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined/entries/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/entries.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined/valueOf/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/value-of.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method.Defined/values/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/-defined/values.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Method/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-method/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelHint///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelHint/ModelHint/#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/-model-hint.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelHint/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-hint/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelPreferences///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelPreferences/ModelPreferences/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.ModelHint]?#kotlin.Double?#kotlin.Double?#kotlin.Double?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/-model-preferences.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelPreferences/costPriority/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/cost-priority.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelPreferences/hints/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/hints.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelPreferences/intelligencePriority/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/intelligence-priority.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ModelPreferences/speedPriority/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-model-preferences/speed-priority.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Notification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Notification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PaginatedRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PaginatedRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PaginatedRequest/cursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-request/cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PaginatedResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PaginatedResult/nextCursor/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-paginated-result/next-cursor.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PingRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PingRequest/PingRequest/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/-ping-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PingRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-ping-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Progress///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Progress/Progress/#kotlin.Int#kotlin.Double?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/-progress.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Progress/progress/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/progress.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Progress/total/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress/total.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressBase///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressBase/progress/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/progress.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressBase/total/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-base/total.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification/ProgressNotification/#kotlin.Int#kotlin.Long#kotlinx.serialization.json.JsonObject#kotlin.Double?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/-progress-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification/progress/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification/progressToken/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/progress-token.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressNotification/total/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-notification/total.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ProgressToken///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-progress-token/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Prompt///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Prompt/Prompt/#kotlin.String#kotlin.String?#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.PromptArgument]?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/-prompt.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Prompt/arguments/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/arguments.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Prompt/description/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/description.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Prompt/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptArgument///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptArgument/PromptArgument/#kotlin.String#kotlin.String?#kotlin.Boolean?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/-prompt-argument.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptArgument/description/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/description.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptArgument/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptArgument/required/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-argument/required.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptListChangedNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptListChangedNotification/PromptListChangedNotification/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/-prompt-list-changed-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptListChangedNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-list-changed-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessage///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessage/PromptMessage/#io.modelcontextprotocol.kotlin.sdk.Role#io.modelcontextprotocol.kotlin.sdk.PromptMessageContent/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/-prompt-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessage/content/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessage/role/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message/role.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessageContent///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessageContent/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptMessageContentTextOrImage///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-message-content-text-or-image/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptReference.Companion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptReference.Companion/TYPE/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-companion/-t-y-p-e.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptReference///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptReference/PromptReference/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/-prompt-reference.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptReference/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/PromptReference/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-prompt-reference/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceRequest/ReadResourceRequest/#kotlin.String#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/-read-resource-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceRequest/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-request/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceResult/ReadResourceResult/#kotlin.collections.List[io.modelcontextprotocol.kotlin.sdk.ResourceContents]#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/-read-resource-result.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceResult/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ReadResourceResult/contents/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-read-resource-result/contents.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Reference///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Reference/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-reference/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Request///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Request/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/RequestId///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-id/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/RequestResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-request-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Resource///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Resource/Resource/#kotlin.String#kotlin.String#kotlin.String?#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/-resource.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Resource/description/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/description.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Resource/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Resource/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Resource/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceContents///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceContents/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceContents/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-contents/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceListChangedNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceListChangedNotification/ResourceListChangedNotification/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/-resource-list-changed-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceListChangedNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-list-changed-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceReference.Companion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceReference.Companion/TYPE/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-companion/-t-y-p-e.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceReference///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceReference/ResourceReference/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/-resource-reference.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceReference/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceReference/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-reference/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceTemplate///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceTemplate/ResourceTemplate/#kotlin.String#kotlin.String#kotlin.String?#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/-resource-template.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceTemplate/description/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/description.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceTemplate/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceTemplate/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceTemplate/uriTemplate/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-template/uri-template.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceUpdatedNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceUpdatedNotification/ResourceUpdatedNotification/#kotlin.String#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/-resource-updated-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceUpdatedNotification/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceUpdatedNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ResourceUpdatedNotification/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-resource-updated-notification/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Role.assistant///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/assistant/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Role.user///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/user/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Role///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Role/entries/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/entries.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Role/valueOf/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/value-of.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Role/values/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-role/values.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Root///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Root/Root/#kotlin.String#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/-root.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Root/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Root/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-root/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/RootsListChangedNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/RootsListChangedNotification/RootsListChangedNotification/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/-roots-list-changed-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/RootsListChangedNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-roots-list-changed-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SamplingMessage///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SamplingMessage/SamplingMessage/#io.modelcontextprotocol.kotlin.sdk.Role#io.modelcontextprotocol.kotlin.sdk.PromptMessageContentTextOrImage/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/-sampling-message.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SamplingMessage/content/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SamplingMessage/role/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-sampling-message/role.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Prompts///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Prompts/Prompts/#kotlin.Boolean?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/-prompts.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Prompts/listChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-prompts/list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Resources///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Resources/Resources/#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/-resources.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Resources/listChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Resources/subscribe/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-resources/subscribe.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Tools///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Tools/Tools/#kotlin.Boolean?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/-tools.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities.Tools/listChanged/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-tools/list-changed.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/ServerCapabilities/#kotlinx.serialization.json.JsonObject?#kotlinx.serialization.json.JsonObject?#kotlinx.serialization.json.JsonObject?#io.modelcontextprotocol.kotlin.sdk.ServerCapabilities.Prompts?#io.modelcontextprotocol.kotlin.sdk.ServerCapabilities.Resources?#io.modelcontextprotocol.kotlin.sdk.ServerCapabilities.Tools?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/-server-capabilities.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/experimental/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/experimental.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/logging/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/logging.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/prompts/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/prompts.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/resources/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/resources.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/sampling/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/sampling.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerCapabilities/tools/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-capabilities/tools.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ServerResult///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-server-result/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.EndTurn///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.EndTurn/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-end-turn/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.MaxTokens///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.MaxTokens/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-max-tokens/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.Other///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.Other/Other/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/-other.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.Other/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-other/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.StopSequence///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason.StopSequence/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/-stop-sequence/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/StopReason/value/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-stop-reason/value.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SubscribeRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SubscribeRequest/SubscribeRequest/#kotlin.String#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/-subscribe-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SubscribeRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SubscribeRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/SubscribeRequest/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-subscribe-request/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextContent.Companion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextContent.Companion/TYPE/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-companion/-t-y-p-e.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextContent///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextContent/TextContent/#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/-text-content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextContent/text/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/text.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextContent/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-content/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextResourceContents///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextResourceContents/TextResourceContents/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/-text-resource-contents.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextResourceContents/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextResourceContents/text/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/text.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/TextResourceContents/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-text-resource-contents/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool.Input///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool.Input/Input/#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/-input.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool.Input/properties/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/properties.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool.Input/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-input/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool/Tool/#kotlin.String#kotlin.String?#io.modelcontextprotocol.kotlin.sdk.Tool.Input/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/-tool.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool/description/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/description.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool/inputSchema/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/input-schema.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/Tool/name/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool/name.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ToolListChangedNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ToolListChangedNotification/ToolListChangedNotification/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/-tool-list-changed-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/ToolListChangedNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-tool-list-changed-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownContent///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownContent/UnknownContent/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/-unknown-content.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownContent/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-content/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownMethodRequestOrNotification///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownMethodRequestOrNotification/UnknownMethodRequestOrNotification/#io.modelcontextprotocol.kotlin.sdk.Method/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/-unknown-method-request-or-notification.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownMethodRequestOrNotification/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-method-request-or-notification/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownReference///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownReference/UnknownReference/#kotlin.String/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/-unknown-reference.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownReference/type/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-reference/type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownResourceContents///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownResourceContents/UnknownResourceContents/#kotlin.String#kotlin.String?/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/-unknown-resource-contents.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownResourceContents/mimeType/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/mime-type.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnknownResourceContents/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unknown-resource-contents/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnsubscribeRequest///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnsubscribeRequest/UnsubscribeRequest/#kotlin.String#kotlinx.serialization.json.JsonObject/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/-unsubscribe-request.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnsubscribeRequest/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/_meta.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnsubscribeRequest/method/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/method.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/UnsubscribeRequest/uri/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-unsubscribe-request/uri.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/WithMeta.Companion///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/WithMeta.Companion/Empty/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/-companion/-empty.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/WithMeta///PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/index.html +$dokka.location:io.modelcontextprotocol.kotlin.sdk/WithMeta/_meta/#/PointingToDeclaration/-m-c-p -kotlin -s-d-k/io.modelcontextprotocol.kotlin.sdk/-with-meta/_meta.html +io.modelcontextprotocol.kotlin.sdk +io.modelcontextprotocol.kotlin.sdk.client +io.modelcontextprotocol.kotlin.sdk.server +io.modelcontextprotocol.kotlin.sdk.shared diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 8eba6c8..0000000 --- a/docs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -src/ diff --git a/docs/build.gradle.kts b/docs/build.gradle.kts deleted file mode 100644 index 1857ef1..0000000 --- a/docs/build.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -plugins { - kotlin("jvm") - alias(libs.plugins.knit) -} - -dependencies { - implementation(project(":kotlin-sdk")) - implementation(libs.ktor.server.cio) - implementation(libs.ktor.serialization) - implementation(libs.ktor.server.content.negotiation) -} - -tasks.matching { - it.name == "ktlintMainSourceSetCheck" || it.name == "ktlintMainSourceSetFormat" -}.configureEach { - enabled = false -} - -knit { - rootDir = project.rootDir - files = files(project.rootDir.resolve("README.md")) - defaultLineSeparator = "\n" - siteRoot = "" // Disable site root validation -} - -// Only run knitCheck when explicitly requested, not as part of build/check -tasks.named("knitCheck") { - onlyIf { - gradle.startParameter.taskNames.any { - it.contains("knitCheck") || it.contains("knit") - } - } -} - -tasks.clean { - delete("src") -} diff --git a/docs/images/anchor-copy-button.svg b/docs/images/anchor-copy-button.svg new file mode 100644 index 0000000..34eb5b2 --- /dev/null +++ b/docs/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/images/arrow_down.svg b/docs/images/arrow_down.svg new file mode 100644 index 0000000..2478845 --- /dev/null +++ b/docs/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/images/burger.svg b/docs/images/burger.svg new file mode 100644 index 0000000..40f73c5 --- /dev/null +++ b/docs/images/burger.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/images/copy-icon.svg b/docs/images/copy-icon.svg new file mode 100644 index 0000000..abeb27e --- /dev/null +++ b/docs/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/images/copy-successful-icon.svg b/docs/images/copy-successful-icon.svg new file mode 100644 index 0000000..1b0ca52 --- /dev/null +++ b/docs/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/images/footer-go-to-link.svg b/docs/images/footer-go-to-link.svg new file mode 100644 index 0000000..c319953 --- /dev/null +++ b/docs/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/images/go-to-top-icon.svg b/docs/images/go-to-top-icon.svg new file mode 100644 index 0000000..2341ef2 --- /dev/null +++ b/docs/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/images/homepage.svg b/docs/images/homepage.svg new file mode 100644 index 0000000..e3c83b1 --- /dev/null +++ b/docs/images/homepage.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/images/logo-icon.svg b/docs/images/logo-icon.svg new file mode 100644 index 0000000..ea6f37e --- /dev/null +++ b/docs/images/logo-icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/docs/images/nav-icons/abstract-class-kotlin.svg b/docs/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 0000000..97b7723 --- /dev/null +++ b/docs/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/nav-icons/abstract-class.svg b/docs/images/nav-icons/abstract-class.svg new file mode 100644 index 0000000..ead94b8 --- /dev/null +++ b/docs/images/nav-icons/abstract-class.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/nav-icons/annotation-kotlin.svg b/docs/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 0000000..b748242 --- /dev/null +++ b/docs/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/annotation.svg b/docs/images/nav-icons/annotation.svg new file mode 100644 index 0000000..76c2f4b --- /dev/null +++ b/docs/images/nav-icons/annotation.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/nav-icons/class-kotlin.svg b/docs/images/nav-icons/class-kotlin.svg new file mode 100644 index 0000000..dc23120 --- /dev/null +++ b/docs/images/nav-icons/class-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/class.svg b/docs/images/nav-icons/class.svg new file mode 100644 index 0000000..2447cf7 --- /dev/null +++ b/docs/images/nav-icons/class.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/nav-icons/enum-kotlin.svg b/docs/images/nav-icons/enum-kotlin.svg new file mode 100644 index 0000000..207a0ef --- /dev/null +++ b/docs/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/enum.svg b/docs/images/nav-icons/enum.svg new file mode 100644 index 0000000..2deba5f --- /dev/null +++ b/docs/images/nav-icons/enum.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/nav-icons/exception-class.svg b/docs/images/nav-icons/exception-class.svg new file mode 100644 index 0000000..1bb4f88 --- /dev/null +++ b/docs/images/nav-icons/exception-class.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/nav-icons/field-value.svg b/docs/images/nav-icons/field-value.svg new file mode 100644 index 0000000..3aa75be --- /dev/null +++ b/docs/images/nav-icons/field-value.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/images/nav-icons/field-variable.svg b/docs/images/nav-icons/field-variable.svg new file mode 100644 index 0000000..7a8af50 --- /dev/null +++ b/docs/images/nav-icons/field-variable.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/images/nav-icons/function.svg b/docs/images/nav-icons/function.svg new file mode 100644 index 0000000..e56a417 --- /dev/null +++ b/docs/images/nav-icons/function.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/nav-icons/interface-kotlin.svg b/docs/images/nav-icons/interface-kotlin.svg new file mode 100644 index 0000000..e5273f0 --- /dev/null +++ b/docs/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/interface.svg b/docs/images/nav-icons/interface.svg new file mode 100644 index 0000000..0637028 --- /dev/null +++ b/docs/images/nav-icons/interface.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/nav-icons/object.svg b/docs/images/nav-icons/object.svg new file mode 100644 index 0000000..5f960b7 --- /dev/null +++ b/docs/images/nav-icons/object.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/typealias-kotlin.svg b/docs/images/nav-icons/typealias-kotlin.svg new file mode 100644 index 0000000..73a0885 --- /dev/null +++ b/docs/images/nav-icons/typealias-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/theme-toggle.svg b/docs/images/theme-toggle.svg new file mode 100644 index 0000000..fcc900f --- /dev/null +++ b/docs/images/theme-toggle.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..cacd028 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,160 @@ + + + + + MCP Kotlin SDK + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MCP Kotlin SDK

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/moduledoc.md b/docs/moduledoc.md deleted file mode 100644 index 05ce370..0000000 --- a/docs/moduledoc.md +++ /dev/null @@ -1,94 +0,0 @@ -# MCP Kotlin SDK - -Kotlin Multiplatform implementation of the Model Context Protocol (MCP). The SDK focuses on clear, explicit APIs, -small building blocks, and first-class coroutine support so clients and servers share the same well-typed messages and -transports. - -Use the umbrella `kotlin-sdk` artifact to bring in everything at once, or depend on the focused modules directly: - -```kotlin -dependencies { - // All-in-one bundle - implementation("io.modelcontextprotocol:kotlin-sdk:") - - // Or pick sides explicitly - implementation("io.modelcontextprotocol:kotlin-sdk-client:") - implementation("io.modelcontextprotocol:kotlin-sdk-server:") -} -``` - ---- - -## Module kotlin-sdk-core - -Foundation shared by both sides: - -- Protocol data model for MCP requests, results, notifications, capabilities, and content types. -- `McpJson` (kotlinx.serialization) with MCP-friendly defaults plus helpers for converting native values to JSON. -- Transport abstractions (`Transport`, `AbstractTransport`, `WebSocketMcpTransport`) and streaming `ReadBuffer`. -- `Protocol` base class that handles JSON-RPC framing, correlation, progress tokens, and capability assertions. - -Use `core` when you need the raw types or want to author a custom transport. Public APIs are explicit to keep the shared -surface stable across platforms. - ---- - -## Module kotlin-sdk-client - -High-level client for connecting to MCP servers and invoking their features: - -- `Client` runtime (or `mcpClient` helper) performs the MCP handshake and exposes `serverCapabilities`, - `serverVersion`, and `serverInstructions`. -- Typed operations for tools, prompts, resources, completion, logging, roots, sampling, and elicitation with capability - enforcement. -- Transports: `StdioClientTransport`, `SseClientTransport`, `WebSocketClientTransport`, and `StreamableHttpClientTransport`, - plus Ktor client extensions for quick wiring. - -Minimal WebSocket client: - -```kotlin -val client = mcpClient( - clientInfo = Implementation("sample-client", "1.0.0"), - clientOptions = ClientOptions(ClientCapabilities(tools = ClientCapabilities.Tools())), - transport = WebSocketClientTransport("ws://localhost:8080/mcp") -) - -val tools = client.listTools() -val result = client.callTool("echo", mapOf("text" to "Hello, MCP!")) -println(result.content) -``` - ---- - -## Module kotlin-sdk-server - -Server toolkit for exposing MCP tools, prompts, and resources: - -- `Server` runtime coordinates sessions, initialization flow, and capability enforcement with registries for tools, - prompts, resources, and templates. -- Transports: `StdioServerTransport` for CLI/editor bridges; Ktor extensions (`mcp` for SSE + POST back-channel and - `mcpWebSocket` for WebSocket) for HTTP hosting. -- Built-in notifications for list changes and resource subscriptions when capabilities enable them. - -Minimal Ktor SSE server: - -```kotlin -fun Application.module() { - mcp { - Server( - serverInfo = Implementation("sample-server", "1.0.0"), - options = ServerOptions(ServerCapabilities( - tools = ServerCapabilities.Tools(listChanged = true), - resources = ServerCapabilities.Resources(listChanged = true, subscribe = true), - )), - ) { - addTool(name = "echo", description = "Echo text back") { request -> - val text = request.params.arguments?.get("text")?.jsonPrimitive?.content ?: "" - CallToolResult(content = listOf(TextContent("You said: $text"))) - } - } - } -} -``` - -Pick the module that matches your role, or use the umbrella artifact to get both sides with the shared core. diff --git a/docs/navigation.html b/docs/navigation.html new file mode 100644 index 0000000..5df0f93 --- /dev/null +++ b/docs/navigation.html @@ -0,0 +1,600 @@ +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ + + + + +
+ +
+ + + +
+ +
+ + + + + + + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ +
+ +
+
+ +
+
+
+ +
+ + +
+ +
+ +
+
+ +
+
+ +
+
+ + + +
+ +
+ +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ +
+
+ + + + + + +
+ +
+ +
+
+
+ + + +
diff --git a/docs/scripts/clipboard.js b/docs/scripts/clipboard.js new file mode 100644 index 0000000..b6b118e --- /dev/null +++ b/docs/scripts/clipboard.js @@ -0,0 +1,56 @@ +/* + * Copyright 2014-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/docs/scripts/main.js b/docs/scripts/main.js new file mode 100644 index 0000000..eb22535 --- /dev/null +++ b/docs/scripts/main.js @@ -0,0 +1,53 @@ +(()=>{var e={1817:e=>{e.exports=''},4811:e=>{e.exports=''},5742:e=>{e.exports=''},7112:e=>{e.exports=''},8420:e=>{e.exports=''},7004:e=>{e.exports=''},7222:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,'.avatar_d716 {\n display: inline-block;\n -o-object-fit: cover;\n object-fit: cover;\n -o-object-position: center;\n object-position: center;\n\n /* This is a "graceful degradation" fallback, while the real value is controlled by JS */\n\n border-radius: var(--ring-border-radius);\n}\n\n.subavatar_b10d {\n position: absolute;\n top: 15px;\n left: 27px;\n\n border: 1px var(--ring-content-background-color) solid;\n}\n\n.empty_a151 {\n display: inline-block;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-borders-color);\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/avatar/avatar.css"],names:[],mappings:"AAEA;EACE,qBAAqB;EACrB,oBAAiB;KAAjB,iBAAiB;EACjB,0BAAuB;KAAvB,uBAAuB;;EAEvB,wFAAwF;;EAExF,wCAAwC;AAC1C;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;;EAEV,sDAAsD;AACxD;;AAEA;EACE,qBAAqB;;EAErB,sBAAsB;;EAEtB,2CAA2C;AAC7C",sourcesContent:['@import "../global/variables.css";\n\n.avatar {\n display: inline-block;\n object-fit: cover;\n object-position: center;\n\n /* This is a "graceful degradation" fallback, while the real value is controlled by JS */\n\n border-radius: var(--ring-border-radius);\n}\n\n.subavatar {\n position: absolute;\n top: 15px;\n left: 27px;\n\n border: 1px var(--ring-content-background-color) solid;\n}\n\n.empty {\n display: inline-block;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-borders-color);\n}\n'],sourceRoot:""}]),c.locals={avatar:"avatar_d716",subavatar:"subavatar_b10d",empty:"empty_a151"};const u=c},9892:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'.heightS_b28d {\n --ring-button-height: 24px;\n --ring-button-font-size: var(--ring-font-size-smaller);\n}\n\n.heightM_dfd3 {\n --ring-button-height: 28px;\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.heightL_a4d3 {\n --ring-button-height: 32px;\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.button_aba4 {\n position: relative;\n\n display: inline-block;\n\n box-sizing: border-box;\n height: var(--ring-button-height);\n margin: 0;\n padding: 0 16px;\n\n cursor: pointer;\n transition: color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n text-decoration: none;\n\n color: var(--ring-text-color);\n\n border: 0;\n border-radius: var(--ring-border-radius);\n outline: 0;\n background-color: var(--ring-content-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-borders-color);\n\n font-family: var(--ring-font-family);\n font-size: var(--ring-button-font-size);\n\n line-height: var(--ring-button-height);\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.button_aba4:hover {\n transition: none;\n\n box-shadow: inset 0 0 0 1px var(--ring-border-hover-color);\n }}\n\n.button_aba4:active {\n transition: none;\n\n background-color: var(--ring-selected-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.button_aba4:focus-visible {\n transition: none;\n\n box-shadow: inset 0 0 0 1px var(--ring-border-hover-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.button_aba4.active_bbe6 {\n transition: none;\n\n background-color: var(--ring-hover-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-main-color);\n }\n\n.button_aba4.active_bbe6:focus-visible {\n box-shadow: inset 0 0 0 2px var(--ring-main-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.button_aba4[disabled] {\n pointer-events: none;\n\n background-color: var(--ring-disabled-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-disabled-color);\n }\n\n.button_aba4.active_bbe6[disabled] {\n background-color: var(--ring-disabled-selected-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-selected-disabled-color);\n }\n\n.button_aba4[disabled],\n .button_aba4.withIcon_ef77[disabled] {\n color: var(--ring-disabled-color);\n }\n\n.button_aba4[disabled] .icon_e878 {\n color: var(--ring-icon-disabled-color);\n }\n\n.button_aba4::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n\n.withIcon_ef77 {\n color: var(--ring-secondary-color);\n}\n\n.primary_ddae {\n color: var(--ring-white-text-color);\n background-color: var(--ring-main-color);\n box-shadow: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.primary_ddae:hover {\n transition: none;\n\n background-color: var(--ring-main-hover-color);\n box-shadow: none;\n }}\n\n.primary_ddae.withIcon_ef77,\n .primary_ddae.withIcon_ef77:active,\n .primary_ddae.withIcon_ef77.active_bbe6 {\n color: var(--ring-action-link-color);\n }\n\n.primary_ddae:focus-visible,\n .primary_ddae:active,\n .primary_ddae.active_bbe6 {\n background-color: var(--ring-button-primary-background-color);\n }\n\n.primary_ddae:active,\n .primary_ddae.active_bbe6 {\n box-shadow: inset 0 0 0 1px var(--ring-button-primary-border-color);\n }\n\n.primary_ddae[disabled] {\n background-color: var(--ring-disabled-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-disabled-color);\n }\n\n.primary_ddae.loader_cbfc[disabled] {\n color: var(--ring-white-text-color);\n }\n\n.primary_ddae .loaderBackground_d9f5 {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: var(--ring-border-radius);\n }\n\n.primary_ddae .loaderBackground_d9f5::before {\n background-image:\n linear-gradient(\n to right,\n var(--ring-main-color),\n var(--ring-button-loader-background) 40%,\n var(--ring-main-color) 80%\n );\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.danger_bcea:hover {\n transition: none;\n }}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.danger_bcea:hover {\n box-shadow: inset 0 0 0 1px var(--ring-button-danger-hover-color);\n }}\n\n.danger_bcea,\n .danger_bcea.withIcon_ef77,\n .danger_bcea.withIcon_ef77:active,\n .danger_bcea.withIcon_ef77.active_bbe6,\n .danger_bcea.text_fc2a,\n .danger_bcea.text_fc2a:active,\n .danger_bcea.text_fc2a.active_bbe6 {\n color: var(--ring-error-color);\n }\n\n.danger_bcea:active,\n .danger_bcea.active_bbe6 {\n background-color: var(--ring-button-danger-active-color);\n }\n\n.danger_bcea:active,\n .danger_bcea.active_bbe6,\n .danger_bcea:focus-visible {\n box-shadow: inset 0 0 0 1px var(--ring-button-danger-hover-color);\n }\n\n.danger_bcea:focus-visible {\n transition: none;\n }\n\n.text_fc2a.text_fc2a,\n.withIcon_ef77.withIcon_ef77 {\n background-color: transparent;\n box-shadow: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.text_fc2a.text_fc2a:hover, .withIcon_ef77.withIcon_ef77:hover {\n transition: none;\n }}\n\n.text_fc2a.text_fc2a:active,\n .withIcon_ef77.withIcon_ef77:active,\n .text_fc2a.text_fc2a.active_bbe6,\n .withIcon_ef77.withIcon_ef77.active_bbe6 {\n background-color: transparent;\n box-shadow: none;\n }\n\n.text_fc2a.text_fc2a:focus-visible, .withIcon_ef77.withIcon_ef77:focus-visible {\n box-shadow: inset 0 0 0 2px var(--ring-border-hover-color);\n }\n\n.loader_cbfc.text_fc2a > .content_b2b8 {\n animation-name: text-loading_d1b4;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.text_fc2a.text_fc2a:hover {\n background-color: transparent;\n box-shadow: none;\n}}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.withIcon_ef77:hover:not(:focus-visible) {\n background-color: transparent;\n box-shadow: none;\n}}\n\n.text_fc2a {\n color: var(--ring-action-link-color);\n}\n\n.inline_b4a2 {\n display: inline-block;\n\n margin: 0;\n padding: 0;\n\n font-size: var(--ring-font-size);\n}\n\n.withIcon_ef77 {\n padding: 0 8px;\n}\n\n.text_fc2a:active,\n .text_fc2a.active_bbe6 {\n color: var(--ring-link-hover-color);\n }\n\n.withIcon_ef77:active,\n .withIcon_ef77.active_bbe6 {\n color: var(--ring-action-link-color);\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.withIcon_ef77:hover {\n color: var(--ring-link-hover-color);\n}}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.text_fc2a:hover {\n color: var(--ring-link-hover-color);\n}}\n\n.icon_e878 {\n color: inherit;\n\n line-height: normal;\n}\n\n.icon_e878:not(:last-child) {\n margin-right: 4px;\n }\n\n.withNormalIcon_aaca .icon_e878 {\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-color);\n}\n\n.withNormalIcon_aaca:active,\n.withNormalIcon_aaca.active_bbe6 {\n color: var(--ring-main-color);\n}\n\n.withNormalIcon_aaca:active .icon_e878, .withNormalIcon_aaca.active_bbe6 .icon_e878 {\n transition: none;\n\n color: inherit;\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.withNormalIcon_aaca:hover .icon_e878,\n.withDangerIcon_e3ca:hover .icon_e878 {\n transition: none;\n\n color: inherit;\n}}\n\n.withDangerIcon_e3ca .icon_e878,\n.withDangerIcon_e3ca:active .icon_e878 {\n color: var(--ring-icon-error-color);\n}\n\n.loader_cbfc {\n position: relative;\n z-index: 0;\n\n pointer-events: none;\n\n background-color: transparent;\n}\n\n.loaderBackground_d9f5 {\n position: absolute;\n z-index: -1;\n top: 1px;\n right: 1px;\n bottom: 1px;\n left: 1px;\n\n overflow: hidden;\n\n border-radius: var(--ring-border-radius-small);\n}\n\n.loaderBackground_d9f5::before {\n display: block;\n\n width: calc(100% + 64px);\n height: 100%;\n\n content: "";\n animation: progress_ed8f 1s linear infinite;\n\n background-image:\n linear-gradient(\n to right,\n var(--ring-content-background-color),\n var(--ring-selected-background-color) 40%,\n var(--ring-content-background-color) 80%\n );\n\n background-repeat: repeat;\n background-size: 64px;\n }\n\n.delayed_d562 .content_b2b8::after {\n content: "…";\n}\n\n.short_a07a {\n width: 32px;\n padding: 0;\n}\n\n.dropdownIcon_e982 {\n margin-right: -2px;\n\n margin-left: 2px;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.button_aba4:hover .dropdownIcon_e982 {\n transition: none;\n\n color: var(--ring-main-color);\n}}\n\n@keyframes progress_ed8f {\n from {\n transform: translateX(-64px);\n }\n\n to {\n transform: translateX(0);\n }\n}\n\n@keyframes text-loading_d1b4 {\n 50% {\n opacity: 0.5;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/button/button.css",""],names:[],mappings:"AAOA;EACE,0BAAoC;EACpC,sDAAsD;AACxD;;AAEA;EACE,0BAAsC;EACtC,8CAA8C;AAChD;;AAEA;EACE,0BAAoC;EACpC,8CAA8C;AAChD;;AAEA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,sBAAsB;EACtB,iCAAc;EACd,SAAS;EACT,eAAyB;;EAEzB,eAAe;EACf,kGAAkG;EAClG,qBAAqB;;EAErB,6BAA6B;;EAE7B,SAAS;EACT,wCAAwC;EACxC,UAAU;EACV,sDAAsD;EACtD,qDAAmD;;EAEnD,oCAAoC;EACpC,uCAAuC;;EAEvC,sCAAmB;AA2DrB;;AC1GA,wGAAA;IAAA,iBAAA;;IAAA,2DAAA;GAAA,CAAA;;ADuDE;IACE,gBAAgB;;IAEhB,uDAAuD;IACvD,0DAAwD;EAC1D;;AAEA;IACE,gBAAgB;;IAEhB,oGAAkG;EACpG;;AAEA;IACE,gBAAgB;;IAEhB,oDAAoD;IACpD,kDAAgD;EAClD;;AAEA;IACE,4FAA4F;EAC9F;;AAEA;IACE,oBAAoB;;IAEpB,uDAAuD;IACvD,6DAA2D;EAC7D;;AAEA;IACE,gEAAgE;IAChE,sEAAoE;EACtE;;AAEA;;IAEE,iCAAiC;EACnC;;AAEA;IACE,sCAAsC;EACxC;;AAEA;IACE,UAAU;;IAEV,SAAS;IACT,UAAU;EACZ;;AAGF;EACE,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;EACnC,wCAAwC;EACxC,gBAAgB;AAqDlB;;ACxKA,wGAAA;IAAA,iBAAA;;IAAA,+CAAA;IAAA,iBAAA;GAAA,CAAA;;AD4HE;;;IAGE,oCAAoC;EACtC;;AAEA;;;IAGE,6DAA6D;EAC/D;;AAEA;;IAEE,mEAAiE;EACnE;;AAEA;IACE,uDAAuD;IACvD,6DAA2D;EAC7D;;AAEA;IACE,mCAAmC;EACrC;;AAEA;IACE,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;;IAEP,wCAAwC;EAW1C;;AATE;MACE;;;;;;SAMG;IACL;;ACtKJ,wGAAA;IAAA,iBAAA;GAAA,CAAA;;AAAA,wGAAA;IAAA,kEAAA;GAAA,CAAA;;AD2KE;;;;;;;IAOE,8BAA8B;EAChC;;AAEA;;IAEE,wDAAwD;EAC1D;;AAEA;;;IAIE,iEAA+D;EACjE;;AAEA;IAEE,gBAAgB;EAClB;;AAGF;;EAEE,6BAA6B;EAC7B,gBAAgB;AAelB;;ACzNA,wGAAA;IAAA,iBAAA;GAAA,CAAA;;ADgNE;;;;IAEE,6BAA6B;IAC7B,gBAAgB;EAClB;;AAEA;IACE,0DAA0D;EAC5D;;AAGF;EACE,iCAA4B;EAC5B,0BAA0B;EAC1B,mCAAmC;AACrC;;AC/NA,wGAAA;EAAA,8BAAA;EAAA,iBAAA;CAAA,CAAA;;AAAA,wGAAA;EAAA,8BAAA;EAAA,iBAAA;CAAA,CAAA;;AD2OA;EACE,oCAAoC;AACtC;;AAEA;EACE,qBAAqB;;EAErB,SAAS;EACT,UAAU;;EAEV,gCAAgC;AAClC;;AAEA;EACE,cAAe;AACjB;;AAGE;;IAEE,mCAAmC;EACrC;;AAIA;;IAEE,oCAAoC;EACtC;;ACvQF,wGAAA;EAAA,oCAAA;CAAA,CAAA;;AAAA,wGAAA;EAAA,oCAAA;CAAA,CAAA;;ADkRA;EACE,cAAc;;EAEd,mBAAmB;AAKrB;;AAHE;IACE,iBAA8B;EAChC;;AAGF;EACE,kCAAkC;;EAElC,6BAA6B;AAC/B;;AAEA;;EAEE,6BAA6B;AAO/B;;AALE;IACE,gBAAgB;;IAEhB,cAAc;EAChB;;AC1SF,wGAAA;;EAAA,iBAAA;;EAAA,eAAA;CAAA,CAAA;;ADoTA;;EAEE,mCAAmC;AACrC;;AAEA;EACE,kBAAkB;EAClB,UAAU;;EAEV,oBAAoB;;EAEpB,6BAA6B;AAC/B;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,WAAW;EACX,SAAS;;EAET,gBAAgB;;EAEhB,8CAA8C;AAsBhD;;AApBE;IACE,cAAc;;IAEd,wBAA+B;IAC/B,YAAY;;IAEZ,WAAW;IACX,2CAAsC;;IAEtC;;;;;;OAMG;;IAEH,yBAAyB;IACzB,qBAA4B;EAC9B;;AAGF;EACE,YAAY;AACd;;AAEA;EACE,WAAqB;EACrB,UAAU;AACZ;;AAEA;EACE,kBAAkB;;EAElB,gBAAgB;;EAEhB,kCAAkC;;EAElC,uCAAuC;;EAEvC,mBAAmB;AACrB;;ACvXA,wGAAA;EAAA,iBAAA;;EAAA,8BAAA;CAAA,CAAA;;AD+XA;EACE;IACE,4BAA4C;EAC9C;;EAEA;IACE,wBAAwB;EAC1B;AACF;;AAEA;EACE;IACE,YAAY;EACd;AACF",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value button-shadow: inset 0 0 0 1px;\n@value height: var(--ring-button-height);\n@value loaderWidth: calc(unit * 8);\n\n.heightS {\n --ring-button-height: calc(unit * 3);\n --ring-button-font-size: var(--ring-font-size-smaller);\n}\n\n.heightM {\n --ring-button-height: calc(unit * 3.5);\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.heightL {\n --ring-button-height: calc(unit * 4);\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.button {\n position: relative;\n\n display: inline-block;\n\n box-sizing: border-box;\n height: height;\n margin: 0;\n padding: 0 calc(unit * 2);\n\n cursor: pointer;\n transition: color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n text-decoration: none;\n\n color: var(--ring-text-color);\n\n border: 0;\n border-radius: var(--ring-border-radius);\n outline: 0;\n background-color: var(--ring-content-background-color);\n box-shadow: button-shadow var(--ring-borders-color);\n\n font-family: var(--ring-font-family);\n font-size: var(--ring-button-font-size);\n\n line-height: height;\n\n &:hover {\n transition: none;\n\n box-shadow: button-shadow var(--ring-border-hover-color);\n }\n\n &:active {\n transition: none;\n\n background-color: var(--ring-selected-background-color);\n box-shadow: button-shadow var(--ring-border-hover-color);\n }\n\n &:focus-visible {\n transition: none;\n\n box-shadow: button-shadow var(--ring-border-hover-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n &.active {\n transition: none;\n\n background-color: var(--ring-hover-background-color);\n box-shadow: button-shadow var(--ring-main-color);\n }\n\n &:focus-visible.active {\n box-shadow: inset 0 0 0 2px var(--ring-main-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n &[disabled] {\n pointer-events: none;\n\n background-color: var(--ring-disabled-background-color);\n box-shadow: button-shadow var(--ring-border-disabled-color);\n }\n\n &[disabled].active {\n background-color: var(--ring-disabled-selected-background-color);\n box-shadow: button-shadow var(--ring-border-selected-disabled-color);\n }\n\n &[disabled],\n &[disabled].withIcon {\n color: var(--ring-disabled-color);\n }\n\n &[disabled] .icon {\n color: var(--ring-icon-disabled-color);\n }\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n}\n\n.withIcon {\n color: var(--ring-secondary-color);\n}\n\n.primary {\n color: var(--ring-white-text-color);\n background-color: var(--ring-main-color);\n box-shadow: none;\n\n &:hover {\n transition: none;\n\n background-color: var(--ring-main-hover-color);\n box-shadow: none;\n }\n\n &.withIcon,\n &.withIcon:active,\n &.withIcon.active {\n color: var(--ring-action-link-color);\n }\n\n &:focus-visible,\n &:active,\n &.active {\n background-color: var(--ring-button-primary-background-color);\n }\n\n &:active,\n &.active {\n box-shadow: button-shadow var(--ring-button-primary-border-color);\n }\n\n &[disabled] {\n background-color: var(--ring-disabled-background-color);\n box-shadow: button-shadow var(--ring-border-disabled-color);\n }\n\n &[disabled].loader {\n color: var(--ring-white-text-color);\n }\n\n & .loaderBackground {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: var(--ring-border-radius);\n\n &::before {\n background-image:\n linear-gradient(\n to right,\n var(--ring-main-color),\n var(--ring-button-loader-background) 40%,\n var(--ring-main-color) 80%\n );\n }\n }\n}\n\n.danger {\n &,\n &.withIcon,\n &.withIcon:active,\n &.withIcon.active,\n &.text,\n &.text:active,\n &.text.active {\n color: var(--ring-error-color);\n }\n\n &:active,\n &.active {\n background-color: var(--ring-button-danger-active-color);\n }\n\n &:active,\n &.active,\n &:focus-visible,\n &:hover {\n box-shadow: button-shadow var(--ring-button-danger-hover-color);\n }\n\n &:focus-visible,\n &:hover {\n transition: none;\n }\n}\n\n.text.text,\n.withIcon.withIcon {\n background-color: transparent;\n box-shadow: none;\n\n &:hover {\n transition: none;\n }\n\n &:active,\n &.active {\n background-color: transparent;\n box-shadow: none;\n }\n\n &:focus-visible {\n box-shadow: inset 0 0 0 2px var(--ring-border-hover-color);\n }\n}\n\n.loader.text > .content {\n animation-name: text-loading;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n.text.text:hover {\n background-color: transparent;\n box-shadow: none;\n}\n\n.withIcon:hover:not(:focus-visible) {\n background-color: transparent;\n box-shadow: none;\n}\n\n.text {\n color: var(--ring-action-link-color);\n}\n\n.inline {\n display: inline-block;\n\n margin: 0;\n padding: 0;\n\n font-size: var(--ring-font-size);\n}\n\n.withIcon {\n padding: 0 unit;\n}\n\n.text {\n &:active,\n &.active {\n color: var(--ring-link-hover-color);\n }\n}\n\n.withIcon {\n &:active,\n &.active {\n color: var(--ring-action-link-color);\n }\n}\n\n.withIcon:hover {\n color: var(--ring-link-hover-color);\n}\n\n.text:hover {\n color: var(--ring-link-hover-color);\n}\n\n.icon {\n color: inherit;\n\n line-height: normal;\n\n &:not(:last-child) {\n margin-right: calc(unit * 0.5);\n }\n}\n\n.withNormalIcon .icon {\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-color);\n}\n\n.withNormalIcon:active,\n.withNormalIcon.active {\n color: var(--ring-main-color);\n\n & .icon {\n transition: none;\n\n color: inherit;\n }\n}\n\n.withNormalIcon:hover .icon,\n.withDangerIcon:hover .icon {\n transition: none;\n\n color: inherit;\n}\n\n.withDangerIcon .icon,\n.withDangerIcon:active .icon {\n color: var(--ring-icon-error-color);\n}\n\n.loader {\n position: relative;\n z-index: 0;\n\n pointer-events: none;\n\n background-color: transparent;\n}\n\n.loaderBackground {\n position: absolute;\n z-index: -1;\n top: 1px;\n right: 1px;\n bottom: 1px;\n left: 1px;\n\n overflow: hidden;\n\n border-radius: var(--ring-border-radius-small);\n\n &::before {\n display: block;\n\n width: calc(100% + loaderWidth);\n height: 100%;\n\n content: "";\n animation: progress 1s linear infinite;\n\n background-image:\n linear-gradient(\n to right,\n var(--ring-content-background-color),\n var(--ring-selected-background-color) 40%,\n var(--ring-content-background-color) 80%\n );\n\n background-repeat: repeat;\n background-size: loaderWidth;\n }\n}\n\n.delayed .content::after {\n content: "…";\n}\n\n.short {\n width: calc(unit * 4);\n padding: 0;\n}\n\n.dropdownIcon {\n margin-right: -2px;\n\n margin-left: 2px;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n}\n\n.button:hover .dropdownIcon {\n transition: none;\n\n color: var(--ring-main-color);\n}\n\n@keyframes progress {\n from {\n transform: translateX(calc(0 - loaderWidth));\n }\n\n to {\n transform: translateX(0);\n }\n}\n\n@keyframes text-loading {\n 50% {\n opacity: 0.5;\n }\n}\n',null],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,"button-shadow":"inset 0 0 0 1px",height:"var(--ring-button-height)",loaderWidth:"64px",heightS:"heightS_b28d",heightM:"heightM_dfd3",heightL:"heightL_a4d3",button:"button_aba4",active:"active_bbe6",withIcon:"withIcon_ef77",icon:"icon_e878",primary:"primary_ddae",loader:"loader_cbfc",loaderBackground:"loaderBackground_d9f5",danger:"danger_bcea",text:"text_fc2a",content:"content_b2b8","text-loading":"text-loading_d1b4",inline:"inline_b4a2",withNormalIcon:"withNormalIcon_aaca",withDangerIcon:"withDangerIcon_e3ca",progress:"progress_ed8f",delayed:"delayed_d562",short:"short_a07a",dropdownIcon:"dropdownIcon_e982"};const s=u},1866:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,".checkbox_dccf {\n position: relative;\n\n display: inline-block;\n\n text-align: left;\n\n color: var(--ring-text-color);\n outline: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.checkbox_dccf:hover .cell_edda {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n }}\n\n.cell_edda {\n position: relative;\n top: -2px;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n\n -webkit-user-select: none;\n\n -moz-user-select: none;\n\n user-select: none;\n transition: border-color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n vertical-align: middle;\n pointer-events: none;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius-small);\n background-color: var(--ring-content-background-color);\n}\n\n.icon_b476.icon_b476 {\n position: absolute;\n\n top: -1px;\n left: -1px;\n\n width: 16px;\n height: 16px;\n\n opacity: 0;\n color: var(--ring-white-text-color);\n}\n\n.icon_b476.icon_b476 svg {\n position: absolute;\n top: 0;\n left: 0;\n }\n\n.check_a219 {\n}\n\n.minus_de65 {\n}\n\n.input_a330 {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n margin: 0;\n\n cursor: pointer;\n\n opacity: 0;\n\n /* stylelint-disable-next-line selector-max-specificity */\n}\n\n.input_a330:checked + .cell_edda,\n .input_a330:indeterminate + .cell_edda {\n border-color: transparent;\n background-color: var(--ring-main-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330:checked + .cell_edda .check_a219 {\n opacity: 1;\n }\n\n.input_a330:focus-visible + .cell_edda,\n .input_a330.focus_eaa3 + .cell_edda {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n box-shadow: 0 0 0 1px var(--ring-border-hover-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330:indeterminate + .cell_edda .minus_de65 {\n opacity: 1;\n }\n\n.input_a330[disabled] {\n pointer-events: none;\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330[disabled][disabled] + .cell_edda {\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330[disabled]:checked + .cell_edda,\n .input_a330[disabled]:indeterminate + .cell_edda {\n border-color: var(--ring-border-selected-disabled-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330[disabled]:checked + .cell_edda .check_a219,\n .input_a330[disabled]:indeterminate + .cell_edda .minus_de65 {\n color: var(--ring-icon-disabled-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330:indeterminate:indeterminate + .cell_edda .check_a219 {\n transition: none;\n\n opacity: 0;\n }\n\n.input_a330[disabled] ~ .label_dcc7 {\n color: var(--ring-disabled-color);\n }\n\n.label_dcc7 {\n margin-left: 8px;\n\n line-height: normal;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/checkbox/checkbox.css",""],names:[],mappings:"AAKA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,gBAAgB;;EAEhB,6BAA6B;EAC7B,aAAa;AAOf;;ACpBA,wGAAA;IAAA,8CAAA;;IAAA,6CAAA;GAAA,CAAA;;ADsBA;EACE,kBAAkB;EAClB,SAAS;;EAET,qBAAqB;;EAErB,sBAAsB;EACtB,WAAmB;EACnB,YAAoB;;EAEpB,yBAAiB;;KAAjB,sBAAiB;;UAAjB,iBAAiB;EACjB,yGAAyG;EACzG,sBAAsB;EACtB,oBAAoB;;EAEpB,2CAA2C;EAC3C,8CAA8C;EAC9C,sDAAsD;AACxD;;AAEA;EACE,kBAAkB;;EAElB,SAAS;EACT,UAAU;;EAEV,WAAqB;EACrB,YAAsB;;EAEtB,UAAU;EACV,mCAAmC;AAOrC;;AALE;IACE,kBAAkB;IAClB,MAAM;IACN,OAAO;EACT;;AAGF;AAEA;;AAEA;AAEA;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;;EAEP,WAAW;EACX,YAAY;EACZ,SAAS;;EAET,eAAe;;EAEf,UAAU;;EAEV,yDAAyD;AAyD3D;;AAxDE;;IAEE,yBAAyB;IACzB,wCAAwC;EAC1C;;AAEA,yDAAyD;;AACzD;IACE,UAAU;EACZ;;AAEA;;IAEE,6CAA6C;;IAE7C,4CAA4C;IAC5C,oDAAoD;EACtD;;AAEA,yDAAyD;;AACzD;IACE,UAAU;EACZ;;AAEA;IACE,oBAAoB;EACtB;;AAEA,yDAAyD;;AACzD;IACE,+CAA+C;IAC/C,uDAAuD;EACzD;;AAEA,yDAAyD;;AACzD;;IAEE,wDAAwD;EAC1D;;AAEA,yDAAyD;;AACzD;;IAEE,sCAAsC;EACxC;;AAEA,yDAAyD;;AACzD;IACE,gBAAgB;;IAEhB,UAAU;EACZ;;AAEA;IACE,iCAAiC;EACnC;;AAGF;EACE,gBAAiB;;EAEjB,mBAAmB;AACrB",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value checkboxSize: 14px;\n\n.checkbox {\n position: relative;\n\n display: inline-block;\n\n text-align: left;\n\n color: var(--ring-text-color);\n outline: none;\n\n &:hover .cell {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n }\n}\n\n.cell {\n position: relative;\n top: -2px;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: checkboxSize;\n height: checkboxSize;\n\n user-select: none;\n transition: border-color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n vertical-align: middle;\n pointer-events: none;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius-small);\n background-color: var(--ring-content-background-color);\n}\n\n.icon.icon {\n position: absolute;\n\n top: -1px;\n left: -1px;\n\n width: calc(unit * 2);\n height: calc(unit * 2);\n\n opacity: 0;\n color: var(--ring-white-text-color);\n\n & svg {\n position: absolute;\n top: 0;\n left: 0;\n }\n}\n\n.check {\n composes: icon;\n}\n\n.minus {\n composes: icon;\n}\n\n.input {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n margin: 0;\n\n cursor: pointer;\n\n opacity: 0;\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:checked + .cell,\n &:indeterminate + .cell {\n border-color: transparent;\n background-color: var(--ring-main-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:checked + .cell .check {\n opacity: 1;\n }\n\n &:focus-visible + .cell,\n &.focus + .cell {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n box-shadow: 0 0 0 1px var(--ring-border-hover-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:indeterminate + .cell .minus {\n opacity: 1;\n }\n\n &[disabled] {\n pointer-events: none;\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &[disabled][disabled] + .cell {\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &[disabled]:checked + .cell,\n &[disabled]:indeterminate + .cell {\n border-color: var(--ring-border-selected-disabled-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &[disabled]:checked + .cell .check,\n &[disabled]:indeterminate + .cell .minus {\n color: var(--ring-icon-disabled-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:indeterminate:indeterminate + .cell .check {\n transition: none;\n\n opacity: 0;\n }\n\n &[disabled] ~ .label {\n color: var(--ring-disabled-color);\n }\n}\n\n.label {\n margin-left: unit;\n\n line-height: normal;\n}\n',null],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,checkboxSize:"14px",checkbox:"checkbox_dccf",cell:"cell_edda",icon:"icon_b476",check:"check_a219 icon_b476",minus:"minus_de65 icon_b476",input:"input_a330",focus:"focus_eaa3",label:"label_dcc7"};const s=u},5486:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,".label_bed7 {\n display: block;\n\n margin-bottom: calc(var(--ring-unit)*0.5);\n}\n\n.formLabel_f9ba {\n color: var(--ring-text-color);\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.secondaryLabel_e8a1 {\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.disabledLabel_e4c1 {\n color: var(--ring-disabled-color);\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/control-label/control-label.css"],names:[],mappings:"AAAA;EACE,cAAc;;EAEd,yCAA2C;AAC7C;;AAEA;EACE,6BAA6B;;EAE7B,gCAAgC;EAChC,oCAAoC;AACtC;;AAEA;EACE,kCAAkC;;EAElC,wCAAwC;EACxC,2CAA2C;AAC7C;;AAEA;EACE,iCAAiC;AACnC",sourcesContent:[".label {\n display: block;\n\n margin-bottom: calc(var(--ring-unit) * 0.5);\n}\n\n.formLabel {\n color: var(--ring-text-color);\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.secondaryLabel {\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.disabledLabel {\n color: var(--ring-disabled-color);\n}\n"],sourceRoot:""}]),a.locals={label:"label_bed7",formLabel:"formLabel_f9ba",secondaryLabel:"secondaryLabel_e8a1",disabledLabel:"disabledLabel_e4c1"};const l=a},6506:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".dropdown_a1de {\n display: inline-block;\n}\n\n.anchor_fdbe.anchor_fdbe {\n margin: 0 -3px;\n padding: 0 3px;\n\n font: inherit;\n}\n\n.chevron_ffc6 {\n margin-left: 2px;\n\n line-height: normal;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/dropdown/dropdown.css"],names:[],mappings:"AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,cAAc;EACd,cAAc;;EAEd,aAAa;AACf;;AAEA;EACE,gBAAgB;;EAEhB,mBAAmB;AACrB",sourcesContent:['@import "../global/variables.css";\n\n.dropdown {\n display: inline-block;\n}\n\n.anchor.anchor {\n margin: 0 -3px;\n padding: 0 3px;\n\n font: inherit;\n}\n\n.chevron {\n margin-left: 2px;\n\n line-height: normal;\n}\n'],sourceRoot:""}]),c.locals={dropdown:"dropdown_a1de",anchor:"anchor_fdbe",chevron:"chevron_ffc6"};const u=c},9106:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,'/* https://readymag.com/artemtiunov/RingUILanguage/colours/ */\n\n/*\nUnit shouldn\'t be CSS custom property because it is not intended to change\nAlso it won\'t form in FF47 https://bugzilla.mozilla.org/show_bug.cgi?id=594933\n*/\n\n.clearfix_c694::after {\n display: block;\n clear: both;\n\n content: "";\n }\n\n.font_a1f6 {\n font-family: var(--ring-font-family);\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.font-lower_c3c9 {\n\n line-height: var(--ring-line-height-lower);\n}\n\n.font-smaller_d963 {\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.font-smaller-lower_ff5f {\n\n line-height: var(--ring-line-height-lowest);\n}\n\n.font-larger-lower_b336 {\n\n font-size: var(--ring-font-size-larger);\n}\n\n.font-larger_f035 {\n\n line-height: var(--ring-line-height-taller);\n}\n\n/* To be used at large sizes */\n/* As close as possible to Helvetica Neue Thin (to replace Gotham) */\n.thin-font_de5b {\n font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size: var(--ring-font-size);\n font-weight: 100; /* Renders Helvetica Neue UltraLight on OS X */\n}\n\n.monospace-font_ac33 {\n font-family: var(--ring-font-family-monospace);\n font-size: var(--ring-font-size-smaller);\n}\n\n.ellipsis_e43b {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.resetButton_ddd2 {\n overflow: visible;\n\n padding: 0;\n\n text-align: left;\n\n color: inherit;\n border: 0;\n\n background-color: transparent;\n\n font: inherit;\n}\n\n.resetButton_ddd2::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n\n/* Note: footer also has top margin which isn\'t taken into account here */\n\n/* Media breakpoints (minimal values) */\n\n/* Media queries */\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/global/global.css"],names:[],mappings:"AAAA,6DAA6D;;AAE7D;;;CAGC;;AAIC;IACE,cAAc;IACd,WAAW;;IAEX,WAAW;EACb;;AAGF;EACE,oCAAoC;EACpC,gCAAgC;EAChC,oCAAoC;AACtC;;AAEA;;EAGE,0CAA0C;AAC5C;;AAEA;;EAGE,wCAAwC;AAC1C;;AAEA;;EAGE,2CAA2C;AAC7C;;AAEA;;EAGE,uCAAuC;AACzC;;AAEA;;EAGE,2CAA2C;AAC7C;;AAEA,8BAA8B;AAC9B,oEAAoE;AACpE;EACE,uEAAuE;EACvE,gCAAgC;EAChC,gBAAgB,EAAE,+CAA+C;AACnE;;AAEA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;;AAEA;EACE,gBAAgB;;EAEhB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,iBAAiB;;EAEjB,UAAU;;EAEV,gBAAgB;;EAEhB,cAAc;EACd,SAAS;;EAET,6BAA6B;;EAE7B,aAAa;AAOf;;AALE;IACE,UAAU;;IAEV,SAAS;EACX;;AAGF,yEAAyE;;AAGzE,uCAAuC;;AAKvC,kBAAkB",sourcesContent:['/* https://readymag.com/artemtiunov/RingUILanguage/colours/ */\n\n/*\nUnit shouldn\'t be CSS custom property because it is not intended to change\nAlso it won\'t form in FF47 https://bugzilla.mozilla.org/show_bug.cgi?id=594933\n*/\n@value unit: 8px;\n\n.clearfix {\n &::after {\n display: block;\n clear: both;\n\n content: "";\n }\n}\n\n.font {\n font-family: var(--ring-font-family);\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.font-lower {\n composes: font;\n\n line-height: var(--ring-line-height-lower);\n}\n\n.font-smaller {\n composes: font-lower;\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.font-smaller-lower {\n composes: font-smaller;\n\n line-height: var(--ring-line-height-lowest);\n}\n\n.font-larger-lower {\n composes: font-lower;\n\n font-size: var(--ring-font-size-larger);\n}\n\n.font-larger {\n composes: font-larger-lower;\n\n line-height: var(--ring-line-height-taller);\n}\n\n/* To be used at large sizes */\n/* As close as possible to Helvetica Neue Thin (to replace Gotham) */\n.thin-font {\n font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size: var(--ring-font-size);\n font-weight: 100; /* Renders Helvetica Neue UltraLight on OS X */\n}\n\n.monospace-font {\n font-family: var(--ring-font-family-monospace);\n font-size: var(--ring-font-size-smaller);\n}\n\n.ellipsis {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.resetButton {\n overflow: visible;\n\n padding: 0;\n\n text-align: left;\n\n color: inherit;\n border: 0;\n\n background-color: transparent;\n\n font: inherit;\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n}\n\n/* Note: footer also has top margin which isn\'t taken into account here */\n@value footer-height: calc(unit * 8);\n\n/* Media breakpoints (minimal values) */\n@value breakpoint-small: 640px;\n@value breakpoint-middle: 960px;\n@value breakpoint-large: 1200px;\n\n/* Media queries */\n@value extra-small-screen-media: (max-width: calc(breakpoint-small - 1px));\n@value small-screen-media: (min-width: breakpoint-small) and (max-width: calc(breakpoint-middle - 1px));\n@value middle-screen-media: (min-width: breakpoint-middle) and (max-width: calc(breakpoint-large - 1px));\n@value large-screen-media: (min-width: breakpoint-large);\n'],sourceRoot:""}]),a.locals={unit:"8px","footer-height":"64px","breakpoint-small":"640px","breakpoint-middle":"960px","breakpoint-large":"1200px","extra-small-screen-media":"(max-width: 639px)","small-screen-media":"(min-width: 640px) and (max-width: 959px)","middle-screen-media":"(min-width: 960px) and (max-width: 1199px)","large-screen-media":"(min-width: 1200px)",clearfix:"clearfix_c694",font:"font_a1f6","font-lower":"font-lower_c3c9 font_a1f6","font-smaller":"font-smaller_d963 font-lower_c3c9 font_a1f6","font-smaller-lower":"font-smaller-lower_ff5f font-smaller_d963 font-lower_c3c9 font_a1f6","font-larger-lower":"font-larger-lower_b336 font-lower_c3c9 font_a1f6","font-larger":"font-larger_f035 font-larger-lower_b336 font-lower_c3c9 font_a1f6","thin-font":"thin-font_de5b","monospace-font":"monospace-font_ac33",ellipsis:"ellipsis_e43b",resetButton:"resetButton_ddd2"};const l=a},5280:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,'/* stylelint-disable color-no-hex */\n\n.light_f331,\n:root {\n --ring-unit: 8px;\n\n /* Element */\n --ring-line-components: 223, 229, 235;\n --ring-line-color: rgb(var(--ring-line-components)); /* #dfe5eb */\n --ring-borders-components: 197, 209, 219;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #c5d1db */\n --ring-icon-components: 184, 209, 229;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #b8d1e5 */\n --ring-icon-secondary-components: 153, 153, 153;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #999 */\n --ring-border-disabled-components: 232, 232, 232;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #e8e8e8 */\n --ring-border-selected-disabled-components: 212, 212, 212;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #d4d4d4 */\n --ring-border-unselected-disabled-components: 232, 232, 232;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #e8e8e8 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 212, 212, 212;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #d4d4d4 */\n --ring-border-hover-components: 128, 198, 255;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #80c6ff */\n --ring-icon-hover-components: var(--ring-link-hover-color);\n --ring-icon-hover-color: var(--ring-link-hover-color);\n --ring-main-components: 0, 128, 229;\n --ring-main-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-main-hover-components: 0, 112, 204;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #0070cc */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 89, 168, 105;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #59a869 */\n --ring-pale-control-components: 207, 219, 229;\n --ring-pale-control-color: rgb(var(--ring-pale-control-components)); /* #cfdbe5 */\n --ring-popup-border-components: 0, 28, 54;\n --ring-popup-border-color: var(--ring-line-color);\n --ring-popup-shadow-components: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-secondary-shadow-color: rgba(var(--ring-popup-border-components), 0.04);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 115, 117, 119;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #737577 */\n --ring-button-danger-hover-components: var(--ring-icon-error-color);\n --ring-button-danger-hover-color: var(--ring-icon-error-color);\n --ring-button-primary-border-components: 0, 98, 178;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #0062b2 */\n --ring-popup-shadow: 0 2px 8px var(--ring-popup-shadow-color), 0 1px 2px var(--ring-popup-secondary-shadow-color);\n --ring-dialog-shadow: 0 4px 24px var(--ring-popup-shadow-color), 0 2px 6px var(--ring-popup-secondary-shadow-color);\n\n /* Text */\n --ring-search-components: 102, 158, 204;\n --ring-search-color: rgb(var(--ring-search-components)); /* #669ecc */\n --ring-hint-components: 64, 99, 128;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #406380 */\n --ring-link-components: 15, 91, 153;\n --ring-link-color: rgb(var(--ring-link-components)); /* #0f5b99 */\n --ring-link-hover-components: 255, 0, 140;\n --ring-link-hover-color: rgb(var(--ring-link-hover-components)); /* #ff008c */\n --ring-error-components: 169, 15, 26;\n --ring-error-color: rgb(var(--ring-error-components)); /* #a90f1a */\n --ring-warning-components: 178, 92, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #b25c00 */\n --ring-success-components: 12, 117, 35;\n --ring-success-color: rgb(var(--ring-success-components)); /* #0c7523 */\n --ring-text-components: 31, 35, 38;\n --ring-text-color: rgb(var(--ring-text-components)); /* #1f2326 */\n --ring-active-text-color: var(--ring-text-color);\n --ring-white-text-components: 255, 255, 255;\n --ring-white-text-color: rgb(var(--ring-white-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 115, 117, 119;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #737577 */\n --ring-disabled-components: 153, 153, 153;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #999 */\n\n /* Background */\n --ring-content-background-components: 255, 255, 255;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #fff */\n --ring-popup-background-components: 255, 255, 255;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #fff */\n --ring-sidebar-background-components: 247, 249, 250;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #f7f9fa */\n --ring-selected-background-components: 212, 237, 255;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #d4edff */\n --ring-hover-background-components: 235, 246, 255;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #ebf6ff */\n --ring-navigation-background-components: 255, 255, 255;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #fff */\n --ring-tag-background-components: 230, 236, 242;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #e6ecf2 */\n --ring-tag-hover-background-components: 211, 218, 224;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #d3dae0 */\n --ring-removed-background-components: 255, 213, 203;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #ffd5cb */\n --ring-warning-background-components: 250, 236, 205;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #faeccd */\n --ring-added-background-components: 216, 240, 216;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #d8f0d8 */\n --ring-disabled-background-components: 245, 245, 245;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #f5f5f5 */\n --ring-disabled-selected-background-components: 232, 232, 232;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #e8e8e8 */\n --ring-button-danger-active-components: 255, 231, 232;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #ffe7e8 */\n --ring-button-loader-background-components: 51, 163, 255;\n --ring-button-loader-background: rgb(var(--ring-button-loader-background-components)); /* #33a3ff */\n --ring-button-primary-background-components: 26, 152, 255;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #1a98ff */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #ffffff80 */\n\n /* Code */\n --ring-code-background-color: var(--ring-content-background-color);\n --ring-code-components: 0, 0, 0;\n --ring-code-color: rgb(var(--ring-code-components)); /* #000 */\n --ring-code-comment-components: 112, 112, 112;\n --ring-code-comment-color: rgb(var(--ring-code-comment-components)); /* #707070 */\n --ring-code-meta-components: 112, 112, 112;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #707070 */\n --ring-code-keyword-components: 0, 0, 128;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #000080 */\n --ring-code-tag-background-components: 239, 239, 239;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #efefef */\n --ring-code-tag-color: var(--ring-code-keyword-color);\n --ring-code-tag-font-weight: bold;\n --ring-code-field-components: 102, 14, 122;\n --ring-code-field-color: rgb(var(--ring-code-field-components)); /* #660e7a */\n --ring-code-attribute-components: 0, 0, 255;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #00f */\n --ring-code-number-color: var(--ring-code-attribute-color);\n --ring-code-string-components: 0, 122, 0;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #007a00 */\n --ring-code-addition-components: 170, 222, 170;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #aadeaa */\n --ring-code-deletion-components: 200, 200, 200;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #c8c8c8 */\n\n /* Metrics */\n --ring-border-radius: 4px;\n --ring-border-radius-small: 2px;\n --ring-font-size-larger: 15px;\n --ring-font-size: 14px;\n --ring-font-size-smaller: 12px;\n --ring-line-height-taller: 21px;\n --ring-line-height: 20px;\n --ring-line-height-lower: 18px;\n --ring-line-height-lowest: 16px;\n --ring-ease: 0.3s ease-out;\n --ring-fast-ease: 0.15s ease-out;\n --ring-font-family: system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;\n --ring-font-family-monospace:\n Menlo,\n "Bitstream Vera Sans Mono",\n "Ubuntu Mono",\n Consolas,\n "Courier New",\n Courier,\n monospace;\n\n /* Common z-index-values */\n\n /* Invisible element is an absolutely positioned element which should be below */\n /* all other elements on the page */\n --ring-invisible-element-z-index: -1;\n\n /* z-index for position: fixed elements */\n --ring-fixed-z-index: 1;\n\n /* Elements that should overlay all other elements on the page */\n --ring-overlay-z-index: 5;\n\n /* Alerts should de displayed above overlays */\n --ring-alert-z-index: 6;\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/global/variables.css"],names:[],mappings:"AAAA,mCAAmC;;AAEnC;;EAEE,gBAAgB;;EAEhB,YAAY;EACZ,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,wCAAwC;EACxC,yDAAyD,EAAE,YAAY;EACvE,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,+CAA+C;EAC/C,uEAAuE,EAAE,SAAS;EAClF,gDAAgD;EAChD,yEAAyE,EAAE,YAAY;EACvF,yDAAyD;EACzD,2FAA2F,EAAE,YAAY;EACzG,2DAA2D;EAC3D,+FAA+F,EAAE,YAAY,EAAE,uBAAuB;EACtI,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;EACnF,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,0DAA0D;EAC1D,qDAAqD;EACrD,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,0DAA0D;EAC1D,0DAA0D,EAAE,YAAY;EACxE,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,2CAA2C;EAC3C,mEAAmE,EAAE,YAAY;EACjF,4CAA4C;EAC5C,mEAAmE,EAAE,YAAY;EACjF,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,yCAAyC;EACzC,iDAAiD;EACjD,8EAA8E;EAC9E,yEAAyE;EACzE,oFAAoF;EACpF,2EAA2E;EAC3E,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;EACnF,mEAAmE;EACnE,8DAA8D;EAC9D,mDAAmD;EACnD,qFAAqF,EAAE,YAAY;EACnG,iHAAiH;EACjH,mHAAmH;;EAEnH,SAAS;EACT,uCAAuC;EACvC,uDAAuD,EAAE,YAAY;EACrE,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,oCAAoC;EACpC,qDAAqD,EAAE,YAAY;EACnE,qCAAqC;EACrC,yDAAyD,EAAE,YAAY;EACvE,sCAAsC;EACtC,yDAAyD,EAAE,YAAY;EACvE,kCAAkC;EAClC,mDAAmD,EAAE,YAAY;EACjE,gDAAgD;EAChD,2CAA2C;EAC3C,+DAA+D,EAAE,SAAS;EAC1E,4CAA4C;EAC5C,0CAA0C;EAC1C,6DAA6D,EAAE,YAAY;EAC3E,yCAAyC;EACzC,2DAA2D,EAAE,SAAS;;EAEtE,eAAe;EACf,mDAAmD;EACnD,+EAA+E,EAAE,SAAS;EAC1F,iDAAiD;EACjD,2EAA2E,EAAE,SAAS;EACtF,mDAAmD;EACnD,+EAA+E,EAAE,YAAY;EAC7F,oDAAoD;EACpD,iFAAiF,EAAE,YAAY;EAC/F,iDAAiD;EACjD,2EAA2E,EAAE,YAAY;EACzF,sDAAsD;EACtD,qFAAqF,EAAE,SAAS;EAChG,+CAA+C;EAC/C,uEAAuE,EAAE,YAAY;EACrF,qDAAqD;EACrD,mFAAmF,EAAE,YAAY;EACjG,mDAAmD;EACnD,+EAA+E,EAAE,YAAY;EAC7F,mDAAmD;EACnD,+EAA+E,EAAE,YAAY;EAC7F,iDAAiD;EACjD,2EAA2E,EAAE,YAAY;EACzF,oDAAoD;EACpD,iFAAiF,EAAE,YAAY;EAC/F,6DAA6D;EAC7D,mGAAmG,EAAE,YAAY;EACjH,qDAAqD;EACrD,mFAAmF,EAAE,YAAY;EACjG,wDAAwD;EACxD,qFAAqF,EAAE,YAAY;EACnG,yDAAyD;EACzD,6FAA6F,EAAE,YAAY;EAC3G,0FAA0F,EAAE,cAAc;;EAE1G,SAAS;EACT,kEAAkE;EAClE,+BAA+B;EAC/B,mDAAmD,EAAE,SAAS;EAC9D,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,0CAA0C;EAC1C,6DAA6D,EAAE,YAAY;EAC3E,yCAAyC;EACzC,mEAAmE,EAAE,YAAY;EACjF,oDAAoD;EACpD,iFAAiF,EAAE,YAAY;EAC/F,qDAAqD;EACrD,iCAAiC;EACjC,0CAA0C;EAC1C,+DAA+D,EAAE,YAAY;EAC7E,2CAA2C;EAC3C,uEAAuE,EAAE,SAAS;EAClF,0DAA0D;EAC1D,wCAAwC;EACxC,iEAAiE,EAAE,YAAY;EAC/E,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;EACnF,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;;EAEnF,YAAY;EACZ,yBAAyB;EACzB,+BAA+B;EAC/B,6BAA6B;EAC7B,sBAAsB;EACtB,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,8BAA8B;EAC9B,+BAA+B;EAC/B,0BAA0B;EAC1B,gCAAgC;EAChC,+HAAgD;EAChD;;;;;;;aAOW;;EAEX,0BAA0B;;EAE1B,gFAAgF;EAChF,mCAAmC;EACnC,oCAAoC;;EAEpC,yCAAyC;EACzC,uBAAuB;;EAEvB,gEAAgE;EAChE,yBAAyB;;EAEzB,8CAA8C;EAC9C,uBAAuB;AACzB",sourcesContent:['/* stylelint-disable color-no-hex */\n\n.light,\n:root {\n --ring-unit: 8px;\n\n /* Element */\n --ring-line-components: 223, 229, 235;\n --ring-line-color: rgb(var(--ring-line-components)); /* #dfe5eb */\n --ring-borders-components: 197, 209, 219;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #c5d1db */\n --ring-icon-components: 184, 209, 229;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #b8d1e5 */\n --ring-icon-secondary-components: 153, 153, 153;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #999 */\n --ring-border-disabled-components: 232, 232, 232;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #e8e8e8 */\n --ring-border-selected-disabled-components: 212, 212, 212;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #d4d4d4 */\n --ring-border-unselected-disabled-components: 232, 232, 232;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #e8e8e8 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 212, 212, 212;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #d4d4d4 */\n --ring-border-hover-components: 128, 198, 255;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #80c6ff */\n --ring-icon-hover-components: var(--ring-link-hover-color);\n --ring-icon-hover-color: var(--ring-link-hover-color);\n --ring-main-components: 0, 128, 229;\n --ring-main-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-main-hover-components: 0, 112, 204;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #0070cc */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 89, 168, 105;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #59a869 */\n --ring-pale-control-components: 207, 219, 229;\n --ring-pale-control-color: rgb(var(--ring-pale-control-components)); /* #cfdbe5 */\n --ring-popup-border-components: 0, 28, 54;\n --ring-popup-border-color: var(--ring-line-color);\n --ring-popup-shadow-components: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-secondary-shadow-color: rgba(var(--ring-popup-border-components), 0.04);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 115, 117, 119;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #737577 */\n --ring-button-danger-hover-components: var(--ring-icon-error-color);\n --ring-button-danger-hover-color: var(--ring-icon-error-color);\n --ring-button-primary-border-components: 0, 98, 178;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #0062b2 */\n --ring-popup-shadow: 0 2px 8px var(--ring-popup-shadow-color), 0 1px 2px var(--ring-popup-secondary-shadow-color);\n --ring-dialog-shadow: 0 4px 24px var(--ring-popup-shadow-color), 0 2px 6px var(--ring-popup-secondary-shadow-color);\n\n /* Text */\n --ring-search-components: 102, 158, 204;\n --ring-search-color: rgb(var(--ring-search-components)); /* #669ecc */\n --ring-hint-components: 64, 99, 128;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #406380 */\n --ring-link-components: 15, 91, 153;\n --ring-link-color: rgb(var(--ring-link-components)); /* #0f5b99 */\n --ring-link-hover-components: 255, 0, 140;\n --ring-link-hover-color: rgb(var(--ring-link-hover-components)); /* #ff008c */\n --ring-error-components: 169, 15, 26;\n --ring-error-color: rgb(var(--ring-error-components)); /* #a90f1a */\n --ring-warning-components: 178, 92, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #b25c00 */\n --ring-success-components: 12, 117, 35;\n --ring-success-color: rgb(var(--ring-success-components)); /* #0c7523 */\n --ring-text-components: 31, 35, 38;\n --ring-text-color: rgb(var(--ring-text-components)); /* #1f2326 */\n --ring-active-text-color: var(--ring-text-color);\n --ring-white-text-components: 255, 255, 255;\n --ring-white-text-color: rgb(var(--ring-white-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 115, 117, 119;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #737577 */\n --ring-disabled-components: 153, 153, 153;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #999 */\n\n /* Background */\n --ring-content-background-components: 255, 255, 255;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #fff */\n --ring-popup-background-components: 255, 255, 255;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #fff */\n --ring-sidebar-background-components: 247, 249, 250;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #f7f9fa */\n --ring-selected-background-components: 212, 237, 255;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #d4edff */\n --ring-hover-background-components: 235, 246, 255;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #ebf6ff */\n --ring-navigation-background-components: 255, 255, 255;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #fff */\n --ring-tag-background-components: 230, 236, 242;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #e6ecf2 */\n --ring-tag-hover-background-components: 211, 218, 224;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #d3dae0 */\n --ring-removed-background-components: 255, 213, 203;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #ffd5cb */\n --ring-warning-background-components: 250, 236, 205;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #faeccd */\n --ring-added-background-components: 216, 240, 216;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #d8f0d8 */\n --ring-disabled-background-components: 245, 245, 245;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #f5f5f5 */\n --ring-disabled-selected-background-components: 232, 232, 232;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #e8e8e8 */\n --ring-button-danger-active-components: 255, 231, 232;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #ffe7e8 */\n --ring-button-loader-background-components: 51, 163, 255;\n --ring-button-loader-background: rgb(var(--ring-button-loader-background-components)); /* #33a3ff */\n --ring-button-primary-background-components: 26, 152, 255;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #1a98ff */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #ffffff80 */\n\n /* Code */\n --ring-code-background-color: var(--ring-content-background-color);\n --ring-code-components: 0, 0, 0;\n --ring-code-color: rgb(var(--ring-code-components)); /* #000 */\n --ring-code-comment-components: 112, 112, 112;\n --ring-code-comment-color: rgb(var(--ring-code-comment-components)); /* #707070 */\n --ring-code-meta-components: 112, 112, 112;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #707070 */\n --ring-code-keyword-components: 0, 0, 128;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #000080 */\n --ring-code-tag-background-components: 239, 239, 239;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #efefef */\n --ring-code-tag-color: var(--ring-code-keyword-color);\n --ring-code-tag-font-weight: bold;\n --ring-code-field-components: 102, 14, 122;\n --ring-code-field-color: rgb(var(--ring-code-field-components)); /* #660e7a */\n --ring-code-attribute-components: 0, 0, 255;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #00f */\n --ring-code-number-color: var(--ring-code-attribute-color);\n --ring-code-string-components: 0, 122, 0;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #007a00 */\n --ring-code-addition-components: 170, 222, 170;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #aadeaa */\n --ring-code-deletion-components: 200, 200, 200;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #c8c8c8 */\n\n /* Metrics */\n --ring-border-radius: 4px;\n --ring-border-radius-small: 2px;\n --ring-font-size-larger: 15px;\n --ring-font-size: 14px;\n --ring-font-size-smaller: 12px;\n --ring-line-height-taller: 21px;\n --ring-line-height: 20px;\n --ring-line-height-lower: 18px;\n --ring-line-height-lowest: 16px;\n --ring-ease: 0.3s ease-out;\n --ring-fast-ease: 0.15s ease-out;\n --ring-font-family: system-ui, Arial, sans-serif;\n --ring-font-family-monospace:\n Menlo,\n "Bitstream Vera Sans Mono",\n "Ubuntu Mono",\n Consolas,\n "Courier New",\n Courier,\n monospace;\n\n /* Common z-index-values */\n\n /* Invisible element is an absolutely positioned element which should be below */\n /* all other elements on the page */\n --ring-invisible-element-z-index: -1;\n\n /* z-index for position: fixed elements */\n --ring-fixed-z-index: 1;\n\n /* Elements that should overlay all other elements on the page */\n --ring-overlay-z-index: 5;\n\n /* Alerts should de displayed above overlays */\n --ring-alert-z-index: 6;\n}\n'],sourceRoot:""}]),a.locals={light:"light_f331"};const l=a},9173:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,"/* stylelint-disable color-no-hex */\n\n.ring-ui-theme-dark,\n.dark_d4a9,\n:root.dark_d4a9 {\n --ring-line-components: 71, 81, 89;\n --ring-line-color: rgb(var(--ring-line-components)); /* #475159 */\n --ring-borders-components: 64, 99, 128;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #406380 */\n --ring-icon-components: 128, 146, 157;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #80929d */\n --ring-icon-secondary-components: 128, 146, 157;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #80929d */\n --ring-border-disabled-components: 54, 54, 54;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #363636 */\n --ring-border-selected-disabled-components: 54, 54, 54;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #363636 */\n --ring-border-unselected-disabled-components: 54, 54, 54;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #363636 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 80, 82, 83;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #505253 */\n --ring-border-hover-components: 112, 177, 230;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #70b1e6 */\n --ring-main-components: 0, 142, 255;\n --ring-main-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-main-hover-components: 0, 126, 229;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #007ee5 */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 71, 212, 100;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #47d464 */\n --ring-popup-border-components: 0, 42, 76;\n --ring-popup-border-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.15);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 0, 0, 0;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #000 */\n --ring-button-danger-hover-color: var(--ring-error-color);\n --ring-button-primary-border-components: 128, 198, 255;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #80c6ff */\n\n /* Text */\n --ring-hint-components: 128, 146, 157;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #80929d */\n --ring-link-components: 112, 177, 230;\n --ring-link-color: rgb(var(--ring-link-components)); /* #70b1e6 */\n --ring-error-components: 219, 88, 96;\n --ring-error-color: rgb(var(--ring-error-components)); /* #db5860 */\n --ring-warning-components: 237, 162, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #eda200 */\n --ring-success-components: 71, 212, 100;\n --ring-success-color: rgb(var(--ring-success-components)); /* #47d464 */\n --ring-text-components: 187, 187, 187;\n --ring-text-color: rgb(var(--ring-text-components)); /* #bbb */\n --ring-active-text-components: 255, 255, 255;\n --ring-active-text-color: rgb(var(--ring-active-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 128, 146, 157;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #80929d */\n --ring-disabled-components: 81, 95, 104;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #515F68 */\n\n /* Background */\n --ring-content-background-components: 35, 39, 43;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #23272b */\n --ring-popup-background-components: 17, 19, 20;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #111314 */\n --ring-sidebar-background-components: 40, 52, 61;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #28343d */\n --ring-selected-background-components: 6, 38, 64;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #062640 */\n --ring-hover-background-components: 11, 26, 38;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #0b1a26 */\n --ring-navigation-background-components: 17, 19, 20;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #111314 */\n --ring-tag-background-components: 62, 77, 89;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #3e4d59 */\n --ring-tag-hover-background-components: 51, 62, 71;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #333e47 */\n --ring-removed-background-components: 143, 82, 71;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #8f5247 */\n --ring-warning-background-components: 89, 61, 1;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #593d01 */\n --ring-added-background-components: 54, 89, 71;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #365947 */\n --ring-disabled-background-components: 44, 47, 51;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #2C2F33 */\n --ring-disabled-selected-background-components: 44, 47, 51;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #2C2F33 */\n --ring-button-danger-active-components: 38, 8, 10;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #26080a */\n --ring-button-primary-background-components: 0, 126, 229;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #007ee5 */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #23272b80 */\n\n /* Code */\n --ring-code-background-components: 43, 43, 43;\n --ring-code-background-color: rgb(var(--ring-code-background-components)); /* #2b2b2b */\n --ring-code-components: 169, 183, 198;\n --ring-code-color: rgb(var(--ring-code-components)); /* #a9b7c6 */\n --ring-code-meta-components: 187, 181, 41;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #bbb529 */\n --ring-code-keyword-components: 204, 120, 50;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #cc7832 */\n --ring-code-tag-background-components: 43, 43, 43;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #2b2b2b */\n --ring-code-tag-components: 232, 191, 106;\n --ring-code-tag-color: rgb(var(--ring-code-tag-components)); /* #e8bf6a */\n --ring-code-tag-font-weight: normal;\n --ring-code-field-components: 152, 118, 170;\n --ring-code-field-color: rgb(var(--ring-code-tag-font-weight)); /* #9876aa */\n --ring-code-attribute-components: 186, 186, 186;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #bababa */\n --ring-code-number-components: 104, 151, 187;\n --ring-code-number-color: rgb(var(--ring-code-number-components)); /* #6897bb */\n --ring-code-string-components: 106, 135, 89;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #6a8759 */\n --ring-code-addition-components: 68, 113, 82;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #447152 */\n --ring-code-deletion-components: 101, 110, 118;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #656e76 */\n\n color-scheme: dark;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/global/variables_dark.css"],names:[],mappings:"AAAA,mCAAmC;;AAEnC;;;EAGE,kCAAkC;EAClC,mDAAmD,EAAE,YAAY;EACjE,sCAAsC;EACtC,yDAAyD,EAAE,YAAY;EACvE,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,+CAA+C;EAC/C,uEAAuE,EAAE,YAAY;EACrF,6CAA6C;EAC7C,yEAAyE,EAAE,YAAY;EACvF,sDAAsD;EACtD,2FAA2F,EAAE,YAAY;EACzG,wDAAwD;EACxD,+FAA+F,EAAE,YAAY,EAAE,uBAAuB;EACtI,2CAA2C;EAC3C,qEAAqE,EAAE,YAAY;EACnF,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,0DAA0D;EAC1D,0DAA0D,EAAE,YAAY;EACxE,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,2CAA2C;EAC3C,mEAAmE,EAAE,YAAY;EACjF,4CAA4C;EAC5C,mEAAmE,EAAE,YAAY;EACjF,yCAAyC;EACzC,yEAAyE;EACzE,0EAA0E;EAC1E,2EAA2E;EAC3E,wCAAwC;EACxC,qEAAqE,EAAE,SAAS;EAChF,yDAAyD;EACzD,sDAAsD;EACtD,qFAAqF,EAAE,YAAY;;EAEnG,SAAS;EACT,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,oCAAoC;EACpC,qDAAqD,EAAE,YAAY;EACnE,sCAAsC;EACtC,yDAAyD,EAAE,YAAY;EACvE,uCAAuC;EACvC,yDAAyD,EAAE,YAAY;EACvE,qCAAqC;EACrC,mDAAmD,EAAE,SAAS;EAC9D,4CAA4C;EAC5C,iEAAiE,EAAE,SAAS;EAC5E,4CAA4C;EAC5C,0CAA0C;EAC1C,6DAA6D,EAAE,YAAY;EAC3E,uCAAuC;EACvC,2DAA2D,EAAE,YAAY;;EAEzE,eAAe;EACf,gDAAgD;EAChD,+EAA+E,EAAE,YAAY;EAC7F,8CAA8C;EAC9C,2EAA2E,EAAE,YAAY;EACzF,gDAAgD;EAChD,+EAA+E,EAAE,YAAY;EAC7F,gDAAgD;EAChD,iFAAiF,EAAE,YAAY;EAC/F,8CAA8C;EAC9C,2EAA2E,EAAE,YAAY;EACzF,mDAAmD;EACnD,qFAAqF,EAAE,YAAY;EACnG,4CAA4C;EAC5C,uEAAuE,EAAE,YAAY;EACrF,kDAAkD;EAClD,mFAAmF,EAAE,YAAY;EACjG,iDAAiD;EACjD,+EAA+E,EAAE,YAAY;EAC7F,+CAA+C;EAC/C,+EAA+E,EAAE,YAAY;EAC7F,8CAA8C;EAC9C,2EAA2E,EAAE,YAAY;EACzF,iDAAiD;EACjD,iFAAiF,EAAE,YAAY;EAC/F,0DAA0D;EAC1D,mGAAmG,EAAE,YAAY;EACjH,iDAAiD;EACjD,mFAAmF,EAAE,YAAY;EACjG,wDAAwD;EACxD,6FAA6F,EAAE,YAAY;EAC3G,0FAA0F,EAAE,cAAc;;EAE1G,SAAS;EACT,6CAA6C;EAC7C,yEAAyE,EAAE,YAAY;EACvF,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,yCAAyC;EACzC,6DAA6D,EAAE,YAAY;EAC3E,4CAA4C;EAC5C,mEAAmE,EAAE,YAAY;EACjF,iDAAiD;EACjD,iFAAiF,EAAE,YAAY;EAC/F,yCAAyC;EACzC,2DAA2D,EAAE,YAAY;EACzE,mCAAmC;EACnC,2CAA2C;EAC3C,8DAA8D,EAAE,YAAY;EAC5E,+CAA+C;EAC/C,uEAAuE,EAAE,YAAY;EACrF,4CAA4C;EAC5C,iEAAiE,EAAE,YAAY;EAC/E,2CAA2C;EAC3C,iEAAiE,EAAE,YAAY;EAC/E,4CAA4C;EAC5C,qEAAqE,EAAE,YAAY;EACnF,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;;EAEnF,kBAAkB;AACpB",sourcesContent:["/* stylelint-disable color-no-hex */\n\n:global(.ring-ui-theme-dark),\n.dark,\n:root.dark {\n --ring-line-components: 71, 81, 89;\n --ring-line-color: rgb(var(--ring-line-components)); /* #475159 */\n --ring-borders-components: 64, 99, 128;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #406380 */\n --ring-icon-components: 128, 146, 157;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #80929d */\n --ring-icon-secondary-components: 128, 146, 157;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #80929d */\n --ring-border-disabled-components: 54, 54, 54;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #363636 */\n --ring-border-selected-disabled-components: 54, 54, 54;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #363636 */\n --ring-border-unselected-disabled-components: 54, 54, 54;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #363636 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 80, 82, 83;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #505253 */\n --ring-border-hover-components: 112, 177, 230;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #70b1e6 */\n --ring-main-components: 0, 142, 255;\n --ring-main-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-main-hover-components: 0, 126, 229;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #007ee5 */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 71, 212, 100;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #47d464 */\n --ring-popup-border-components: 0, 42, 76;\n --ring-popup-border-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.15);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 0, 0, 0;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #000 */\n --ring-button-danger-hover-color: var(--ring-error-color);\n --ring-button-primary-border-components: 128, 198, 255;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #80c6ff */\n\n /* Text */\n --ring-hint-components: 128, 146, 157;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #80929d */\n --ring-link-components: 112, 177, 230;\n --ring-link-color: rgb(var(--ring-link-components)); /* #70b1e6 */\n --ring-error-components: 219, 88, 96;\n --ring-error-color: rgb(var(--ring-error-components)); /* #db5860 */\n --ring-warning-components: 237, 162, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #eda200 */\n --ring-success-components: 71, 212, 100;\n --ring-success-color: rgb(var(--ring-success-components)); /* #47d464 */\n --ring-text-components: 187, 187, 187;\n --ring-text-color: rgb(var(--ring-text-components)); /* #bbb */\n --ring-active-text-components: 255, 255, 255;\n --ring-active-text-color: rgb(var(--ring-active-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 128, 146, 157;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #80929d */\n --ring-disabled-components: 81, 95, 104;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #515F68 */\n\n /* Background */\n --ring-content-background-components: 35, 39, 43;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #23272b */\n --ring-popup-background-components: 17, 19, 20;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #111314 */\n --ring-sidebar-background-components: 40, 52, 61;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #28343d */\n --ring-selected-background-components: 6, 38, 64;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #062640 */\n --ring-hover-background-components: 11, 26, 38;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #0b1a26 */\n --ring-navigation-background-components: 17, 19, 20;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #111314 */\n --ring-tag-background-components: 62, 77, 89;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #3e4d59 */\n --ring-tag-hover-background-components: 51, 62, 71;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #333e47 */\n --ring-removed-background-components: 143, 82, 71;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #8f5247 */\n --ring-warning-background-components: 89, 61, 1;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #593d01 */\n --ring-added-background-components: 54, 89, 71;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #365947 */\n --ring-disabled-background-components: 44, 47, 51;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #2C2F33 */\n --ring-disabled-selected-background-components: 44, 47, 51;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #2C2F33 */\n --ring-button-danger-active-components: 38, 8, 10;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #26080a */\n --ring-button-primary-background-components: 0, 126, 229;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #007ee5 */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #23272b80 */\n\n /* Code */\n --ring-code-background-components: 43, 43, 43;\n --ring-code-background-color: rgb(var(--ring-code-background-components)); /* #2b2b2b */\n --ring-code-components: 169, 183, 198;\n --ring-code-color: rgb(var(--ring-code-components)); /* #a9b7c6 */\n --ring-code-meta-components: 187, 181, 41;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #bbb529 */\n --ring-code-keyword-components: 204, 120, 50;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #cc7832 */\n --ring-code-tag-background-components: 43, 43, 43;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #2b2b2b */\n --ring-code-tag-components: 232, 191, 106;\n --ring-code-tag-color: rgb(var(--ring-code-tag-components)); /* #e8bf6a */\n --ring-code-tag-font-weight: normal;\n --ring-code-field-components: 152, 118, 170;\n --ring-code-field-color: rgb(var(--ring-code-tag-font-weight)); /* #9876aa */\n --ring-code-attribute-components: 186, 186, 186;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #bababa */\n --ring-code-number-components: 104, 151, 187;\n --ring-code-number-color: rgb(var(--ring-code-number-components)); /* #6897bb */\n --ring-code-string-components: 106, 135, 89;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #6a8759 */\n --ring-code-addition-components: 68, 113, 82;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #447152 */\n --ring-code-deletion-components: 101, 110, 118;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #656e76 */\n\n color-scheme: dark;\n}\n"],sourceRoot:""}]),a.locals={dark:"dark_d4a9"};const l=a},5066:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'.icon_aaa7 {\n display: inline-block;\n\n fill: currentColor;\n}\n\n.glyph_f986 {\n display: inline-flex;\n\n margin-right: -1px;\n margin-left: -1px;\n\n pointer-events: none;\n}\n\n.glyph_f986[width="10"] {\n vertical-align: -1px;\n }\n\n.glyph_f986[width="14"] {\n margin-right: -2px;\n margin-left: 0;\n\n vertical-align: -3px;\n }\n\n.glyph_f986[width="16"] {\n vertical-align: -3px;\n }\n\n.glyph_f986[width="20"] {\n vertical-align: -2px;\n }\n\n.glyph_f986.compatibilityMode_d631 {\n width: 16px;\n height: 16px;\n margin-right: 0;\n margin-left: 0;\n }\n\n/* HACK: This media query hack makes styles applied for WebKit browsers only */\n/* stylelint-disable-next-line media-feature-name-no-vendor-prefix */\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n .glyph_f986 {\n width: auto; /* Safari size bug workaround, see https://youtrack.jetbrains.com/issue/RG-1983 */\n }\n}\n\n.gray_f6a8 {\n color: var(--ring-icon-secondary-color);\n}\n\n.hover_fc27 {\n color: var(--ring-icon-hover-color);\n}\n\n.green_bfb1 {\n color: var(--ring-icon-success-color);\n}\n\n.magenta_b045 {\n color: var(--ring-link-hover-color);\n}\n\n.red_a7ec {\n color: var(--ring-icon-error-color);\n}\n\n.blue_ec1e {\n color: var(--ring-main-color);\n}\n\n.white_c896 {\n color: var(--ring-white-text-color);\n}\n\n.loading_c5e2 {\n animation-name: icon-loading_fe22;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n@keyframes icon-loading_fe22 {\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.9);\n\n opacity: 0.5;\n }\n\n 100% {\n transform: scale(1);\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/icon/icon.css"],names:[],mappings:"AAIA;EACE,qBAAqB;;EAErB,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;;EAEpB,kBAAkB;EAClB,iBAAiB;;EAEjB,oBAAoB;AA2BtB;;AAzBE;IACE,oBAAoB;EACtB;;AAEA;IACE,kBAAkB;IAClB,cAAc;;IAEd,oBAAoB;EACtB;;AAEA;IACE,oBAAoB;EACtB;;AAEA;IACE,oBAAoB;EACtB;;AAEA;IACE,WAAqB;IACrB,YAAsB;IACtB,eAAe;IACf,cAAc;EAChB;;AAGF,8EAA8E;AAC9E,oEAAoE;AACpE;EACE;IACE,WAAW,EAAE,iFAAiF;EAChG;AACF;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,iCAA4B;EAC5B,0BAA0B;EAC1B,mCAAmC;AACrC;;AAEA;EACE;IACE,mBAAmB;EACrB;;EAEA;IACE,qBAAqB;;IAErB,YAAY;EACd;;EAEA;IACE,mBAAmB;EACrB;AACF",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n.icon {\n display: inline-block;\n\n fill: currentColor;\n}\n\n.glyph {\n display: inline-flex;\n\n margin-right: -1px;\n margin-left: -1px;\n\n pointer-events: none;\n\n &[width="10"] {\n vertical-align: -1px;\n }\n\n &[width="14"] {\n margin-right: -2px;\n margin-left: 0;\n\n vertical-align: -3px;\n }\n\n &[width="16"] {\n vertical-align: -3px;\n }\n\n &[width="20"] {\n vertical-align: -2px;\n }\n\n &.compatibilityMode {\n width: calc(unit * 2);\n height: calc(unit * 2);\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n/* HACK: This media query hack makes styles applied for WebKit browsers only */\n/* stylelint-disable-next-line media-feature-name-no-vendor-prefix */\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n .glyph {\n width: auto; /* Safari size bug workaround, see https://youtrack.jetbrains.com/issue/RG-1983 */\n }\n}\n\n.gray {\n color: var(--ring-icon-secondary-color);\n}\n\n.hover {\n color: var(--ring-icon-hover-color);\n}\n\n.green {\n color: var(--ring-icon-success-color);\n}\n\n.magenta {\n color: var(--ring-link-hover-color);\n}\n\n.red {\n color: var(--ring-icon-error-color);\n}\n\n.blue {\n color: var(--ring-main-color);\n}\n\n.white {\n color: var(--ring-white-text-color);\n}\n\n.loading {\n animation-name: icon-loading;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n@keyframes icon-loading {\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.9);\n\n opacity: 0.5;\n }\n\n 100% {\n transform: scale(1);\n }\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,icon:"icon_aaa7",glyph:"glyph_f986",compatibilityMode:"compatibilityMode_d631",gray:"gray_f6a8",hover:"hover_fc27",green:"green_bfb1",magenta:"magenta_b045",red:"red_a7ec",blue:"blue_ec1e",white:"white_c896",loading:"loading_c5e2","icon-loading":"icon-loading_fe22"};const s=u},8976:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,":root {\n --ring-input-xs: 96px;\n --ring-input-s: 96px;\n --ring-input-m: 240px;\n --ring-input-l: 400px;\n}\n\n/**\n * @name Input Sizes\n */\n\n/* XS */\n\n.ring-input-size_xs.ring-input-size_xs {\n display: inline-block;\n\n width: 96px;\n\n width: var(--ring-input-xs);\n}\n\n.ring-input-size_xs.ring-input-size_xs ~ .ring-error-bubble {\n left: 98px;\n left: calc(var(--ring-input-xs) + 2px);\n}\n\n/* S */\n\n.ring-input-size_s.ring-input-size_s {\n display: inline-block;\n\n width: 96px;\n\n width: var(--ring-input-s);\n}\n\n.ring-input-size_s.ring-input-size_s ~ .ring-error-bubble {\n left: 98px;\n left: calc(var(--ring-input-s) + 2px);\n}\n\n/* M */\n\n.ring-input-size_m.ring-input-size_m {\n display: inline-block;\n\n width: 240px;\n\n width: var(--ring-input-m);\n}\n\n.ring-input-size_m.ring-input-size_m ~ .ring-error-bubble {\n left: 242px;\n left: calc(var(--ring-input-m) + 2px);\n}\n\n.ring-input-size_md.ring-input-size_md {\n display: inline-block;\n\n width: 240px;\n\n width: var(--ring-input-m);\n}\n\n.ring-input-size_md.ring-input-size_md ~ .ring-error-bubble {\n left: 242px;\n left: calc(var(--ring-input-m) + 2px);\n}\n\n/* L */\n\n.ring-input-size_l.ring-input-size_l {\n display: inline-block;\n\n width: 400px;\n\n width: var(--ring-input-l);\n}\n\n.ring-input-size_l.ring-input-size_l ~ .ring-error-bubble {\n left: 402px;\n left: calc(var(--ring-input-l) + 2px);\n}\n\n.ring-input-height_s.ring-input-height_s {\n --ring-input-padding-block: 1px;\n}\n\n.ring-input-height_m.ring-input-height_m {\n --ring-input-padding-block: 3px;\n}\n\n.ring-input-height_l.ring-input-height_l {\n --ring-input-padding-block: 5px;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/input-size/input-size.css"],names:[],mappings:"AAIA;EACE,qBAAgC;EAChC,oBAA+B;EAC/B,qBAA+B;EAC/B,qBAA+B;AACjC;;AAEA;;EAEE;;AAEF,OAAO;;AAEP;EACE,qBAAqB;;EAErB,WAA2B;;EAA3B,2BAA2B;AAC7B;;AAEA;EACE,UAAsC;EAAtC,sCAAsC;AACxC;;AAEA,MAAM;;AAEN;EACE,qBAAqB;;EAErB,WAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,UAAqC;EAArC,qCAAqC;AACvC;;AAEA,MAAM;;AAEN;EACE,qBAAqB;;EAErB,YAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,WAAqC;EAArC,qCAAqC;AACvC;;AAEA;EACE,qBAAqB;;EAErB,YAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,WAAqC;EAArC,qCAAqC;AACvC;;AAEA,MAAM;;AAEN;EACE,qBAAqB;;EAErB,YAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,WAAqC;EAArC,qCAAqC;AACvC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n:root {\n --ring-input-xs: calc(unit * 12);\n --ring-input-s: calc(unit * 12);\n --ring-input-m: calc(unit * 30);\n --ring-input-l: calc(unit * 50);\n}\n\n/**\n * @name Input Sizes\n */\n\n/* XS */\n\n:global(.ring-input-size_xs.ring-input-size_xs) {\n display: inline-block;\n\n width: var(--ring-input-xs);\n}\n\n:global(.ring-input-size_xs.ring-input-size_xs ~ .ring-error-bubble) {\n left: calc(var(--ring-input-xs) + 2px);\n}\n\n/* S */\n\n:global(.ring-input-size_s.ring-input-size_s) {\n display: inline-block;\n\n width: var(--ring-input-s);\n}\n\n:global(.ring-input-size_s.ring-input-size_s ~ .ring-error-bubble) {\n left: calc(var(--ring-input-s) + 2px);\n}\n\n/* M */\n\n:global(.ring-input-size_m.ring-input-size_m) {\n display: inline-block;\n\n width: var(--ring-input-m);\n}\n\n:global(.ring-input-size_m.ring-input-size_m ~ .ring-error-bubble) {\n left: calc(var(--ring-input-m) + 2px);\n}\n\n:global(.ring-input-size_md.ring-input-size_md) {\n display: inline-block;\n\n width: var(--ring-input-m);\n}\n\n:global(.ring-input-size_md.ring-input-size_md ~ .ring-error-bubble) {\n left: calc(var(--ring-input-m) + 2px);\n}\n\n/* L */\n\n:global(.ring-input-size_l.ring-input-size_l) {\n display: inline-block;\n\n width: var(--ring-input-l);\n}\n\n:global(.ring-input-size_l.ring-input-size_l ~ .ring-error-bubble) {\n left: calc(var(--ring-input-l) + 2px);\n}\n\n:global(.ring-input-height_s.ring-input-height_s) {\n --ring-input-padding-block: 1px;\n}\n\n:global(.ring-input-height_m.ring-input-height_m) {\n --ring-input-padding-block: 3px;\n}\n\n:global(.ring-input-height_l.ring-input-height_l) {\n --ring-input-padding-block: 5px;\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`};const s=u},8266:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>f});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=t(9892),s=a()(o());s.i(c.A),s.i(u.default),s.i(l.default,"",!0),s.push([e.id,'.outerContainer_cb70 {\n --ring-input-icon-offset: 20px;\n --ring-input-padding-inline: 8px;\n --ring-input-background-color: var(--ring-content-background-color);\n}\n\n.borderless_f79b {\n /* stylelint-disable-next-line length-zero-no-unit */\n --ring-input-padding-inline: 0px;\n}\n\n.container_ee33 {\n position: relative;\n\n box-sizing: border-box;\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.container_ee33 * {\n box-sizing: border-box;\n }\n\n.input_f220 {\n --ring-input-padding-start: var(--ring-input-padding-inline);\n --ring-input-padding-end: var(--ring-input-padding-inline);\n\n width: 100%;\n\n margin: 0;\n padding-top: var(--ring-input-padding-block);\n padding-right: var(--ring-input-padding-end);\n padding-bottom: var(--ring-input-padding-block);\n padding-left: var(--ring-input-padding-start);\n\n transition: border-color var(--ring-ease);\n\n color: var(--ring-text-color);\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n outline: none;\n background-color: var(--ring-input-background-color);\n\n font: inherit;\n\n caret-color: var(--ring-main-color);\n}\n\n[dir="rtl"] .input_f220 {\n padding-right: var(--ring-input-padding-start);\n padding-left: var(--ring-input-padding-end);\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.input_f220:hover {\n transition: none;\n\n border-color: var(--ring-border-hover-color);\n }}\n\n.error_ff90 .input_f220 {\n border-color: var(--ring-icon-error-color);\n }\n\n.input_f220:focus {\n transition: none;\n\n border-color: var(--ring-main-color);\n }\n\n.input_f220[disabled] {\n color: var(--ring-disabled-color);\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n\n -webkit-text-fill-color: var(--ring-disabled-color); /* Required for Safari, see RG-2063 for details */\n }\n\n/*\n Kill yellow/blue webkit autocomplete\n https://css-tricks.com/snippets/css/change-autocomplete-styles-webkit-browsers/\n */\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.input_f220:-webkit-autofill:hover {\n -webkit-transition: background-color 50000s ease-in-out 0s;\n transition: background-color 50000s ease-in-out 0s;\n }}\n\n.input_f220:-webkit-autofill,\n .input_f220:-webkit-autofill:focus {\n -webkit-transition: background-color 50000s ease-in-out 0s;\n transition: background-color 50000s ease-in-out 0s;\n }\n\n.borderless_f79b .input_f220 {\n border-color: transparent;\n background-color: transparent;\n}\n\n.withIcon_f066 .input_f220 {\n --ring-input-padding-start: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.clearable_fd1e .input_f220 {\n --ring-input-padding-end: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.icon_e49c {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 1px);\n left: var(--ring-input-padding-inline);\n\n pointer-events: none;\n\n color: var(--ring-icon-secondary-color);\n}\n\n[dir="rtl"] .icon_e49c {\n right: 8px;\n left: auto;\n }\n\n.clear_ffc3 {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 2px);\n right: var(--ring-input-padding-inline);\n\n height: auto;\n\n padding-right: 0;\n\n line-height: inherit;\n}\n\n.empty_cc0d .clear_ffc3 {\n display: none;\n }\n\n[dir="rtl"] .clear_ffc3 {\n right: auto;\n left: 8px;\n }\n\ntextarea.input_f220 {\n overflow: hidden;\n\n box-sizing: border-box;\n\n resize: none;\n}\n\n.input_f220::-moz-placeholder {\n color: var(--ring-disabled-color);\n}\n\n.input_f220::placeholder {\n color: var(--ring-disabled-color);\n}\n\n.input_f220::-webkit-search-cancel-button {\n -webkit-appearance: none;\n}\n\n.errorText_e447 {\n margin-top: 4px;\n\n color: var(--ring-error-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.sizeS_c560 {\n width: 96px;\n}\n\n.sizeM_aee6 {\n width: 240px;\n}\n\n.sizeL_b0ca {\n width: 400px;\n}\n\n.sizeFULL_f4f9 {\n width: 100%;\n}\n\n.heightS_a68d {\n --ring-input-padding-block: 1px;\n}\n\n.heightM_bc35 {\n --ring-input-padding-block: 3px;\n}\n\n.heightL_f82d {\n --ring-input-padding-block: 5px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/input/input.css",""],names:[],mappings:"AAKA;EACE,8BAA0C;EAC1C,gCAAiC;EACjC,mEAAmE;AACrE;;AAEA;EACE,oDAAoD;EACpD,gCAAgC;AAClC;;AAEA;EACE,kBAAkB;;EAElB,sBAAsB;;EAEtB,gCAAgC;EAChC,oCAAoC;AAKtC;;AAHE;IACE,sBAAsB;EACxB;;AAGF;EACE,4DAA4D;EAC5D,0DAA0D;;EAE1D,WAAW;;EAEX,SAAS;EACT,4CAA4C;EAC5C,4CAA4C;EAC5C,+CAA+C;EAC/C,6CAA6C;;EAE7C,yCAAyC;;EAEzC,6BAA6B;EAC7B,2CAA2C;EAC3C,wCAAwC;EACxC,aAAa;EACb,oDAAoD;;EAEpD,aAAa;;EAEb,mCAAmC;AA0CrC;;AAxCE;IACE,8CAA8C;IAC9C,2CAA2C;EAC7C;;ACxDF,wGAAA;IAAA,iBAAA;;IAAA,6CAAA;GAAA,CAAA;;ADgEE;IACE,0CAA0C;EAC5C;;AAEA;IACE,gBAAgB;;IAEhB,oCAAoC;EACtC;;AAEA;IACE,iCAAiC;IACjC,+CAA+C;IAC/C,uDAAuD;;IAEvD,mDAAmD,EAAE,iDAAiD;EACxG;;AAEA;;;GAGC;;ACrFH,wGAAA;MAAA,2DAAA;MAAA,mDAAA;KAAA,CAAA;;ADuFI;;MAGE,0DAAkD;MAAlD,kDAAkD;IACpD;;AAIJ;EACE,yBAAyB;EACzB,6BAA6B;AAC/B;;AAEA;EACE,kGAAkG;AACpG;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,kBAAkB;EAClB,gDAAgD;EAChD,sCAAsC;;EAEtC,oBAAoB;;EAEpB,uCAAuC;AAMzC;;AAJE;IACE,UAAW;IACX,UAAU;EACZ;;AAGF;EACE,kBAAkB;EAClB,gDAAgD;EAChD,uCAAuC;;EAEvC,YAAY;;EAEZ,gBAAgB;;EAEhB,oBAAoB;AAUtB;;AARE;IACE,aAAa;EACf;;AAEA;IACE,WAAW;IACX,SAAU;EACZ;;AAGF;EACE,gBAAgB;;EAEhB,sBAAsB;;EAEtB,YAAY;AACd;;AAEA;EACE,iCAAiC;AACnC;;AAFA;EACE,iCAAiC;AACnC;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,eAA0B;;EAE1B,8BAA8B;;EAE9B,wCAAwC;EACxC,2CAA2C;AAC7C;;AAEA;EACE,WAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC",sourcesContent:['@import "../global/variables.css";\n@import "../button/button.css";\n\n@value unit from "../global/global.css";\n\n.outerContainer {\n --ring-input-icon-offset: calc(unit * 2.5);\n --ring-input-padding-inline: unit;\n --ring-input-background-color: var(--ring-content-background-color);\n}\n\n.borderless {\n /* stylelint-disable-next-line length-zero-no-unit */\n --ring-input-padding-inline: 0px;\n}\n\n.container {\n position: relative;\n\n box-sizing: border-box;\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.input {\n --ring-input-padding-start: var(--ring-input-padding-inline);\n --ring-input-padding-end: var(--ring-input-padding-inline);\n\n width: 100%;\n\n margin: 0;\n padding-top: var(--ring-input-padding-block);\n padding-right: var(--ring-input-padding-end);\n padding-bottom: var(--ring-input-padding-block);\n padding-left: var(--ring-input-padding-start);\n\n transition: border-color var(--ring-ease);\n\n color: var(--ring-text-color);\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n outline: none;\n background-color: var(--ring-input-background-color);\n\n font: inherit;\n\n caret-color: var(--ring-main-color);\n\n [dir="rtl"] & {\n padding-right: var(--ring-input-padding-start);\n padding-left: var(--ring-input-padding-end);\n }\n\n &:hover {\n transition: none;\n\n border-color: var(--ring-border-hover-color);\n }\n\n .error & {\n border-color: var(--ring-icon-error-color);\n }\n\n &:focus {\n transition: none;\n\n border-color: var(--ring-main-color);\n }\n\n &[disabled] {\n color: var(--ring-disabled-color);\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n\n -webkit-text-fill-color: var(--ring-disabled-color); /* Required for Safari, see RG-2063 for details */\n }\n\n /*\n Kill yellow/blue webkit autocomplete\n https://css-tricks.com/snippets/css/change-autocomplete-styles-webkit-browsers/\n */\n &:-webkit-autofill {\n &,\n &:hover,\n &:focus {\n transition: background-color 50000s ease-in-out 0s;\n }\n }\n}\n\n.borderless .input {\n border-color: transparent;\n background-color: transparent;\n}\n\n.withIcon .input {\n --ring-input-padding-start: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.clearable .input {\n --ring-input-padding-end: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.icon {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 1px);\n left: var(--ring-input-padding-inline);\n\n pointer-events: none;\n\n color: var(--ring-icon-secondary-color);\n\n [dir="rtl"] & {\n right: unit;\n left: auto;\n }\n}\n\n.clear {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 2px);\n right: var(--ring-input-padding-inline);\n\n height: auto;\n\n padding-right: 0;\n\n line-height: inherit;\n\n .empty & {\n display: none;\n }\n\n [dir="rtl"] & {\n right: auto;\n left: unit;\n }\n}\n\ntextarea.input {\n overflow: hidden;\n\n box-sizing: border-box;\n\n resize: none;\n}\n\n.input::placeholder {\n color: var(--ring-disabled-color);\n}\n\n.input::-webkit-search-cancel-button {\n -webkit-appearance: none;\n}\n\n.errorText {\n margin-top: calc(unit / 2);\n\n color: var(--ring-error-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.sizeS {\n width: calc(unit * 12);\n}\n\n.sizeM {\n width: calc(unit * 30);\n}\n\n.sizeL {\n width: calc(unit * 50);\n}\n\n.sizeFULL {\n width: 100%;\n}\n\n.heightS {\n --ring-input-padding-block: 1px;\n}\n\n.heightM {\n --ring-input-padding-block: 3px;\n}\n\n.heightL {\n --ring-input-padding-block: 5px;\n}\n',null],sourceRoot:""}]),s.locals={unit:`${l.default.locals.unit}`,outerContainer:"outerContainer_cb70",borderless:"borderless_f79b",container:"container_ee33",input:"input_f220",error:"error_ff90",withIcon:"withIcon_f066",clearable:"clearable_fd1e",icon:"icon_e49c",clear:"clear_ffc3",empty:"empty_cc0d",errorText:"errorText_e447",sizeS:"sizeS_c560",sizeM:"sizeM_aee6",sizeL:"sizeL_b0ca",sizeFULL:"sizeFULL_f4f9",heightS:"heightS_a68d",heightM:"heightM_bc35",heightL:"heightL_f82d"};const f=s},6960:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".link_e6e5 {\n cursor: pointer;\n transition: color var(--ring-fast-ease);\n\n color: var(--ring-link-color);\n\n outline: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover {\n transition: none;\n\n color: var(--ring-link-hover-color);\n }}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover {\n text-decoration: none;\n }}\n\n.link_e6e5 {\n text-decoration: none;\n }\n\n.link_e6e5.hover_bed7 {\n transition: none;\n\n color: var(--ring-link-hover-color);\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover .inner_e3ba {\n border-width: 0;\n border-bottom: 2px solid;\n border-image-source: linear-gradient(currentcolor 50%, transparent 50%);\n border-image-slice: 0 0 100% 0;\n }}\n\n.link_e6e5.active_f804 {\n color: inherit;\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5.compatibilityUnderlineMode_e7a0:hover {\n text-decoration: underline;\n\n /* stylelint-disable-next-line selector-max-specificity */\n }\n .link_e6e5.compatibilityUnderlineMode_e7a0:hover .inner_e3ba {\n border: none;\n }}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5.pseudo_d9ae:hover {\n text-decoration: none;\n\n /* stylelint-disable-next-line selector-max-specificity */\n }\n .link_e6e5.pseudo_d9ae:hover .inner_e3ba {\n border: none;\n }}\n\n.link_e6e5:focus-visible {\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n }\n\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover .inner_e3ba {\n border-bottom-width: 1px;\n }}\n}\n\n.text_e98a {\n border-radius: var(--ring-border-radius);\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.inherit_d267:not(:hover) {\n color: inherit;\n}}\n\n.pseudo_d9ae {\n margin: 0;\n padding: 0;\n\n text-align: left;\n\n border: 0;\n\n background: transparent;\n\n font: inherit;\n}\n\n.pseudo_d9ae::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/link/link.css",""],names:[],mappings:"AAEA;EACE,eAAe;EACf,uCAAuC;;EAEvC,6BAA6B;;EA2C7B,aAAa;AAKf;;ACtDA,wGAAA;IAAA,iBAAA;;IAAA,oCAAA;GAAA,CAAA;;AAAA,wGAAA;IAAA,sBAAA;GAAA,CAAA;;ADQE;IAEE,qBAAqB;EACvB;;AAEA;IAEE,gBAAgB;;IAEhB,mCAAmC;EACrC;;AClBF,wGAAA;IAAA,gBAAA;IAAA,yBAAA;IAAA,wEAAA;IAAA,+BAAA;GAAA,CAAA;;AD2BE;IACE,cAAc;EAChB;;AC7BF,wGAAA;IAAA,2BAAA;;IAAA,0DAAA;GAAA;IAAA;MAAA,aAAA;KAAA,CAAA;;AAAA,wGAAA;IAAA,sBAAA;;IAAA,0DAAA;GAAA;IAAA;MAAA,aAAA;KAAA,CAAA;;ADmDE;IACE,oDAAoD;EACtD;;AAGF,qECxDA,wGAAA;IAAA,yBAAA;GAAA,CAAA;AD4DA;;AAEA;EACE,wCAAwC;AAC1C;;AChEA,wGAAA;EAAA,eAAA;CAAA,CAAA;;ADsEA;EACE,SAAS;EACT,UAAU;;EAEV,gBAAgB;;EAEhB,SAAS;;EAET,uBAAuB;;EAEvB,aAAa;AAOf;;AALE;IACE,UAAU;;IAEV,SAAS;EACX",sourcesContent:['@import "../global/variables.css";\n\n.link {\n cursor: pointer;\n transition: color var(--ring-fast-ease);\n\n color: var(--ring-link-color);\n\n &,\n &:hover {\n text-decoration: none;\n }\n\n &:hover,\n &.hover {\n transition: none;\n\n color: var(--ring-link-hover-color);\n }\n\n &:hover .inner {\n border-width: 0;\n border-bottom: 2px solid;\n border-image-source: linear-gradient(currentcolor 50%, transparent 50%);\n border-image-slice: 0 0 100% 0;\n }\n\n &.active {\n color: inherit;\n }\n\n &.compatibilityUnderlineMode:hover {\n text-decoration: underline;\n\n /* stylelint-disable-next-line selector-max-specificity */\n & .inner {\n border: none;\n }\n }\n\n &.pseudo:hover {\n text-decoration: none;\n\n /* stylelint-disable-next-line selector-max-specificity */\n & .inner {\n border: none;\n }\n }\n\n outline: none;\n\n &:focus-visible {\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n }\n}\n\n@media (min-resolution: 2dppx) {\n .link:hover .inner {\n border-bottom-width: 1px;\n }\n}\n\n.text {\n border-radius: var(--ring-border-radius);\n}\n\n.inherit:not(:hover) {\n color: inherit;\n}\n\n.pseudo {\n margin: 0;\n padding: 0;\n\n text-align: left;\n\n border: 0;\n\n background: transparent;\n\n font: inherit;\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n}\n',null],sourceRoot:""}]),c.locals={link:"link_e6e5",hover:"hover_bed7",inner:"inner_e3ba",active:"active_f804",compatibilityUnderlineMode:"compatibilityUnderlineMode_e7a0",pseudo:"pseudo_d9ae",text:"text_e98a",inherit:"inherit_d267"};const u=c},480:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'.list_a01c {\n position: relative;\n\n z-index: 1;\n\n border-radius: var(--ring-border-radius);\n\n line-height: normal;\n}\n\n.simpleInner_a4f8 {\n overflow: auto;\n}\n\n.scrolling_a910 {\n pointer-events: none;\n}\n\n.separator_c26e {\n display: block;\n\n min-height: 8px;\n\n margin-top: 8px;\n padding: 0 16px 1px;\n\n text-align: right;\n white-space: nowrap;\n\n color: var(--ring-secondary-color);\n border-top: 1px solid var(--ring-line-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lower);\n}\n\n.separator_first_ec9e {\n margin-top: 0;\n padding-top: 0;\n\n border: none;\n}\n\n.item_eadd {\n display: block;\n\n box-sizing: border-box;\n\n width: 100%;\n\n text-align: left;\n vertical-align: bottom;\n white-space: nowrap;\n text-decoration: none;\n\n outline: none;\n\n font-size: var(--ring-font-size);\n}\n\n.item_eadd.item_eadd {\n padding: 3px 16px 5px;\n\n line-height: 24px;\n}\n\n.itemContainer_f365 {\n position: relative;\n}\n\n.compact_efa8 {\n line-height: 16px;\n}\n\n.error_aa15 {\n cursor: default;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.error_aa15:hover {\n color: var(--ring-error-color);\n }}\n\n/* Override ring-link */\n\n.error_aa15,\n .error_aa15:focus,\n .error_aa15:visited {\n color: var(--ring-error-color);\n }\n\n.add_a8da {\n padding: 8px 16px;\n\n line-height: 32px;\n}\n\n.top_c4d5 {\n display: flex;\n align-items: baseline;\n flex-direction: row;\n}\n\n.left_ea6b {\n align-self: center;\n flex-shrink: 0;\n}\n\n.label_dac9 {\n overflow: hidden;\n flex-grow: 1;\n flex-shrink: 1;\n\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n[dir="rtl"] .label_dac9 {\n text-align: right;\n direction: ltr;\n }\n\n.description_efcc {\n overflow: hidden;\n flex-shrink: 100;\n\n padding-left: 8px;\n\n text-align: right;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n font-weight: 400;\n line-height: var(--ring-line-height-lowest);\n}\n\n.right_df77 {\n display: flex;\n align-items: center;\n align-self: center;\n flex-direction: row;\n flex-shrink: 0;\n}\n\n.details_a2b7 {\n margin-bottom: 6px;\n\n white-space: normal;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.padded_a74d {\n margin-left: 20px;\n}\n\n/* Override :last-child */\n.hint_d29d.hint_d29d {\n margin-bottom: 0;\n\n border-top: 1px solid var(--ring-line-color);\n background-color: var(--ring-sidebar-background-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.action_d10e {\n cursor: pointer;\n\n color: var(--ring-text-color);\n}\n\n/* override link */\n.actionLink_a4c7.actionLink_a4c7 {\n transition: none;\n}\n\n.hover_a4cd:not(.error_aa15) {\n background-color: var(--ring-selected-background-color);\n}\n\n.icon_f1f3 {\n display: inline-block;\n\n width: 20px;\n height: 20px;\n margin-left: 16px;\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.highlight_e4dd {\n color: var(--ring-link-hover-color);\n}\n\n.service_a4fc {\n color: var(--ring-secondary-color);\n}\n\n.glyph_dfd5 {\n float: left;\n\n width: 20px;\n\n margin-right: 8px;\n\n color: var(--ring-icon-secondary-color);\n}\n\n.avatar_f258 {\n\n top: 0;\n\n height: 20px;\n\n -o-object-fit: cover;\n\n object-fit: cover;\n -o-object-position: center;\n object-position: center;\n}\n\n.rightGlyph_fb77 {\n\n float: right;\n\n margin-right: 0;\n margin-left: 16px;\n}\n\n.checkboxContainer_c949 {\n position: absolute;\n top: 7px;\n left: 19px;\n\n width: 20px;\n height: 20px;\n margin-right: 8px;\n}\n\n.compact_efa8 .checkboxContainer_c949 {\n top: 0;\n\n width: 16px;\n height: 16px;\n}\n\n.title_e1bf {\n display: block;\n\n margin-top: 10px;\n margin-bottom: 6px;\n padding: 8px 16px 0;\n\n text-align: left;\n}\n\n[dir="rtl"] .title_e1bf {\n text-align: right;\n direction: ltr;\n }\n\n.title_first_ac55 {\n margin-top: 0;\n}\n\n.text_fe0e {\n letter-spacing: 1.5px;\n text-transform: uppercase;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.fade_d35c {\n position: absolute;\n bottom: 0;\n\n width: 100%;\n height: 24px;\n\n pointer-events: none;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--ring-content-background-color));\n}\n\n.disabled_c3d8 {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/list/list.css",""],names:[],mappings:"AAKA;EACE,kBAAkB;;EAElB,UAAU;;EAEV,wCAAwC;;EAExC,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,cAAc;;EAEd,eAAuB;;EAEvB,eAAuB;EACvB,mBAA6B;;EAE7B,iBAAiB;EACjB,mBAAmB;;EAEnB,kCAAkC;EAClC,4CAA4C;;EAE5C,wCAAwC;EACxC,0CAA0C;AAC5C;;AAEA;EACE,aAAa;EACb,cAAc;;EAEd,YAAY;AACd;;AAEA;EACE,cAAc;;EAEd,sBAAsB;;EAEtB,WAAW;;EAEX,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,qBAAqB;;EAErB,aAAa;;EAEb,gCAAgC;AAClC;;AAEA;EACE,qBAA+B;;EAE/B,iBAA2B;AAC7B;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,iBAA2B;AAC7B;;AAEA;EACE,eAAe;AASjB;;ACzFA,wGAAA;IAAA,+BAAA;GAAA,CAAA;;ADkFE,uBAAuB;;AACvB;;;IAIE,8BAA8B;EAChC;;AAGF;EACE,iBAA4B;;EAE5B,iBAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,qBAAqB;EACrB,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;EAClB,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,YAAY;EACZ,cAAc;;EAEd,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AAMzB;;AAJE;IACE,iBAAiB;IACjB,cAAc;EAChB;;AAGF;EACE,gBAAgB;EAChB,gBAAgB;;EAEhB,iBAAkB;;EAElB,iBAAiB;EACjB,mBAAmB;EACnB,uBAAuB;;EAEvB,kCAAkC;;EAElC,wCAAwC;EACxC,gBAAgB;EAChB,2CAA2C;AAC7C;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,mBAAmB;EACnB,cAAc;AAChB;;AAEA;EACE,kBAAkB;;EAElB,mBAAmB;;EAEnB,kCAAkC;;EAElC,wCAAwC;EACxC,2CAA2C;AAC7C;;AAEA;EACE,iBAAiB;AACnB;;AAEA,yBAAyB;AACzB;EACE,gBAAgB;;EAEhB,4CAA4C;EAC5C,sDAAsD;;EAEtD,wCAAwC;AAC1C;;AAEA;EACE,eAAe;;EAEf,6BAA6B;AAC/B;;AAEA,kBAAkB;AAClB;EACE,gBAAgB;AAClB;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,qBAAqB;;EAErB,WAAW;EACX,YAAY;EACZ,iBAA2B;;EAE3B,4BAA4B;EAC5B,2BAA2B;;EAE3B,wBAAwB;AAC1B;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,WAAW;;EAEX,WAAW;;EAEX,iBAAkB;;EAElB,uCAAuC;AACzC;;AAEA;;EAGE,MAAM;;EAEN,YAAY;;EAEZ,oBAAiB;;KAAjB,iBAAiB;EACjB,0BAAuB;KAAvB,uBAAuB;AACzB;;AAEA;;EAGE,YAAY;;EAEZ,eAAe;EACf,iBAA2B;AAC7B;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,UAAU;;EAEV,WAAW;EACX,YAAY;EACZ,iBAAkB;AACpB;;AAEA;EACE,MAAM;;EAEN,WAAqB;EACrB,YAAsB;AACxB;;AAEA;EACE,cAAc;;EAEd,gBAAgB;EAChB,kBAAkB;EAClB,mBAAqC;;EAErC,gBAAgB;AAMlB;;AAJE;IACE,iBAAiB;IACjB,cAAc;EAChB;;AAGF;EACE,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,yBAAyB;;EAEzB,kCAAkC;;EAElC,wCAAwC;AAC1C;;AAEA;EACE,kBAAkB;EAClB,SAAS;;EAET,WAAW;EACX,YAAsB;;EAEtB,oBAAoB;;EAEpB,oGAAoG;AACtG;;AAEA;EACE,oBAAoB;;EAEpB,iCAAiC;AACnC",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value listSpacing: unit;\n\n.list {\n position: relative;\n\n z-index: 1;\n\n border-radius: var(--ring-border-radius);\n\n line-height: normal;\n}\n\n.simpleInner {\n overflow: auto;\n}\n\n.scrolling {\n pointer-events: none;\n}\n\n.separator {\n display: block;\n\n min-height: listSpacing;\n\n margin-top: listSpacing;\n padding: 0 calc(unit * 2) 1px;\n\n text-align: right;\n white-space: nowrap;\n\n color: var(--ring-secondary-color);\n border-top: 1px solid var(--ring-line-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lower);\n}\n\n.separator_first {\n margin-top: 0;\n padding-top: 0;\n\n border: none;\n}\n\n.item {\n display: block;\n\n box-sizing: border-box;\n\n width: 100%;\n\n text-align: left;\n vertical-align: bottom;\n white-space: nowrap;\n text-decoration: none;\n\n outline: none;\n\n font-size: var(--ring-font-size);\n}\n\n.item.item {\n padding: 3px calc(unit * 2) 5px;\n\n line-height: calc(unit * 3);\n}\n\n.itemContainer {\n position: relative;\n}\n\n.compact {\n line-height: calc(unit * 2);\n}\n\n.error {\n cursor: default;\n\n /* Override ring-link */\n &,\n &:hover,\n &:focus,\n &:visited {\n color: var(--ring-error-color);\n }\n}\n\n.add {\n padding: unit calc(2 * unit);\n\n line-height: calc(4 * unit);\n}\n\n.top {\n display: flex;\n align-items: baseline;\n flex-direction: row;\n}\n\n.left {\n align-self: center;\n flex-shrink: 0;\n}\n\n.label {\n overflow: hidden;\n flex-grow: 1;\n flex-shrink: 1;\n\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n [dir="rtl"] & {\n text-align: right;\n direction: ltr;\n }\n}\n\n.description {\n overflow: hidden;\n flex-shrink: 100;\n\n padding-left: unit;\n\n text-align: right;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n font-weight: 400;\n line-height: var(--ring-line-height-lowest);\n}\n\n.right {\n display: flex;\n align-items: center;\n align-self: center;\n flex-direction: row;\n flex-shrink: 0;\n}\n\n.details {\n margin-bottom: 6px;\n\n white-space: normal;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.padded {\n margin-left: 20px;\n}\n\n/* Override :last-child */\n.hint.hint {\n margin-bottom: 0;\n\n border-top: 1px solid var(--ring-line-color);\n background-color: var(--ring-sidebar-background-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.action {\n cursor: pointer;\n\n color: var(--ring-text-color);\n}\n\n/* override link */\n.actionLink.actionLink {\n transition: none;\n}\n\n.hover:not(.error) {\n background-color: var(--ring-selected-background-color);\n}\n\n.icon {\n display: inline-block;\n\n width: 20px;\n height: 20px;\n margin-left: calc(unit * 2);\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.highlight {\n color: var(--ring-link-hover-color);\n}\n\n.service {\n color: var(--ring-secondary-color);\n}\n\n.glyph {\n float: left;\n\n width: 20px;\n\n margin-right: unit;\n\n color: var(--ring-icon-secondary-color);\n}\n\n.avatar {\n composes: glyph;\n\n top: 0;\n\n height: 20px;\n\n object-fit: cover;\n object-position: center;\n}\n\n.rightGlyph {\n composes: glyph;\n\n float: right;\n\n margin-right: 0;\n margin-left: calc(unit * 2);\n}\n\n.checkboxContainer {\n position: absolute;\n top: 7px;\n left: 19px;\n\n width: 20px;\n height: 20px;\n margin-right: unit;\n}\n\n.compact .checkboxContainer {\n top: 0;\n\n width: calc(unit * 2);\n height: calc(unit * 2);\n}\n\n.title {\n display: block;\n\n margin-top: 10px;\n margin-bottom: 6px;\n padding: listSpacing calc(unit * 2) 0;\n\n text-align: left;\n\n [dir="rtl"] & {\n text-align: right;\n direction: ltr;\n }\n}\n\n.title_first {\n margin-top: 0;\n}\n\n.text {\n letter-spacing: 1.5px;\n text-transform: uppercase;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.fade {\n position: absolute;\n bottom: 0;\n\n width: 100%;\n height: calc(unit * 3);\n\n pointer-events: none;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--ring-content-background-color));\n}\n\n.disabled {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n}\n',null],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,listSpacing:"8px",list:"list_a01c",simpleInner:"simpleInner_a4f8",scrolling:"scrolling_a910",separator:"separator_c26e",separator_first:"separator_first_ec9e",item:"item_eadd",itemContainer:"itemContainer_f365",compact:"compact_efa8",error:"error_aa15",add:"add_a8da",top:"top_c4d5",left:"left_ea6b",label:"label_dac9",description:"description_efcc",right:"right_df77",details:"details_a2b7",padded:"padded_a74d",hint:"hint_d29d",action:"action_d10e",actionLink:"actionLink_a4c7",hover:"hover_a4cd",icon:"icon_f1f3",highlight:"highlight_e4dd",service:"service_a4fc",glyph:"glyph_dfd5",avatar:"avatar_f258 glyph_dfd5",rightGlyph:"rightGlyph_fb77 glyph_dfd5",checkboxContainer:"checkboxContainer_c949",title:"title_e1bf",title_first:"title_first_ac55",text:"text_fe0e",fade:"fade_d35c",disabled:"disabled_c3d8"};const s=u},1586:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>f});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9173),c=t(9106),u=t(5280),s=a()(o());s.i(u.A),s.i(l.A,"",!0),s.i(c.default,"",!0),s.push([e.id,`:root {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff00eb, #bd3bff, #008eff, #58ba00, #f48700, #ff00eb;\n}\n\n.${l.A.locals.dark},\n.ring-ui-theme-dark {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff2eef, #d178ff, #289fff, #88d444, #ffe000, #ff2eef;\n}\n\n@keyframes spin_ad60 {\n 0% {\n transform: rotate(0);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse_c906 {\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(1.41667);\n }\n}\n\n.loader_d294,\n.ring-loader-inline {\n /* needed for better backward-compatibility */\n\n position: relative;\n\n display: inline-block;\n\n overflow: hidden;\n\n transform: rotate(0);\n animation: spin_ad60 1s linear infinite;\n vertical-align: -3px;\n\n border-radius: 8px;\n}\n\n.loader_d294,\n .ring-loader-inline,\n .loader_d294::after,\n .ring-loader-inline::after {\n transform-origin: 50% 50%;\n }\n\n.loader_d294::after, .ring-loader-inline::after {\n display: block;\n\n width: 16px;\n height: 16px;\n\n content: "";\n animation: pulse_c906 0.85s cubic-bezier(0.68, 0, 0.74, 0.74) infinite alternate;\n\n background-image: conic-gradient(#ff00eb, #bd3bff, #008eff, #58ba00, #f48700, #ff00eb);\n\n background-image: conic-gradient(var(--ring-loader-inline-stops));\n -webkit-mask-image: radial-gradient(8px, transparent 71.875%, var(--ring-content-background-color) 71.875%);\n mask-image: radial-gradient(8px, transparent 71.875%, var(--ring-content-background-color) 71.875%);\n }\n\n.children_ece6 {\n margin-left: 4px;\n}\n`,"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/loader-inline/loader-inline.css"],names:[],mappings:"AAKA;EACE,6CAA6C;EAC7C,gFAAgF;AAClF;;AAEA;;EAEE,6CAA6C;EAC7C,gFAAgF;AAClF;;AAEA;EACE;IACE,oBAAoB;EACtB;;EAEA;IACE,yBAAyB;EAC3B;AACF;;AAEA;EACE;IACE,mBAAmB;EACrB;;EAEA;IACE,yBAA+B;EACjC;AACF;;AAEA;;EAEE,6CAA6C;;EAE7C,kBAAkB;;EAElB,qBAAqB;;EAErB,gBAAgB;;EAEhB,oBAAoB;EACpB,uCAAkC;EAClC,oBAAoB;;EAEpB,kBAAmB;AAmBrB;;AAjBE;;;;IAEE,yBAAyB;EAC3B;;AAEA;IACE,cAAc;;IAEd,WAAqB;IACrB,YAAsB;;IAEtB,WAAW;IACX,gFAA2E;;IAE3E,sFAAiE;;IAAjE,iEAAiE;IACjE,2GAAoG;YAApG,mGAAoG;EACtG;;AAGF;EACE,gBAA2B;AAC7B",sourcesContent:['@import "../global/variables.css";\n\n@value dark from "../global/variables_dark.css";\n@value unit from "../global/global.css";\n\n:root {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff00eb, #bd3bff, #008eff, #58ba00, #f48700, #ff00eb;\n}\n\n.dark,\n:global(.ring-ui-theme-dark) {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff2eef, #d178ff, #289fff, #88d444, #ffe000, #ff2eef;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(calc(17 / 12));\n }\n}\n\n.loader,\n:global(.ring-loader-inline) {\n /* needed for better backward-compatibility */\n\n position: relative;\n\n display: inline-block;\n\n overflow: hidden;\n\n transform: rotate(0);\n animation: spin 1s linear infinite;\n vertical-align: -3px;\n\n border-radius: unit;\n\n &,\n &::after {\n transform-origin: 50% 50%;\n }\n\n &::after {\n display: block;\n\n width: calc(unit * 2);\n height: calc(unit * 2);\n\n content: "";\n animation: pulse 0.85s cubic-bezier(0.68, 0, 0.74, 0.74) infinite alternate;\n\n background-image: conic-gradient(var(--ring-loader-inline-stops));\n mask-image: radial-gradient(unit, transparent 71.875%, var(--ring-content-background-color) 71.875%);\n }\n}\n\n.children {\n margin-left: calc(unit / 2);\n}\n'],sourceRoot:""}]),s.locals={dark:`${l.A.locals.dark}`,unit:`${c.default.locals.unit}`,loader:"loader_d294",spin:"spin_ad60",pulse:"pulse_c906",children:"children_ece6"};const f=s},8890:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,".popup_f35e {\n\n position: fixed;\n z-index: var(--ring-overlay-z-index);\n top: -100vh;\n left: -100vw;\n\n overflow-y: auto;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-popup-border-color);\n border-radius: var(--ring-border-radius);\n\n background-color: var(--ring-popup-background-color);\n box-shadow: var(--ring-popup-shadow);\n}\n\n.hidden_c587 {\n display: none;\n}\n\n.showing_b07a {\n opacity: 0;\n}\n\n.attached_ea95 {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/popup/popup.css"],names:[],mappings:"AAEA;;EAGE,eAAe;EACf,oCAAoC;EACpC,WAAW;EACX,YAAY;;EAEZ,gBAAgB;;EAEhB,sBAAsB;;EAEtB,gDAAgD;EAChD,wCAAwC;;EAExC,oDAAoD;EACpD,oCAAoC;AACtC;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,yBAAyB;EACzB,0BAA0B;AAC5B",sourcesContent:['@import "../global/variables.css";\n\n.popup {\n composes: font from "../global/global.css";\n\n position: fixed;\n z-index: var(--ring-overlay-z-index);\n top: -100vh;\n left: -100vw;\n\n overflow-y: auto;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-popup-border-color);\n border-radius: var(--ring-border-radius);\n\n background-color: var(--ring-popup-background-color);\n box-shadow: var(--ring-popup-shadow);\n}\n\n.hidden {\n display: none;\n}\n\n.showing {\n opacity: 0;\n}\n\n.attached {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n'],sourceRoot:""}]),u.locals={popup:`popup_f35e ${l.default.locals.font}`,hidden:"hidden_c587",showing:"showing_b07a",attached:"attached_ea95"};const s=u},4481:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.filterWithTagsFocused_ffbf.filterWithTagsFocused_ffbf:hover {\n border-color: var(--ring-main-color);\n}}\n\n.filterWithTags_ff56 {\n overflow: hidden;\n\n margin: 16px 8px 0;\n padding: 3px;\n\n text-align: left;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n}\n\n.filterWithTags_ff56 .filterWrapper_dd63 {\n padding-right: 0;\n padding-left: 0;\n\n border-bottom: none;\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.filterWithTags_ff56:hover {\n border-color: var(--ring-border-hover-color);\n }}\n\n.filterWithTagsFocused_ffbf {\n border-color: var(--ring-main-color);\n}\n\n.filterWithTagsInput_ab94 {\n padding: 0;\n\n border: none;\n}\n\n.filter_deda {\n flex-grow: 1;\n\n width: 0;\n}\n\n.popup_f21d {\n overscroll-behavior: contain;\n}\n\n.filterWrapper_dd63 {\n position: relative;\n\n display: flex;\n\n margin: 0;\n padding-right: 8px;\n padding-left: 44px;\n\n border-bottom: 1px solid var(--ring-borders-color);\n}\n\n[dir="rtl"] .filterWrapper_dd63 {\n padding-right: 44px;\n padding-left: 8px;\n }\n\n.filterIcon_b648 {\n position: absolute;\n top: 7px;\n left: 16px;\n\n color: var(--ring-icon-color);\n}\n\n[dir="rtl"] .filterIcon_b648 {\n right: 16px;\n left: auto;\n }\n\n.bottomLine_c880 {\n text-align: center;\n}\n\n.bottomLine_c880.bottomLineOverItem_dfb4 {\n position: relative;\n\n z-index: var(--ring-fixed-z-index);\n\n margin-top: -36px;\n\n background-color: var(--ring-content-background-color);\n }\n\n.message_ccdf {\n display: inline-block;\n\n margin: 8px 0;\n padding: 0 16px;\n}\n\n.selectAll_ff5e {\n display: flex;\n justify-content: space-between;\n\n padding: 8px 16px 0;\n}\n',"",{version:3,sources:["","webpack://./node_modules/@jetbrains/ring-ui/components/select/select-popup.css"],names:[],mappings:"AAAA,wGAAA;EAAA,qCAAA;CAAA,CAAA;;ACIA;EACE,gBAAgB;;EAEhB,kBAA6B;EAC7B,YAAY;;EAEZ,gBAAgB;;EAEhB,2CAA2C;EAC3C,wCAAwC;AAY1C;;AAVE;IACE,gBAAgB;IAChB,eAAe;;IAEf,mBAAmB;EACrB;;ADpBF,wGAAA;IAAA,6CAAA;GAAA,CAAA;;AC2BA;EAEE,oCAAoC;AACtC;;AAEA;EACE,UAAU;;EAEV,YAAY;AACd;;AAEA;EACE,YAAY;;EAEZ,QAAQ;AACV;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,kBAAkB;;EAElB,aAAa;;EAEb,SAAS;EACT,kBAAmB;EACnB,kBAA8B;;EAE9B,kDAAkD;AAMpD;;AAJE;IACE,mBAA+B;IAC/B,iBAAkB;EACpB;;AAGF;EACE,kBAAkB;EAClB,QAAQ;EACR,UAAoB;;EAEpB,6BAA6B;AAM/B;;AAJE;IACE,WAAqB;IACrB,UAAU;EACZ;;AAGF;EACE,kBAAkB;AAWpB;;AATE;IACE,kBAAkB;;IAElB,kCAAkC;;IAElC,iBAAiB;;IAEjB,sDAAsD;EACxD;;AAGF;EACE,qBAAqB;;EAErB,aAAc;EACd,eAAyB;AAC3B;;AAEA;EACE,aAAa;EACb,8BAA8B;;EAE9B,mBAAmB;AACrB",sourcesContent:[null,'@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n.filterWithTags {\n overflow: hidden;\n\n margin: calc(unit * 2) unit 0;\n padding: 3px;\n\n text-align: left;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n\n & .filterWrapper {\n padding-right: 0;\n padding-left: 0;\n\n border-bottom: none;\n }\n\n &:hover {\n border-color: var(--ring-border-hover-color);\n }\n}\n\n.filterWithTagsFocused,\n.filterWithTagsFocused.filterWithTagsFocused:hover {\n border-color: var(--ring-main-color);\n}\n\n.filterWithTagsInput {\n padding: 0;\n\n border: none;\n}\n\n.filter {\n flex-grow: 1;\n\n width: 0;\n}\n\n.popup {\n overscroll-behavior: contain;\n}\n\n.filterWrapper {\n position: relative;\n\n display: flex;\n\n margin: 0;\n padding-right: unit;\n padding-left: calc(unit * 5.5);\n\n border-bottom: 1px solid var(--ring-borders-color);\n\n [dir="rtl"] & {\n padding-right: calc(unit * 5.5);\n padding-left: unit;\n }\n}\n\n.filterIcon {\n position: absolute;\n top: 7px;\n left: calc(unit * 2);\n\n color: var(--ring-icon-color);\n\n [dir="rtl"] & {\n right: calc(unit * 2);\n left: auto;\n }\n}\n\n.bottomLine {\n text-align: center;\n\n &.bottomLineOverItem {\n position: relative;\n\n z-index: var(--ring-fixed-z-index);\n\n margin-top: -36px;\n\n background-color: var(--ring-content-background-color);\n }\n}\n\n.message {\n display: inline-block;\n\n margin: unit 0;\n padding: 0 calc(2 * unit);\n}\n\n.selectAll {\n display: flex;\n justify-content: space-between;\n\n padding: 8px 16px 0;\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,filterWithTagsFocused:"filterWithTagsFocused_ffbf",filterWithTags:"filterWithTags_ff56",filterWrapper:"filterWrapper_dd63",filterWithTagsInput:"filterWithTagsInput_ab94",filter:"filter_deda",popup:"popup_f21d",filterIcon:"filterIcon_b648",bottomLine:"bottomLine_c880",bottomLineOverItem:"bottomLineOverItem_dfb4",message:"message_ccdf",selectAll:"selectAll_ff5e"};const s=u},2636:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>f});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(9892),u=t(5280),s=a()(o());s.i(u.A),s.i(l.default,"",!0),s.i(c.default,"",!0),s.push([e.id,'@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.select_e2a5:hover .value_b3a3,\n.select_e2a5:hover .icons_c4a9 {\n transition: none;\n\n color: var(--ring-main-color);\n}}\n\n.select_e2a5 {\n position: relative;\n\n display: inline-block;\n\n white-space: nowrap;\n\n color: var(--ring-text-color);\n}\n\n.toolbar_d3be {\n border-top: 1px solid var(--ring-line-color);\n}\n\n.button_ef00 {\n width: 100%;\n padding: 0;\n\n text-align: left;\n}\n\n[dir="rtl"] .button_ef00 {\n text-align: right;\n direction: ltr;\n }\n\n.toolbar_d3be .button_ef00 {\n height: 32px;\n margin: 8px 0;\n }\n\n.button_ef00.buttonSpaced_f316 {\n padding: 0 16px;\n }\n\n.icons_c4a9 {\n position: absolute;\n top: 0;\n right: 5px;\n bottom: 0;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n}\n\n.inputMode_a6f6 .icons_c4a9 {\n font-size: var(--ring-font-size);\n }\n\n.selectedIcon_a62c {\n\n position: relative;\n top: 3px;\n\n display: inline-block;\n\n width: 16px;\n height: 16px;\n margin: 0 4px;\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.clearIcon_c750 {\n padding: 0 3px;\n\n vertical-align: -2px;\n}\n\n.sizeS_e8c3 {\n width: 96px;\n}\n\n.sizeM_ed34 {\n width: 240px;\n}\n\n.sizeL_c053 {\n width: 400px;\n}\n\n.sizeFULL_c585 {\n width: 100%;\n}\n\n.sizeAUTO_a07c {\n max-width: 100%;\n}\n\n.buttonMode_dd69 {\n position: relative;\n\n cursor: pointer;\n}\n\n.value_b3a3 {\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 100%;\n height: 33px;\n padding: 0 0 3px;\n\n cursor: pointer;\n transition: color var(--ring-ease), border-color var(--ring-ease);\n text-align: left;\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-bottom: 1px solid var(--ring-borders-color);\n outline: none;\n background: transparent;\n}\n\n.value_b3a3:focus {\n border-color: var(--ring-main-color);\n }\n\n.value_b3a3.open_f1b1,\n .value_b3a3:active {\n border-color: transparent;\n }\n\n.value_b3a3::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n\n.buttonContainer_b2b9 {\n position: relative;\n\n font-size: var(--ring-font-size);\n}\n\n.buttonValue_b4ad {\n\n display: block;\n\n width: 100%;\n padding-left: 8px;\n\n text-align: left;\n vertical-align: -8px;\n}\n\n.buttonValue_b4ad:focus-visible {\n box-shadow: inset 0 0 0 1px var(--ring-main-color);\n}\n\n.buttonValueOpen_d9d3.buttonValueOpen_d9d3 {\n box-shadow: inset 0 0 0 1px var(--ring-main-color);\n}\n\n.buttonValueEmpty_e6b3.buttonValueEmpty_e6b3 {\n color: var(--ring-disabled-color);\n}\n\n.heightS_b721 .buttonValue_b4ad {\n font-size: var(--ring-font-size);\n}\n\n.label_e56f {\n position: relative;\n\n color: var(--ring-secondary-color);\n}\n\n:focus-visible + .icons_c4a9,\n.value_b3a3:focus,\n.value_b3a3:focus + .icons_c4a9,\n.open_f1b1,\n.open_f1b1 + .icons_c4a9,\n.buttonValueOpen_d9d3 + .icons_c4a9 {\n transition: none;\n\n color: var(--ring-main-color);\n}\n\n.disabled_b89f {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n}\n\n.disabled_b89f .value_b3a3 {\n color: var(--ring-disabled-color);\n border-bottom-style: dashed;\n }\n\n.avatar_f4dd {\n margin-right: 4px;\n\n vertical-align: -5px;\n}\n\n.popup_acec {\n min-width: 240px;\n max-width: 320px;\n}\n\n.chevron_d51f.chevron_d51f {\n padding: 0 3px;\n\n transition: none;\n vertical-align: -1px;\n\n color: inherit;\n}\n\n.chevronIcon_f6cf.chevronIcon_f6cf {\n transition: none;\n\n color: inherit;\n}\n',"",{version:3,sources:["","webpack://./node_modules/@jetbrains/ring-ui/components/select/select.css"],names:[],mappings:"AAAA,wGAAA;;EAAA,iBAAA;;EAAA,8BAAA;CAAA,CAAA;;ACKA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,mBAAmB;;EAEnB,6BAA6B;AAC/B;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,WAAW;EACX,UAAU;;EAEV,gBAAgB;AAelB;;AAbE;IACE,iBAAiB;IACjB,cAAc;EAChB;;AAEA;IACE,YAAsB;IACtB,aAAc;EAChB;;AAEA;IACE,eAAyB;EAC3B;;AAGF;EACE,kBAAkB;EAClB,MAAM;EACN,UAAU;EACV,SAAS;;EAET,kCAAkC;;EAElC,uCAAuC;;EAEvC,mBAAmB;AAKrB;;AAHE;IACE,gCAAgC;EAClC;;AAGF;;EAGE,kBAAkB;EAClB,QAAQ;;EAER,qBAAqB;;EAErB,WAAqB;EACrB,YAAsB;EACtB,aAAa;;EAEb,4BAA4B;EAC5B,2BAA2B;;EAE3B,wBAAwB;AAC1B;;AAEA;EACE,cAAc;;EAEd,oBAAoB;AACtB;;AAEA;EACE,WAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,kBAAkB;;EAElB,eAAe;AACjB;;AAEA;;EAIE,qBAAqB;;EAErB,sBAAsB;EACtB,WAAW;EACX,YAA4B;EAC5B,gBAAgB;;EAEhB,eAAe;EACf,iEAAiE;EACjE,gBAAgB;EAChB,mBAAmB;;EAEnB,6BAA6B;;EAE7B,YAAY;EACZ,kDAAkD;EAClD,aAAa;EACb,uBAAuB;AAiBzB;;AAfE;IACE,oCAAoC;EACtC;;AAEA;;IAEE,yBAAyB;EAC3B;;AAEA;IACE,UAAU;;IAEV,SAAS;IACT,UAAU;EACZ;;AAGF;EACE,kBAAkB;;EAElB,gCAAgC;AAClC;;AAEA;;EAGE,cAAc;;EAEd,WAAW;EACX,iBAAkB;;EAElB,gBAAgB;EAChB,oBAA8B;AAChC;;AAEA;EACE,kDAAgD;AAClD;;AAEA;EACE,kDAAgD;AAClD;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,kBAAkB;;EAElB,kCAAkC;AACpC;;AAEA;;;;;;EAQE,gBAAgB;;EAEhB,6BAA6B;AAC/B;;AAEA;EACE,oBAAoB;;EAEpB,iCAAiC;AAMnC;;AAJE;IACE,iCAAiC;IACjC,2BAA2B;EAC7B;;AAGF;EACE,iBAAiB;;EAEjB,oBAAoB;AACtB;;AAEA;EACE,gBAA0B;EAC1B,gBAA0B;AAC5B;;AAEA;EACE,cAAc;;EAEd,gBAAgB;EAChB,oBAAoB;;EAEpB,cAAc;AAChB;;AAEA;EACE,gBAAgB;;EAEhB,cAAc;AAChB",sourcesContent:[null,'@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value button-shadow from "../button/button.css";\n\n.select {\n position: relative;\n\n display: inline-block;\n\n white-space: nowrap;\n\n color: var(--ring-text-color);\n}\n\n.toolbar {\n border-top: 1px solid var(--ring-line-color);\n}\n\n.button {\n width: 100%;\n padding: 0;\n\n text-align: left;\n\n [dir="rtl"] & {\n text-align: right;\n direction: ltr;\n }\n\n .toolbar & {\n height: calc(4 * unit);\n margin: unit 0;\n }\n\n &.buttonSpaced {\n padding: 0 calc(2 * unit);\n }\n}\n\n.icons {\n position: absolute;\n top: 0;\n right: 5px;\n bottom: 0;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n\n .inputMode & {\n font-size: var(--ring-font-size);\n }\n}\n\n.selectedIcon {\n composes: resetButton from "../global/global.css";\n\n position: relative;\n top: 3px;\n\n display: inline-block;\n\n width: calc(2 * unit);\n height: calc(2 * unit);\n margin: 0 4px;\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.clearIcon {\n padding: 0 3px;\n\n vertical-align: -2px;\n}\n\n.sizeS {\n width: calc(unit * 12);\n}\n\n.sizeM {\n width: calc(unit * 30);\n}\n\n.sizeL {\n width: calc(unit * 50);\n}\n\n.sizeFULL {\n width: 100%;\n}\n\n.sizeAUTO {\n max-width: 100%;\n}\n\n.buttonMode {\n position: relative;\n\n cursor: pointer;\n}\n\n.value {\n composes: ellipsis from "../global/global.css";\n composes: font from "../global/global.css";\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 100%;\n height: calc(unit * 4 + 1px);\n padding: 0 0 3px;\n\n cursor: pointer;\n transition: color var(--ring-ease), border-color var(--ring-ease);\n text-align: left;\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-bottom: 1px solid var(--ring-borders-color);\n outline: none;\n background: transparent;\n\n &:focus {\n border-color: var(--ring-main-color);\n }\n\n &.open,\n &:active {\n border-color: transparent;\n }\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n}\n\n.buttonContainer {\n position: relative;\n\n font-size: var(--ring-font-size);\n}\n\n.buttonValue {\n composes: ellipsis from "../global/global.css";\n\n display: block;\n\n width: 100%;\n padding-left: unit;\n\n text-align: left;\n vertical-align: calc(0 - unit);\n}\n\n.buttonValue:focus-visible {\n box-shadow: button-shadow var(--ring-main-color);\n}\n\n.buttonValueOpen.buttonValueOpen {\n box-shadow: button-shadow var(--ring-main-color);\n}\n\n.buttonValueEmpty.buttonValueEmpty {\n color: var(--ring-disabled-color);\n}\n\n.heightS .buttonValue {\n font-size: var(--ring-font-size);\n}\n\n.label {\n position: relative;\n\n color: var(--ring-secondary-color);\n}\n\n.select:hover .value,\n.select:hover .icons,\n:focus-visible + .icons,\n.value:focus,\n.value:focus + .icons,\n.open,\n.open + .icons,\n.buttonValueOpen + .icons {\n transition: none;\n\n color: var(--ring-main-color);\n}\n\n.disabled {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n\n & .value {\n color: var(--ring-disabled-color);\n border-bottom-style: dashed;\n }\n}\n\n.avatar {\n margin-right: 4px;\n\n vertical-align: -5px;\n}\n\n.popup {\n min-width: calc(unit * 30);\n max-width: calc(unit * 40);\n}\n\n.chevron.chevron {\n padding: 0 3px;\n\n transition: none;\n vertical-align: -1px;\n\n color: inherit;\n}\n\n.chevronIcon.chevronIcon {\n transition: none;\n\n color: inherit;\n}\n'],sourceRoot:""}]),s.locals={unit:`${l.default.locals.unit}`,"button-shadow":`${c.default.locals["button-shadow"]}`,select:"select_e2a5",value:`value_b3a3 ${l.default.locals.ellipsis} ${l.default.locals.font}`,icons:"icons_c4a9",toolbar:"toolbar_d3be",button:"button_ef00",buttonSpaced:"buttonSpaced_f316",inputMode:"inputMode_a6f6",selectedIcon:`selectedIcon_a62c ${l.default.locals.resetButton}`,clearIcon:"clearIcon_c750",sizeS:"sizeS_e8c3",sizeM:"sizeM_ed34",sizeL:"sizeL_c053",sizeFULL:"sizeFULL_c585",sizeAUTO:"sizeAUTO_a07c",buttonMode:"buttonMode_dd69",open:"open_f1b1",buttonContainer:"buttonContainer_b2b9",buttonValue:`buttonValue_b4ad ${l.default.locals.ellipsis}`,buttonValueOpen:"buttonValueOpen_d9d3",buttonValueEmpty:"buttonValueEmpty_e6b3",heightS:"heightS_b721",label:"label_e56f",disabled:"disabled_b89f",avatar:"avatar_f4dd",popup:"popup_acec",chevron:"chevron_d51f",chevronIcon:"chevronIcon_f6cf"};const f=s},8102:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".trapButton_c32e {\n position: absolute;\n left: -9999px;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/tab-trap/tab-trap.css"],names:[],mappings:"AAEA;EACE,kBAAkB;EAClB,aAAa;AACf",sourcesContent:['@import "../global/variables.css";\n\n.trapButton {\n position: absolute;\n left: -9999px;\n}\n'],sourceRoot:""}]),c.locals={trapButton:"trapButton_c32e"};const u=c},4561:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.tag_b7aa:hover,\n.tagAngled_c869:hover::before {\n transition: none;\n\n background-color: var(--ring-tag-hover-background-color);\n}}\n\n.tag_b7aa {\n\n position: relative;\n z-index: 1;\n\n display: inline-flex;\n\n box-sizing: border-box;\n max-width: 100%;\n height: 20px;\n\n padding: 0 8px;\n\n cursor: pointer;\n\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-radius: var(--ring-border-radius);\n\n font-size: 12px;\n line-height: var(--ring-line-height);\n}\n\n.tag_b7aa,\n.tagAngled_c869::before {\n transition: background-color var(--ring-ease);\n\n background-color: var(--ring-tag-background-color);\n}\n\n.withRemove_c0a5 {\n padding-right: 22px;\n}\n\n.container_cb34 {\n position: relative;\n\n display: inline-block;\n\n max-width: calc(100% - 4px);\n\n margin-right: 4px;\n\n white-space: nowrap;\n}\n\n.focused_fd92,\n.tag_b7aa:focus-visible {\n position: relative;\n\n outline: none;\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n}\n\n.focused_fd92,\n.focused_fd92.tagAngled_c869::before,\n.tag_b7aa:focus-visible,\n.tagAngled_c869:focus-visible::before {\n transition: none;\n\n background-color: var(--ring-tag-hover-background-color);\n}\n\n.tagAngled_c869 {\n /* it needs to fix vertical alignment broken by "overflow: hidden". Remove this class, when IE11 will be deprecated */\n\n margin-bottom: -5px !important;\n\n margin-left: 8px;\n padding-left: 4px;\n\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.tagAngled_c869::before {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n\n content: "";\n transform: scaleY(1.177) rotate(45deg);\n transform-origin: 0 0;\n\n border: none;\n }\n\n.tagAngled_c869.focused_fd92,\n .tagAngled_c869:focus {\n box-shadow: 0 0 0 1px var(--ring-border-hover-color) inset, 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.tagAngled_c869:focus::before {\n box-shadow:\n 1px -1px var(--ring-border-hover-color) inset,\n -0.8px 0.8px 0 0.5px var(--ring-border-hover-color);\n }\n\n.content_a838 {\n}\n\n.disabled_b740.tag_b7aa,\n.disabled_b740.tagAngled_c869::before {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n background-color: var(--ring-disabled-background-color);\n}\n\n.remove_eff8 {\n position: absolute;\n z-index: 1;\n top: 2px;\n right: 0;\n\n height: auto;\n padding: 0 4px;\n\n line-height: 16px;\n}\n\n.removeIcon_accf.removeIcon_accf {\n color: var(--ring-icon-secondary-color);\n}\n\n.icon_e877 {\n margin-right: 6px;\n\n color: var(--ring-icon-secondary-color);\n}\n\n.icon_e877 svg {\n vertical-align: -3px;\n }\n\n.avatarContainer_ee1b {\n display: inline-block;\n overflow: hidden;\n\n box-sizing: border-box;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n margin-left: -8px;\n\n vertical-align: top;\n\n border-top-left-radius: var(--ring-border-radius);\n border-bottom-left-radius: var(--ring-border-radius);\n}\n\n.customIcon_ac93 {\n max-width: 16px;\n max-height: 16px;\n\n margin-right: 4px;\n\n vertical-align: bottom;\n}\n\n.avatarIcon_a8ff {\n width: 20px;\n\n margin-right: -4px;\n\n -o-object-fit: contain;\n\n object-fit: contain;\n -o-object-position: center;\n object-position: center;\n}\n',"",{version:3,sources:["","webpack://./node_modules/@jetbrains/ring-ui/components/tag/tag.css"],names:[],mappings:"AAAA,wGAAA;;EAAA,iBAAA;;EAAA,yDAAA;CAAA,CAAA;;ACKA;;EAGE,kBAAkB;EAClB,UAAU;;EAEV,oBAAoB;;EAEpB,sBAAsB;EACtB,eAAe;EACf,YAAkB;;EAElB,cAAe;;EAEf,eAAe;;EAEf,mBAAmB;;EAEnB,6BAA6B;;EAE7B,YAAY;EACZ,wCAAwC;;EAExC,eAAe;EACf,oCAAoC;AACtC;;AAEA;;EAEE,6CAA6C;;EAE7C,kDAAkD;AACpD;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,2BAAgC;;EAEhC,iBAA4B;;EAE5B,mBAAmB;AACrB;;AAEA;;EAEE,kBAAkB;;EAElB,aAAa;EACb,oDAAoD;AACtD;;AAEA;;;;EAME,gBAAgB;;EAEhB,wDAAwD;AAC1D;;AAEA;EACE,qHAAqH;;EAErH,8BAA8B;;EAE9B,gBAAiB;EACjB,iBAA4B;;EAE5B,yBAAyB;EACzB,4BAA4B;AA6B9B;;AA3BE;IACE,kBAAkB;IAClB,WAAW;IACX,MAAM;IACN,OAAO;;IAEP,sBAAsB;IACtB,WAAW;IACX,YAAY;;IAEZ,WAAW;IACX,sCAAsC;IACtC,qBAAqB;;IAErB,YAAY;EACd;;AAEA;;IAEE,oGAAoG;EACtG;;AAEA;IACE;;yDAEqD;EACvD;;AAGF;AAEA;;AAEA;;EAEE,oBAAoB;;EAEpB,iCAAiC;EACjC,uDAAuD;AACzD;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,QAAQ;;EAER,YAAY;EACZ,cAAyB;;EAEzB,iBAA2B;AAC7B;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,iBAAiB;;EAEjB,uCAAuC;AAKzC;;AAHE;IACE,oBAAoB;EACtB;;AAGF;EACE,qBAAqB;EACrB,gBAAgB;;EAEhB,sBAAsB;EACtB,WAAiB;EACjB,YAAkB;EAClB,iBAA4B;EAC5B,iBAA2B;;EAE3B,mBAAmB;;EAEnB,iDAAiD;EACjD,oDAAoD;AACtD;;AAEA;EACE,eAAyB;EACzB,gBAA0B;;EAE1B,iBAA4B;;EAE5B,sBAAsB;AACxB;;AAEA;EACE,WAAiB;;EAEjB,kBAAkB;;EAElB,sBAAmB;;KAAnB,mBAAmB;EACnB,0BAAuB;KAAvB,uBAAuB;AACzB",sourcesContent:[null,'@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value max-height: 20px;\n\n.tag {\n composes: resetButton from "../global/global.css";\n\n position: relative;\n z-index: 1;\n\n display: inline-flex;\n\n box-sizing: border-box;\n max-width: 100%;\n height: max-height;\n\n padding: 0 unit;\n\n cursor: pointer;\n\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-radius: var(--ring-border-radius);\n\n font-size: 12px;\n line-height: var(--ring-line-height);\n}\n\n.tag,\n.tagAngled::before {\n transition: background-color var(--ring-ease);\n\n background-color: var(--ring-tag-background-color);\n}\n\n.withRemove {\n padding-right: 22px;\n}\n\n.container {\n position: relative;\n\n display: inline-block;\n\n max-width: calc(100% - unit / 2);\n\n margin-right: calc(unit / 2);\n\n white-space: nowrap;\n}\n\n.focused,\n.tag:focus-visible {\n position: relative;\n\n outline: none;\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n}\n\n.focused,\n.focused.tagAngled::before,\n.tag:focus-visible,\n.tagAngled:focus-visible::before,\n.tag:hover,\n.tagAngled:hover::before {\n transition: none;\n\n background-color: var(--ring-tag-hover-background-color);\n}\n\n.tagAngled {\n /* it needs to fix vertical alignment broken by "overflow: hidden". Remove this class, when IE11 will be deprecated */\n\n margin-bottom: -5px !important;\n\n margin-left: unit;\n padding-left: calc(unit / 2);\n\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &::before {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n\n content: "";\n transform: scaleY(1.177) rotate(45deg);\n transform-origin: 0 0;\n\n border: none;\n }\n\n &.focused,\n &:focus {\n box-shadow: 0 0 0 1px var(--ring-border-hover-color) inset, 0 0 0 1px var(--ring-border-hover-color);\n }\n\n &:focus::before {\n box-shadow:\n 1px -1px var(--ring-border-hover-color) inset,\n -0.8px 0.8px 0 0.5px var(--ring-border-hover-color);\n }\n}\n\n.content {\n composes: ellipsis from "../global/global.css";\n}\n\n.disabled.tag,\n.disabled.tagAngled::before {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n background-color: var(--ring-disabled-background-color);\n}\n\n.remove {\n position: absolute;\n z-index: 1;\n top: 2px;\n right: 0;\n\n height: auto;\n padding: 0 calc(unit / 2);\n\n line-height: calc(unit * 2);\n}\n\n.removeIcon.removeIcon {\n color: var(--ring-icon-secondary-color);\n}\n\n.icon {\n margin-right: 6px;\n\n color: var(--ring-icon-secondary-color);\n\n & svg {\n vertical-align: -3px;\n }\n}\n\n.avatarContainer {\n display: inline-block;\n overflow: hidden;\n\n box-sizing: border-box;\n width: max-height;\n height: max-height;\n margin-right: calc(unit / 2);\n margin-left: calc(0 - unit);\n\n vertical-align: top;\n\n border-top-left-radius: var(--ring-border-radius);\n border-bottom-left-radius: var(--ring-border-radius);\n}\n\n.customIcon {\n max-width: calc(unit * 2);\n max-height: calc(unit * 2);\n\n margin-right: calc(unit / 2);\n\n vertical-align: bottom;\n}\n\n.avatarIcon {\n width: max-height;\n\n margin-right: -4px;\n\n object-fit: contain;\n object-position: center;\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,"max-height":"20px",tag:`tag_b7aa ${l.default.locals.resetButton}`,tagAngled:"tagAngled_c869",withRemove:"withRemove_c0a5",container:"container_cb34",focused:"focused_fd92",content:`content_a838 ${l.default.locals.ellipsis}`,disabled:"disabled_b740",remove:"remove_eff8",removeIcon:"removeIcon_accf",icon:"icon_e877",avatarContainer:"avatarContainer_ee1b",customIcon:"customIcon_ac93",avatarIcon:"avatarIcon_a8ff"};const s=u},6162:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".text_f1dc {\n color: var(--ring-text-color);\n}\n\n.sizeS_b3aa {\n font-size: var(--ring-font-size-smaller);\n}\n\n.sizeM_ae72 {\n font-size: var(--ring-font-size);\n}\n\n.sizeL_f259 {\n font-size: var(--ring-font-size-larger);\n}\n\n.info_c0a4 {\n color: var(--ring-secondary-color);\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/text/text.css"],names:[],mappings:"AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,kCAAkC;AACpC",sourcesContent:['@import "../global/variables.css";\n\n.text {\n color: var(--ring-text-color);\n}\n\n.sizeS {\n font-size: var(--ring-font-size-smaller);\n}\n\n.sizeM {\n font-size: var(--ring-font-size);\n}\n\n.sizeL {\n font-size: var(--ring-font-size-larger);\n}\n\n.info {\n color: var(--ring-secondary-color);\n}\n'],sourceRoot:""}]),c.locals={text:"text_f1dc",sizeS:"sizeS_b3aa",sizeM:"sizeM_ae72",sizeL:"sizeL_f259",info:"info_c0a4"};const u=c},938:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,".tooltip_fbfb {\n max-width: 400px;\n padding: 8px;\n\n text-align: left;\n\n color: var(--ring-text-color);\n}\n\n.long_b7a5 {\n padding: 8px 12px;\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAIA;EACE,gBAA0B;EAC1B,YAAa;;EAEb,gBAAgB;;EAEhB,6BAA6B;AAC/B;;AAEA;EACE,iBAA8B;;EAE9B,wCAAwC;EACxC,2CAA2C;AAC7C",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n.tooltip {\n max-width: calc(unit * 50);\n padding: unit;\n\n text-align: left;\n\n color: var(--ring-text-color);\n}\n\n.long {\n padding: unit calc(unit * 1.5);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,tooltip:"tooltip_fbfb",long:"long_b7a5"};const s=u},7156:e=>{"use strict";e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",r=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),r&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),r&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var l=0;l0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=i),t&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=t):s[2]=t),o&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=o):s[4]="".concat(o)),n.push(s))}},n}},1404:e=>{"use strict";e.exports=function(e){var n=e[1],t=e[3];if(!t)return n;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */");return[n].concat([i]).join("\n")}return[n].join("\n")}},4504:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(7222);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},9102:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(9892);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},6860:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(1866);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},3912:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(5486);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8764:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(6506);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},6620:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(9106);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},9468:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(5066);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},274:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8976);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},5924:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8266);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},7826:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(6960);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},1914:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(480);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8130:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(1586);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},1564:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8890);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},5103:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(4481);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},3006:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(2636);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},9344:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8102);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},4512:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(4561);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},6932:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(6162);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8132:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(938);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8298:e=>{"use strict";var n=[];function t(e){for(var t=-1,r=0;r{"use strict";var n={};e.exports=function(e,t){var r=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}},9742:e=>{"use strict";e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},9986:(e,n,t)=>{"use strict";e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},5163:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(r,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},6291:e=>{"use strict";e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},9511:(e,n,t)=>{"use strict";var r=t(8075)("ArrayBuffer.prototype.byteLength",!0),o=t(4670);e.exports=function(e){return o(e)?r?r(e):e.byteLength:NaN}},8075:(e,n,t)=>{"use strict";var r=t(453),o=t(487),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},487:(e,n,t)=>{"use strict";var r=t(6743),o=t(453),i=t(6897),a=t(9675),l=o("%Function.prototype.apply%"),c=o("%Function.prototype.call%"),u=o("%Reflect.apply%",!0)||r.call(c,l),s=t(3036),f=o("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var n=u(r,c,arguments);return i(n,1+f(0,e.length-(arguments.length-1)),!0)};var p=function(){return u(r,l,arguments)};s?s(e.exports,"apply",{value:p}):e.exports.apply=p},5888:(e,n,t)=>{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(1210),e.exports.prototype.bindMultiple=t(4382),e.exports.prototype.unbind=t(3709),e.exports.prototype.trigger=t(3149),e.exports.prototype.reset=t(6726),e.exports.prototype.stopCallback=t(4446),e.exports.prototype.handleKey=t(4320),e.exports.prototype.addEvents=t(6687),e.exports.prototype.bindSingle=t(2214),e.exports.prototype.getKeyInfo=t(4174),e.exports.prototype.pickBestAction=t(6004),e.exports.prototype.getReverseMap=t(5193),e.exports.prototype.getMatches=t(9132),e.exports.prototype.resetSequences=t(3229),e.exports.prototype.fireCallback=t(7922),e.exports.prototype.bindSequence=t(3256),e.exports.prototype.resetSequenceTimer=t(602),e.exports.prototype.detach=t(3502),e.exports.instances=[],e.exports.reset=t(6255),e.exports.REVERSE_MAP=null},6687:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(2904),r=e.element;e.eventHandler=t(8178).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},1210:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},4382:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(3970),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},3502:(e,n,t)=>{var r=t(2904).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},2904:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},7922:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(2156)(n),t(1849)(n))}},4174:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(7486)(e),a=t(7641),l=t(7984),c=t(5962),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(5962),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(6814))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},4320:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(3970)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(5273),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},7238:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},6004:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6726:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},602:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3229:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},4446:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},3149:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},3709:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},6255:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},3970:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(6814),r=t(4082),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},5273:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},5962:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},7486:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},2156:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},7984:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7641:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},4082:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},6814:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},1849:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},4982:(e,n,t)=>{"use strict";var r=t(6525),o=t(8075),i=t(1589),a=t(453),l=t(4552),c=t(920),u=t(7653),s=t(7244),f=t(4634),p=t(4670),d=t(2120),g=t(4035),h=t(7070),v=t(1189),b=t(1539),A=t(593),m=t(5767),y=t(9511),E=o("SharedArrayBuffer.prototype.byteLength",!0),C=o("Date.prototype.getTime"),w=Object.getPrototypeOf,_=o("Object.prototype.toString"),x=a("%Set%",!0),S=o("Map.prototype.has",!0),k=o("Map.prototype.get",!0),O=o("Map.prototype.size",!0),B=o("Set.prototype.add",!0),T=o("Set.prototype.delete",!0),P=o("Set.prototype.has",!0),I=o("Set.prototype.size",!0);function j(e,n,t,r){for(var o,i=l(e);(o=i.next())&&!o.done;)if(N(n,o.value,t,r))return T(e,o.value),!0;return!1}function z(e){return void 0===e?null:"object"!=typeof e?"symbol"!=typeof e&&("string"!=typeof e&&"number"!=typeof e||+e==+e):void 0}function D(e,n,t,o,i,a){var l=z(t);if(null!=l)return l;var c=k(n,l),u=r({},i,{strict:!1});return!(void 0===c&&!S(n,l)||!N(o,c,u,a))&&(!S(e,l)&&N(o,c,u,a))}function R(e,n,t){var r=z(t);return null!=r?r:P(n,r)&&!P(e,r)}function M(e,n,t,r,o,i){for(var a,c,u=l(e);(a=u.next())&&!a.done;)if(N(t,c=a.value,o,i)&&N(r,k(n,c),o,i))return T(e,c),!0;return!1}function N(e,n,t,o){var a=t||{};if(a.strict?u(e,n):e===n)return!0;if(b(e)!==b(n))return!1;if(!e||!n||"object"!=typeof e&&"object"!=typeof n)return a.strict?u(e,n):e==n;var c,T=o.has(e),z=o.has(n);if(T&&z){if(o.get(e)===o.get(n))return!0}else c={};return T||o.set(e,c),z||o.set(n,c),function(e,n,t,o){var a,c;if(typeof e!=typeof n)return!1;if(null==e||null==n)return!1;if(_(e)!==_(n))return!1;if(s(e)!==s(n))return!1;var u=f(e),b=f(n);if(u!==b)return!1;var T=e instanceof Error,z=n instanceof Error;if(T!==z)return!1;if((T||z)&&(e.name!==n.name||e.message!==n.message))return!1;var L=g(e),U=g(n);if(L!==U)return!1;if((L||U)&&(e.source!==n.source||i(e)!==i(n)))return!1;var H=d(e),W=d(n);if(H!==W)return!1;if((H||W)&&C(e)!==C(n))return!1;if(t.strict&&w&&w(e)!==w(n))return!1;var G=m(e),Y=m(n);if(G!==Y)return!1;if(G||Y){if(e.length!==n.length)return!1;for(a=0;a=0;a--)if(Z[a]!=J[a])return!1;for(a=Z.length-1;a>=0;a--)if(!N(e[c=Z[a]],n[c],t,o))return!1;var ee=A(e),ne=A(n);if(ee!==ne)return!1;if("Set"===ee||"Set"===ne)return function(e,n,t,r){if(I(e)!==I(n))return!1;var o,i,a,c=l(e),u=l(n);for(;(o=c.next())&&!o.done;)if(o.value&&"object"==typeof o.value)a||(a=new x),B(a,o.value);else if(!P(n,o.value)){if(t.strict)return!1;if(!R(e,n,o.value))return!1;a||(a=new x),B(a,o.value)}if(a){for(;(i=u.next())&&!i.done;)if(i.value&&"object"==typeof i.value){if(!j(a,i.value,t.strict,r))return!1}else if(!t.strict&&!P(e,i.value)&&!j(a,i.value,t.strict,r))return!1;return 0===I(a)}return!0}(e,n,t,o);if("Map"===ee)return function(e,n,t,o){if(O(e)!==O(n))return!1;var i,a,c,u,s,f,p=l(e),d=l(n);for(;(i=p.next())&&!i.done;)if(u=i.value[0],s=i.value[1],u&&"object"==typeof u)c||(c=new x),B(c,u);else if(void 0===(f=k(n,u))&&!S(n,u)||!N(s,f,t,o)){if(t.strict)return!1;if(!D(e,n,u,s,t,o))return!1;c||(c=new x),B(c,u)}if(c){for(;(a=d.next())&&!a.done;)if(u=a.value[0],f=a.value[1],u&&"object"==typeof u){if(!M(c,e,u,f,t,o))return!1}else if(!(t.strict||e.has(u)&&N(k(e,u),f,t,o)||M(c,e,u,f,r({},t,{strict:!1}),o)))return!1;return 0===I(c)}return!0}(e,n,t,o);return!0}(e,n,a,o)}function F(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&(!(e.length>0&&"number"!=typeof e[0])&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))))}e.exports=function(e,n,t){return N(e,n,t,c())}},41:(e,n,t)=>{"use strict";var r=t(3036),o=t(8068),i=t(9675),a=t(5795);e.exports=function(e,n,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof n&&"symbol"!=typeof n)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,s=arguments.length>6&&arguments[6],f=!!a&&a(e,n);if(r)r(e,n,{configurable:null===u&&f?f.configurable:!u,enumerable:null===l&&f?f.enumerable:!l,value:t,writable:null===c&&f?f.writable:!c});else{if(!s&&(l||c||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[n]=t}}},8452:(e,n,t)=>{"use strict";var r=t(1189),o="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),i=Object.prototype.toString,a=Array.prototype.concat,l=t(41),c=t(592)(),u=function(e,n,t,r){if(n in e)if(!0===r){if(e[n]===t)return}else if("function"!=typeof(o=r)||"[object Function]"!==i.call(o)||!r())return;var o;c?l(e,n,t,!0):l(e,n,t)},s=function(e,n){var t=arguments.length>2?arguments[2]:{},i=r(n);o&&(i=a.call(i,Object.getOwnPropertySymbols(n)));for(var l=0;l{"use strict";var r=t(453)("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch(e){r=!1}e.exports=r},1237:e=>{"use strict";e.exports=EvalError},9383:e=>{"use strict";e.exports=Error},9290:e=>{"use strict";e.exports=RangeError},9538:e=>{"use strict";e.exports=ReferenceError},8068:e=>{"use strict";e.exports=SyntaxError},9675:e=>{"use strict";e.exports=TypeError},5345:e=>{"use strict";e.exports=URIError},2682:(e,n,t)=>{"use strict";var r=t(9600),o=Object.prototype.toString,i=Object.prototype.hasOwnProperty;e.exports=function(e,n,t){if(!r(n))throw new TypeError("iterator must be a function");var a;arguments.length>=3&&(a=t),"[object Array]"===o.call(e)?function(e,n,t){for(var r=0,o=e.length;r{"use strict";var n=Object.prototype.toString,t=Math.max,r=function(e,n){for(var t=[],r=0;r{"use strict";var r=t(9353);e.exports=Function.prototype.bind||r},4462:e=>{"use strict";var n=function(){return"string"==typeof function(){}.name},t=Object.getOwnPropertyDescriptor;if(t)try{t([],"length")}catch(e){t=null}n.functionsHaveConfigurableNames=function(){if(!n()||!t)return!1;var e=t((function(){}),"name");return!!e&&!!e.configurable};var r=Function.prototype.bind;n.boundFunctionsHaveNames=function(){return n()&&"function"==typeof r&&""!==function(){}.bind().name},e.exports=n},453:(e,n,t)=>{"use strict";var r,o=t(9383),i=t(1237),a=t(9290),l=t(9538),c=t(8068),u=t(9675),s=t(5345),f=Function,p=function(e){try{return f('"use strict"; return ('+e+").constructor;")()}catch(e){}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch(e){d=null}var g=function(){throw new u},h=d?function(){try{return g}catch(e){try{return d(arguments,"callee").get}catch(e){return g}}}():g,v=t(4039)(),b=t(24)(),A=Object.getPrototypeOf||(b?function(e){return e.__proto__}:null),m={},y="undefined"!=typeof Uint8Array&&A?A(Uint8Array):r,E={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":v&&A?A([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":m,"%AsyncGenerator%":m,"%AsyncGeneratorFunction%":m,"%AsyncIteratorPrototype%":m,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":o,"%eval%":eval,"%EvalError%":i,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":f,"%GeneratorFunction%":m,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":v&&A?A(A([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&v&&A?A((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":a,"%ReferenceError%":l,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&v&&A?A((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":v&&A?A(""[Symbol.iterator]()):r,"%Symbol%":v?Symbol:r,"%SyntaxError%":c,"%ThrowTypeError%":h,"%TypedArray%":y,"%TypeError%":u,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":s,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet};if(A)try{null.error}catch(e){var C=A(A(e));E["%Error.prototype%"]=C}var w=function e(n){var t;if("%AsyncFunction%"===n)t=p("async function () {}");else if("%GeneratorFunction%"===n)t=p("function* () {}");else if("%AsyncGeneratorFunction%"===n)t=p("async function* () {}");else if("%AsyncGenerator%"===n){var r=e("%AsyncGeneratorFunction%");r&&(t=r.prototype)}else if("%AsyncIteratorPrototype%"===n){var o=e("%AsyncGenerator%");o&&A&&(t=A(o.prototype))}return E[n]=t,t},_={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},x=t(6743),S=t(9957),k=x.call(Function.call,Array.prototype.concat),O=x.call(Function.apply,Array.prototype.splice),B=x.call(Function.call,String.prototype.replace),T=x.call(Function.call,String.prototype.slice),P=x.call(Function.call,RegExp.prototype.exec),I=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,j=/\\(\\)?/g,z=function(e,n){var t,r=e;if(S(_,r)&&(r="%"+(t=_[r])[0]+"%"),S(E,r)){var o=E[r];if(o===m&&(o=w(r)),void 0===o&&!n)throw new u("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:t,name:r,value:o}}throw new c("intrinsic "+e+" does not exist!")};e.exports=function(e,n){if("string"!=typeof e||0===e.length)throw new u("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof n)throw new u('"allowMissing" argument must be a boolean');if(null===P(/^%?[^%]*%?$/,e))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var t=function(e){var n=T(e,0,1),t=T(e,-1);if("%"===n&&"%"!==t)throw new c("invalid intrinsic syntax, expected closing `%`");if("%"===t&&"%"!==n)throw new c("invalid intrinsic syntax, expected opening `%`");var r=[];return B(e,I,(function(e,n,t,o){r[r.length]=t?B(o,j,"$1"):n||e})),r}(e),r=t.length>0?t[0]:"",o=z("%"+r+"%",n),i=o.name,a=o.value,l=!1,s=o.alias;s&&(r=s[0],O(t,k([0,1],s)));for(var f=1,p=!0;f=t.length){var b=d(a,g);a=(p=!!b)&&"get"in b&&!("originalValue"in b.get)?b.get:a[g]}else p=S(a,g),a=a[g];p&&!l&&(E[i]=a)}}return a}},5795:(e,n,t)=>{"use strict";var r=t(453)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(e){r=null}e.exports=r},9790:e=>{"use strict";var n="undefined"!=typeof BigInt&&BigInt;e.exports=function(){return"function"==typeof n&&"function"==typeof BigInt&&"bigint"==typeof n(42)&&"bigint"==typeof BigInt(42)}},592:(e,n,t)=>{"use strict";var r=t(3036),o=function(){return!!r};o.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=o},24:e=>{"use strict";var n={__proto__:null,foo:{}},t=Object;e.exports=function(){return{__proto__:n}.foo===n.foo&&!(n instanceof t)}},4039:(e,n,t)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,o=t(1333);e.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},1333:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},n=Symbol("test"),t=Object(n);if("string"==typeof n)return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;for(n in e[n]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==n)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,n))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,n);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},9092:(e,n,t)=>{"use strict";var r=t(1333);e.exports=function(){return r()&&!!Symbol.toStringTag}},9957:(e,n,t)=>{"use strict";var r=Function.prototype.call,o=Object.prototype.hasOwnProperty,i=t(6743);e.exports=i.call(r,o)},63:(e,n,t)=>{"use strict";var r=t(9957),o=t(920)(),i=t(9675),a={assert:function(e,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");if(o.assert(e),!a.has(e,n))throw new i("`"+n+"` is not present on `O`")},get:function(e,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");var t=o.get(e);return t&&t["$"+n]},has:function(e,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");var t=o.get(e);return!!t&&r(t,"$"+n)},set:function(e,n,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");var r=o.get(e);r||(r={},o.set(e,r)),r["$"+n]=t}};Object.freeze&&Object.freeze(a),e.exports=a},7244:(e,n,t)=>{"use strict";var r=t(9092)(),o=t(8075)("Object.prototype.toString"),i=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===o(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==o(e)&&"[object Function]"===o(e.callee)},l=function(){return i(arguments)}();i.isLegacyArguments=a,e.exports=l?i:a},4670:(e,n,t)=>{"use strict";var r=t(487),o=t(8075),i=t(453)("%ArrayBuffer%",!0),a=o("ArrayBuffer.prototype.byteLength",!0),l=o("Object.prototype.toString"),c=!!i&&!a&&new i(0).slice,u=!!c&&r(c);e.exports=a||u?function(e){if(!e||"object"!=typeof e)return!1;try{return a?a(e):u(e,0),!0}catch(e){return!1}}:i?function(e){return"[object ArrayBuffer]"===l(e)}:function(e){return!1}},9803:(e,n,t)=>{"use strict";if(t(9790)()){var r=BigInt.prototype.valueOf;e.exports=function(e){return null!=e&&"boolean"!=typeof e&&"string"!=typeof e&&"number"!=typeof e&&"symbol"!=typeof e&&"function"!=typeof e&&("bigint"==typeof e||function(e){try{return r.call(e),!0}catch(e){}return!1}(e))}}else e.exports=function(e){return!1}},5128:(e,n,t)=>{"use strict";var r=t(8075),o=r("Boolean.prototype.toString"),i=r("Object.prototype.toString"),a=t(9092)();e.exports=function(e){return"boolean"==typeof e||null!==e&&"object"==typeof e&&(a&&Symbol.toStringTag in e?function(e){try{return o(e),!0}catch(e){return!1}}(e):"[object Boolean]"===i(e))}},9600:e=>{"use strict";var n,t,r=Function.prototype.toString,o="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof o&&"function"==typeof Object.defineProperty)try{n=Object.defineProperty({},"length",{get:function(){throw t}}),t={},o((function(){throw 42}),null,n)}catch(e){e!==t&&(o=null)}else o=null;var i=/^\s*class\b/,a=function(e){try{var n=r.call(e);return i.test(n)}catch(e){return!1}},l=function(e){try{return!a(e)&&(r.call(e),!0)}catch(e){return!1}},c=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,s=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var p=document.all;c.call(p)===c.call(document.all)&&(f=function(e){if((s||!e)&&(void 0===e||"object"==typeof e))try{var n=c.call(e);return("[object HTMLAllCollection]"===n||"[object HTML document.all class]"===n||"[object HTMLCollection]"===n||"[object Object]"===n)&&null==e("")}catch(e){}return!1})}e.exports=o?function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{o(e,null,n)}catch(e){if(e!==t)return!1}return!a(e)&&l(e)}:function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(u)return l(e);if(a(e))return!1;var n=c.call(e);return!("[object Function]"!==n&&"[object GeneratorFunction]"!==n&&!/^\[object HTML/.test(n))&&l(e)}},2120:(e,n,t)=>{"use strict";var r=Date.prototype.getDay,o=Object.prototype.toString,i=t(9092)();e.exports=function(e){return"object"==typeof e&&null!==e&&(i?function(e){try{return r.call(e),!0}catch(e){return!1}}(e):"[object Date]"===o.call(e))}},1421:e=>{"use strict";var n,t="function"==typeof Map&&Map.prototype?Map:null,r="function"==typeof Set&&Set.prototype?Set:null;t||(n=function(e){return!1});var o=t?Map.prototype.has:null,i=r?Set.prototype.has:null;n||o||(n=function(e){return!1}),e.exports=n||function(e){if(!e||"object"!=typeof e)return!1;try{if(o.call(e),i)try{i.call(e)}catch(e){return!0}return e instanceof t}catch(e){}return!1}},1703:(e,n,t)=>{"use strict";var r=Number.prototype.toString,o=Object.prototype.toString,i=t(9092)();e.exports=function(e){return"number"==typeof e||"object"==typeof e&&(i?function(e){try{return r.call(e),!0}catch(e){return!1}}(e):"[object Number]"===o.call(e))}},4035:(e,n,t)=>{"use strict";var r,o,i,a,l=t(8075),c=t(9092)();if(c){r=l("Object.prototype.hasOwnProperty"),o=l("RegExp.prototype.exec"),i={};var u=function(){throw i};a={toString:u,valueOf:u},"symbol"==typeof Symbol.toPrimitive&&(a[Symbol.toPrimitive]=u)}var s=l("Object.prototype.toString"),f=Object.getOwnPropertyDescriptor;e.exports=c?function(e){if(!e||"object"!=typeof e)return!1;var n=f(e,"lastIndex");if(!(n&&r(n,"value")))return!1;try{o(e,a)}catch(e){return e===i}}:function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===s(e)}},256:e=>{"use strict";var n,t="function"==typeof Map&&Map.prototype?Map:null,r="function"==typeof Set&&Set.prototype?Set:null;r||(n=function(e){return!1});var o=t?Map.prototype.has:null,i=r?Set.prototype.has:null;n||i||(n=function(e){return!1}),e.exports=n||function(e){if(!e||"object"!=typeof e)return!1;try{if(i.call(e),o)try{o.call(e)}catch(e){return!0}return e instanceof r}catch(e){}return!1}},7070:(e,n,t)=>{"use strict";var r=t(8075)("SharedArrayBuffer.prototype.byteLength",!0);e.exports=r?function(e){if(!e||"object"!=typeof e)return!1;try{return r(e),!0}catch(e){return!1}}:function(e){return!1}},4761:(e,n,t)=>{"use strict";var r=String.prototype.valueOf,o=Object.prototype.toString,i=t(9092)();e.exports=function(e){return"string"==typeof e||"object"==typeof e&&(i?function(e){try{return r.call(e),!0}catch(e){return!1}}(e):"[object String]"===o.call(e))}},3612:(e,n,t)=>{"use strict";var r=Object.prototype.toString;if(t(4039)()){var o=Symbol.prototype.toString,i=/^Symbol\(.*\)$/;e.exports=function(e){if("symbol"==typeof e)return!0;if("[object Symbol]"!==r.call(e))return!1;try{return function(e){return"symbol"==typeof e.valueOf()&&i.test(o.call(e))}(e)}catch(e){return!1}}}else e.exports=function(e){return!1}},7842:e=>{"use strict";var n,t="function"==typeof WeakMap&&WeakMap.prototype?WeakMap:null,r="function"==typeof WeakSet&&WeakSet.prototype?WeakSet:null;t||(n=function(e){return!1});var o=t?t.prototype.has:null,i=r?r.prototype.has:null;n||o||(n=function(e){return!1}),e.exports=n||function(e){if(!e||"object"!=typeof e)return!1;try{if(o.call(e,o),i)try{i.call(e,i)}catch(e){return!0}return e instanceof t}catch(e){}return!1}},2648:(e,n,t)=>{"use strict";var r=t(453),o=t(8075),i=r("%WeakSet%",!0),a=o("WeakSet.prototype.has",!0);if(a){var l=o("WeakMap.prototype.has",!0);e.exports=function(e){if(!e||"object"!=typeof e)return!1;try{if(a(e,a),l)try{l(e,l)}catch(e){return!0}return e instanceof i}catch(e){}return!1}}else e.exports=function(e){return!1}},4634:e=>{var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},2543:function(e,n,t){var r; +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */e=t.nmd(e),function(){var o,i="Expected a function",a="__lodash_hash_undefined__",l="__lodash_placeholder__",c=16,u=32,s=64,f=128,p=256,d=1/0,g=9007199254740991,h=NaN,v=4294967295,b=[["ary",f],["bind",1],["bindKey",2],["curry",8],["curryRight",c],["flip",512],["partial",u],["partialRight",s],["rearg",p]],A="[object Arguments]",m="[object Array]",y="[object Boolean]",E="[object Date]",C="[object Error]",w="[object Function]",_="[object GeneratorFunction]",x="[object Map]",S="[object Number]",k="[object Object]",O="[object Promise]",B="[object RegExp]",T="[object Set]",P="[object String]",I="[object Symbol]",j="[object WeakMap]",z="[object ArrayBuffer]",D="[object DataView]",R="[object Float32Array]",M="[object Float64Array]",N="[object Int8Array]",F="[object Int16Array]",L="[object Int32Array]",U="[object Uint8Array]",H="[object Uint8ClampedArray]",W="[object Uint16Array]",G="[object Uint32Array]",Y=/\b__p \+= '';/g,q=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$=/&(?:amp|lt|gt|quot|#39);/g,K=/[&<>"']/g,Q=RegExp($.source),X=RegExp(K.source),Z=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,ne=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,te=/^\w*$/,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,oe=/[\\^$.*+?()[\]{}|]/g,ie=RegExp(oe.source),ae=/^\s+/,le=/\s/,ce=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ue=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,fe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pe=/[()=,{}\[\]\/\s]/,de=/\\(\\)?/g,ge=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,ve=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,Ae=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,Ee=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ce=/($^)/,we=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",xe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Se="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Be="\\ufe0e\\ufe0f",Te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pe="['’]",Ie="["+_e+"]",je="["+Te+"]",ze="["+xe+"]",De="\\d+",Re="["+Se+"]",Me="["+ke+"]",Ne="[^"+_e+Te+De+Se+ke+Oe+"]",Fe="\\ud83c[\\udffb-\\udfff]",Le="[^"+_e+"]",Ue="(?:\\ud83c[\\udde6-\\uddff]){2}",He="[\\ud800-\\udbff][\\udc00-\\udfff]",We="["+Oe+"]",Ge="\\u200d",Ye="(?:"+Me+"|"+Ne+")",qe="(?:"+We+"|"+Ne+")",Ve="(?:['’](?:d|ll|m|re|s|t|ve))?",$e="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ke="(?:"+ze+"|"+Fe+")"+"?",Qe="["+Be+"]?",Xe=Qe+Ke+("(?:"+Ge+"(?:"+[Le,Ue,He].join("|")+")"+Qe+Ke+")*"),Ze="(?:"+[Re,Ue,He].join("|")+")"+Xe,Je="(?:"+[Le+ze+"?",ze,Ue,He,Ie].join("|")+")",en=RegExp(Pe,"g"),nn=RegExp(ze,"g"),tn=RegExp(Fe+"(?="+Fe+")|"+Je+Xe,"g"),rn=RegExp([We+"?"+Me+"+"+Ve+"(?="+[je,We,"$"].join("|")+")",qe+"+"+$e+"(?="+[je,We+Ye,"$"].join("|")+")",We+"?"+Ye+"+"+Ve,We+"+"+$e,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",De,Ze].join("|"),"g"),on=RegExp("["+Ge+_e+xe+Be+"]"),an=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],cn=-1,un={};un[R]=un[M]=un[N]=un[F]=un[L]=un[U]=un[H]=un[W]=un[G]=!0,un[A]=un[m]=un[z]=un[y]=un[D]=un[E]=un[C]=un[w]=un[x]=un[S]=un[k]=un[B]=un[T]=un[P]=un[j]=!1;var sn={};sn[A]=sn[m]=sn[z]=sn[D]=sn[y]=sn[E]=sn[R]=sn[M]=sn[N]=sn[F]=sn[L]=sn[x]=sn[S]=sn[k]=sn[B]=sn[T]=sn[P]=sn[I]=sn[U]=sn[H]=sn[W]=sn[G]=!0,sn[C]=sn[w]=sn[j]=!1;var fn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pn=parseFloat,dn=parseInt,gn="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,hn="object"==typeof self&&self&&self.Object===Object&&self,vn=gn||hn||Function("return this")(),bn=n&&!n.nodeType&&n,An=bn&&e&&!e.nodeType&&e,mn=An&&An.exports===bn,yn=mn&&gn.process,En=function(){try{var e=An&&An.require&&An.require("util").types;return e||yn&&yn.binding&&yn.binding("util")}catch(e){}}(),Cn=En&&En.isArrayBuffer,wn=En&&En.isDate,_n=En&&En.isMap,xn=En&&En.isRegExp,Sn=En&&En.isSet,kn=En&&En.isTypedArray;function On(e,n,t){switch(t.length){case 0:return e.call(n);case 1:return e.call(n,t[0]);case 2:return e.call(n,t[0],t[1]);case 3:return e.call(n,t[0],t[1],t[2])}return e.apply(n,t)}function Bn(e,n,t,r){for(var o=-1,i=null==e?0:e.length;++o-1}function Dn(e,n,t){for(var r=-1,o=null==e?0:e.length;++r-1;);return t}function ot(e,n){for(var t=e.length;t--&&Gn(n,e[t],0)>-1;);return t}var it=Kn({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),at=Kn({"&":"&","<":"<",">":">",'"':""","'":"'"});function lt(e){return"\\"+fn[e]}function ct(e){return on.test(e)}function ut(e){var n=-1,t=Array(e.size);return e.forEach((function(e,r){t[++n]=[r,e]})),t}function st(e,n){return function(t){return e(n(t))}}function ft(e,n){for(var t=-1,r=e.length,o=0,i=[];++t",""":'"',"'":"'"});var At=function e(n){var t,r=(n=null==n?vn:At.defaults(vn.Object(),n,At.pick(vn,ln))).Array,le=n.Date,_e=n.Error,xe=n.Function,Se=n.Math,ke=n.Object,Oe=n.RegExp,Be=n.String,Te=n.TypeError,Pe=r.prototype,Ie=xe.prototype,je=ke.prototype,ze=n["__core-js_shared__"],De=Ie.toString,Re=je.hasOwnProperty,Me=0,Ne=(t=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"",Fe=je.toString,Le=De.call(ke),Ue=vn._,He=Oe("^"+De.call(Re).replace(oe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),We=mn?n.Buffer:o,Ge=n.Symbol,Ye=n.Uint8Array,qe=We?We.allocUnsafe:o,Ve=st(ke.getPrototypeOf,ke),$e=ke.create,Ke=je.propertyIsEnumerable,Qe=Pe.splice,Xe=Ge?Ge.isConcatSpreadable:o,Ze=Ge?Ge.iterator:o,Je=Ge?Ge.toStringTag:o,tn=function(){try{var e=di(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),on=n.clearTimeout!==vn.clearTimeout&&n.clearTimeout,fn=le&&le.now!==vn.Date.now&&le.now,gn=n.setTimeout!==vn.setTimeout&&n.setTimeout,hn=Se.ceil,bn=Se.floor,An=ke.getOwnPropertySymbols,yn=We?We.isBuffer:o,En=n.isFinite,Un=Pe.join,Kn=st(ke.keys,ke),mt=Se.max,yt=Se.min,Et=le.now,Ct=n.parseInt,wt=Se.random,_t=Pe.reverse,xt=di(n,"DataView"),St=di(n,"Map"),kt=di(n,"Promise"),Ot=di(n,"Set"),Bt=di(n,"WeakMap"),Tt=di(ke,"create"),Pt=Bt&&new Bt,It={},jt=Fi(xt),zt=Fi(St),Dt=Fi(kt),Rt=Fi(Ot),Mt=Fi(Bt),Nt=Ge?Ge.prototype:o,Ft=Nt?Nt.valueOf:o,Lt=Nt?Nt.toString:o;function Ut(e){if(tl(e)&&!Ya(e)&&!(e instanceof Yt)){if(e instanceof Gt)return e;if(Re.call(e,"__wrapped__"))return Li(e)}return new Gt(e)}var Ht=function(){function e(){}return function(n){if(!nl(n))return{};if($e)return $e(n);e.prototype=n;var t=new e;return e.prototype=o,t}}();function Wt(){}function Gt(e,n){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=o}function Yt(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=v,this.__views__=[]}function qt(e){var n=-1,t=null==e?0:e.length;for(this.clear();++n=n?e:n)),e}function ur(e,n,t,r,i,a){var l,c=1&n,u=2&n,s=4&n;if(t&&(l=i?t(e,r,i,a):t(e)),l!==o)return l;if(!nl(e))return e;var f=Ya(e);if(f){if(l=function(e){var n=e.length,t=new e.constructor(n);n&&"string"==typeof e[0]&&Re.call(e,"index")&&(t.index=e.index,t.input=e.input);return t}(e),!c)return Po(e,l)}else{var p=vi(e),d=p==w||p==_;if(Ka(e))return xo(e,c);if(p==k||p==A||d&&!i){if(l=u||d?{}:Ai(e),!c)return u?function(e,n){return Io(e,hi(e),n)}(e,function(e,n){return e&&Io(n,jl(n),e)}(l,e)):function(e,n){return Io(e,gi(e),n)}(e,ir(l,e))}else{if(!sn[p])return i?e:{};l=function(e,n,t){var r=e.constructor;switch(n){case z:return So(e);case y:case E:return new r(+e);case D:return function(e,n){var t=n?So(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}(e,t);case R:case M:case N:case F:case L:case U:case H:case W:case G:return ko(e,t);case x:return new r;case S:case P:return new r(e);case B:return function(e){var n=new e.constructor(e.source,he.exec(e));return n.lastIndex=e.lastIndex,n}(e);case T:return new r;case I:return o=e,Ft?ke(Ft.call(o)):{}}var o}(e,p,c)}}a||(a=new Qt);var g=a.get(e);if(g)return g;a.set(e,l),ll(e)?e.forEach((function(r){l.add(ur(r,n,t,r,e,a))})):rl(e)&&e.forEach((function(r,o){l.set(o,ur(r,n,t,o,e,a))}));var h=f?o:(s?u?ai:ii:u?jl:Il)(e);return Tn(h||e,(function(r,o){h&&(r=e[o=r]),tr(l,o,ur(r,n,t,o,e,a))})),l}function sr(e,n,t){var r=t.length;if(null==e)return!r;for(e=ke(e);r--;){var i=t[r],a=n[i],l=e[i];if(l===o&&!(i in e)||!a(l))return!1}return!0}function fr(e,n,t){if("function"!=typeof e)throw new Te(i);return Ii((function(){e.apply(o,t)}),n)}function pr(e,n,t,r){var o=-1,i=zn,a=!0,l=e.length,c=[],u=n.length;if(!l)return c;t&&(n=Rn(n,et(t))),r?(i=Dn,a=!1):n.length>=200&&(i=tt,a=!1,n=new Kt(n));e:for(;++o-1},Vt.prototype.set=function(e,n){var t=this.__data__,r=rr(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this},$t.prototype.clear=function(){this.size=0,this.__data__={hash:new qt,map:new(St||Vt),string:new qt}},$t.prototype.delete=function(e){var n=fi(this,e).delete(e);return this.size-=n?1:0,n},$t.prototype.get=function(e){return fi(this,e).get(e)},$t.prototype.has=function(e){return fi(this,e).has(e)},$t.prototype.set=function(e,n){var t=fi(this,e),r=t.size;return t.set(e,n),this.size+=t.size==r?0:1,this},Kt.prototype.add=Kt.prototype.push=function(e){return this.__data__.set(e,a),this},Kt.prototype.has=function(e){return this.__data__.has(e)},Qt.prototype.clear=function(){this.__data__=new Vt,this.size=0},Qt.prototype.delete=function(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t},Qt.prototype.get=function(e){return this.__data__.get(e)},Qt.prototype.has=function(e){return this.__data__.has(e)},Qt.prototype.set=function(e,n){var t=this.__data__;if(t instanceof Vt){var r=t.__data__;if(!St||r.length<199)return r.push([e,n]),this.size=++t.size,this;t=this.__data__=new $t(r)}return t.set(e,n),this.size=t.size,this};var dr=Do(Er),gr=Do(Cr,!0);function hr(e,n){var t=!0;return dr(e,(function(e,r,o){return t=!!n(e,r,o)})),t}function vr(e,n,t){for(var r=-1,i=e.length;++r0&&t(l)?n>1?Ar(l,n-1,t,r,o):Mn(o,l):r||(o[o.length]=l)}return o}var mr=Ro(),yr=Ro(!0);function Er(e,n){return e&&mr(e,n,Il)}function Cr(e,n){return e&&yr(e,n,Il)}function wr(e,n){return jn(n,(function(n){return Za(e[n])}))}function _r(e,n){for(var t=0,r=(n=Eo(n,e)).length;null!=e&&tn}function Or(e,n){return null!=e&&Re.call(e,n)}function Br(e,n){return null!=e&&n in ke(e)}function Tr(e,n,t){for(var i=t?Dn:zn,a=e[0].length,l=e.length,c=l,u=r(l),s=1/0,f=[];c--;){var p=e[c];c&&n&&(p=Rn(p,et(n))),s=yt(p.length,s),u[c]=!t&&(n||a>=120&&p.length>=120)?new Kt(c&&p):o}p=e[0];var d=-1,g=u[0];e:for(;++d=l?c:c*("desc"==t[r]?-1:1)}return e.index-n.index}(e,n,t)}))}function qr(e,n,t){for(var r=-1,o=n.length,i={};++r-1;)l!==e&&Qe.call(l,c,1),Qe.call(e,c,1);return e}function $r(e,n){for(var t=e?n.length:0,r=t-1;t--;){var o=n[t];if(t==r||o!==i){var i=o;yi(o)?Qe.call(e,o,1):po(e,o)}}return e}function Kr(e,n){return e+bn(wt()*(n-e+1))}function Qr(e,n){var t="";if(!e||n<1||n>g)return t;do{n%2&&(t+=e),(n=bn(n/2))&&(e+=e)}while(n);return t}function Xr(e,n){return ji(Oi(e,n,oc),e+"")}function Zr(e){return Zt(Ul(e))}function Jr(e,n){var t=Ul(e);return Ri(t,cr(n,0,t.length))}function eo(e,n,t,r){if(!nl(e))return e;for(var i=-1,a=(n=Eo(n,e)).length,l=a-1,c=e;null!=c&&++ii?0:i+n),(t=t>i?i:t)<0&&(t+=i),i=n>t?0:t-n>>>0,n>>>=0;for(var a=r(i);++o>>1,a=e[i];null!==a&&!ul(a)&&(t?a<=n:a=200){var u=n?null:Xo(e);if(u)return pt(u);a=!1,o=tt,c=new Kt}else c=n?[]:l;e:for(;++r=r?e:oo(e,n,t)}var _o=on||function(e){return vn.clearTimeout(e)};function xo(e,n){if(n)return e.slice();var t=e.length,r=qe?qe(t):new e.constructor(t);return e.copy(r),r}function So(e){var n=new e.constructor(e.byteLength);return new Ye(n).set(new Ye(e)),n}function ko(e,n){var t=n?So(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}function Oo(e,n){if(e!==n){var t=e!==o,r=null===e,i=e==e,a=ul(e),l=n!==o,c=null===n,u=n==n,s=ul(n);if(!c&&!s&&!a&&e>n||a&&l&&u&&!c&&!s||r&&l&&u||!t&&u||!i)return 1;if(!r&&!a&&!s&&e1?t[i-1]:o,l=i>2?t[2]:o;for(a=e.length>3&&"function"==typeof a?(i--,a):o,l&&Ei(t[0],t[1],l)&&(a=i<3?o:a,i=1),n=ke(n);++r-1?i[a?n[l]:l]:o}}function Uo(e){return oi((function(n){var t=n.length,r=t,a=Gt.prototype.thru;for(e&&n.reverse();r--;){var l=n[r];if("function"!=typeof l)throw new Te(i);if(a&&!c&&"wrapper"==ci(l))var c=new Gt([],!0)}for(r=c?r:t;++r1&&y.reverse(),d&&sc))return!1;var s=a.get(e),f=a.get(n);if(s&&f)return s==n&&f==e;var p=-1,d=!0,g=2&t?new Kt:o;for(a.set(e,n),a.set(n,e);++p-1&&e%1==0&&e1?"& ":"")+n[r],n=n.join(t>2?", ":" "),e.replace(ce,"{\n/* [wrapped with "+n+"] */\n")}(r,function(e,n){return Tn(b,(function(t){var r="_."+t[0];n&t[1]&&!zn(e,r)&&e.push(r)})),e.sort()}(function(e){var n=e.match(ue);return n?n[1].split(se):[]}(r),t)))}function Di(e){var n=0,t=0;return function(){var r=Et(),i=16-(r-t);if(t=r,i>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(o,arguments)}}function Ri(e,n){var t=-1,r=e.length,i=r-1;for(n=n===o?r:n;++t1?e[n-1]:o;return t="function"==typeof t?(e.pop(),t):o,aa(e,t)}));function da(e){var n=Ut(e);return n.__chain__=!0,n}function ga(e,n){return n(e)}var ha=oi((function(e){var n=e.length,t=n?e[0]:0,r=this.__wrapped__,i=function(n){return lr(n,e)};return!(n>1||this.__actions__.length)&&r instanceof Yt&&yi(t)?((r=r.slice(t,+t+(n?1:0))).__actions__.push({func:ga,args:[i],thisArg:o}),new Gt(r,this.__chain__).thru((function(e){return n&&!e.length&&e.push(o),e}))):this.thru(i)}));var va=jo((function(e,n,t){Re.call(e,t)?++e[t]:ar(e,t,1)}));var ba=Lo(Gi),Aa=Lo(Yi);function ma(e,n){return(Ya(e)?Tn:dr)(e,si(n,3))}function ya(e,n){return(Ya(e)?Pn:gr)(e,si(n,3))}var Ea=jo((function(e,n,t){Re.call(e,t)?e[t].push(n):ar(e,t,[n])}));var Ca=Xr((function(e,n,t){var o=-1,i="function"==typeof n,a=Va(e)?r(e.length):[];return dr(e,(function(e){a[++o]=i?On(n,e,t):Pr(e,n,t)})),a})),wa=jo((function(e,n,t){ar(e,t,n)}));function _a(e,n){return(Ya(e)?Rn:Lr)(e,si(n,3))}var xa=jo((function(e,n,t){e[t?0:1].push(n)}),(function(){return[[],[]]}));var Sa=Xr((function(e,n){if(null==e)return[];var t=n.length;return t>1&&Ei(e,n[0],n[1])?n=[]:t>2&&Ei(n[0],n[1],n[2])&&(n=[n[0]]),Yr(e,Ar(n,1),[])})),ka=fn||function(){return vn.Date.now()};function Oa(e,n,t){return n=t?o:n,n=e&&null==n?e.length:n,Jo(e,f,o,o,o,o,n)}function Ba(e,n){var t;if("function"!=typeof n)throw new Te(i);return e=hl(e),function(){return--e>0&&(t=n.apply(this,arguments)),e<=1&&(n=o),t}}var Ta=Xr((function(e,n,t){var r=1;if(t.length){var o=ft(t,ui(Ta));r|=u}return Jo(e,r,n,t,o)})),Pa=Xr((function(e,n,t){var r=3;if(t.length){var o=ft(t,ui(Pa));r|=u}return Jo(n,r,e,t,o)}));function Ia(e,n,t){var r,a,l,c,u,s,f=0,p=!1,d=!1,g=!0;if("function"!=typeof e)throw new Te(i);function h(n){var t=r,i=a;return r=a=o,f=n,c=e.apply(i,t)}function v(e){var t=e-s;return s===o||t>=n||t<0||d&&e-f>=l}function b(){var e=ka();if(v(e))return A(e);u=Ii(b,function(e){var t=n-(e-s);return d?yt(t,l-(e-f)):t}(e))}function A(e){return u=o,g&&r?h(e):(r=a=o,c)}function m(){var e=ka(),t=v(e);if(r=arguments,a=this,s=e,t){if(u===o)return function(e){return f=e,u=Ii(b,n),p?h(e):c}(s);if(d)return _o(u),u=Ii(b,n),h(s)}return u===o&&(u=Ii(b,n)),c}return n=bl(n)||0,nl(t)&&(p=!!t.leading,l=(d="maxWait"in t)?mt(bl(t.maxWait)||0,n):l,g="trailing"in t?!!t.trailing:g),m.cancel=function(){u!==o&&_o(u),f=0,r=s=a=u=o},m.flush=function(){return u===o?c:A(ka())},m}var ja=Xr((function(e,n){return fr(e,1,n)})),za=Xr((function(e,n,t){return fr(e,bl(n)||0,t)}));function Da(e,n){if("function"!=typeof e||null!=n&&"function"!=typeof n)throw new Te(i);var t=function(){var r=arguments,o=n?n.apply(this,r):r[0],i=t.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return t.cache=i.set(o,a)||i,a};return t.cache=new(Da.Cache||$t),t}function Ra(e){if("function"!=typeof e)throw new Te(i);return function(){var n=arguments;switch(n.length){case 0:return!e.call(this);case 1:return!e.call(this,n[0]);case 2:return!e.call(this,n[0],n[1]);case 3:return!e.call(this,n[0],n[1],n[2])}return!e.apply(this,n)}}Da.Cache=$t;var Ma=Co((function(e,n){var t=(n=1==n.length&&Ya(n[0])?Rn(n[0],et(si())):Rn(Ar(n,1),et(si()))).length;return Xr((function(r){for(var o=-1,i=yt(r.length,t);++o=n})),Ga=Ir(function(){return arguments}())?Ir:function(e){return tl(e)&&Re.call(e,"callee")&&!Ke.call(e,"callee")},Ya=r.isArray,qa=Cn?et(Cn):function(e){return tl(e)&&Sr(e)==z};function Va(e){return null!=e&&el(e.length)&&!Za(e)}function $a(e){return tl(e)&&Va(e)}var Ka=yn||bc,Qa=wn?et(wn):function(e){return tl(e)&&Sr(e)==E};function Xa(e){if(!tl(e))return!1;var n=Sr(e);return n==C||"[object DOMException]"==n||"string"==typeof e.message&&"string"==typeof e.name&&!il(e)}function Za(e){if(!nl(e))return!1;var n=Sr(e);return n==w||n==_||"[object AsyncFunction]"==n||"[object Proxy]"==n}function Ja(e){return"number"==typeof e&&e==hl(e)}function el(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=g}function nl(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}function tl(e){return null!=e&&"object"==typeof e}var rl=_n?et(_n):function(e){return tl(e)&&vi(e)==x};function ol(e){return"number"==typeof e||tl(e)&&Sr(e)==S}function il(e){if(!tl(e)||Sr(e)!=k)return!1;var n=Ve(e);if(null===n)return!0;var t=Re.call(n,"constructor")&&n.constructor;return"function"==typeof t&&t instanceof t&&De.call(t)==Le}var al=xn?et(xn):function(e){return tl(e)&&Sr(e)==B};var ll=Sn?et(Sn):function(e){return tl(e)&&vi(e)==T};function cl(e){return"string"==typeof e||!Ya(e)&&tl(e)&&Sr(e)==P}function ul(e){return"symbol"==typeof e||tl(e)&&Sr(e)==I}var sl=kn?et(kn):function(e){return tl(e)&&el(e.length)&&!!un[Sr(e)]};var fl=$o(Fr),pl=$o((function(e,n){return e<=n}));function dl(e){if(!e)return[];if(Va(e))return cl(e)?ht(e):Po(e);if(Ze&&e[Ze])return function(e){for(var n,t=[];!(n=e.next()).done;)t.push(n.value);return t}(e[Ze]());var n=vi(e);return(n==x?ut:n==T?pt:Ul)(e)}function gl(e){return e?(e=bl(e))===d||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function hl(e){var n=gl(e),t=n%1;return n==n?t?n-t:n:0}function vl(e){return e?cr(hl(e),0,v):0}function bl(e){if("number"==typeof e)return e;if(ul(e))return h;if(nl(e)){var n="function"==typeof e.valueOf?e.valueOf():e;e=nl(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=Jn(e);var t=be.test(e);return t||me.test(e)?dn(e.slice(2),t?2:8):ve.test(e)?h:+e}function Al(e){return Io(e,jl(e))}function ml(e){return null==e?"":so(e)}var yl=zo((function(e,n){if(xi(n)||Va(n))Io(n,Il(n),e);else for(var t in n)Re.call(n,t)&&tr(e,t,n[t])})),El=zo((function(e,n){Io(n,jl(n),e)})),Cl=zo((function(e,n,t,r){Io(n,jl(n),e,r)})),wl=zo((function(e,n,t,r){Io(n,Il(n),e,r)})),_l=oi(lr);var xl=Xr((function(e,n){e=ke(e);var t=-1,r=n.length,i=r>2?n[2]:o;for(i&&Ei(n[0],n[1],i)&&(r=1);++t1),n})),Io(e,ai(e),t),r&&(t=ur(t,7,ti));for(var o=n.length;o--;)po(t,n[o]);return t}));var Ml=oi((function(e,n){return null==e?{}:function(e,n){return qr(e,n,(function(n,t){return Ol(e,t)}))}(e,n)}));function Nl(e,n){if(null==e)return{};var t=Rn(ai(e),(function(e){return[e]}));return n=si(n),qr(e,t,(function(e,t){return n(e,t[0])}))}var Fl=Zo(Il),Ll=Zo(jl);function Ul(e){return null==e?[]:nt(e,Il(e))}var Hl=No((function(e,n,t){return n=n.toLowerCase(),e+(t?Wl(n):n)}));function Wl(e){return Xl(ml(e).toLowerCase())}function Gl(e){return(e=ml(e))&&e.replace(Ee,it).replace(nn,"")}var Yl=No((function(e,n,t){return e+(t?"-":"")+n.toLowerCase()})),ql=No((function(e,n,t){return e+(t?" ":"")+n.toLowerCase()})),Vl=Mo("toLowerCase");var $l=No((function(e,n,t){return e+(t?"_":"")+n.toLowerCase()}));var Kl=No((function(e,n,t){return e+(t?" ":"")+Xl(n)}));var Ql=No((function(e,n,t){return e+(t?" ":"")+n.toUpperCase()})),Xl=Mo("toUpperCase");function Zl(e,n,t){return e=ml(e),(n=t?o:n)===o?function(e){return an.test(e)}(e)?function(e){return e.match(rn)||[]}(e):function(e){return e.match(fe)||[]}(e):e.match(n)||[]}var Jl=Xr((function(e,n){try{return On(e,o,n)}catch(e){return Xa(e)?e:new _e(e)}})),ec=oi((function(e,n){return Tn(n,(function(n){n=Ni(n),ar(e,n,Ta(e[n],e))})),e}));function nc(e){return function(){return e}}var tc=Uo(),rc=Uo(!0);function oc(e){return e}function ic(e){return Rr("function"==typeof e?e:ur(e,1))}var ac=Xr((function(e,n){return function(t){return Pr(t,e,n)}})),lc=Xr((function(e,n){return function(t){return Pr(e,t,n)}}));function cc(e,n,t){var r=Il(n),o=wr(n,r);null!=t||nl(n)&&(o.length||!r.length)||(t=n,n=e,e=this,o=wr(n,Il(n)));var i=!(nl(t)&&"chain"in t&&!t.chain),a=Za(e);return Tn(o,(function(t){var r=n[t];e[t]=r,a&&(e.prototype[t]=function(){var n=this.__chain__;if(i||n){var t=e(this.__wrapped__);return(t.__actions__=Po(this.__actions__)).push({func:r,args:arguments,thisArg:e}),t.__chain__=n,t}return r.apply(e,Mn([this.value()],arguments))})})),e}function uc(){}var sc=Yo(Rn),fc=Yo(In),pc=Yo(Ln);function dc(e){return Ci(e)?$n(Ni(e)):function(e){return function(n){return _r(n,e)}}(e)}var gc=Vo(),hc=Vo(!0);function vc(){return[]}function bc(){return!1}var Ac=Go((function(e,n){return e+n}),0),mc=Qo("ceil"),yc=Go((function(e,n){return e/n}),1),Ec=Qo("floor");var Cc,wc=Go((function(e,n){return e*n}),1),_c=Qo("round"),xc=Go((function(e,n){return e-n}),0);return Ut.after=function(e,n){if("function"!=typeof n)throw new Te(i);return e=hl(e),function(){if(--e<1)return n.apply(this,arguments)}},Ut.ary=Oa,Ut.assign=yl,Ut.assignIn=El,Ut.assignInWith=Cl,Ut.assignWith=wl,Ut.at=_l,Ut.before=Ba,Ut.bind=Ta,Ut.bindAll=ec,Ut.bindKey=Pa,Ut.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ya(e)?e:[e]},Ut.chain=da,Ut.chunk=function(e,n,t){n=(t?Ei(e,n,t):n===o)?1:mt(hl(n),0);var i=null==e?0:e.length;if(!i||n<1)return[];for(var a=0,l=0,c=r(hn(i/n));ai?0:i+t),(r=r===o||r>i?i:hl(r))<0&&(r+=i),r=t>r?0:vl(r);t>>0)?(e=ml(e))&&("string"==typeof n||null!=n&&!al(n))&&!(n=so(n))&&ct(e)?wo(ht(e),0,t):e.split(n,t):[]},Ut.spread=function(e,n){if("function"!=typeof e)throw new Te(i);return n=null==n?0:mt(hl(n),0),Xr((function(t){var r=t[n],o=wo(t,0,n);return r&&Mn(o,r),On(e,this,o)}))},Ut.tail=function(e){var n=null==e?0:e.length;return n?oo(e,1,n):[]},Ut.take=function(e,n,t){return e&&e.length?oo(e,0,(n=t||n===o?1:hl(n))<0?0:n):[]},Ut.takeRight=function(e,n,t){var r=null==e?0:e.length;return r?oo(e,(n=r-(n=t||n===o?1:hl(n)))<0?0:n,r):[]},Ut.takeRightWhile=function(e,n){return e&&e.length?ho(e,si(n,3),!1,!0):[]},Ut.takeWhile=function(e,n){return e&&e.length?ho(e,si(n,3)):[]},Ut.tap=function(e,n){return n(e),e},Ut.throttle=function(e,n,t){var r=!0,o=!0;if("function"!=typeof e)throw new Te(i);return nl(t)&&(r="leading"in t?!!t.leading:r,o="trailing"in t?!!t.trailing:o),Ia(e,n,{leading:r,maxWait:n,trailing:o})},Ut.thru=ga,Ut.toArray=dl,Ut.toPairs=Fl,Ut.toPairsIn=Ll,Ut.toPath=function(e){return Ya(e)?Rn(e,Ni):ul(e)?[e]:Po(Mi(ml(e)))},Ut.toPlainObject=Al,Ut.transform=function(e,n,t){var r=Ya(e),o=r||Ka(e)||sl(e);if(n=si(n,4),null==t){var i=e&&e.constructor;t=o?r?new i:[]:nl(e)&&Za(i)?Ht(Ve(e)):{}}return(o?Tn:Er)(e,(function(e,r,o){return n(t,e,r,o)})),t},Ut.unary=function(e){return Oa(e,1)},Ut.union=ta,Ut.unionBy=ra,Ut.unionWith=oa,Ut.uniq=function(e){return e&&e.length?fo(e):[]},Ut.uniqBy=function(e,n){return e&&e.length?fo(e,si(n,2)):[]},Ut.uniqWith=function(e,n){return n="function"==typeof n?n:o,e&&e.length?fo(e,o,n):[]},Ut.unset=function(e,n){return null==e||po(e,n)},Ut.unzip=ia,Ut.unzipWith=aa,Ut.update=function(e,n,t){return null==e?e:go(e,n,yo(t))},Ut.updateWith=function(e,n,t,r){return r="function"==typeof r?r:o,null==e?e:go(e,n,yo(t),r)},Ut.values=Ul,Ut.valuesIn=function(e){return null==e?[]:nt(e,jl(e))},Ut.without=la,Ut.words=Zl,Ut.wrap=function(e,n){return Na(yo(n),e)},Ut.xor=ca,Ut.xorBy=ua,Ut.xorWith=sa,Ut.zip=fa,Ut.zipObject=function(e,n){return Ao(e||[],n||[],tr)},Ut.zipObjectDeep=function(e,n){return Ao(e||[],n||[],eo)},Ut.zipWith=pa,Ut.entries=Fl,Ut.entriesIn=Ll,Ut.extend=El,Ut.extendWith=Cl,cc(Ut,Ut),Ut.add=Ac,Ut.attempt=Jl,Ut.camelCase=Hl,Ut.capitalize=Wl,Ut.ceil=mc,Ut.clamp=function(e,n,t){return t===o&&(t=n,n=o),t!==o&&(t=(t=bl(t))==t?t:0),n!==o&&(n=(n=bl(n))==n?n:0),cr(bl(e),n,t)},Ut.clone=function(e){return ur(e,4)},Ut.cloneDeep=function(e){return ur(e,5)},Ut.cloneDeepWith=function(e,n){return ur(e,5,n="function"==typeof n?n:o)},Ut.cloneWith=function(e,n){return ur(e,4,n="function"==typeof n?n:o)},Ut.conformsTo=function(e,n){return null==n||sr(e,n,Il(n))},Ut.deburr=Gl,Ut.defaultTo=function(e,n){return null==e||e!=e?n:e},Ut.divide=yc,Ut.endsWith=function(e,n,t){e=ml(e),n=so(n);var r=e.length,i=t=t===o?r:cr(hl(t),0,r);return(t-=n.length)>=0&&e.slice(t,i)==n},Ut.eq=Ua,Ut.escape=function(e){return(e=ml(e))&&X.test(e)?e.replace(K,at):e},Ut.escapeRegExp=function(e){return(e=ml(e))&&ie.test(e)?e.replace(oe,"\\$&"):e},Ut.every=function(e,n,t){var r=Ya(e)?In:hr;return t&&Ei(e,n,t)&&(n=o),r(e,si(n,3))},Ut.find=ba,Ut.findIndex=Gi,Ut.findKey=function(e,n){return Hn(e,si(n,3),Er)},Ut.findLast=Aa,Ut.findLastIndex=Yi,Ut.findLastKey=function(e,n){return Hn(e,si(n,3),Cr)},Ut.floor=Ec,Ut.forEach=ma,Ut.forEachRight=ya,Ut.forIn=function(e,n){return null==e?e:mr(e,si(n,3),jl)},Ut.forInRight=function(e,n){return null==e?e:yr(e,si(n,3),jl)},Ut.forOwn=function(e,n){return e&&Er(e,si(n,3))},Ut.forOwnRight=function(e,n){return e&&Cr(e,si(n,3))},Ut.get=kl,Ut.gt=Ha,Ut.gte=Wa,Ut.has=function(e,n){return null!=e&&bi(e,n,Or)},Ut.hasIn=Ol,Ut.head=Vi,Ut.identity=oc,Ut.includes=function(e,n,t,r){e=Va(e)?e:Ul(e),t=t&&!r?hl(t):0;var o=e.length;return t<0&&(t=mt(o+t,0)),cl(e)?t<=o&&e.indexOf(n,t)>-1:!!o&&Gn(e,n,t)>-1},Ut.indexOf=function(e,n,t){var r=null==e?0:e.length;if(!r)return-1;var o=null==t?0:hl(t);return o<0&&(o=mt(r+o,0)),Gn(e,n,o)},Ut.inRange=function(e,n,t){return n=gl(n),t===o?(t=n,n=0):t=gl(t),function(e,n,t){return e>=yt(n,t)&&e=-9007199254740991&&e<=g},Ut.isSet=ll,Ut.isString=cl,Ut.isSymbol=ul,Ut.isTypedArray=sl,Ut.isUndefined=function(e){return e===o},Ut.isWeakMap=function(e){return tl(e)&&vi(e)==j},Ut.isWeakSet=function(e){return tl(e)&&"[object WeakSet]"==Sr(e)},Ut.join=function(e,n){return null==e?"":Un.call(e,n)},Ut.kebabCase=Yl,Ut.last=Xi,Ut.lastIndexOf=function(e,n,t){var r=null==e?0:e.length;if(!r)return-1;var i=r;return t!==o&&(i=(i=hl(t))<0?mt(r+i,0):yt(i,r-1)),n==n?function(e,n,t){for(var r=t+1;r--;)if(e[r]===n)return r;return r}(e,n,i):Wn(e,qn,i,!0)},Ut.lowerCase=ql,Ut.lowerFirst=Vl,Ut.lt=fl,Ut.lte=pl,Ut.max=function(e){return e&&e.length?vr(e,oc,kr):o},Ut.maxBy=function(e,n){return e&&e.length?vr(e,si(n,2),kr):o},Ut.mean=function(e){return Vn(e,oc)},Ut.meanBy=function(e,n){return Vn(e,si(n,2))},Ut.min=function(e){return e&&e.length?vr(e,oc,Fr):o},Ut.minBy=function(e,n){return e&&e.length?vr(e,si(n,2),Fr):o},Ut.stubArray=vc,Ut.stubFalse=bc,Ut.stubObject=function(){return{}},Ut.stubString=function(){return""},Ut.stubTrue=function(){return!0},Ut.multiply=wc,Ut.nth=function(e,n){return e&&e.length?Gr(e,hl(n)):o},Ut.noConflict=function(){return vn._===this&&(vn._=Ue),this},Ut.noop=uc,Ut.now=ka,Ut.pad=function(e,n,t){e=ml(e);var r=(n=hl(n))?gt(e):0;if(!n||r>=n)return e;var o=(n-r)/2;return qo(bn(o),t)+e+qo(hn(o),t)},Ut.padEnd=function(e,n,t){e=ml(e);var r=(n=hl(n))?gt(e):0;return n&&rn){var r=e;e=n,n=r}if(t||e%1||n%1){var i=wt();return yt(e+i*(n-e+pn("1e-"+((i+"").length-1))),n)}return Kr(e,n)},Ut.reduce=function(e,n,t){var r=Ya(e)?Nn:Qn,o=arguments.length<3;return r(e,si(n,4),t,o,dr)},Ut.reduceRight=function(e,n,t){var r=Ya(e)?Fn:Qn,o=arguments.length<3;return r(e,si(n,4),t,o,gr)},Ut.repeat=function(e,n,t){return n=(t?Ei(e,n,t):n===o)?1:hl(n),Qr(ml(e),n)},Ut.replace=function(){var e=arguments,n=ml(e[0]);return e.length<3?n:n.replace(e[1],e[2])},Ut.result=function(e,n,t){var r=-1,i=(n=Eo(n,e)).length;for(i||(i=1,e=o);++rg)return[];var t=v,r=yt(e,v);n=si(n),e-=v;for(var o=Zn(r,n);++t=a)return e;var c=t-gt(r);if(c<1)return r;var u=l?wo(l,0,c).join(""):e.slice(0,c);if(i===o)return u+r;if(l&&(c+=u.length-c),al(i)){if(e.slice(c).search(i)){var s,f=u;for(i.global||(i=Oe(i.source,ml(he.exec(i))+"g")),i.lastIndex=0;s=i.exec(f);)var p=s.index;u=u.slice(0,p===o?c:p)}}else if(e.indexOf(so(i),c)!=c){var d=u.lastIndexOf(i);d>-1&&(u=u.slice(0,d))}return u+r},Ut.unescape=function(e){return(e=ml(e))&&Q.test(e)?e.replace($,bt):e},Ut.uniqueId=function(e){var n=++Me;return ml(e)+n},Ut.upperCase=Ql,Ut.upperFirst=Xl,Ut.each=ma,Ut.eachRight=ya,Ut.first=Vi,cc(Ut,(Cc={},Er(Ut,(function(e,n){Re.call(Ut.prototype,n)||(Cc[n]=e)})),Cc),{chain:!1}),Ut.VERSION="4.17.21",Tn(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Ut[e].placeholder=Ut})),Tn(["drop","take"],(function(e,n){Yt.prototype[e]=function(t){t=t===o?1:mt(hl(t),0);var r=this.__filtered__&&!n?new Yt(this):this.clone();return r.__filtered__?r.__takeCount__=yt(t,r.__takeCount__):r.__views__.push({size:yt(t,v),type:e+(r.__dir__<0?"Right":"")}),r},Yt.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}})),Tn(["filter","map","takeWhile"],(function(e,n){var t=n+1,r=1==t||3==t;Yt.prototype[e]=function(e){var n=this.clone();return n.__iteratees__.push({iteratee:si(e,3),type:t}),n.__filtered__=n.__filtered__||r,n}})),Tn(["head","last"],(function(e,n){var t="take"+(n?"Right":"");Yt.prototype[e]=function(){return this[t](1).value()[0]}})),Tn(["initial","tail"],(function(e,n){var t="drop"+(n?"":"Right");Yt.prototype[e]=function(){return this.__filtered__?new Yt(this):this[t](1)}})),Yt.prototype.compact=function(){return this.filter(oc)},Yt.prototype.find=function(e){return this.filter(e).head()},Yt.prototype.findLast=function(e){return this.reverse().find(e)},Yt.prototype.invokeMap=Xr((function(e,n){return"function"==typeof e?new Yt(this):this.map((function(t){return Pr(t,e,n)}))})),Yt.prototype.reject=function(e){return this.filter(Ra(si(e)))},Yt.prototype.slice=function(e,n){e=hl(e);var t=this;return t.__filtered__&&(e>0||n<0)?new Yt(t):(e<0?t=t.takeRight(-e):e&&(t=t.drop(e)),n!==o&&(t=(n=hl(n))<0?t.dropRight(-n):t.take(n-e)),t)},Yt.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Yt.prototype.toArray=function(){return this.take(v)},Er(Yt.prototype,(function(e,n){var t=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),i=Ut[r?"take"+("last"==n?"Right":""):n],a=r||/^find/.test(n);i&&(Ut.prototype[n]=function(){var n=this.__wrapped__,l=r?[1]:arguments,c=n instanceof Yt,u=l[0],s=c||Ya(n),f=function(e){var n=i.apply(Ut,Mn([e],l));return r&&p?n[0]:n};s&&t&&"function"==typeof u&&1!=u.length&&(c=s=!1);var p=this.__chain__,d=!!this.__actions__.length,g=a&&!p,h=c&&!d;if(!a&&s){n=h?n:new Yt(this);var v=e.apply(n,l);return v.__actions__.push({func:ga,args:[f],thisArg:o}),new Gt(v,p)}return g&&h?e.apply(this,l):(v=this.thru(f),g?r?v.value()[0]:v.value():v)})})),Tn(["pop","push","shift","sort","splice","unshift"],(function(e){var n=Pe[e],t=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Ut.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(Ya(o)?o:[],e)}return this[t]((function(t){return n.apply(Ya(t)?t:[],e)}))}})),Er(Yt.prototype,(function(e,n){var t=Ut[n];if(t){var r=t.name+"";Re.call(It,r)||(It[r]=[]),It[r].push({name:n,func:t})}})),It[Ho(o,2).name]=[{name:"wrapper",func:o}],Yt.prototype.clone=function(){var e=new Yt(this.__wrapped__);return e.__actions__=Po(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Po(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Po(this.__views__),e},Yt.prototype.reverse=function(){if(this.__filtered__){var e=new Yt(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Yt.prototype.value=function(){var e=this.__wrapped__.value(),n=this.__dir__,t=Ya(e),r=n<0,o=t?e.length:0,i=function(e,n,t){var r=-1,o=t.length;for(;++r=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},Ut.prototype.plant=function(e){for(var n,t=this;t instanceof Wt;){var r=Li(t);r.__index__=0,r.__values__=o,n?i.__wrapped__=r:n=r;var i=r;t=t.__wrapped__}return i.__wrapped__=e,n},Ut.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Yt){var n=e;return this.__actions__.length&&(n=new Yt(this)),(n=n.reverse()).__actions__.push({func:ga,args:[na],thisArg:o}),new Gt(n,this.__chain__)}return this.thru(na)},Ut.prototype.toJSON=Ut.prototype.valueOf=Ut.prototype.value=function(){return vo(this.__wrapped__,this.__actions__)},Ut.prototype.first=Ut.prototype.head,Ze&&(Ut.prototype[Ze]=function(){return this}),Ut}();vn._=At,(r=function(){return At}.call(n,t,n,e))===o||(e.exports=r)}.call(this)},5228:e=>{"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var n=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var n={},t=0;t<10;t++)n["_"+String.fromCharCode(t)]=t;if("0123456789"!==Object.getOwnPropertyNames(n).map((function(e){return n[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var i,a,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c{var r="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&o&&"function"==typeof o.get?o.get:null,a=r&&Map.prototype.forEach,l="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&l?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=l&&c&&"function"==typeof c.get?c.get:null,s=l&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,g=Boolean.prototype.valueOf,h=Object.prototype.toString,v=Function.prototype.toString,b=String.prototype.match,A=String.prototype.slice,m=String.prototype.replace,y=String.prototype.toUpperCase,E=String.prototype.toLowerCase,C=RegExp.prototype.test,w=Array.prototype.concat,_=Array.prototype.join,x=Array.prototype.slice,S=Math.floor,k="function"==typeof BigInt?BigInt.prototype.valueOf:null,O=Object.getOwnPropertySymbols,B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,P="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===T||"symbol")?Symbol.toStringTag:null,I=Object.prototype.propertyIsEnumerable,j=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function z(e,n){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||C.call(/e/,n))return n;var t=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var r=e<0?-S(-e):S(e);if(r!==e){var o=String(r),i=A.call(n,o.length+1);return m.call(o,t,"$&_")+"."+m.call(m.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return m.call(n,t,"$&_")}var D=t(2634),R=D.custom,M=H(R)?R:null;function N(e,n,t){var r="double"===(t.quoteStyle||n)?'"':"'";return r+e+r}function F(e){return m.call(String(e),/"/g,""")}function L(e){return!("[object Array]"!==Y(e)||P&&"object"==typeof e&&P in e)}function U(e){return!("[object RegExp]"!==Y(e)||P&&"object"==typeof e&&P in e)}function H(e){if(T)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!B)return!1;try{return B.call(e),!0}catch(e){}return!1}e.exports=function e(n,r,o,l){var c=r||{};if(G(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(G(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!G(c,"customInspect")||c.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(G(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(G(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var y=c.numericSeparator;if(void 0===n)return"undefined";if(null===n)return"null";if("boolean"==typeof n)return n?"true":"false";if("string"==typeof n)return V(n,c);if("number"==typeof n){if(0===n)return 1/0/n>0?"0":"-0";var C=String(n);return y?z(n,C):C}if("bigint"==typeof n){var S=String(n)+"n";return y?z(n,S):S}var O=void 0===c.depth?5:c.depth;if(void 0===o&&(o=0),o>=O&&O>0&&"object"==typeof n)return L(n)?"[Array]":"[Object]";var R=function(e,n){var t;if("\t"===e.indent)t="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;t=_.call(Array(e.indent+1)," ")}return{base:t,prev:_.call(Array(n+1),t)}}(c,o);if(void 0===l)l=[];else if(q(l,n)>=0)return"[Circular]";function W(n,t,r){if(t&&(l=x.call(l)).push(t),r){var i={depth:c.depth};return G(c,"quoteStyle")&&(i.quoteStyle=c.quoteStyle),e(n,i,o+1,l)}return e(n,c,o+1,l)}if("function"==typeof n&&!U(n)){var $=function(e){if(e.name)return e.name;var n=b.call(v.call(e),/^function\s*([\w$]+)/);if(n)return n[1];return null}(n),ee=J(n,W);return"[Function"+($?": "+$:" (anonymous)")+"]"+(ee.length>0?" { "+_.call(ee,", ")+" }":"")}if(H(n)){var ne=T?m.call(String(n),/^(Symbol\(.*\))_[^)]*$/,"$1"):B.call(n);return"object"!=typeof n||T?ne:K(ne)}if(function(e){if(!e||"object"!=typeof e)return!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"==typeof e.nodeName&&"function"==typeof e.getAttribute}(n)){for(var te="<"+E.call(String(n.nodeName)),re=n.attributes||[],oe=0;oe"}if(L(n)){if(0===n.length)return"[]";var ie=J(n,W);return R&&!function(e){for(var n=0;n=0)return!1;return!0}(ie)?"["+Z(ie,R)+"]":"[ "+_.call(ie,", ")+" ]"}if(function(e){return!("[object Error]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n)){var ae=J(n,W);return"cause"in Error.prototype||!("cause"in n)||I.call(n,"cause")?0===ae.length?"["+String(n)+"]":"{ ["+String(n)+"] "+_.call(ae,", ")+" }":"{ ["+String(n)+"] "+_.call(w.call("[cause]: "+W(n.cause),ae),", ")+" }"}if("object"==typeof n&&h){if(M&&"function"==typeof n[M]&&D)return D(n,{depth:O-o});if("symbol"!==h&&"function"==typeof n.inspect)return n.inspect()}if(function(e){if(!i||!e||"object"!=typeof e)return!1;try{i.call(e);try{u.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(n)){var le=[];return a&&a.call(n,(function(e,t){le.push(W(t,n,!0)+" => "+W(e,n))})),X("Map",i.call(n),le,R)}if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{u.call(e);try{i.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(n)){var ce=[];return s&&s.call(n,(function(e){ce.push(W(e,n))})),X("Set",u.call(n),ce,R)}if(function(e){if(!f||!e||"object"!=typeof e)return!1;try{f.call(e,f);try{p.call(e,p)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(n))return Q("WeakMap");if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e,p);try{f.call(e,f)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(n))return Q("WeakSet");if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{return d.call(e),!0}catch(e){}return!1}(n))return Q("WeakRef");if(function(e){return!("[object Number]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n))return K(W(Number(n)));if(function(e){if(!e||"object"!=typeof e||!k)return!1;try{return k.call(e),!0}catch(e){}return!1}(n))return K(W(k.call(n)));if(function(e){return!("[object Boolean]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n))return K(g.call(n));if(function(e){return!("[object String]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n))return K(W(String(n)));if("undefined"!=typeof window&&n===window)return"{ [object Window] }";if("undefined"!=typeof globalThis&&n===globalThis||void 0!==t.g&&n===t.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n)&&!U(n)){var ue=J(n,W),se=j?j(n)===Object.prototype:n instanceof Object||n.constructor===Object,fe=n instanceof Object?"":"null prototype",pe=!se&&P&&Object(n)===n&&P in n?A.call(Y(n),8,-1):fe?"Object":"",de=(se||"function"!=typeof n.constructor?"":n.constructor.name?n.constructor.name+" ":"")+(pe||fe?"["+_.call(w.call([],pe||[],fe||[]),": ")+"] ":"");return 0===ue.length?de+"{}":R?de+"{"+Z(ue,R)+"}":de+"{ "+_.call(ue,", ")+" }"}return String(n)};var W=Object.prototype.hasOwnProperty||function(e){return e in this};function G(e,n){return W.call(e,n)}function Y(e){return h.call(e)}function q(e,n){if(e.indexOf)return e.indexOf(n);for(var t=0,r=e.length;tn.maxStringLength){var t=e.length-n.maxStringLength,r="... "+t+" more character"+(t>1?"s":"");return V(A.call(e,0,n.maxStringLength),n)+r}return N(m.call(m.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,$),"single",n)}function $(e){var n=e.charCodeAt(0),t={8:"b",9:"t",10:"n",12:"f",13:"r"}[n];return t?"\\"+t:"\\x"+(n<16?"0":"")+y.call(n.toString(16))}function K(e){return"Object("+e+")"}function Q(e){return e+" { ? }"}function X(e,n,t,r){return e+" ("+n+") {"+(r?Z(t,r):_.call(t,", "))+"}"}function Z(e,n){if(0===e.length)return"";var t="\n"+n.prev+n.base;return t+_.call(e,","+t)+"\n"+n.prev}function J(e,n){var t=L(e),r=[];if(t){r.length=e.length;for(var o=0;o{"use strict";var n=function(e){return e!=e};e.exports=function(e,t){return 0===e&&0===t?1/e==1/t:e===t||!(!n(e)||!n(t))}},7653:(e,n,t)=>{"use strict";var r=t(8452),o=t(487),i=t(9211),a=t(9394),l=t(6576),c=o(a(),Object);r(c,{getPolyfill:a,implementation:i,shim:l}),e.exports=c},9394:(e,n,t)=>{"use strict";var r=t(9211);e.exports=function(){return"function"==typeof Object.is?Object.is:r}},6576:(e,n,t)=>{"use strict";var r=t(9394),o=t(8452);e.exports=function(){var e=r();return o(Object,{is:e},{is:function(){return Object.is!==e}}),e}},8875:(e,n,t)=>{"use strict";var r;if(!Object.keys){var o=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=t(1093),l=Object.prototype.propertyIsEnumerable,c=!l.call({toString:null},"toString"),u=l.call((function(){}),"prototype"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(e){var n=e.constructor;return n&&n.prototype===e},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!p["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{f(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();r=function(e){var n=null!==e&&"object"==typeof e,t="[object Function]"===i.call(e),r=a(e),l=n&&"[object String]"===i.call(e),p=[];if(!n&&!t&&!r)throw new TypeError("Object.keys called on a non-object");var g=u&&t;if(l&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var v=0;v{"use strict";var r=Array.prototype.slice,o=t(1093),i=Object.keys,a=i?function(e){return i(e)}:t(8875),l=Object.keys;a.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return o(e)?l(r.call(e)):l(e)})}else Object.keys=a;return Object.keys||a},e.exports=a},1093:e=>{"use strict";var n=Object.prototype.toString;e.exports=function(e){var t=n.call(e),r="[object Arguments]"===t;return r||(r="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===n.call(e.callee)),r}},8403:(e,n,t)=>{"use strict";var r=t(1189),o=t(1333)(),i=t(8075),a=Object,l=i("Array.prototype.push"),c=i("Object.prototype.propertyIsEnumerable"),u=o?Object.getOwnPropertySymbols:null;e.exports=function(e,n){if(null==e)throw new TypeError("target must be an object");var t=a(e);if(1===arguments.length)return t;for(var i=1;i{"use strict";var r=t(8452),o=t(487),i=t(8403),a=t(1514),l=t(984),c=o.apply(a()),u=function(e,n){return c(Object,arguments)};r(u,{getPolyfill:a,implementation:i,shim:l}),e.exports=u},1514:(e,n,t)=>{"use strict";var r=t(8403);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",n=e.split(""),t={},r=0;r{"use strict";var r=t(8452),o=t(1514);e.exports=function(){var e=o();return r(Object,{assign:e},{assign:function(){return Object.assign!==e}}),e}},6578:e=>{"use strict";e.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},2694:(e,n,t)=>{"use strict";var r=t(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,n,t,o,i,a){if(a!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function n(){return e}e.isRequired=e;var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:i,resetWarningCache:o};return t.PropTypes=t,t}},5556:(e,n,t)=>{e.exports=t(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,n,t)=>{"use strict";var r=t(6540),o=t(5228),i=t(9982); +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function a(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t