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
66 lines
2.2 KiB
YAML
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"
|