• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / mcp / 42637802668
98%

Build:
DEFAULT BRANCH: main
Ran 09 Nov 2026 02:47PM UTC
Jobs 1
Files 47
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Nov 2026 02:45PM UTC coverage: 98.069% (+0.008%) from 98.061%
42637802668

push

github

web-flow
feat(elicitation)!: split confirmation and secret collection TTLs (#538)

## Motivation

On hosted MCP, confirmations for `execute_sql`, `apply_migration` and
the other confirmation tools expire after 2 minutes
([AI-1438](https://linear.app/supabase/issue/AI-1438)). Codex/ChatGPT
users answered at 161 s and 288 s and got "This confirmation expired
after 2 minutes" (AI-1424, AI-1427, AI-1428). The 2 minutes comes from
the platform's `elicitation.requestState.ttlSeconds: 120`, set for
URL-mode secret collection. Every elicitation flow shares that option,
so the secret link's 2 minutes also applied to confirmations.

## Changes

- `elicitation.requestState.ttlSeconds` is replaced by
`elicitation.confirmation.ttlSeconds` and
`elicitation.secretCollection.ttlSeconds`. Both default to 600 s, and
each one only applies to the state its own flow issues.
- The AI-1372 "confirmation expired" error keeps its wording and now
names the TTL of the tool that was called.
- The local HTTP entry now uses 600 s for confirmations and 120 s for
secret collection, which matches what hosted should use.

> [!IMPORTANT]
> Breaking: the old option is gone, so release-please will cut 0.17.0.
When platform bumps, it needs to set `secretCollection: { ...,
ttlSeconds: 120 }` and `confirmation: { ..., ttlSeconds: 600 }`
explicitly. An inline config object turns the removed option into a type
error. A config built through a variable or spread drops the 120
silently, which would widen secret links to 10 minutes.

## Verification

I wrote the tests first from the spec, and they failed on main for the
intended reason:

- In the hosted HTTP round trip, the secret link expires at 121 s with
"2 minutes". A confirmation is still accepted at 161 s and expires at
601 s with "10 minutes".
- A direct server test checks that secret collection expires at 121 s
whatever the confirmation TTL is.
- The existing custom-TTL table now drives `confirmation.ttlSeconds`.

The tests control the clock, so n... (continued)

1290 of 1337 branches covered (96.48%)

Branch coverage included in aggregate %.

49 of 49 new or added lines in 3 files covered. (100.0%)

6123 of 6222 relevant lines covered (98.41%)

283.71 hits per line

Jobs
ID Job ID Ran Files Coverage
1 42637802668.1 09 Nov 2026 02:47PM UTC 47
98.07
GitHub Action Run
Source Files on build 42637802668
  • Tree
  • List 47
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #42637802668
  • 8a08e48d on github
  • Prev Build on main (#42637735845)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc