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

66 lines
2.2 KiB
YAML

group: rss
type: process
desc: "RSS/Atom feed parsing, validation, building, discovery, and fetching processes"
entries:
- name: parse
desc: Parse an RSS 2.0 or Atom 1.0 XML string into a unified Feed object with auto-format detection and podcast metadata extraction
args:
- name: data
type: string
required: true
desc: "Feed XML string to parse"
return:
type: object
desc: "Feed object with format, title, link, description, language, updated, items (array), and podcast (object or null) fields"
- name: validate
desc: Check whether a string is a valid RSS 2.0 or Atom 1.0 feed
args:
- name: data
type: string
required: true
desc: "Feed XML string to validate"
return:
type: any
desc: "True (bool) if valid; error description string if invalid"
- name: discover
desc: Extract feed URLs from HTML, Markdown, or plain text content using regex-based detection (no network requests)
args:
- name: text
type: string
required: true
desc: "Text content to scan for feed URLs"
return:
type: array
desc: "Array of FeedLink objects with url, title, and type fields"
- name: build
desc: Generate an XML feed document from a Feed object
args:
- name: feed
type: object
required: true
desc: "Feed object (same structure as rss.parse output)"
- name: format
type: string
required: false
desc: "Output format: \"rss\" (default) or \"atom\""
return:
type: string
desc: "XML feed document string"
- name: fetch
desc: Fetch a remote RSS/Atom feed by URL and return the parsed Feed with HTTP metadata for conditional polling
args:
- name: url
type: string
required: true
desc: "Feed URL to fetch"
- name: options
type: object
required: false
desc: "Fetch options: user_agent (string), timeout (number, seconds), etag (string, for If-None-Match), last_modified (string, for If-Modified-Since)"
return:
type: object
desc: "FetchResult with feed (object or null), status_code (number), etag (string), last_modified (string), and not_modified (bool) fields"