Skip to content

docs(exa): review revisions from #266 - #268

Merged
robindoble merged 1 commit into
mainfrom
fix/exa-review-revisions
Aug 3, 2026
Merged

docs(exa): review revisions from #266#268
robindoble merged 1 commit into
mainfrom
fix/exa-review-revisions

Conversation

@robindoble

Copy link
Copy Markdown
Contributor

Follow-up to #266, addressing aaitor's two MEDIUM review comments (merged as approved to unblock the deploy and the dependent website PR; revisions split out here per merge-order plan).

  1. Live environment stated (Info block + new troubleshooting row): the plan runs on live; a sandbox-prefixed key targets a different environment where the plan does not exist, which previously dead-ended cold agents silently.
  2. Environment-warning row corrected: no longer framed as harmless. The warning is actionable when environment is actually passed (remove the option). The 1.10.0 self-firing case is confirmed as an SDK regression, root cause pinned and filed as environment deprecation warning fires even when the caller never passes the option (1.10.0) payments#416, linked from the row.

Also replied on #266: the literal Exhausted status value is confirmed byte-exact from listDelegations() output in both runtime validation runs.

🤖 Generated with Claude Code

- State the plan runs on live and needs a live-prefixed key (Info block)
- Reword the environment-warning troubleshooting row: actionable when the
  option is passed; link payments#416 for the 1.10.0 self-firing case
- Add a wrong-environment troubleshooting row (sandbox key vs live plan)
@robindoble
robindoble requested a review from a team as a code owner August 3, 2026 12:55
Copilot AI review requested due to automatic review settings August 3, 2026 12:55
@mintlify

mintlify Bot commented Aug 3, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Nevermined 🟢 Ready View Preview Aug 3, 2026, 12:56 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Follow-up documentation adjustments to the Exa integration page to address review feedback from #266: clarifies that Exa’s Nevermined plan is on the live environment (and how key prefixes affect resolution), and corrects the guidance around the SDK’s deprecated environment option warning (including linking the confirmed SDK regression).

Changes:

  • Updated the Exa plan info block to state the purchase runs on live and that a live API key is required.
  • Rewrote the troubleshooting guidance for the deprecated environment warning to be actionable and referenced the SDK regression ticket.
  • Added a troubleshooting row explaining why the Exa plan ID won’t resolve when using a sandbox:-prefixed key.
Suppressed comments (1)

integrations/exa.mdx:75

  • This troubleshooting row explains what’s wrong with a sandbox: key, but it doesn’t explicitly state the correct prefix to use. Adding live: here makes the fix unambiguous and consistent with the rest of the page.
| The plan ID above does not resolve, or token mint fails against it | Check your key prefix: this is a live plan, and a `sandbox:`-prefixed key targets a different environment where the plan does not exist. |

Comment thread integrations/exa.mdx

<Info>
Exa's Nevermined plan ID:<br />`27800462147494506865542649899724877617306579171265399959488097895839186996870`<br />The purchase is for API credits, not for a single search request. \$7 covers roughly 1,000 standard searches; see [Exa pricing](https://exa.ai/pricing) for current rates.
Exa's Nevermined plan ID:<br />`27800462147494506865542649899724877617306579171265399959488097895839186996870`<br />This plan and purchase run on **live**; use a live-prefixed Nevermined API key. The purchase is for API credits, not for a single search request. \$7 covers roughly 1,000 standard searches; see [Exa pricing](https://exa.ai/pricing) for current rates.

@aaitor aaitor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tight, well-scoped follow-up that lands both MEDIUM comments from #266 accurately: the live-environment note and the reworked environment-warning row are both correct, and payments#416 is characterized exactly as the issue reads (self-fires on 1.10.0 with only nvmApiKey, root cause = dist/payments.js passing environment: this.environmentName into its sub-API constructors). No HIGH/MEDIUM; three LOW polish notes below, none blocking. Approving.

Verification I ran

  • gh pr view/diff/checks on #268; read the full post-PR integrations/exa.mdx (84 lines), not just the 3-line diff.
  • Base is main (not a chain) — no parent branch to cross-check.
  • Cross-checked both claims against primary sources: payments#416 (OPEN; root cause matches the L74 row verbatim) and #266's merge thread (live-plan + byte-exact Exhausted confirmations from listDelegations()).
  • Over-engineering / leanness pass: lean already — 3 added lines, information-dense, nothing to cut. Net removable: 0.
  • CI: Mintlify preview 🟢, 2/2 checks green.
  • Specialist agent panel (security / database / tdd / architect / code-explorer) is N/A to a prose-only docs diff — no handlers, DTOs, schema, runtime behavior, or exported symbols touched; reviewed inline.

The live-environment claim rests on the author's runtime validation (real $7 live purchases documented in #266); I did not independently re-run it.

Comment thread integrations/exa.mdx

<Info>
Exa's Nevermined plan ID:<br />`27800462147494506865542649899724877617306579171265399959488097895839186996870`<br />The purchase is for API credits, not for a single search request. \$7 covers roughly 1,000 standard searches; see [Exa pricing](https://exa.ai/pricing) for current rates.
Exa's Nevermined plan ID:<br />`27800462147494506865542649899724877617306579171265399959488097895839186996870`<br />This plan and purchase run on **live**; use a live-prefixed Nevermined API key. The purchase is for API credits, not for a single search request. \$7 covers roughly 1,000 standard searches; see [Exa pricing](https://exa.ai/pricing) for current rates.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOW — Use the exact live: token for consistency. L75 refers to a `sandbox:`-prefixed key (the exact prefix token), but here it's the looser "live-prefixed". A reader matching prefixes across the page sees two different forms. Change live-prefixed to `live:`-prefixed so both places use the exact token.

Comment thread integrations/exa.mdx
| Token mint fails: `Required token-generation input is missing or incomplete (HTTP 402)` | The mint referenced no existing delegation (e.g., legacy create-on-the-fly `delegationConfig` with card details). Create or discover a delegation first and pass `delegationConfig: { delegationId }`. |
| `ERR_PACKAGE_PATH_NOT_EXPORTED` on import | The SDK is ESM-only. Set `"type": "module"` in `package.json` or use `.mts`. |
| Console warning: `The 'environment' option is deprecated…` even though you never passed it | Known SDK issue; harmless. The environment is derived from your key prefix. |
| Console warning: `The 'environment' option is deprecated…` | Something is still passing the deprecated `environment` option (a wrapper or copied example). Remove it; the environment is derived from your key prefix. On SDK 1.10.0 the warning can also self-fire with nothing passed ([payments#416](https://github.com/nevermined-io/payments/issues/416)); if you have removed the option and still see it, that issue is why. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOW — Ordering vs. the pinned SDK version (non-blocking). The page pins SDK 1.10.0 (L25), and per payments#416 the warning self-fires on 1.10.0 regardless of what the caller passes — so for anyone following this doc verbatim, the self-fire is the default case, not the "something is still passing it" case this row leads with. The row does recover at the end ("if you have removed the option and still see it, that issue is why"), so it's correct as written; but a reader on the documented version will first go hunting for a wrapper/copied example that isn't there. Consider leading with the 1.10.0 behaviour, e.g.:

On SDK 1.10.0 this fires on instantiation even with nothing passed (payments#416) — expected, ignore it. On other versions it means something is still passing the deprecated environment option (a wrapper or copied example); remove it, the environment is derived from your key prefix.

Purely a most-common-path reordering — flagging, not gating.

Comment thread integrations/exa.mdx
| `ERR_PACKAGE_PATH_NOT_EXPORTED` on import | The SDK is ESM-only. Set `"type": "module"` in `package.json` or use `.mts`. |
| Console warning: `The 'environment' option is deprecated…` even though you never passed it | Known SDK issue; harmless. The environment is derived from your key prefix. |
| Console warning: `The 'environment' option is deprecated…` | Something is still passing the deprecated `environment` option (a wrapper or copied example). Remove it; the environment is derived from your key prefix. On SDK 1.10.0 the warning can also self-fire with nothing passed ([payments#416](https://github.com/nevermined-io/payments/issues/416)); if you have removed the option and still see it, that issue is why. |
| The plan ID above does not resolve, or token mint fails against it | Check your key prefix: this is a live plan, and a `sandbox:`-prefixed key targets a different environment where the plan does not exist. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOW — Row names the cause but not the fix. This entry explains why a sandbox: key fails but leaves the remedy implicit (it's only stated far up in the Info block at L10). A troubleshooting row reads best when it carries its own fix. Copilot flagged the same (suppressed comment). Suggestion:

Suggested change
| The plan ID above does not resolve, or token mint fails against it | Check your key prefix: this is a live plan, and a `sandbox:`-prefixed key targets a different environment where the plan does not exist. |
| The plan ID above does not resolve, or token mint fails against it | Check your key prefix: this is a live plan, so use a `live:`-prefixed key. A `sandbox:`-prefixed key targets a different environment where the plan does not exist. |

@robindoble
robindoble merged commit e748043 into main Aug 3, 2026
4 checks passed
@robindoble
robindoble deleted the fix/exa-review-revisions branch August 3, 2026 13:28
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.

3 participants