Skip to content

Notra as a third party, with Connect renewing sign-ins that run out - #51

Merged
IAmJSD merged 1 commit into
mainfrom
notra-third-party
Oct 27, 2026
Merged

IAmJSD merged 1 commit into
mainfrom
notra-third-party

Conversation

@IAmJSD

@IAmJSD IAmJSD commented Oct 27, 2026

Copy link
Copy Markdown
Member

Adds Notra (usenotra.com) as a third party in Connect, beside Revnu.

  • @nibblets/third-party-notra uses Notra's REST API (api.usenotra.com). The conversation is a chat of Nibblets' own per workspace, tagged with the external channel id dashboard/nibblets so it's found again. The tools Notra's latest reply waits on (approval-requested) are one request, since its API takes all of a reply's approvals at once. Signing in uses the OAuth its MCP server uses; an ntra_ API key works too.
  • Notra's access tokens last minutes, so the shared OAuth asks for the refresh grant when a plugin wants offline_access. Connect keeps the refresh token sealed (migration 0006) and renews the credential within a minute of it running out. One request claims the renewal; the rest use the old credential while it works or wait for the new one. A refresh token Notra won't take marks the connection revoked.
  • Plugins get waitUntil, so the reply Notra streams back is read to the end after the person has their answer.

Not tried against a real Notra account: its demo key sits behind a Turnstile check. Notra's API leaves chat messages undescribed, so they're read leniently as AI SDK UI messages, and the tests use that shape.

🤖 Generated with Claude Code

…debar, with Connect renewing sign-ins that run out

- `@nibblets/third-party-notra` is Notra over its REST API: a chat of
  Nibblets' own per workspace, tagged so it's found again, and the tools a
  reply waits on as one request, since Notra takes a reply's approvals all
  at once. It signs in with the OAuth its MCP server uses, or takes an
  `ntra_` API key.
- Notra's access tokens last minutes, so signing in can ask for
  `offline_access`, and Connect keeps the refresh token sealed and renews
  the credential before it runs out, one request at a time.
- Plugins get `waitUntil`, so a reply Notra streams back is read to the
  end after the person has their answer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@IAmJSD
IAmJSD merged commit 03842d8 into main Oct 27, 2026
12 checks passed
@IAmJSD
IAmJSD deleted the notra-third-party branch October 27, 2026 10:02
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.

1 participant