yao/sitemap/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

103 lines
3.6 KiB
YAML

group: sitemap
type: process
desc: "Sitemap parsing, validation, discovery, fetching, and streaming build processes"
entries:
- name: parse
desc: Parse a sitemap XML string into a unified ParseResult, auto-detecting urlset or sitemapindex format
args:
- name: data
type: string
required: true
desc: "Sitemap XML string to parse"
return:
type: object
desc: "ParseResult with type (\"urlset\" or \"sitemapindex\"), urls (array of URL objects), and sitemaps (array of SitemapEntry objects)"
- name: validate
desc: Check whether a string is a valid sitemap XML document
args:
- name: data
type: string
required: true
desc: "Sitemap XML string to validate"
return:
type: any
desc: "True (bool) if valid; error description string if invalid"
- name: parserobo
desc: Extract sitemap URLs from robots.txt content (pure text parsing, no HTTP)
args:
- name: text
type: string
required: true
desc: "robots.txt content"
return:
type: array
desc: "Array of sitemap URL strings"
- name: discover
desc: Discover sitemap files for a domain via robots.txt and well-known paths, recursively expanding sitemapindex files
args:
- name: domain
type: string
required: true
desc: "Domain to discover sitemaps for (e.g. \"example.com\")"
- name: options
type: object
required: false
desc: "Options: user_agent (string), timeout (number, seconds)"
return:
type: object
desc: "DiscoverResult with sitemaps (array of SitemapLink objects with url, source, url_count, content_size, encoding, last_modified, etag) and total_urls (number)"
- name: fetch
desc: Fetch and parse URLs from sitemaps for a domain with pagination support
args:
- name: domain
type: string
required: true
desc: "Domain to fetch sitemaps for (e.g. \"example.com\")"
- name: options
type: object
required: false
desc: "Options: offset (number), limit (number, default/max 50000), user_agent (string), timeout (number, seconds)"
return:
type: object
desc: "FetchResult with urls (array of URL objects with loc, lastmod, changefreq, priority, images, videos, news) and total (number)"
- name: build.open
desc: Open a new streaming sitemap writer and return a UUID handle
args:
- name: options
type: object
required: true
desc: "Build options: dir (string, output directory path, required), base_url (string, URL prefix for index references, required if multiple files)"
return:
type: string
desc: "UUID handle string for use with build.write and build.close"
- name: build.write
desc: Write a batch of URLs to an open sitemap writer, automatically splitting at 50,000 URLs per file
args:
- name: handle
type: string
required: true
desc: "UUID handle from build.open"
- name: urls
type: array
required: true
desc: "Array of URL objects with loc (required), lastmod, changefreq, priority, images, videos, and news fields"
return:
type: "null"
desc: "Returns null on success"
- name: build.close
desc: Finalize the sitemap output, generate a sitemapindex if needed, and clean up the handle
args:
- name: handle
type: string
required: true
desc: "UUID handle from build.open"
return:
type: object
desc: "BuildResult with index (string, sitemap_index.xml path or empty), files (array of file paths), and total (number of URLs written)"