yao/attachment/doc.yml
Max efc84fbb97 feat(doc): add yao doc CLI commands and YAML documentation for all packages
Implement yao doc process list/inspect/validate and yao doc runtime
list/inspect/validate commands. Validate uses engine addressing logic
(process.Of) and checks dynamic-ID group registries (model, store, fs,
task, schedule) to verify resources actually exist.

- cmd/doc/: CLI command tree with process and runtime subcommands
- cmd/root.go: wire docCmd into rootCmd
- 27 process doc.yml + doc.go pairs across yao packages
- cmd/doc/doc_test.go: integration tests

Made-with: Cursor
2026-04-23 21:37:43 +08:00

177 lines
5 KiB
YAML

group: attachment
type: process
desc: "File attachment management processes for uploading, reading, listing, and managing files"
entries:
- name: Save
desc: Save a file from base64 data URI or plain base64 string
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID (e.g. \"default\", \"__yao.attachment\")"
- name: content
type: string
required: true
desc: "Base64 data URI (e.g. \"data:image/png;base64,xxxx\") or plain base64 string"
- name: filename
type: string
required: false
desc: "Original filename; auto-generated from content type if omitted"
- name: option
type: object
required: false
desc: "Upload options: groups (array), gzip (bool), compress_image (bool), compress_size (number), public (bool), share (string: \"private\" or \"team\")"
return:
type: object
desc: "File object with file_id, path, bytes, created_at, filename, content_type, and status fields"
- name: Read
desc: Read file content as a base64 data URI
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID to read"
return:
type: string
desc: "Base64 data URI string (e.g. \"data:image/png;base64,xxxx\")"
- name: Info
desc: Get file metadata information
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID to query"
return:
type: object
desc: "File object with file_id, path, bytes, created_at, filename, content_type, and status fields"
- name: List
desc: List files with pagination and filtering
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: option
type: object
required: false
desc: "List options: page (number), page_size (number, max 100), filters (object), order_by (string), select (array of field names)"
return:
type: object
desc: "Paginated result with files (array), total (number), page (number), page_size (number), and total_pages (number)"
- name: Delete
desc: Delete a file by ID
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID to delete"
return:
type: bool
desc: "True on success"
- name: Exists
desc: Check if a file exists
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID to check"
return:
type: bool
desc: "True if the file exists"
- name: URL
desc: Get the URL for a file
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID"
return:
type: string
desc: "File URL string"
- name: SaveText
desc: Save parsed text content for a file
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID to save text for"
- name: text
type: string
required: true
desc: "Text content to save"
return:
type: bool
desc: "True on success"
- name: GetText
desc: Get parsed text content for a file
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID"
- name: fileID
type: string
required: true
desc: "File ID to get text for"
- name: fullContent
type: bool
required: false
desc: "If true, return full content; if false (default), return preview (first 2000 chars)"
return:
type: string
desc: "Text content string"
- name: Zip
desc: Package multiple attachment files into a zip archive and upload it
args:
- name: uploaderID
type: string
required: true
desc: "Uploader/manager ID (e.g. \"__yao.attachment\")"
- name: fileIDs
type: array
required: true
desc: "Array of file ID strings to include in the zip"
- name: zipFilename
type: string
required: true
desc: "Output zip filename (e.g. \"archive.zip\"); .zip extension added automatically if missing"
- name: option
type: object
required: false
desc: "Upload options for the zip file: groups (array), gzip (bool), public (bool), share (string)"
return:
type: object
desc: "Uploaded zip file object with file_id, filename, bytes, and other file metadata"