Skip to content

feat: support interactive login to DIAL toolset #191#192

Merged
ypldan merged 3 commits intodevelopmentfrom
feat/191-support-interactive-login-into-dial-toolset
Mar 25, 2026
Merged

feat: support interactive login to DIAL toolset #191#192
ypldan merged 3 commits intodevelopmentfrom
feat/191-support-interactive-login-into-dial-toolset

Conversation

@ypldan
Copy link
Collaborator

@ypldan ypldan commented Mar 24, 2026

Applicable issues

Description of changes

When a DIAL MCP toolset requires authentication, QuickApp now requests interactive sign-in from the user mid-request instead of failing with an error.

How it works: If an MCP server returns 401 during initialization or tool execution, QuickApp calls DIAL Core's /v1/ops/client-channel/interact endpoint — which notifies the client (via a pre-established SSE channel) to complete login. On success, the failing operation is retried once.

Key design decisions:

  • During initialization, all 401 failures are collected and sent as a single batched interact request — so the user sees one prompt even if multiple toolsets need login.
  • During tool execution, each tool handles its own 401 independently (DIAL Core deduplicates server-side).
  • The SDK's built-in heartbeat_interval keeps the response stream alive during the wait.
  • Only DialMCPToolSet participates; plain MCPToolSet and requests without X-DIAL-CLIENT-CHANNEL-ID are unaffected.

Full design: docs/designs/interactive_login.md

Checklist

  • Title of the pull request follows Conventional Commits specification
  • Design documented is updated/created and approved by the team (if applicable)
  • Documentation is updated/created (if applicable)
  • Changes are tested on review environment
  • Integration tests pass

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ypldan ypldan linked an issue Mar 24, 2026 that may be closed by this pull request
@ypldan ypldan requested a review from korotaav48 March 24, 2026 20:40
@ypldan ypldan self-assigned this Mar 24, 2026
@ypldan ypldan requested a review from VinShurik March 25, 2026 09:07
@ypldan ypldan merged commit 76e45c4 into development Mar 25, 2026
8 checks passed
@ypldan ypldan deleted the feat/191-support-interactive-login-into-dial-toolset branch March 25, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support interactive login into DIAL Toolset

3 participants