Library & Tools
client.library — search the public catalog, resolve nodes, and manage private tools and modules.
On this page3
client.library
Public tools, scripts, modules, and splitters, plus helpers to build workflow nodes.
| Method | Description |
|---|---|
search(params?, options?) | AsyncGenerator<LibraryItem> |
getTool(id) / getScript(id) / getModule(id) / getSplitter(id) | By id |
getLatestTool(name) / getLatestModule(id) | Latest version |
searchSplitters(…) | Splitter search |
resolveToolNode(…) / resolveModuleNode(…) / resolveScriptNode(…) | Node payloads for graph builders |
createTool(…) / updateTool(…) / deleteTool(…) | Private tool YAML lifecycle |
getToolByName(name) | Fuzzy lookup |
listTools(options?) | Paginated private tools in vault |
createModule(…) / updateModule(…) / deleteModule(…) | Module lifecycle |
listModules(…) | Module search/list |
for await (const item of client.library.search({ query: 'subfinder', types: 'tool' })) {
console.log(item.name, item.id)
}
const resolved = await client.library.resolveToolNode({
name: 'httpx',
// … see ResolveNodeResponse in types
})Types: LibraryItem, LibrarySearchParams, ResolveNodeResponse
Private tools vs listTools
listTools() returns the paginated API envelope { results, next, count, … } — same
shape as the CLI tool list command, not a bare array.
const page = await client.library.listTools()
for (const tool of page.results) {
console.log(tool.name)
}