Skip to content

feat(docs): snapshot v1.14.1 Omnigraph examples#2177

Open
shrugs wants to merge 5 commits into
mainfrom
worktree-omnigraph-v1.14-examples
Open

feat(docs): snapshot v1.14.1 Omnigraph examples#2177
shrugs wants to merge 5 commits into
mainfrom
worktree-omnigraph-v1.14-examples

Conversation

@shrugs
Copy link
Copy Markdown
Member

@shrugs shrugs commented May 21, 2026

Cuts the per-version Omnigraph example snapshot for v1.14.1 so the docs can render version-locked example queries + responses against the 1.14.0 schema.

what's here

  • new snapshot at docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/ (schema.graphql, examples.json, snapshot.json, responses.json)
  • responses fetched live from the staged v2 Sepolia blue deployment (api.v2-sepolia.blue.ensnode.io), since prod still serves the 1.13.1 schema (resolver.assigned doesn't exist there yet). all 12 rendered examples return real data.
  • ACTIVE_OMNIGRAPH_VERSION is unchanged (v1.13.1). the docs render the active version's queries against the prod connection URL; bumping active now would break the live "try it"/curl links until 1.14.0 is promoted to prod. that bump is the separate one-line PR per the existing workflow.

domain-resolver example fix

SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER pointed at sfmonicdebmig.eth, which has no owned resolver on the indexed instance — the example rendered resolver.assigned: null. switched it to demomigration.eth (7 records / 1 permission / 12 events), matching the constant's documented intent.

tooling

added an OMNIGRAPH_ENDPOINT env override to fetch-omnigraph-example-responses.mts (mirrors the existing OMNIGRAPH_VERSION env) so responses can be filled from a staged blue/green endpoint before it's promoted to the prod URL.

validation

  • @ensnode/ensnode-sdk typecheck ✓
  • docs versions.test.ts (30 tests) ✓
  • pnpm lint

🤖 Generated with Claude Code

Cut the per-version Omnigraph example snapshot for v1.14.0 (examples,
schema, responses) under docs/.../versions/v1.14.0. Responses fetched
from the staged v2 Sepolia blue deployment, since prod still serves the
1.13.1 schema. ACTIVE_OMNIGRAPH_VERSION stays v1.13.1 until v1.14.0 is
promoted to prod.

Also:
- fix the SepoliaV2 domain-resolver example: SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER
  now points to demomigration.eth (records/permissions/events) instead of
  sfmonicdebmig.eth, which had no owned resolver (rendered assigned: null).
- add an OMNIGRAPH_ENDPOINT override to the response-fetch script so
  responses can be filled from a staged endpoint before promotion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shrugs shrugs requested a review from a team as a code owner May 21, 2026 21:44
Copilot AI review requested due to automatic review settings May 21, 2026 21:44
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 21, 2026

🦋 Changeset detected

Latest commit: 0de0c62

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 22 packages
Name Type
@ensnode/ensnode-sdk Patch
ensadmin Patch
ensapi Patch
ensindexer Patch
ensrainbow Patch
fallback-ensapi Patch
@docs/ensnode Patch
@namehash/ens-referrals Patch
@ensnode/ensdb-sdk Patch
@ensnode/ensrainbow-sdk Patch
@ensnode/integration-test-env Patch
@namehash/namehash-ui Patch
@docs/ensrainbow Patch
enssdk Patch
enscli Patch
enskit Patch
ensskills Patch
@ensnode/datasources Patch
@ensnode/ponder-sdk Patch
@ensnode/ponder-subgraph Patch
@ensnode/shared-configs Patch
@ensnode/ensindexer-perf-testing Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
admin.ensnode.io Ready Ready Preview, Comment May 21, 2026 10:10pm
enskit-react-example.ensnode.io Ready Ready Preview, Comment May 21, 2026 10:10pm
ensnode.io Ready Ready Preview, Comment May 21, 2026 10:10pm
ensrainbow.io Ready Ready Preview, Comment May 21, 2026 10:10pm

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a v1.14.1 Omnigraph example snapshot for the ENSNode SDK, introducing a complete GraphQL schema defining account/domain/registry/registration/resolver/permissions entities, alongside new example queries demonstrating ENSv1 → ENSv2 migrations, with supporting metadata updates and infrastructure improvements.

Changes

v1.14.1 Omnigraph Schema and Examples

Layer / File(s) Summary
GraphQL Schema Contract
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/schema.graphql
The v1.14.1 GraphQL schema defines the complete Omnigraph API surface with Account, Domain (ENSv1/ENSv2 implementations), Registry (ENSv1/ENSv2/Virtual variants), Registration (BaseRegistrar/ENSv2/NameWrapper/ThreeDNS types), Event, Permissions, Resolver, and Query root type, along with pagination, filtering, and ordering inputs.
Example Queries and Variables
packages/ensnode-sdk/src/omnigraph-api/example-queries.ts, docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/examples.json
Concrete GraphQL example queries using the schema, including new account-migrated-names and eth-by-version queries demonstrating ENSv1 → ENSv2 comparisons, with test constants for Sepolia v2 (corrected domain resolver and user address).
Example Metadata and Documentation
docs/ensnode.io/src/data/omnigraph-examples/meta.ts, .changeset/omnigraph-domain-resolver-example.md
Example catalog entries for account-migrated-names and eth-by-version with descriptions and categories, plus changeset documenting the new migration examples and the domain-resolver fixture correction (using demomigration.eth which has an owned resolver).
Infrastructure and Snapshots
docs/ensnode.io/scripts/fetch-omnigraph-example-responses.mts, docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/snapshot.json, docs/ensnode.io/src/data/omnigraph-examples/versions/v1.13.1/snapshot.json
Endpoint fetch script improved with OMNIGRAPH_ENDPOINT environment override support; v1.14.1 snapshot metadata added with commit hash, SDK version, and timestamp; v1.13.1 snapshot cleaned up by removing trailing note field.

🎯 3 (Moderate) | ⏱️ ~22 minutes


Possibly Related PRs

  • namehash/ensnode#2046: Both PRs modify Sepolia v2 example constants in packages/ensnode-sdk/src/omnigraph-api/example-queries.ts, specifically updating SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER and related domain example inputs.
  • namehash/ensnode#2148: The PR updates the domain-resolver example fixture to use a domain with an owned resolver (changing sfmonicdebmig.eth to demomigration.eth), directly matching a fixture correction where the resolver field changes from null to a populated payload.

🐰 Hops excitedly

New schema lands with grace,
Examples dance through space,
ENSv1 meets v2's embrace—
A migration's gentle trace!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately reflects the main change—adding snapshot v1.14.1 Omnigraph examples with new schema, examples, and metadata files.
Description check ✅ Passed The pull request description follows the template structure with Summary, Why, Testing, Notes for Reviewer, and Pre-Review Checklist sections, providing clear context about the v1.14.1 snapshot addition and related fixes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch worktree-omnigraph-v1.14-examples

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds the Omnigraph examples + schema snapshot for v1.14.0 so the docs site can render version-locked example queries/responses against the 1.14.0 schema, while keeping ACTIVE_OMNIGRAPH_VERSION pinned to v1.13.1.

Changes:

  • Cut a new docs snapshot under docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/ (schema, examples, responses, snapshot metadata).
  • Update the SDK’s Sepolia v2 “domain-resolver” example constant to use demomigration.eth (owned resolver present).
  • Add an OMNIGRAPH_ENDPOINT env override to the docs response-fetching script to support staged (blue/green) endpoints.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Switches the Sepolia v2 “owned resolver” example name to demomigration.eth for non-null resolver data.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/snapshot.json Adds v1.14.0 snapshot metadata (version, commit, schema tag, endpoint, date).
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/schema.graphql Adds the v1.14.0 Omnigraph GraphQL SDL snapshot used for validation/rendering.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/responses.json Adds the v1.14.0 example response snapshot payloads.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/examples.json Adds the v1.14.0 example query + variables snapshot.
docs/ensnode.io/scripts/fetch-omnigraph-example-responses.mts Allows overriding the base URL via OMNIGRAPH_ENDPOINT when fetching responses.
.changeset/omnigraph-domain-resolver-example.md Records the SDK patch change for the domain-resolver example name update.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 21, 2026

Greptile Summary

Cuts the v1.14.0 Omnigraph example snapshot (schema, examples, responses) and fixes the domain-resolver example by switching SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER from sfmonicdebmig.eth (no owned resolver) to demomigration.eth. ACTIVE_OMNIGRAPH_VERSION is intentionally left at v1.13.1 pending prod promotion.

  • Adds three ENSv1→ENSv2 migration example queries (account-migrated-names, batch-migration-check, eth-by-version) to both the SDK and the docs metadata.
  • Extends the fetch script with an OMNIGRAPH_ENDPOINT env override so responses can be filled from a staged blue/green deployment before it is promoted to prod.
  • Removes the bootstrap note from the v1.13.1 snapshot for consistency with the new v1.14.0 format.

Confidence Score: 5/5

Safe to merge; changes are additive data snapshots and a bug fix in example test data, with a small tooling improvement to the fetch script.

The snapshot files are auto-generated, the domain-resolver fix is straightforward and verified by 12 live responses, and the three new migration examples follow the same pattern as existing ones. The only code-path change is the OMNIGRAPH_ENDPOINT URL construction in a developer-only script, which is functionally correct for origin-only endpoint URLs.

No files require special attention.

Important Files Changed

Filename Overview
docs/ensnode.io/scripts/fetch-omnigraph-example-responses.mts Added OMNIGRAPH_ENDPOINT env override for the fetch script; URL construction correctly uses the origin but lacks input validation and silently ignores any path prefix in the provided endpoint.
packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Fixes SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER to demomigration.eth and adds three ENSv1 to ENSv2 migration example queries; previously unused _SEPOLIA_V2_USER_ADDRESS renamed and put to use.
docs/ensnode.io/src/data/omnigraph-examples/meta.ts Adds metadata entries for three new migration examples; straightforward and consistent with existing entries.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.13.1/snapshot.json Removes the bootstrap note field for consistency with the new v1.14.0 snapshot format.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/snapshot.json New version snapshot metadata for v1.14.0; records canonical prod endpoint and snap date.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/examples.json Auto-generated snapshot of v1.14.0 query definitions for all 12 examples, including the 3 new migration queries.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/responses.json Live responses fetched from the v1.14.0 staged deployment for all 12 rendered examples.
docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.0/schema.graphql v1.14.0 GraphQL schema snapshot; adds resolver.assigned and migration-related fields not present in v1.13.1.
.changeset/omnigraph-domain-resolver-example.md Changeset describing the patch: new migration examples and the domain-resolver example fix.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pnpm omnigraph-examples:refresh-responses] --> B{OMNIGRAPH_VERSION env?}
    B -- set --> C[Use custom version dir]
    B -- unset --> D[Use ACTIVE_OMNIGRAPH_VERSION v1.13.1]
    C --> E[Load versions/vX.Y.Z/examples.json]
    D --> E
    E --> F{OMNIGRAPH_ENDPOINT env?}
    F -- set --> G[Override endpoint URL]
    F -- unset --> H[Use ENSNODE_URL]
    G --> I[new URL /api/omnigraph, endpoint]
    H --> I
    I --> J[POST GraphQL queries]
    J --> K[Write versions/vX.Y.Z/responses.json]
Loading

Reviews (4): Last reviewed commit: "fix(docs): retag snapshot v1.14.1, drop ..." | Re-trigger Greptile

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add three migration-focused examples to the v1.14.0 snapshot:
- account-migrated-names: ENSv1 vs ENSv2 domain counts for an account
- batch-migration-check: canonical ENSv2 identity for a batch of names
- eth-by-version: the .eth TLD's Domain id in each protocol version

These use 1.14-only schema (top-level `domains(where: { version })`), so
they render only once v1.14.0 is the active version. Responses fetched
from the staged v2 Sepolia blue deployment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.

Comment thread docs/ensnode.io/scripts/fetch-omnigraph-example-responses.mts
Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Outdated
…xample

- rename the version snapshot v1.14.0 -> v1.14.1 (the version this ships as
  after the patch changeset; what prod will serve once blue is promoted)
- remove the batch-migration-check example: the version-agnostic name.in
  query conflated v1/v2 records
- simplify eth-by-version to domains(where: { name: { eq: "eth" } }) +
  __typename, returning one ENSv1Domain and one ENSv2Domain

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shrugs
Copy link
Copy Markdown
Member Author

shrugs commented May 21, 2026

@greptile review

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.changeset/omnigraph-domain-resolver-example.md:
- Around line 5-7: The changeset description is split into two paragraphs;
combine them into a single terse paragraph so the body remains one-line per repo
convention, e.g., merge the sentences about adding two ENSv1 → ENSv2 migration
Omnigraph examples (`account-migrated-names`, `eth-by-version`) and the fix to
the `domain-resolver` example (update `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` to
`demomigration.eth` instead of `sfmonicdebmig.eth`) into one continuous
paragraph without extra line breaks.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 43cb93a2-4bfb-4a6b-acb7-407bc050f028

📥 Commits

Reviewing files that changed from the base of the PR and between 49400ce and 0de0c62.

📒 Files selected for processing (9)
  • .changeset/omnigraph-domain-resolver-example.md
  • docs/ensnode.io/scripts/fetch-omnigraph-example-responses.mts
  • docs/ensnode.io/src/data/omnigraph-examples/meta.ts
  • docs/ensnode.io/src/data/omnigraph-examples/versions/v1.13.1/snapshot.json
  • docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/examples.json
  • docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/responses.json
  • docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/schema.graphql
  • docs/ensnode.io/src/data/omnigraph-examples/versions/v1.14.1/snapshot.json
  • packages/ensnode-sdk/src/omnigraph-api/example-queries.ts

Comment on lines +5 to +7
add two ENSv1 → ENSv2 migration Omnigraph examples: `account-migrated-names` (ENSv1 vs ENSv2 domain counts for an account) and `eth-by-version` (the .eth TLD across protocol versions, one Domain per version discriminated by `__typename`).

also fix the `domain-resolver` example: `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` now points to `demomigration.eth`, which has an owned resolver with records/permissions/events. The previous name (`sfmonicdebmig.eth`) had no owned resolver, so the example rendered `resolver.assigned: null`.
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.

🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Keep the changeset body as a single paragraph.

The description is currently split into two paragraphs; please keep it as one terse paragraph to match repo convention.

♻️ Proposed edit
-add two ENSv1 → ENSv2 migration Omnigraph examples: `account-migrated-names` (ENSv1 vs ENSv2 domain counts for an account) and `eth-by-version` (the .eth TLD across protocol versions, one Domain per version discriminated by `__typename`).
-
-also fix the `domain-resolver` example: `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` now points to `demomigration.eth`, which has an owned resolver with records/permissions/events. The previous name (`sfmonicdebmig.eth`) had no owned resolver, so the example rendered `resolver.assigned: null`.
+add two ENSv1 → ENSv2 migration Omnigraph examples: `account-migrated-names` (ENSv1 vs ENSv2 domain counts for an account) and `eth-by-version` (the .eth TLD across protocol versions, one Domain per version discriminated by `__typename`), and fix the `domain-resolver` example: `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` now points to `demomigration.eth`, which has an owned resolver with records/permissions/events; the previous name (`sfmonicdebmig.eth`) had no owned resolver, so the example rendered `resolver.assigned: null`.

Based on learnings: In this repository’s .changeset markdown files, keep the changeset description as a terse, single-paragraph write-up.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
add two ENSv1 → ENSv2 migration Omnigraph examples: `account-migrated-names` (ENSv1 vs ENSv2 domain counts for an account) and `eth-by-version` (the .eth TLD across protocol versions, one Domain per version discriminated by `__typename`).
also fix the `domain-resolver` example: `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` now points to `demomigration.eth`, which has an owned resolver with records/permissions/events. The previous name (`sfmonicdebmig.eth`) had no owned resolver, so the example rendered `resolver.assigned: null`.
add two ENSv1 → ENSv2 migration Omnigraph examples: `account-migrated-names` (ENSv1 vs ENSv2 domain counts for an account) and `eth-by-version` (the .eth TLD across protocol versions, one Domain per version discriminated by `__typename`), and fix the `domain-resolver` example: `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` now points to `demomigration.eth`, which has an owned resolver with records/permissions/events; the previous name (`sfmonicdebmig.eth`) had no owned resolver, so the example rendered `resolver.assigned: null`.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 5-5: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.changeset/omnigraph-domain-resolver-example.md around lines 5 - 7, The
changeset description is split into two paragraphs; combine them into a single
terse paragraph so the body remains one-line per repo convention, e.g., merge
the sentences about adding two ENSv1 → ENSv2 migration Omnigraph examples
(`account-migrated-names`, `eth-by-version`) and the fix to the
`domain-resolver` example (update `SEPOLIA_V2_NAME_WITH_OWNED_RESOLVER` to
`demomigration.eth` instead of `sfmonicdebmig.eth`) into one continuous
paragraph without extra line breaks.

@shrugs shrugs changed the title feat(docs): snapshot v1.14.0 Omnigraph examples feat(docs): snapshot v1.14.1 Omnigraph examples May 22, 2026
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.

2 participants