yao/sui/api/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

772 lines
19 KiB
YAML

group: sui
type: process
entries:
- name: setting
desc: Get the SUI instance settings
args:
- name: instance
type: string
required: true
desc: SUI instance name
return:
type: object
desc: SUI setting object
- name: render
desc: "[Internal] Render an HTML fragment by route. Do not use in scripts or flows, use template.render instead"
args:
- name: context
type: external
required: true
desc: Gin request context (*gin.Context)
- name: route
type: string
required: true
desc: Page route path
- name: payload
type: object
required: true
desc: "Render payload containing name (render target), data (template data), and option (render options)"
return:
type: string
desc: Rendered HTML string
- name: run
desc: "[Internal] Execute a page backend script method. Do not use in scripts or flows"
args:
- name: context
type: external
required: true
desc: Gin request context (*gin.Context)
- name: route
type: string
required: true
desc: Page route path
- name: payload
type: object
required: true
desc: "Execution payload with method (string, required) and args (array, optional)"
return:
type: any
desc: Script execution result
- name: template.get
desc: List all templates in the SUI instance
args:
- name: instance
type: string
required: true
desc: SUI instance name
return:
type: array
desc: Array of template objects
- name: template.find
desc: Find a template by ID
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: object
desc: Template object
- name: template.asset
desc: Get a template asset file content and MIME type
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: path
type: string
required: true
desc: Asset file path within the template
- name: width
type: number
required: false
desc: Optional image width for resizing
- name: height
type: number
required: false
desc: Optional image height for resizing
return:
type: object
desc: "Object with content (asset data) and type (MIME type)"
- name: template.assetupload
desc: Upload an asset file to a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: file
type: any
required: true
desc: "File data: *gin.Context (form upload with field 'file') or base64-encoded string"
- name: filename
type: string
required: false
desc: "Filename when uploading as base64 string (default: file.png)"
return:
type: any
desc: "Upload result: object with data and header (form upload), or file path string (base64)"
- name: template.render
desc: Compile and render a template page to HTML
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: source
type: string
required: true
desc: Page source path
- name: data
type: object
required: true
desc: Template data for rendering
- name: option
type: object
required: false
desc: "Render options with theme, locale, and data fields"
- name: request
type: object
required: false
desc: Override request object for rendering context
return:
type: string
desc: Rendered HTML string
- name: locale.get
desc: Get available locales for a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: array
desc: Array of locale select options, or empty array if none
- name: theme.get
desc: Get available themes for a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: array
desc: Array of theme objects
- name: block.get
desc: List all blocks in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: array
desc: Array of block objects
- name: block.find
desc: Get the source code of a block by ID
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: blockId
type: string
required: true
desc: Block ID (trailing .js suffix is stripped)
return:
type: string
desc: Block source code
- name: block.Media
desc: Get the media asset of a block
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: blockId
type: string
required: true
desc: Block ID (trailing .js suffix is stripped)
return:
type: object
desc: "Object with content (media data) and type (MIME type)"
- name: block.export
desc: Export block layout items from a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: array
desc: Array of block layout items
- name: component.get
desc: List all components in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: array
desc: Array of component objects
- name: component.find
desc: Get the source code of a component by ID
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: componentId
type: string
required: true
desc: Component ID (trailing .js suffix is stripped)
return:
type: string
desc: Component source code
- name: page.tree
desc: Get the page tree under a route
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: false
desc: "Route path (defaults to /index if empty)"
return:
type: object
desc: Page tree structure
- name: page.get
desc: List all pages in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
return:
type: array
desc: Array of page objects
- name: page.save
desc: Save a page source to the given route
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: source
type: any
required: true
desc: "Page source: RequestSource object, *gin.Context, JSON string, or map"
return:
type: "null"
desc: Returns null on success
- name: page.savetemp
desc: Temporarily save a page source (requires source.uid)
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: source
type: any
required: true
desc: "Page source with uid field required: RequestSource object, *gin.Context, JSON string, or map"
return:
type: "null"
desc: Returns null on success
- name: page.create
desc: Create a new empty page and optionally save initial source
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: source
type: any
required: false
desc: "Optional initial page source to save"
- name: payload
type: object
required: false
desc: "Optional payload with route (override) and title fields"
return:
type: "null"
desc: Returns null on success
- name: page.duplicate
desc: Duplicate a page to a new route
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: sourceRoute
type: string
required: true
desc: Source page route to copy from
- name: payload
type: object
required: false
desc: "Object with route (required, target path) and title (optional)"
return:
type: "null"
desc: Returns null on success
- name: page.rename
desc: Rename (move) a page to a new route
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: sourceRoute
type: string
required: true
desc: Current page route
- name: payload
type: object
required: true
desc: "Object with route field (required, new route path)"
return:
type: "null"
desc: Returns null on success
- name: page.remove
desc: Remove a page from the template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path to remove
return:
type: "null"
desc: Returns null on success
- name: page.exist
desc: Check if a page exists at the given route
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path to check
return:
type: bool
desc: True if the page exists
- name: page.asset
desc: Get the CSS or JS/TS asset content of a page
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: file
type: string
required: true
desc: "Asset file path (.css, .js, or .ts extension)"
return:
type: object
desc: "Object with content (asset data) and type (MIME type)"
- name: editor.render
desc: Render a page for the editor view
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
return:
type: any
desc: Editor render result
- name: editor.source
desc: Get page source code by kind for the editor
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: kind
type: string
required: true
desc: "Source kind: page, style, script, or data"
return:
type: any
desc: Source code content for the specified kind
- name: editor.renderaftersavetemp
desc: Temporarily save page source then render for the editor
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: source
type: any
required: true
desc: Page source to save temporarily (requires uid)
- name: extra
type: any
required: false
desc: Additional arguments passed to the editor render
return:
type: any
desc: Editor render result
- name: editor.sourceaftersavetemp
desc: Temporarily save page source then get editor source
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: source
type: any
required: true
desc: Page source to save temporarily (requires uid)
- name: extra
type: any
required: false
desc: Additional arguments passed to the editor source
return:
type: any
desc: Source code content for the specified kind
- name: media.search
desc: Search media assets in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: driver
type: string
required: true
desc: "Media driver name (e.g., local)"
- name: query
type: any
required: false
desc: "Search query parameters: map or url.Values. Supports page, pagesize, and template fields"
return:
type: any
desc: Media search results
- name: preview.render
desc: Render a page for preview
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: referer
type: string
required: false
desc: Optional referer URL
return:
type: string
desc: Preview HTML string
- name: build.all
desc: Build all pages in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: option
type: object
required: true
desc: "Build options with ssr (bool), asset_root (string), and data (object) fields"
return:
type: any
desc: Array of warnings if any, otherwise null
- name: build.page
desc: Build a single page in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: option
type: object
required: true
desc: "Build options with ssr (bool) and asset_root (string) fields"
- name: extra
type: any
required: false
desc: Reserved
- name: data
type: object
required: false
desc: Additional data for the build
return:
type: any
desc: Array of warnings if any, otherwise null
- name: trans.all
desc: Extract and translate all pages in a template
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: option
type: object
required: true
desc: "Translation options with ssr (bool), asset_root (string), and data (object) fields"
return:
type: any
desc: Array of warnings if any, otherwise null
- name: trans.page
desc: Extract and translate a single page
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: route
type: string
required: true
desc: Page route path
- name: option
type: object
required: true
desc: "Translation options with ssr (bool) and asset_root (string) fields"
- name: extra
type: any
required: false
desc: Reserved
- name: data
type: object
required: false
desc: Additional data for the translation
return:
type: any
desc: Array of warnings if any, otherwise null
- name: sync.assetfile
desc: "[Deprecated] Sync a single asset file in a template"
args:
- name: instance
type: string
required: true
desc: SUI instance name
- name: templateId
type: string
required: true
desc: Template ID
- name: filename
type: string
required: true
desc: Asset filename to sync
- name: option
type: object
required: true
desc: "Sync options with ssr (bool), asset_root (string), and data (object) fields"
return:
type: "null"
desc: Returns null on success
- name: types.QueryParam
desc: "[Deprecated] Convert various input formats to a query parameter structure"
args:
- name: input
type: any
required: true
desc: "Input data: url.Values, map[string][]string, map[string]interface{}, or any serializable value"
return:
type: any
desc: Converted query parameter structure