DatasetsManager.list()
新增於: @mastra/core@1.4.0
以分頁方式列出資料集,並支援選用篩選條件。篩選條件會套用在儲存層,因此呼叫方不必再篩選結果。
使用範例「使用範例」的直接連結
import { Mastra } from '@mastra/core'
const mastra = new Mastra({/* storage config */})
const { datasets, pagination } = await mastra.datasets.list({ page: 0, perPage: 10 })
for (const ds of datasets) {
console.log(`${ds.id}: ${ds.name} (v${ds.version})`)
}
// Filter by target type and name (case-insensitive substring)
const filtered = await mastra.datasets.list({
page: 0,
perPage: 20,
filters: { targetType: 'agent', name: 'qa' },
})
// Filter by any-overlap match on target IDs
const forAgents = await mastra.datasets.list({
filters: { targetIds: ['agent-a', 'agent-b'] },
})
參數「參數」的直接連結
page?:
number
頁碼。預設為
0。perPage?:
number
每頁的資料集數。預設為
20。filters?:
object
套用在儲存層的選用篩選條件。
object
organizationId?:
string
租戶篩選:僅保留此組織中的資料集。
projectId?:
string
租戶篩選:僅保留此項目中的資料集。
candidateKey?:
string
僅保留屬於此 candidate key 的資料集。
candidateId?:
string
僅保留屬於此 candidate ID 的資料集。
targetType?:
'agent' | 'workflow' | 'scorer' | 'processor'
僅保留以此元件類型為目標的資料集。
targetIds?:
string[]
僅保留
targetIds 與此清單存在交集的資料集(任意重疊相符)。空陣列視為不篩選。name?:
string
對資料集
name 進行不區分大小寫的子字串相符。空字串視為不篩選。傳回值「傳回值」的直接連結
result:
Promise<object>
分頁的資料集清單。
object
datasets:
DatasetRecord[]
資料集記錄陣列。記錄結構請參閱 dataset.getDetails()。
pagination:
PaginationInfo
包含
total、page、perPage 和 hasMore 的分頁中繼資料。