feat(integrations): agentbox doctor reports each connector + Notion docs (T3)#75
Merged
Merged
Conversation
…ocs (T3) Doctor now renders a registry-driven `integrations:` group alongside the provider groups (no hardcoded 'notion' — Linear/Trello will light up automatically when their descriptors ship). Per connector: probe the host binary (`<hostBin> --version`) and auth (`<hostBin> <authArgs>`), surface install/login hints from two new optional descriptor fields. A new `info` CheckStatus rolls up like ok so a disabled-but-correctly-configured integration never flips the overall doctor status to "warn". The `-p <provider>` scoped path now includes the integrations group too — otherwise users who scope doctor to one provider couldn't see whether their Notion is enabled/installed/authed. The host probe deliberately does NOT set NOTION_KEYRING=0 (a comment in doctor-checks.ts records why). Docs (the bulk of T3, per the same-change rule): - new docs/integrations.md — internal design/reference (descriptor model, relay dispatch flow, op surface, enable flag, doctor wiring, carry-based file-auth for nested boxes, open follow-ups). - new apps/web/content/docs/integrations-notion.mdx — user-facing Fumadocs page; meta.json wired under a new ---Services--- section. - apps/web/content/docs/configuration.mdx — new `## integrations` section documenting `integrations.notion.enabled`. - apps/web/content/docs/cli.mdx — `agentbox doctor` sentence updated. - docs/host-relay.md — new RPC method-family bullet for `integration.<service>.<op>`. - docs/features.md — Notion integration bullet; `/rpc` line updated. - docs/notion_backlog.md — T3 marked done with status log. Unit test stubs a fake `ntn` on PATH and asserts the four status transitions (disabled / missing / unauthed / authed). The live host probe runs post-merge on the host.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 404a23f. Configure here.
| return { label: svc, status: 'ok', detail: versionLine }; | ||
| } | ||
|
|
||
| const auth = await probeIntegrationBin(connector.hostBin, connector.detect.authArgs); |
There was a problem hiding this comment.
Auth probe lacks timeout
Medium Severity
When Notion is enabled, checkOneIntegration runs probeIntegrationBin for authArgs (ntn api v1/users/me) with no execa timeout, so a slow or stuck network call can leave agentbox doctor hanging unlike relay integration RPCs, which cap host CLI time.
Reviewed by Cursor Bugbot for commit 404a23f. Configure here.
…shim)
The in-box ntn-shim accepts 'ntn pages {create,update}' (plural) — that's
the real ntn CLI's subcommand name and what the shim's allowlist matches.
The docs incorrectly showed singular 'ntn page create' / 'ntn page update'
in 5 places; a user following them would be rejected by the shim.
Internal op names (page.create, page.update) and the wire method
(integration.notion.page.create) stay unchanged — they're the descriptor
keys, not the user-facing command form.
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
agentbox doctorintegration detection. Adds a registry-drivenintegrations:group (driven offALL_CONNECTORS, so Linear/Trello/ClickUp will light up automatically when they ship) reporting each connector's enabled state, host-binary presence, and login status with descriptor-sourced hints. A newinfoCheckStatusrolls up likeokso a disabled-but-correctly-configured integration never flips the overall status to "warn". The host probe deliberately skipsNOTION_KEYRING=0(commented in the code).-p <provider>includes integrations too. Without this, scoping doctor to one provider hid the new group entirely.docs/integrations.md(internal design ref), newapps/web/content/docs/integrations-notion.mdx(user-facing Fumadocs page; nav under a new---Services---section),## integrationsconfig section +agentbox doctorsentence on the published config/CLI pages, new RPC method-family bullet indocs/host-relay.md, Notion bullet indocs/features.md, T3 marked done indocs/notion_backlog.md.IntegrationConnector.detectgained two optional fields —installHint,loginHint— filled for the Notion connector (canonical install URL +ntn login).This is T3 of the Notion stack (T1 #73, T2 #74). T4 (nested-box e2e + carry-based file-auth verification) is the remaining task.
What works
agentbox doctor(unscoped) andagentbox doctor -p hetznerboth show:agentbox config set --project integrations.notion.enabled true, the same row flips to[warn] ntn not installed (install ntn: https://developers.notion.com/reference/notion-cli)in this box (the box has no realntn). On the host (wherentnis installed and authed), the row will read[ ok ] notion ntn version X.Y.Z · authed.Code-review pass
Ran
/code-review highthen/simplify, applying:"undefined".doctor -p <provider>now includes the integrations group (was a silent discoverability gap).integrationsCheckswalksALL_CONNECTORSviaPromise.all— keeps latency flat as more connectors land.cwdparameter fromintegrationsChecks's signature.Test plan
pnpm typecheck && pnpm test && pnpm build && pnpm lint— all 25/25 + 13/13 + 14/14 + 25/25 green.apps/cli/test/doctor-integrations.test.ts(5 tests) stubs a fakentnon PATH and asserts the four status transitions (disabled / missing / unauthed / authed) plus loader-rejects-fail-closed.node apps/cli/dist/index.js doctorand... doctor -p hetznerboth render the new group in this box; togglingintegrations.notion.enabledflips info→warn as expected.pnpm --filter @agentbox/web buildincludes the new MDX page in the prerender.agentbox doctor's Notion row against a real macOS-keychain-authedntn(post-merge, orchestrator).Out of scope (deferred to T4 / later)
comment.addop — deferred to a focused follow-up after a payload-translator design.docs/integrations_backlog.md.<Figure>for the Notion docs page — flagged for a follow-up capture pass perapps/web/images.md(can't capture from inside a box).Note
Low Risk
Read-only local doctor probes and documentation; no changes to relay auth or integration RPC behavior in this PR.
Overview
agentbox doctornow includes a registry-drivenintegrations:group (fromALL_CONNECTORS) that reports each connector’s enabled flag, host CLI install, and login state, with hints from the connector descriptor. A newinfostatus marks disabled integrations and rolls up likeokso they don’t turn the overall doctor run into a warn. Scopeddoctor -p <provider>also shows integrations (host-side, not provider-side).IntegrationConnector.detectgains optionalinstallHint/loginHint(set on Notion). The CLI adds@agentbox/integrationsas a dev dependency anddoctor-integrations.test.tsstubsntnon PATH for the main status transitions.Docs (T3): new user page
integrations-notion.mdxand internaldocs/integrations.md,## integrationsin configuration docs, doctor mention in CLI docs, nav---Services---, plus updates tohost-relay.md,features.md, andnotion_backlog.md(T3 marked done).Reviewed by Cursor Bugbot for commit 404a23f. Configure here.