yao/pipe
2024-02-15 11:41:07 +08:00
..
ui/cli Refactor UI rendering and add support for web UI 2024-02-15 10:10:33 +08:00
context.go pipe widget add process handlers 2024-02-15 10:48:44 +08:00
expression.go [add] pipe widget (dev 80%) 2024-02-14 21:33:04 +08:00
json.go [add] pipe widget (dev 80%) 2024-02-14 21:33:04 +08:00
node.go Refactor UI rendering and add support for web UI 2024-02-15 10:10:33 +08:00
pipe.go Update Pipe Widget documentation and add support for creating and running pipes using DSL 2024-02-15 11:32:26 +08:00
pipe_test.go pipe widget add process handlers 2024-02-15 10:48:44 +08:00
process.go Update Pipe Widget documentation and add support for creating and running pipes using DSL 2024-02-15 11:32:26 +08:00
process_test.go Update Pipe Widget documentation and add support for creating and running pipes using DSL 2024-02-15 11:32:26 +08:00
README.md Update pipe method names 2024-02-15 11:41:07 +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.Resume

Resume execution, used for context restoration

yao run pipe.Resume <Context.ID> [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