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
678 lines
16 KiB
YAML
678 lines
16 KiB
YAML
group: excel
|
|
type: process
|
|
entries:
|
|
# File operations
|
|
- name: open
|
|
desc: Open an Excel file and return a handle for subsequent operations
|
|
args:
|
|
- name: file
|
|
type: string
|
|
required: true
|
|
desc: File path relative to the data directory
|
|
- name: writable
|
|
type: bool
|
|
required: false
|
|
desc: "Whether to open in writable mode (default: false)"
|
|
return:
|
|
type: string
|
|
desc: Handle string for referencing the opened file
|
|
|
|
- name: close
|
|
desc: Close an opened Excel file and release resources
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: save
|
|
desc: Save the current state of an opened Excel file to disk
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: sheets
|
|
desc: Get the list of sheet names in an Excel file
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
return:
|
|
type: array
|
|
desc: Array of sheet name strings
|
|
|
|
# Sheet operations
|
|
- name: sheet.create
|
|
desc: Create a new sheet in an Excel file
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Name for the new sheet
|
|
return:
|
|
type: number
|
|
desc: Index of the created sheet
|
|
|
|
- name: sheet.read
|
|
desc: Read all data from a sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
return:
|
|
type: array
|
|
desc: 2D array of sheet data
|
|
|
|
- name: sheet.update
|
|
desc: Update a sheet with new data (overwrites existing content)
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: data
|
|
type: array
|
|
required: true
|
|
desc: 2D array of data to write
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: sheet.delete
|
|
desc: Delete a sheet from an Excel file
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Sheet name to delete
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: sheet.copy
|
|
desc: Copy a sheet to a new sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: source
|
|
type: string
|
|
required: true
|
|
desc: Source sheet name
|
|
- name: target
|
|
type: string
|
|
required: true
|
|
desc: Target sheet name
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: sheet.list
|
|
desc: List all sheets with their metadata
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
return:
|
|
type: array
|
|
desc: Array of sheet information objects
|
|
|
|
- name: sheet.exists
|
|
desc: Check if a sheet exists in an Excel file
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Sheet name to check
|
|
return:
|
|
type: bool
|
|
desc: True if the sheet exists
|
|
|
|
- name: sheet.rows
|
|
desc: Read a range of rows from a sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: start
|
|
type: number
|
|
required: true
|
|
desc: Start row index (0-based)
|
|
- name: size
|
|
type: number
|
|
required: true
|
|
desc: Number of rows to read
|
|
return:
|
|
type: array
|
|
desc: 2D array of row data
|
|
|
|
- name: sheet.dimension
|
|
desc: Get the dimensions (rows and columns count) of a sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
return:
|
|
type: object
|
|
desc: "Object with rows and cols counts (e.g. {rows: 100, cols: 10})"
|
|
|
|
# Read operations
|
|
- name: read.cell
|
|
desc: Read the value of a single cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\", \"B2\")"
|
|
return:
|
|
type: string
|
|
desc: Cell value as string
|
|
|
|
- name: read.row
|
|
desc: Read all rows from a sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
return:
|
|
type: array
|
|
desc: 2D array of all row data
|
|
|
|
- name: read.column
|
|
desc: Read all columns from a sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
return:
|
|
type: array
|
|
desc: 2D array of column data
|
|
|
|
# Write operations
|
|
- name: write.cell
|
|
desc: Write a value to a single cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\")"
|
|
- name: value
|
|
type: any
|
|
required: true
|
|
desc: Value to write
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: write.row
|
|
desc: Write values to a row starting from a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Starting cell reference (e.g. \"A1\")"
|
|
- name: values
|
|
type: array
|
|
required: true
|
|
desc: Array of values to write across the row
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: write.column
|
|
desc: Write values to a column starting from a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Starting cell reference (e.g. \"A1\")"
|
|
- name: values
|
|
type: array
|
|
required: true
|
|
desc: Array of values to write down the column
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: write.all
|
|
desc: Write a 2D array of data starting from a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Starting cell reference (e.g. \"A1\")"
|
|
- name: values
|
|
type: array
|
|
required: true
|
|
desc: 2D array of values (array of row arrays)
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
# Style & formatting
|
|
- name: set.style
|
|
desc: Apply a style to a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\")"
|
|
- name: styleID
|
|
type: number
|
|
required: true
|
|
desc: Style ID to apply
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.formula
|
|
desc: Set a formula for a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\")"
|
|
- name: formula
|
|
type: string
|
|
required: true
|
|
desc: "Excel formula string (e.g. \"=SUM(A1:A10)\")"
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.link
|
|
desc: Set a hyperlink for a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\")"
|
|
- name: link
|
|
type: string
|
|
required: true
|
|
desc: Hyperlink URL
|
|
- name: text
|
|
type: string
|
|
required: true
|
|
desc: Link type or display text
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.richtext
|
|
desc: Set rich text content for a cell
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\")"
|
|
- name: richText
|
|
type: array
|
|
required: true
|
|
desc: "Array of rich text run objects: [{text: \"...\"}]"
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.comment
|
|
desc: Set a comment on a sheet
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: comment
|
|
type: object
|
|
required: true
|
|
desc: Comment data object
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.rowheight
|
|
desc: Set the height of a row
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: row
|
|
type: number
|
|
required: true
|
|
desc: Row number (1-based)
|
|
- name: height
|
|
type: number
|
|
required: true
|
|
desc: Row height in points
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.columnwidth
|
|
desc: Set the width of columns in a range
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: startCol
|
|
type: string
|
|
required: true
|
|
desc: "Start column letter (e.g. \"A\")"
|
|
- name: endCol
|
|
type: string
|
|
required: true
|
|
desc: "End column letter (e.g. \"D\")"
|
|
- name: width
|
|
type: number
|
|
required: true
|
|
desc: Column width
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.mergecell
|
|
desc: Merge a range of cells
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: start
|
|
type: string
|
|
required: true
|
|
desc: "Top-left cell reference (e.g. \"A1\")"
|
|
- name: end
|
|
type: string
|
|
required: true
|
|
desc: "Bottom-right cell reference (e.g. \"D4\")"
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
- name: set.unmergecell
|
|
desc: Unmerge a range of cells
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
- name: start
|
|
type: string
|
|
required: true
|
|
desc: "Top-left cell reference (e.g. \"A1\")"
|
|
- name: end
|
|
type: string
|
|
required: true
|
|
desc: "Bottom-right cell reference (e.g. \"D4\")"
|
|
return:
|
|
type: "null"
|
|
desc: Returns null on success
|
|
|
|
# Iterator operations
|
|
- name: each.openrow
|
|
desc: Open a row iterator for streaming row-by-row reading
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
return:
|
|
type: string
|
|
desc: Iterator ID for use with nextrow/closerow
|
|
|
|
- name: each.closerow
|
|
desc: Close a row iterator and release resources
|
|
args:
|
|
- name: id
|
|
type: string
|
|
required: true
|
|
desc: Iterator ID from each.openrow
|
|
return:
|
|
type: "null"
|
|
desc: Returns null
|
|
|
|
- name: each.nextrow
|
|
desc: Get the next row from the iterator; returns null when exhausted
|
|
args:
|
|
- name: id
|
|
type: string
|
|
required: true
|
|
desc: Iterator ID from each.openrow
|
|
return:
|
|
type: array
|
|
desc: Array of cell values for the row, or null if no more rows
|
|
|
|
- name: each.opencolumn
|
|
desc: Open a column iterator for streaming column-by-column reading
|
|
args:
|
|
- name: handle
|
|
type: string
|
|
required: true
|
|
desc: File handle from excel.open
|
|
- name: sheet
|
|
type: string
|
|
required: true
|
|
desc: Sheet name
|
|
return:
|
|
type: string
|
|
desc: Iterator ID for use with nextcolumn/closecolumn
|
|
|
|
- name: each.closecolumn
|
|
desc: Close a column iterator and release resources
|
|
args:
|
|
- name: id
|
|
type: string
|
|
required: true
|
|
desc: Iterator ID from each.opencolumn
|
|
return:
|
|
type: "null"
|
|
desc: Returns null
|
|
|
|
- name: each.nextcolumn
|
|
desc: Get the next column from the iterator; returns null when exhausted
|
|
args:
|
|
- name: id
|
|
type: string
|
|
required: true
|
|
desc: Iterator ID from each.opencolumn
|
|
return:
|
|
type: array
|
|
desc: Array of cell values for the column, or null if no more columns
|
|
|
|
# Conversion utilities
|
|
- name: convert.columnnametonumber
|
|
desc: "Convert a column letter name to a number (e.g. \"A\" -> 1, \"Z\" -> 26)"
|
|
args:
|
|
- name: name
|
|
type: string
|
|
required: true
|
|
desc: "Column letter name (e.g. \"A\", \"AB\")"
|
|
return:
|
|
type: number
|
|
desc: Column number (1-based)
|
|
|
|
- name: convert.columnnumbertoname
|
|
desc: "Convert a column number to a letter name (e.g. 1 -> \"A\", 26 -> \"Z\")"
|
|
args:
|
|
- name: number
|
|
type: number
|
|
required: true
|
|
desc: Column number (1-based)
|
|
return:
|
|
type: string
|
|
desc: Column letter name
|
|
|
|
- name: convert.cellnametocoordinates
|
|
desc: "Convert a cell name to column and row coordinates (e.g. \"B3\" -> [2, 3])"
|
|
args:
|
|
- name: cell
|
|
type: string
|
|
required: true
|
|
desc: "Cell reference (e.g. \"A1\", \"B3\")"
|
|
return:
|
|
type: array
|
|
desc: "[column, row] coordinates (1-based)"
|
|
|
|
- name: convert.coordinatestocellname
|
|
desc: "Convert column and row coordinates to a cell name (e.g. 2, 3 -> \"B3\")"
|
|
args:
|
|
- name: col
|
|
type: number
|
|
required: true
|
|
desc: Column number (1-based)
|
|
- name: row
|
|
type: number
|
|
required: true
|
|
desc: Row number (1-based)
|
|
return:
|
|
type: string
|
|
desc: "Cell reference string (e.g. \"B3\")"
|