1.5 KiB
1.5 KiB
ListUserAssets
Lists user-authored scripts, templates, and recordings stored in the caller's user folder (data/users/{userId}/).
Input
{
kind?: 'scripts' | 'templates' | 'recordings' | 'all' // default: 'all'
}
Output
Human-readable text listing each asset category.
Scripts (.js files in scripts/): each entry shows the filename, description, and declared params.
Templates and Recordings: filename, byte size, and last-modified timestamp.
Example output:
User folder for user-abc:
Scripts (2):
- foo.js: "Log into example.com" — params: [date:string]
- bar.js: "Check dashboard" — params: []
Templates (0):
(none)
Recordings (1):
- rec-2026-05-09T12-34-56.json (1234 bytes, 2026-05-09T12:34:56.000Z)
Owner gate
The tool always reads the folder of the authenticated caller (ctx.userId). There is no way to list another user's assets.
If the caller is unauthenticated (ctx.userId missing), the tool returns isError: true with a message about authentication.
Workflow example
ListUserAssets({ kind: 'scripts' })
→ see which scripts are available and what params they need
RunUserScript({ name: 'foo', params: { date: '2026-05-01' } })
→ execute the script
Notes
- Scripts without a frontmatter block are listed with an empty description and no params.
- A parse error in one script is reported inline for that entry; other scripts are still listed.
- The tool is a META_TOOL — no need to add it to
allowed_toolsin piece YAML.