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
473 lines
12 KiB
YAML
473 lines
12 KiB
YAML
group: xiang.helper
|
|
type: process
|
|
entries:
|
|
# Array operations
|
|
- name: ArrayPluck
|
|
desc: "[Deprecated: use utils.arr.Pluck] Merge multiple record sets into one by plucking specified columns"
|
|
args:
|
|
- name: columns
|
|
type: array
|
|
required: true
|
|
desc: Array of column names to pluck
|
|
- name: data
|
|
type: object
|
|
required: true
|
|
desc: Map of column names to value arrays
|
|
return:
|
|
type: array
|
|
desc: Merged array of records
|
|
|
|
- name: ArraySplit
|
|
desc: "[Deprecated: use utils.arr.Split] Split an array of records into columns and values"
|
|
args:
|
|
- name: records
|
|
type: array
|
|
required: true
|
|
desc: Array of record objects
|
|
return:
|
|
type: object
|
|
desc: "Object with columns (string[]) and values (any[][])"
|
|
|
|
- name: ArrayColumn
|
|
desc: "[Deprecated: use utils.arr.Column] Extract values of a specified field from an array of records"
|
|
args:
|
|
- name: records
|
|
type: array
|
|
required: true
|
|
desc: Array of record objects
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Field name to extract
|
|
return:
|
|
type: array
|
|
desc: Array of field values
|
|
|
|
- name: ArrayKeep
|
|
desc: "[Deprecated: use utils.arr.Keep] Keep only specified keys in each record"
|
|
args:
|
|
- name: records
|
|
type: array
|
|
required: true
|
|
desc: Array of record objects
|
|
- name: columns
|
|
type: array
|
|
required: true
|
|
desc: Array of key names to keep
|
|
return:
|
|
type: array
|
|
desc: Filtered array of records
|
|
|
|
- name: ArrayTree
|
|
desc: "[Deprecated: use utils.arr.Tree] Convert a flat array of records into a tree structure"
|
|
args:
|
|
- name: records
|
|
type: array
|
|
required: true
|
|
desc: Array of record objects
|
|
- name: setting
|
|
type: object
|
|
required: true
|
|
desc: "Tree settings: {primary, parent, children, etc.}"
|
|
return:
|
|
type: array
|
|
desc: Tree-structured array
|
|
|
|
- name: ArrayUnique
|
|
desc: "[Deprecated: use utils.arr.Unique] Remove duplicate values from an array"
|
|
args:
|
|
- name: array
|
|
type: array
|
|
required: true
|
|
desc: Array to deduplicate
|
|
return:
|
|
type: array
|
|
desc: Array with duplicates removed
|
|
|
|
- name: ArrayMapSet
|
|
desc: "[Deprecated: use utils.arr.MapSet] Set a field value on every map in an array"
|
|
args:
|
|
- name: records
|
|
type: array
|
|
required: true
|
|
desc: Array of map objects
|
|
- name: key
|
|
type: string
|
|
required: true
|
|
desc: Key to set in each map
|
|
- name: value
|
|
type: any
|
|
required: true
|
|
desc: Value to set
|
|
return:
|
|
type: array
|
|
desc: Modified array
|
|
|
|
- name: ArrayIndexes
|
|
desc: "[Deprecated: use utils.arr.Indexes] Return the index numbers of an array"
|
|
args:
|
|
- name: array
|
|
type: array
|
|
required: true
|
|
desc: Input array
|
|
return:
|
|
type: array
|
|
desc: Array of integer indexes
|
|
|
|
- name: ArrayGet
|
|
desc: "[Deprecated: use utils.arr.Get] Get an element at a specified index from an array"
|
|
args:
|
|
- name: array
|
|
type: array
|
|
required: true
|
|
desc: Input array
|
|
- name: index
|
|
type: number
|
|
required: true
|
|
desc: Index to retrieve
|
|
return:
|
|
type: any
|
|
desc: Element at the given index, or null if out of range
|
|
|
|
# Map operations
|
|
- name: MapKeys
|
|
desc: "[Deprecated: use utils.map.Keys] Return all keys of a map"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
return:
|
|
type: array
|
|
desc: Array of key strings
|
|
|
|
- name: MapValues
|
|
desc: "[Deprecated: use utils.map.Values] Return all values of a map"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
return:
|
|
type: array
|
|
desc: Array of values
|
|
|
|
- name: MapGet
|
|
desc: "[Deprecated: use utils.map.Get] Get a value by key from a map (supports dot notation)"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
- name: key
|
|
type: string
|
|
required: true
|
|
desc: Key name (supports dot notation for nested access)
|
|
return:
|
|
type: any
|
|
desc: Value at the given key
|
|
|
|
- name: MapSet
|
|
desc: "[Deprecated: use utils.map.Set] Set a key-value pair in a map (supports dot notation)"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
- name: key
|
|
type: string
|
|
required: true
|
|
desc: Key name (supports dot notation for nested access)
|
|
- name: value
|
|
type: any
|
|
required: true
|
|
desc: Value to set
|
|
return:
|
|
type: object
|
|
desc: Modified map
|
|
|
|
- name: MapDel
|
|
desc: "[Deprecated: use utils.map.Del] Delete a key from a map"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
- name: key
|
|
type: string
|
|
required: true
|
|
desc: Key name to delete
|
|
return:
|
|
type: object
|
|
desc: Modified map
|
|
|
|
- name: MapMultiDel
|
|
desc: "[Deprecated: use utils.map.DelMany] Delete multiple keys from a map"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
- name: keys
|
|
type: string
|
|
required: true
|
|
desc: Keys to delete (variadic)
|
|
return:
|
|
type: object
|
|
desc: Modified map
|
|
|
|
- name: MapToArray
|
|
desc: "[Deprecated: use utils.map.Array] Convert a map to an array of key-value objects"
|
|
args:
|
|
- name: record
|
|
type: object
|
|
required: true
|
|
desc: Input map
|
|
return:
|
|
type: array
|
|
desc: "Array of {key, value} objects"
|
|
|
|
# String operations
|
|
- name: StrConcat
|
|
desc: "[Deprecated: use utils.str.Concat] Concatenate multiple values into a string"
|
|
args:
|
|
- name: values
|
|
type: any
|
|
required: true
|
|
desc: Values to concatenate (variadic, minimum 2)
|
|
return:
|
|
type: string
|
|
desc: Concatenated string
|
|
|
|
- name: HexToString
|
|
desc: "[Deprecated: use utils.str.Hex] Encode a string or byte array to hexadecimal"
|
|
args:
|
|
- name: input
|
|
type: any
|
|
required: true
|
|
desc: String or byte array to encode
|
|
return:
|
|
type: string
|
|
desc: Hex-encoded string
|
|
|
|
# Captcha
|
|
- name: Captcha
|
|
desc: "[Deprecated: use utils.captcha.Make] Generate a captcha image/audio"
|
|
args:
|
|
- name: params
|
|
type: any
|
|
required: true
|
|
desc: "URL-style params with width, height, length, type, lang, background"
|
|
return:
|
|
type: object
|
|
desc: "Object with id and content (base64 image/audio data)"
|
|
|
|
- name: CaptchaValidate
|
|
desc: "[Deprecated: use utils.captcha.Verify] Validate a captcha code"
|
|
args:
|
|
- name: id
|
|
type: string
|
|
required: true
|
|
desc: Captcha ID
|
|
- name: code
|
|
type: string
|
|
required: true
|
|
desc: User-entered captcha code
|
|
return:
|
|
type: bool
|
|
desc: True if valid; throws exception if invalid
|
|
|
|
# Password
|
|
- name: PasswordValidate
|
|
desc: "[Deprecated: use utils.pwd.Verify] Validate a password against a bcrypt hash"
|
|
args:
|
|
- name: password
|
|
type: string
|
|
required: true
|
|
desc: Plain text password
|
|
- name: passwordHash
|
|
type: string
|
|
required: true
|
|
desc: Bcrypt hash to compare against
|
|
return:
|
|
type: bool
|
|
desc: True if password matches; throws exception if invalid
|
|
|
|
# JWT
|
|
- name: JwtMake
|
|
desc: "[Deprecated: use utils.jwt.Make] Generate a JWT token"
|
|
args:
|
|
- name: id
|
|
type: number
|
|
required: true
|
|
desc: User ID
|
|
- name: data
|
|
type: object
|
|
required: true
|
|
desc: Custom claims data
|
|
- name: option
|
|
type: object
|
|
required: false
|
|
desc: "Options: {subject, audience, issuer, timeout (seconds), sid, expires_at}"
|
|
return:
|
|
type: object
|
|
desc: "JWT token object with token string and expires_at timestamp"
|
|
|
|
- name: JwtValidate
|
|
desc: "[Deprecated: use utils.jwt.Verify] Validate and parse a JWT token"
|
|
args:
|
|
- name: token
|
|
type: string
|
|
required: true
|
|
desc: JWT token string
|
|
return:
|
|
type: object
|
|
desc: "Decoded JWT claims: {id, sid, data, ...standard claims}"
|
|
|
|
# Flow control
|
|
- name: For
|
|
desc: "[Deprecated: use utils.flow.For] Execute a process in a loop from start to end"
|
|
args:
|
|
- name: from
|
|
type: number
|
|
required: true
|
|
desc: Start index (inclusive)
|
|
- name: to
|
|
type: number
|
|
required: true
|
|
desc: End index (exclusive)
|
|
- name: process
|
|
type: object
|
|
required: true
|
|
desc: "Process definition: {process: \"name\", args: [\"::key\", \"::value\"]}"
|
|
return:
|
|
type: "null"
|
|
desc: Returns null
|
|
|
|
- name: Each
|
|
desc: "[Deprecated: use utils.flow.Each] Iterate over a value (array, map, or integer) and execute a process"
|
|
args:
|
|
- name: data
|
|
type: any
|
|
required: true
|
|
desc: Value to iterate over (array, map, or integer)
|
|
- name: process
|
|
type: object
|
|
required: true
|
|
desc: "Process definition: {process: \"name\", args: [\"::key\", \"::value\"]}"
|
|
return:
|
|
type: "null"
|
|
desc: Returns null
|
|
|
|
- name: Case
|
|
desc: "[Deprecated: use utils.flow.Case] Execute the first process whose conditions are met"
|
|
args:
|
|
- name: cases
|
|
type: object
|
|
required: true
|
|
desc: "Case objects (variadic): {when: [{...conditions}], process: \"name\", args: [...]}"
|
|
return:
|
|
type: any
|
|
desc: Return value from the matched process, or null if no match
|
|
|
|
- name: IF
|
|
desc: "[Deprecated: use utils.flow.IF] Conditional execution with optional else branch"
|
|
args:
|
|
- name: condition
|
|
type: object
|
|
required: true
|
|
desc: "Primary condition: {when: [{...conditions}], process: \"name\", args: [...]}"
|
|
- name: else
|
|
type: object
|
|
required: false
|
|
desc: "Else condition: {when: [{...conditions}], process: \"name\", args: [...]}"
|
|
return:
|
|
type: any
|
|
desc: Return value from the executed process, or null
|
|
|
|
- name: Throw
|
|
desc: "[Deprecated: use utils.flow.Throw] Throw an exception with a message and HTTP status code"
|
|
args:
|
|
- name: message
|
|
type: string
|
|
required: true
|
|
desc: Error message
|
|
- name: code
|
|
type: number
|
|
required: true
|
|
desc: HTTP status code
|
|
return:
|
|
type: void
|
|
desc: Does not return; throws exception
|
|
|
|
- name: Return
|
|
desc: "[Deprecated: use utils.flow.Return] Return all arguments as-is"
|
|
args:
|
|
- name: values
|
|
type: any
|
|
required: false
|
|
desc: Values to return (variadic)
|
|
return:
|
|
type: array
|
|
desc: Array of all passed arguments
|
|
|
|
# Environment
|
|
- name: EnvGet
|
|
desc: "[Deprecated: use utils.env.Get] Get an environment variable value"
|
|
args:
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Environment variable name
|
|
return:
|
|
type: string
|
|
desc: Environment variable value
|
|
|
|
- name: EnvSet
|
|
desc: "[Deprecated: use utils.env.Set] Set an environment variable"
|
|
args:
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Environment variable name
|
|
- name: value
|
|
type: string
|
|
required: true
|
|
desc: Value to set
|
|
return:
|
|
type: any
|
|
desc: Error on failure, null on success
|
|
|
|
- name: EnvMultiGet
|
|
desc: "[Deprecated: use utils.env.GetMany] Get multiple environment variable values"
|
|
args:
|
|
- name: names
|
|
type: string
|
|
required: true
|
|
desc: Environment variable names (variadic)
|
|
return:
|
|
type: object
|
|
desc: Map of variable names to their values
|
|
|
|
- name: EnvMultiSet
|
|
desc: "[Deprecated: use utils.env.SetMany] Set multiple environment variables"
|
|
args:
|
|
- name: envs
|
|
type: object
|
|
required: true
|
|
desc: Map of variable names to values
|
|
return:
|
|
type: any
|
|
desc: Error on failure, null on success
|
|
|
|
# Print
|
|
- name: Print
|
|
desc: "[Deprecated: use utils.fmt.Print] Print values to stdout (debug dump)"
|
|
args:
|
|
- name: values
|
|
type: any
|
|
required: true
|
|
desc: Values to print (variadic)
|
|
return:
|
|
type: "null"
|
|
desc: Returns null
|