Skip to content

feat mpl-core-das updates - #542

Open
MarkSackerberg wants to merge 3 commits into
mainfrom
docs/mpl-core-das-groups-agents
Open

feat mpl-core-das updates#542
MarkSackerberg wants to merge 3 commits into
mainfrom
docs/mpl-core-das-groups-agents

Conversation

@MarkSackerberg

Copy link
Copy Markdown
Contributor

adding missing functions + improvements added with metaplex-foundation/mpl-core-das#14

@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
developer-hub Ready Ready Preview, Comment Jul 22, 2026 7:44pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Summary by CodeRabbit

  • New Features
    • Added Core Extension navigation for Core Groups: group retrieval, assets by group, grouping, and Core group search.
    • Added matching localized navigation titles (EN/JA/KO/ZH).
  • Documentation
    • Expanded the Core Extension DAS API overview and added new method pages for groups, grouping, and searching core groups.
    • Clarified agent filtering/search behavior and Core↔DAS conversion guidance.
  • Examples
    • Added new Umi/DAS examples for group operations and conversions to group.
    • Updated example snippets to use shared, framework-friendly code-tab imports.
  • Documentation / Chores
    • Refined CLI and doc examples by removing vanity-address commands and updating create flags.

Walkthrough

Core Extension navigation and documentation were expanded for groups, searches, conversions, agent filters, and shared examples. Generated Umi examples were added for the documented workflows, and two CLI examples were updated by changing metadata input handling and removing vanity-address snippets.

Changes

Core DAS documentation

Layer / File(s) Summary
Core Extension navigation and translations
src/components/products/das-api/index.js, src/config/navigation-translations.js
Navigation now includes Core group and search routes with localized translation keys.
Core Extension overview and conversion guidance
src/pages/en/dev-tools/das-api/core-extension/index.md, src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
Overview and conversion documentation now cover Core groups, typed operations, conversion helpers, plugin derivation, and membership-fetching notes.
Core method documentation
src/pages/en/dev-tools/das-api/core-extension/methods/*
Core method pages document group operations, Core-specific search behavior, agent filters, update-authority queries, parameters, requirements, and imported examples.
Generated Core Extension examples
src/examples/das-api/core-extension/*
Runnable Umi examples and generated section metadata were added for fetching, searching, conversion, grouping, and plugin derivation workflows.

CLI example updates

Layer / File(s) Summary
CLI creation examples
src/examples/core/create-asset/index.js, src/examples/token-metadata/fungibles/create/index.js
The Core asset example now uses --json, and vanity-address creation snippets were removed.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested reviewers: tonyboylehub

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the changeset but too generic to clearly describe the main change. Use a specific title like 'Add Core Extension DAS docs, examples, and navigation links'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description is related to the changeset and matches the added functions and improvements from mpl-core-das PR #14.
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.
✨ 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 docs/mpl-core-das-groups-agents

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


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.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 8

🤖 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 `@src/components/products/das-api/index.js`:
- Around line 70-78: Remove the four broken Core navigation entries for Get
Group, Get Core Assets By Authority, Get Core Assets By Collection, and Get Core
Assets By Owner from both affected ranges in
src/components/products/das-api/index.js (lines 70-78 and 127-134) and remove
the corresponding links from
src/pages/en/dev-tools/das-api/core-extension/index.md (lines 34-44). Leave the
remaining valid navigation and method links unchanged.

In `@src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md`:
- Around line 25-45: Add a direct declarative BLUF sentence immediately beneath
each H2 heading: “Convert to Asset Example,” “Convert to Collection Example,”
“Convert to Group Example,” and “Notes.” Preserve the existing steps, code-tab
imports, and note bullets, ensuring each heading’s sentence precedes its current
content.
- Around line 25-39: Provide centralized src/examples sources for every imported
DAS/Core example, or update the imports to point to existing valid sources.
Cover convert-to-asset, convert-to-collection, and convert-to-group in
src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
(lines 25-39); the method examples in get-asset.md (line 13),
get-assets-by-authority.md (line 13), get-assets-by-collection.md (line 13),
get-assets-by-owner.md (line 13), and get-collection.md (line 13); and the
plugin derivation examples in plugin-derivation.md (lines 12-17). Ensure each
code-tabs-imported reference resolves to a current centralized example so all
documentation tabs render correctly.

In `@src/pages/en/dev-tools/das-api/core-extension/index.md`:
- Around line 60-64: Update the Overview page to add the required “## Quick
Reference” table and “## Glossary” sections. Revise the opening of “## Notes” so
it begins with a concise declarative summary before the existing bullets, and
ensure every H2/H3 heading starts with a direct declarative answer.
- Around line 21-26: The conversion documentation uses incorrect helper names
and must reflect the actual mpl-core-das API. In
src/pages/en/dev-tools/das-api/core-extension/index.md (lines 21-26) and
src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
(lines 19-23), rename the referenced links and examples to dasAssetsToCoreAssets
and dasAssetsToCoreCollection, preserving the surrounding documentation.

In `@src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md`:
- Around line 33-35: Add a concise declarative BLUF sentence immediately below
the “Discover registered agents” heading and before the imported code block,
stating what the example demonstrates.
- Around line 19-23: Link the first mentions in search-assets.md of AssetResult,
Core asset types, and agent filters to their canonical concept pages. In
search-collections.md, link the first mentions of
das.getCollectionsByUpdateAuthority and CollectionResult to their canonical
concept pages; update both documented sections without changing their API
descriptions.

In `@src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md`:
- Line 7: Add a `## Summary` section at the top of the page before the existing
introduction, containing 1–2 declarative sentences and 3–4 bullets that
summarize the `search-collections` method and its purpose. Preserve the existing
page content after this new section.
🪄 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: bf61b291-f3bb-4d06-9c42-3c3f415ddfb6

📥 Commits

Reviewing files that changed from the base of the PR and between e1cf9db and c417457.

📒 Files selected for processing (14)
  • src/components/products/das-api/index.js
  • src/config/navigation-translations.js
  • src/examples/core/create-asset/index.js
  • src/examples/token-metadata/fungibles/create/index.js
  • src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
  • src/pages/en/dev-tools/das-api/core-extension/index.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-authority.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-collection.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-owner.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-collection.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md
  • src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md

Comment on lines +70 to +78
{ title: 'Get Core Group', href: '/dev-tools/das-api/core-extension/methods/get-group' },
{ title: 'Get Core Assets By Authority', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-authority' },
{ title: 'Get Core Assets By Collection', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-collection' },
{ title: 'Get Core Assets By Owner', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-owner' },
{ title: 'Get Core Assets By Group', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-group' },
{ title: 'Get Grouping', href: '/dev-tools/das-api/core-extension/methods/get-grouping' },
{ title: 'Search Core Assets', href: '/dev-tools/das-api/core-extension/methods/search-assets' },
{ title: 'Search Core Collections', href: '/dev-tools/das-api/core-extension/methods/search-collections' },
{ title: 'Search Core Groups', href: '/dev-tools/das-api/core-extension/methods/search-groups' },

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="src/pages/en/dev-tools/das-api/core-extension/methods"
status=0

for slug in get-group get-assets-by-group get-grouping search-groups; do
  if [[ ! -f "$base/$slug.md" ]]; then
    echo "Missing route: $base/$slug.md"
    status=1
  fi
done

exit "$status"

Repository: metaplex-foundation/developer-hub

Length of output: 516


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Core methods page candidates =="
git ls-files 'src/pages/**/das-api/**/*' 'src/components/products/das-api/index.js' | sed -n '1,200p'

echo
echo "== Files/directories under core-extension =="
find src/pages/en/dev-tools/das-api/core-extension -maxdepth 2 -type f -o -type d 2>/dev/null | sort | sed -n '1,200p'

echo
echo "== Core extension files only =="
git ls-files 'src/pages/en/dev-tools/das-api/core-extension/**' | sort

Repository: metaplex-foundation/developer-hub

Length of output: 10620


Remove the broken Core routes from navigation and links.

The four hrefs in src/components/products/das-api/index.js point to under /dev-tools/das-api/core-extension/methods/, but those routes do not exist under src/pages/en/dev-tools/das-api/core-extension/; only the root DAS methods pages exist. Remove the same slugs from the nav object and src/pages/en/dev-tools/das-api/core-extension/index.md.

📍 Affects 2 files
  • src/components/products/das-api/index.js#L70-L78 (this comment)
  • src/components/products/das-api/index.js#L127-L134
  • src/pages/en/dev-tools/das-api/core-extension/index.md#L34-L44
🤖 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 `@src/components/products/das-api/index.js` around lines 70 - 78, Remove the
four broken Core navigation entries for Get Group, Get Core Assets By Authority,
Get Core Assets By Collection, and Get Core Assets By Owner from both affected
ranges in src/components/products/das-api/index.js (lines 70-78 and 127-134) and
remove the corresponding links from
src/pages/en/dev-tools/das-api/core-extension/index.md (lines 34-44). Leave the
remaining valid navigation and method links unchanged.

Comment on lines +25 to +39
## Convert to Asset Example {% #convert-to-asset-example %}

const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') });
1. Fetch with the standard DAS package.
2. Filter to Core assets.
3. Convert to Core asset types.

// filter out only core assets
const dasCoreAssets = assets.items.filter((a) => a.interface === 'MplCoreAsset')
{% code-tabs-imported from="das-api/core-extension/convert-to-asset" frameworks="umi" /%}

// convert them to AssetV1 type (actually AssetResult type which will also have the content field populated from DAS)
const coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets)
```
## Convert to Collection Example {% #convert-to-collection-example %}

## Convert to Collection Example
{% code-tabs-imported from="das-api/core-extension/convert-to-collection" frameworks="umi" /%}

The following Example shows
1. How to fetch DAS Collections with the standard DAS API Package.
2. Filter the Assets to only have Core Assets
3. Cast all the Standard Assets to Core Assets
## Convert to Group Example {% #convert-to-group-example %}

```js
// ... standard setup for @metaplex-foundation/digital-asset-standard-api
{% code-tabs-imported from="das-api/core-extension/convert-to-group" frameworks="umi" /%}

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

for name in \
  get-asset \
  get-assets-by-authority \
  get-assets-by-collection \
  get-assets-by-owner \
  get-collection \
  convert-to-asset \
  convert-to-collection \
  convert-to-group \
  skip-derive-plugins \
  manual-plugin-derivation
do
  if ! fd --type f --hidden "$name" src | grep -q .; then
    echo "No source found for imported example: $name"
  fi
done

rg -n 'code-tabs-imported from=' src/pages/en/dev-tools/das-api/core-extension

Repository: metaplex-foundation/developer-hub

Length of output: 2843


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate code-tabs-imported =="
rg -n "code-tabs-imported|codeTabsImported|imported from|CodeTabsImported" . \
  -g '!node_modules' -g '!dist' -g '!build' -g '!coverage' \
  | head -n 200

echo
echo "== locate code tab related files =="
fd -i 'code.?tab|tab.?code|example|snippet' src pages . \
  -d 6 \
  -t f \
  | head -n 200

echo
echo "== exact slug candidates under das-api/core-extension =="
fd -t f "das-api/core-extension|core-extension" src/pages dev 2>/dev/null | head -n 250 || true

echo
echo "== target pages vicinity =="
for f in \
  src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md \
  src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md \
  src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md
do
  if [ -f "$f" ]; then
    echo "--- $f ---"
    wc -l "$f"
    sed -n '1,80p' "$f"
  else
    echo "Missing: $f"
  fi
done

Repository: metaplex-foundation/developer-hub

Length of output: 33877


Add the missing centralized code-tab examples.

Several imported examples do not have corresponding centralized example sources, including das-api/core-extension/convert-to-* and the plugin derivation examples. Add these src/examples sources or adjust the imports so the pages render instead of leaving broken/stale documentation tabs.

📍 Affects 7 files
  • src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md#L25-L39 (this comment)
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md#L13-L13
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-authority.md#L13-L13
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-collection.md#L13-L13
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-owner.md#L13-L13
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-collection.md#L13-L13
  • src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md#L12-L17
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md`
around lines 25 - 39, Provide centralized src/examples sources for every
imported DAS/Core example, or update the imports to point to existing valid
sources. Cover convert-to-asset, convert-to-collection, and convert-to-group in
src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
(lines 25-39); the method examples in get-asset.md (line 13),
get-assets-by-authority.md (line 13), get-assets-by-collection.md (line 13),
get-assets-by-owner.md (line 13), and get-collection.md (line 13); and the
plugin derivation examples in plugin-derivation.md (lines 12-17). Ensure each
code-tabs-imported reference resolves to a current centralized example so all
documentation tabs render correctly.

Comment on lines +21 to +26
`@metaplex-foundation/mpl-core-das` is the DAS API extension for [MPL Core](/smart-contracts/core). It returns Core-typed results (`AssetV1`, `CollectionV1`, `GroupV1`) instead of raw DAS shapes.

- Returns types ready for the MPL Core SDKs
- Automatically derives collection plugins on assets (optional to skip)
- Supports [Core Groups](/smart-contracts/core/groups), agent filters, and DAS-to-Core conversions
- Requires `@metaplex-foundation/digital-asset-standard-api` **≥ 2.1.0**.

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n \
  'digital-asset-standard-api|dasAssetsToCoreAssets|dasAssetToCoreCollection|dasAssetToCoreGroup|isAgent|agent_token|asset_signer' \
  package.json package-lock.json pnpm-lock.yaml yarn.lock src 2>/dev/null || true

Repository: metaplex-foundation/developer-hub

Length of output: 50389


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== candidate pages =="
for f in \
  src/pages/en/dev-tools/das-api/core-extension/index.md \
  src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md \
  src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md
do
  if [ -f "$f" ]; then
    echo "--- $f"
    sed -n '1,70p;100,125p' "$ f" 2>/dev/null || sed -n '1,70p;100,125p' "$f"
  fi
done

echo
echo "== package files names =="
git ls-files | rg '(^|/)(package\.json|package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb?)$'

echo
echo "== package contract mentions =="
rg -n '`@metaplex-foundation/`(digital-asset-standard-api|mpl-core-das)|2\.1\.0|dosAssetsToCoreAssets|dasAssetToCore(Collection|Group)|dasAssetToCoreAssets' src package.json package-lock.json pnpm-lock.yaml yarn.lock 2>/dev/null || true

echo
echo "== local examples imports around conversion if present =="
rg -n "das\.(dasAssetsToCoreAssets|dasAssetToCore(Collection|Group))|dasAssetsToCoreAssets|dasAssetToCore(Collection|Group)|`@metaplex-foundation/mpl-core-das`" src/examples src/pages/en/dev-tools/das-api -g '*.js' -g '*.ts' -g '*.md' 2>/dev/null | head -n 80 || true

Repository: metaplex-foundation/developer-hub

Length of output: 50391


🌐 Web query:

npm @metaplex-foundation/mpl-core-das @metaplex-foundation/digital-asset-standard-api 2.1.0 dasAssetsToCoreAssets dasAssetToCoreCollection dasAssetToCoreGroup

💡 Result:

The package @metaplex-foundation/mpl-core-das is the dedicated extension designed to work with @metaplex-foundation/digital-asset-standard-api for handling Metaplex Core assets [1][2]. It provides utility functions to convert standard Digital Asset Standard (DAS) responses into Metaplex Core-compatible types [3][1]. The primary conversion functions provided by the @metaplex-foundation/mpl-core-das library include: dasAssetsToCoreAssets: This function converts an array of standard DAS asset objects into Core Asset types [1][4]. It is typically used after fetching assets via the DAS API and filtering them for the 'MplCoreAsset' interface [3][5]. dasAssetToCoreCollection: This function converts a single DAS asset object into a Core Collection type [1][4]. Regarding dasAssetToCoreGroup, documentation indicates that the mpl-core-das extension focuses on converting assets and collections [1]. Grouping functionality is primarily handled through the DAS API's built-in methods, such as getAssetsByGroup, which exists in the core @metaplex-foundation/digital-asset-standard-api package to retrieve assets associated with a specific group [6]. To use these helpers, you should install and import the das object from the @metaplex-foundation/mpl-core-das package [2]: npm install @metaplex-foundation/mpl-core-das import { das } from '@metaplex-foundation/mpl-core-das'; These functions automatically derive plugins in assets inherited from collections and ensure that the returned objects are typed correctly for use with other Metaplex Core SDKs [1][2].

Citations:


🌐 Web query:

github.com/metaplex-foundation/mpl-core-das dasAssetToCoreGroup

💡 Result:

The package @metaplex-foundation/mpl-core-das does not contain a function named dasAssetToCoreGroup [1][2]. Instead, the library provides a function called dasAssetsToCoreCollection, which is used to convert DAS asset objects into the Core Collection type [2]. The library primarily focuses on converting DAS asset types to either Core Asset or Core Collection types to ensure they are compatible with other Metaplex Core SDKs [2][3]. Key conversion functions in the @metaplex-foundation/mpl-core-das package include: - dasAssetsToCoreAssets: Converts DAS asset(s) to the Core Asset type [2]. - dasAssetsToCoreCollection: Converts DAS asset(s) to the Core Collection type [2]. These helpers are designed to be used when you need to cast standard DAS API responses into formats recognized by the MPL Core SDK, often after filtering raw DAS results by their interface type (e.g., 'MplCoreAsset' or 'MplCoreCollection') [4][5].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== npm package files =="
for pkg in '`@metaplex-foundation/mpl-core-das`' '`@metaplex-foundation/digital-asset-standard-api`'
do
  tmp="$(mktemp -d)"
  npm view "$pkg@latest dist.tarball" > "$tmp/tarball" 2>/dev/null || continue
  tarball="$(cat "$tmp/tarball")"
  curl -fsSL "$tarball" -o "$tmp/pkg.tgz"
  echo "-- $tarball"
  tar -tzf "$tmp/pkg.tgz" | sed -n '1,220p'
  echo
  tar -xzf "$tmp/pkg.tgz" -C "$tmp/pkg" -f
  echo "-- converter symbols (mpl-core-das)"
  if [ "$(basename "$pkg")" == "mpl-core-das" ]; then
    find "$tmp/pkg/package" -type f \( -name '*.js' -o -name '*.ts' -o -name '*.d.ts' \) -print0 | xargs -0 rg -n 'dasAssetsToCoreAssets|dasAssetsToCoreCollection|dasAssetToCore(Collection|Group)|dasAssetToCoreGroup|Agent|asset_signer|agent_token|is_agent|skipDerivePlugins' || true
  fi
done

Repository: metaplex-foundation/developer-hub

Length of output: 195


🌐 Web query:

mpl-core-das.vercel.app variables das.das dasAssetsToCoreAssets dasAssetsToCoreCollection

💡 Result:

The functions dasAssetsToCoreAssets and dasAssetsToCoreCollection are conversion utilities provided by the @metaplex-foundation/mpl-core-das library [1][2]. This library is a JavaScript/TypeScript SDK designed to help developers interact with Metaplex Core assets and collections using the Digital Asset Standard (DAS) API [1][3]. Key details: 1. dasAssetsToCoreAssets: This function converts standard DAS asset objects into the specific Metaplex Core Asset type (specifically AssetResult) [4][5]. It is primarily used when you fetch generic assets via the standard DAS API and need to filter and cast them to work with Core-specific features, such as automatically derived plugins [4][2][3]. 2. dasAssetsToCoreCollection: This function converts standard DAS asset objects into the Metaplex Core Collection type [2]. Similar to the asset conversion function, it ensures that data retrieved from DAS is correctly typed for use within the Metaplex Core ecosystem [2]. These functions are part of the 'das' module within the @metaplex-foundation/mpl-core-das package [6][5]. Developers typically use them after filtering results from a standard DAS API call (e.g., rpc.getAssetsByOwner) to isolate items with the interface MplCoreAsset or MplCoreCollection [4][3][7].

Citations:


Document the actual mpl-core-das conversion API.

The conversion page currently exposes das.dasAssetToCoreCollection and das.dasAssetToCoreGroup; only dasAssetsToCoreAssets / dasAssetsToCoreCollection are the documented mpl-core-das helpers, so rename these links and examples accordingly.

📍 Affects 2 files
  • src/pages/en/dev-tools/das-api/core-extension/index.md#L21-L26 (this comment)
  • src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md#L19-L23
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/index.md` around lines 21 - 26,
The conversion documentation uses incorrect helper names and must reflect the
actual mpl-core-das API. In
src/pages/en/dev-tools/das-api/core-extension/index.md (lines 21-26) and
src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
(lines 19-23), rename the referenced links and examples to dasAssetsToCoreAssets
and dasAssetsToCoreCollection, preserving the surrounding documentation.

Comment thread src/pages/en/dev-tools/das-api/core-extension/index.md
Comment on lines +19 to +23
`das.searchAssets` returns Core assets matching search criteria and maps them to `AssetResult` (Core asset type plus DAS `content`).

- Defaults to `interface: "MplCoreAsset"` and `burnt: false`
- Derives collection plugins unless `skipDerivePlugins: true`
- Supports agent filters (`isAgent`, `agentToken`, `assetSigner`) when using DAS ≥ 2.1.0

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Link first mentions of Core DAS concepts.

Both pages introduce important API and domain terms without canonical links.

  • src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md#L19-L23: link AssetResult, Core asset types, and agent filters on first mention.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md#L23-L25: link das.getCollectionsByUpdateAuthority and CollectionResult on first mention.

As per coding guidelines, first mentions of key terms must link to their canonical concept pages.

📍 Affects 2 files
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md#L19-L23 (this comment)
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md#L23-L25
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md`
around lines 19 - 23, Link the first mentions in search-assets.md of
AssetResult, Core asset types, and agent filters to their canonical concept
pages. In search-collections.md, link the first mentions of
das.getCollectionsByUpdateAuthority and CollectionResult to their canonical
concept pages; update both documented sections without changing their API
descriptions.

Source: Coding guidelines

Comment thread src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md Outdated
MarkSackerberg and others added 2 commits July 22, 2026 20:22
Add Summary/Quick Reference/Glossary/BLUF prose and concept links; keep
helper names and nav entries that match the shipped examples and pages.

Co-authored-by: Cursor <cursoragent@cursor.com>

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/pages/en/dev-tools/das-api/core-extension/index.md (1)

32-44: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

The group API references are not backed by the current mpl-core-das contract.

The current upstream package exposes asset and collection helpers, but no group fetch/search/conversion APIs. (github.com) Verify the intended release, then align every affected page with the actual package contract.

  • src/pages/en/dev-tools/das-api/core-extension/index.md#L32-L44: remove or retarget group fetch and search helpers.
  • src/pages/en/dev-tools/das-api/core-extension/index.md#L52-L52: remove or retarget dasAssetToCoreGroup.
  • src/pages/en/dev-tools/das-api/core-extension/index.md#L72-L78: remove unsupported group entries from the Quick Reference table.
  • src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md#L41-L45: remove or retarget the group conversion example.
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/index.md` around lines 32 - 44,
Verify the intended mpl-core-das release, then align all affected documentation
with its actual contract: in
src/pages/en/dev-tools/das-api/core-extension/index.md lines 32-44, remove or
retarget unsupported group fetch/search helpers; at lines 52 and 72-78, remove
or retarget dasAssetToCoreGroup and unsupported group Quick Reference entries;
in src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
lines 41-45, remove or retarget the group conversion example. Use only APIs
exposed by the verified release.

Source: MCP tools

🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/index.md`:
- Around line 68-88: The Quick Reference and Glossary sections need direct
declarative BLUF sentences before their tables. Add one concise introductory
sentence immediately after each heading, before the existing table, summarizing
the section’s purpose; leave the table content unchanged.

In
`@src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md`:
- Around line 1-16: Add the required proficiencyLevel frontmatter field to the
metadata blocks in
src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md
(lines 1-16), src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md
(lines 1-15),
src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md (lines
1-15), and
src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md (lines
1-15), using the repository’s established value and frontmatter format.
- Around line 27-44: Add concise declarative BLUF sentences beneath the
specified headings: in
src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md
lines 27-44, add one under Code example and one under Parameters; in
src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md lines 25-27,
add one under Code example; in
src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md lines
25-34, add one under Code example and one under Parameters; and in
src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md lines
26-28, add one under Code example. Ensure each sentence directly states what the
section provides before any imperative text, imported code block, or parameter
table.

In `@src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md`:
- Around line 19-23: Update the first Core DAS type/helper mentions with
canonical links: in
src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md lines 19-23
link GroupResult; in
src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md
lines 7-13 link CollectionResult and lines 27-31 link
das.getCollectionsByUpdateAuthority to its canonical page rather than the local
section anchor; in
src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md lines
19-24 link MplCoreGroup to the Core groups concept page and lines 30-34 link
GroupResult to the canonical Core group result page.

In `@src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md`:
- Line 35: Update the inline das.searchAssets example in the documentation
sentence to pass the required Umi instance as its first argument, matching the
imported example and the method’s API signature while preserving the existing
isAgent option.

---

Outside diff comments:
In `@src/pages/en/dev-tools/das-api/core-extension/index.md`:
- Around line 32-44: Verify the intended mpl-core-das release, then align all
affected documentation with its actual contract: in
src/pages/en/dev-tools/das-api/core-extension/index.md lines 32-44, remove or
retarget unsupported group fetch/search helpers; at lines 52 and 72-78, remove
or retarget dasAssetToCoreGroup and unsupported group Quick Reference entries;
in src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
lines 41-45, remove or retarget the group conversion example. Use only APIs
exposed by the verified release.
🪄 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: 50d5ea3f-57d5-4136-8fd2-9dfd12fc6908

📥 Commits

Reviewing files that changed from the base of the PR and between c417457 and 7ec3a91.

📒 Files selected for processing (46)
  • src/examples/das-api/core-extension/convert-to-asset/index.js
  • src/examples/das-api/core-extension/convert-to-asset/umi.js
  • src/examples/das-api/core-extension/convert-to-collection/index.js
  • src/examples/das-api/core-extension/convert-to-collection/umi.js
  • src/examples/das-api/core-extension/convert-to-group/index.js
  • src/examples/das-api/core-extension/convert-to-group/umi.js
  • src/examples/das-api/core-extension/get-asset/index.js
  • src/examples/das-api/core-extension/get-asset/umi.js
  • src/examples/das-api/core-extension/get-assets-by-authority/index.js
  • src/examples/das-api/core-extension/get-assets-by-authority/umi.js
  • src/examples/das-api/core-extension/get-assets-by-collection/index.js
  • src/examples/das-api/core-extension/get-assets-by-collection/umi.js
  • src/examples/das-api/core-extension/get-assets-by-group/index.js
  • src/examples/das-api/core-extension/get-assets-by-group/umi.js
  • src/examples/das-api/core-extension/get-assets-by-owner/index.js
  • src/examples/das-api/core-extension/get-assets-by-owner/umi.js
  • src/examples/das-api/core-extension/get-collection/index.js
  • src/examples/das-api/core-extension/get-collection/umi.js
  • src/examples/das-api/core-extension/get-collections-by-update-authority/index.js
  • src/examples/das-api/core-extension/get-collections-by-update-authority/umi.js
  • src/examples/das-api/core-extension/get-group/index.js
  • src/examples/das-api/core-extension/get-group/umi.js
  • src/examples/das-api/core-extension/get-grouping/index.js
  • src/examples/das-api/core-extension/get-grouping/umi.js
  • src/examples/das-api/core-extension/get-groups-by-update-authority/index.js
  • src/examples/das-api/core-extension/get-groups-by-update-authority/umi.js
  • src/examples/das-api/core-extension/manual-plugin-derivation/index.js
  • src/examples/das-api/core-extension/manual-plugin-derivation/umi.js
  • src/examples/das-api/core-extension/search-assets-agents/index.js
  • src/examples/das-api/core-extension/search-assets-agents/umi.js
  • src/examples/das-api/core-extension/search-assets/index.js
  • src/examples/das-api/core-extension/search-assets/umi.js
  • src/examples/das-api/core-extension/search-collections/index.js
  • src/examples/das-api/core-extension/search-collections/umi.js
  • src/examples/das-api/core-extension/search-groups/index.js
  • src/examples/das-api/core-extension/search-groups/umi.js
  • src/examples/das-api/core-extension/skip-derive-plugins/index.js
  • src/examples/das-api/core-extension/skip-derive-plugins/umi.js
  • src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md
  • src/pages/en/dev-tools/das-api/core-extension/index.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md

Comment on lines +68 to +88
## Quick Reference

| Helper | Returns | Notes |
|--------|---------|-------|
| `das.getAsset` / `getCollection` / `getGroup` | Single Core account | Typed for MPL Core SDKs |
| `das.getAssetsByOwner` / `ByAuthority` / `ByCollection` | Core assets | Collection plugins derived by default |
| `das.getAssetsByGroup` | Mixed members | Uses DAS `groupKey: "group"` |
| `das.getGrouping` | Name + size | No member list |
| `das.searchAssets` / `searchCollections` / `searchGroups` | Filtered lists | Assets support agent filters |
| `das.getCollectionsByUpdateAuthority` / `getGroupsByUpdateAuthority` | By update authority | Documented on the search pages |
| `das.dasAssetsToCoreAssets` / `dasAssetToCoreCollection` / `dasAssetToCoreGroup` | Converted Core types | For mixed-standard DAS fetches |

## Glossary

If you want to deactivate the derivation or implement it manually the [Plugin Derivation Page](/dev-tools/das-api/core-extension/plugin-derivation) should be helpful.
| Term | Definition |
|------|------------|
| `AssetResult` | [Core Asset](/smart-contracts/core/what-is-an-asset) (`AssetV1`) plus DAS `content` and optional agent fields |
| `CollectionResult` | Core Collection (`CollectionV1`) plus DAS `content` |
| `GroupResult` | [Core Group](/smart-contracts/core/groups) (`GroupV1`) plus DAS `content`; membership vectors may be empty from indexers |
| Agent filters | DAS search filters (`isAgent`, `agentToken`, `assetSigner`) for [registered agents](/agents/) |
| Plugin derivation | Copying collection-level plugins onto listed assets unless `skipDerivePlugins: true` |

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add BLUF sentences under Quick Reference and Glossary.

As per coding guidelines, both sections must begin with a direct declarative sentence before their tables.

🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/index.md` around lines 68 - 88,
The Quick Reference and Glossary sections need direct declarative BLUF sentences
before their tables. Add one concise introductory sentence immediately after
each heading, before the existing table, summarizing the section’s purpose;
leave the table content unchanged.

Source: Coding guidelines

Comment on lines +1 to +16
---
title: Get Core Assets by Group
metaTitle: Get Core Assets by Group | DAS API Core Extension
description: List mpl-core GroupV1 members as Core-typed assets, collections, or nested groups.
created: '07-22-2026'
updated: '07-22-2026'
keywords:
- das getAssetsByGroup core
- mpl-core-das getAssetsByGroup
- core group members
- groupKey group
about:
- DAS API
- MPL Core
- Core Groups
---

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add the required proficiencyLevel frontmatter field.

All four pages are missing a required documentation frontmatter field.

  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md#L1-L16: add proficiencyLevel.
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md#L1-L15: add proficiencyLevel.
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md#L1-L15: add proficiencyLevel.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L1-L15: add proficiencyLevel.
📍 Affects 4 files
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md#L1-L16 (this comment)
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md#L1-L15
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md#L1-L15
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L1-L15
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md`
around lines 1 - 16, Add the required proficiencyLevel frontmatter field to the
metadata blocks in
src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md
(lines 1-16), src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md
(lines 1-15),
src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md (lines
1-15), and
src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md (lines
1-15), using the repository’s established value and frontmatter format.

Source: Coding guidelines

Comment on lines +27 to +44
## Code example

Replace `<ENDPOINT>` with your DAS RPC and `<PublicKey>` with the GroupV1 address.

{% code-tabs-imported from="das-api/core-extension/get-assets-by-group" frameworks="umi" /%}

## Parameters

| Name | Required | Description |
| -------------------- | :------: | ----------- |
| `group` | ✅ | The mpl-core GroupV1 public key. |
| `sortBy` | | Sorting criteria `{ sortBy, sortDirection }`. |
| `limit` | | Maximum number of items to retrieve. |
| `page` | | Page index to retrieve. |
| `before` / `after` | | Cursor-style pagination IDs. |
| `cursor` | | Provider cursor when supported. |
| `displayOptions` | | Only `showCollectionMetadata` is supported for Core. |
| `skipDerivePlugins` | | Skip automatic collection plugin derivation on assets. |

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add declarative BLUF sentences beneath the affected headings.

Several sections begin with an imperative instruction or an imported code block instead of the required direct declarative answer.

  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md#L27-L44: add BLUF sentences under Code example and Parameters.
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md#L25-L27: add a BLUF sentence under Code example.
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md#L25-L34: add BLUF sentences under Code example and Parameters.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L26-L28: add a BLUF sentence under Code example.
📍 Affects 4 files
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md#L27-L44 (this comment)
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md#L25-L27
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md#L25-L34
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L26-L28
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md`
around lines 27 - 44, Add concise declarative BLUF sentences beneath the
specified headings: in
src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md
lines 27-44, add one under Code example and one under Parameters; in
src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md lines 25-27,
add one under Code example; in
src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md lines
25-34, add one under Code example and one under Parameters; and in
src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md lines
26-28, add one under Code example. Ensure each sentence directly states what the
section provides before any imperative text, imported code block, or parameter
table.

Source: Coding guidelines

Comment on lines +19 to +23
`das.getGroup` fetches one [mpl-core GroupV1](/smart-contracts/core/groups) by public key and returns a `GroupResult`.

- Typed for use with MPL Core SDKs
- Membership vectors may be empty depending on the indexer
- Prefer [`fetchGroupV1`](/smart-contracts/core/groups) when you need authoritative on-chain `collections` / `groups` / `assets` / `parentGroups`

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Link first mentions of Core DAS types and helpers to canonical pages.

Several key terms are introduced without canonical links.

  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md#L19-L23: link the first GroupResult mention.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md#L7-L13: link the first CollectionResult mention.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md#L27-L31: use a canonical target for das.getCollectionsByUpdateAuthority instead of the page’s own section anchor.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L19-L24: link the first MplCoreGroup mention to the Core groups concept page.
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L30-L34: link the first GroupResult mention to the canonical Core group result page.
📍 Affects 3 files
  • src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md#L19-L23 (this comment)
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md#L7-L13
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md#L27-L31
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L19-L24
  • src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md#L30-L34
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md` around
lines 19 - 23, Update the first Core DAS type/helper mentions with canonical
links: in src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md
lines 19-23 link GroupResult; in
src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md
lines 7-13 link CollectionResult and lines 27-31 link
das.getCollectionsByUpdateAuthority to its canonical page rather than the local
section anchor; in
src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md lines
19-24 link MplCoreGroup to the Core groups concept page and lines 30-34 link
GroupResult to the canonical Core group result page.

Source: Coding guidelines

### Discover registered agents

const umi = createUmi('<ENDPOINT>').use(dasApi());
`das.searchAssets({ isAgent: true })` finds Core assets with a registered [agent](/agents/) identity and may populate `is_agent`, `agent_token`, and `asset_signer` when indexed.

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
rg -n -A8 -B2 'das\.searchAssets' \
  src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md \
  src/examples/das-api/core-extension/search-assets-agents/index.js

Repository: metaplex-foundation/developer-hub

Length of output: 5076


🌐 Web query:

@metaplex-foundation/mpl-core-das dasApi searchAssets signature umi options

💡 Result:

In the @metaplex-foundation/mpl-core-das package, the searchAssets method is used to query MPL Core assets via the Digital Asset Standard (DAS) API [1][2][3]. When using this method with Umi, the search configuration accepts an input object that combines search criteria with optional display settings [4][5][2]. The function signature for searchAssets within the mpl-core-das package is defined as: das.searchAssets(context: Umi, input: Omit<SearchAssetsRpcInput, "interface" | "burnt"> & { interface?: "MplCoreAsset" | "MplCoreCollection"; } & AssetOptions): Promise<AssetResult[] | CollectionResult[]>; Key components of the input object include: 1. Search Criteria: You can filter assets using standard DAS parameters such as owner (publicKey), jsonUri, creatorAddress, and others [4][5][6]. The interface parameter is typically set to "MplCoreAsset" or "MplCoreCollection" when using this specific package to ensure correct type handling [1][2]. 2. Display Options (options): The input object supports an options parameter (often referred to as displayOptions in broader DAS usage) [5][7]. This object allows you to control additional information returned in the response, such as: - showCollectionMetadata: Boolean to include collection metadata [7]. - showFungible: Boolean to include fungible token information [7]. - showInscription: Boolean to include inscription data [7]. - showUnverifiedCollections: Boolean to include unverified collection data [7]. - showZeroBalance: Boolean to include assets with zero balance [7]. When using the mpl-core-das extension, the library automatically handles the conversion of DAS asset types into Core-specific types, making the returned data easier to integrate with other MPL Core SDK methods [3][8][9]. Always ensure your Umi instance is configured with both the base DAS API and the Core DAS extension to leverage these features [1][9].

Citations:


🌐 Web query:

source @metaplex-foundation/mpl-core-das dasApi searchAssets signature umi options

💡 Result:

When working with the @metaplex-foundation/mpl-core-das library in a Umi environment, the searchAssets method is used to query digital assets with specific filtering criteria [1][2]. The method is typically accessed via the das namespace after importing it from @metaplex-foundation/mpl-core-das [2][3]: import { publicKey } from '@metaplex-foundation/umi'; import { das } from '@metaplex-foundation/mpl-core-das'; // Example usage const foundAssets = await das.searchAssets(umi, { owner: publicKey(''), interface: 'MplCoreAsset', }); Parameters and Options The searchAssets function accepts a search input object containing various filtering criteria and optional display configurations [4][5]. Because the mpl-core-das library is an extension of the standard Digital Asset Standard (DAS) API, it inherits the standard DAS parameters [1][6]. Key parameters include: - owner: The public key of the asset owner [1][5]. - interface: The asset interface, such as 'MplCoreAsset' or 'MplCoreCollection' [4][5]. - conditionType: Determines if the search should match 'all' or 'any' of the provided criteria [1][5]. - negate: A boolean to invert the search criteria [1][5]. - sortBy & sortDirection: Criteria for ordering the results (e.g., 'created', 'updated') [1][7]. - pagination: Parameters such as limit, page, before, and after [1][7][5]. Display Options The searchAssets method supports an optional displayOptions object, which allows you to control how the returned asset data is formatted or what additional metadata fields are included in the response [7][5]. This is passed within the main search input object [5]. Note on Agent Data For MPL Core assets, the DAS API supports specific agent-related filters, including isAgent, agentToken, and assetSigner [8][5]. Note that these parameters use camelCase in request inputs, though they may be represented as snake_case in the underlying JSON-RPC responses [8]. Always ensure your DAS provider supports an indexer with agent registry support to utilize these filters effectively [8]. For detailed type definitions and the full list of available search inputs, refer to the SearchAssetsRpcInput type documentation within the digital-asset-standard-api package [5].

Citations:


🌐 Web query:

site:github.com/metaplex-foundation/mpl-core-das searchAssets 2 arguments

💡 Result:

searchAssets in @metaplex-foundation/mpl-core-das takes 2 arguments: the umi instance and a search criteria object. Example: das.searchAssets(umi, { owner: publicKey(...), interface: 'MplCoreAsset' }). (npmjs.com)

If you want, I can also show the exact TypeScript signature.

Citations:


🌐 Web query:

site:github.com/metaplex-foundation/das-api searchAssets searchAssetsRpcInput

💡 Result:

I found the Metaplex repo you likely want: metaplex-foundation/digital-asset-rpc-infrastructure, and it contains the das_api component for the Digital Asset RPC API. The repo README also says the API spec lives in metaplex-foundation/api-specifications. (github.com)

I didn’t get a direct web hit for the exact symbol searchAssetsRpcInput, so it may be defined in the API spec or a generated type rather than surfaced in GitHub search results. (github.com)

Citations:


Include the required umi argument in the inline call.

das.searchAssets takes the Umi instance as the first argument; this sentence leaves readers with a one-argument call that won’t match the API or the imported example.

Proposed wording
-`das.searchAssets({ isAgent: true })` finds Core assets
+`das.searchAssets(umi, { isAgent: true })` finds Core assets
📝 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
`das.searchAssets({ isAgent: true })` finds Core assets with a registered [agent](/agents/) identity and may populate `is_agent`, `agent_token`, and `asset_signer` when indexed.
`das.searchAssets(umi, { isAgent: true })` finds Core assets with a registered [agent](/agents/) identity and may populate `is_agent`, `agent_token`, and `asset_signer` when indexed.
🤖 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 `@src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md` at
line 35, Update the inline das.searchAssets example in the documentation
sentence to pass the required Umi instance as its first argument, matching the
imported example and the method’s API signature while preserving the existing
isAgent option.

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