yao/pipe
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
..
ui/cli Refactor UI rendering and add support for web UI 2024-02-15 10:10:33 +08:00
context.go Refactor error handling in various components to improve logging and message formatting 2025-09-28 10:24:17 +08:00
doc.go feat(doc): add yao doc CLI commands and YAML documentation for all packages 2026-04-23 21:37:43 +08:00
doc.yml feat(doc): add yao doc CLI commands and YAML documentation for all packages 2026-04-23 21:37:43 +08:00
doc_pipes.yml feat(doc): add yao doc CLI commands and YAML documentation for all packages 2026-04-23 21:37:43 +08:00
expression.go chore: Update go-colorable dependency to v0.1.14 and refactor expression execution 2025-03-28 23:37:13 +08:00
json.go [add] pipe widget (dev 80%) 2024-02-14 21:33:04 +08:00
node.go Refactor error handling in various components to improve logging and message formatting 2025-09-28 10:24:17 +08:00
pipe.go fix: Enhance loading functions to handle non-existent directories 2025-05-13 09:10:10 +08:00
pipe_test.go pipe widget add process handlers 2024-02-15 10:48:44 +08:00
process.go Update pipe widget with new processes 2024-02-17 21:12:28 +08:00
process_test.go Update pipe widget with new processes 2024-02-17 21:12:28 +08:00
README.md Update pipe widget with new processes 2024-02-17 21:12:28 +08:00
types.go Refactor UI rendering and add support for web UI 2024-02-15 10:10:33 +08:00
utils.go [add] pipe widget (dev 80%) 2024-02-14 21:33:04 +08:00

Pipe

Pipe Widget is used for complex logic orchestration, serving as an alternative to Flow.

Warning:

Pipe Widget is an experimental feature and not recommended for production use.

Usage Scenario

Generating DSL from a graphical interface, implementing simple functional logic extensions on the application side.

DSL

CLI: https://github.com/YaoApp/yao-dev-app/blob/main/pipes/cli/translator.pip.yao

WEB: https://github.com/YaoApp/yao-dev-app/blob/main/pipes/web/translator.pip.yao

Node Types

Type options Description
Yao Process name, args run yao process
Switch conditional branch
AI prompts, model, option AI interface
Request HTTP request (not supported yet, use yao process instead)
User Input ui (cli/web/...) user input interface

for more details, refer to the DSL demo.

Process

Refer to unit test programs for examples.

pipes.<Widget.ID>

Run Pipe

yao run pipes.<Widget.ID> [args...]

If interrupted by user input interface, it returns a context ID for resuming execution.

pipe.Run

Run Pipe, equivalent to pipes.<Widget.ID>

yao run pipe.Run <Widget.ID> [args...]

pipe.Create

Pass DSL text to create and run Pipe

yao run pipe.Create <DSL> [args...]

pipe.CreateWith

Pass DSL text to create and run Pipe

yao run pipe.CreateWith <DSL> '::{"foo":"bar"}' [args...]

pipe.Resume

Resume execution, used for context restoration

yao run pipe.Resume <Context.ID> [args...]

pipe.ResumeWith

Resume execution, used for context restoration

yao run pipe.ResumeWith <Context.ID> '::{"foo":"bar"}' [args...]

pipe.Close

Close Pipe

yao run pipe.Close <Context.ID>

Features

  • Yao Process Node Support for running yao process
  • Switch Node Conditional branch
  • AI Node AI interface
  • User Input Node User input interface
  • Request Node Support for Http Request
  • Hooks Progress report for hook integration