forked from bots-garden/ori
| ✨ Introduce new feature(s): ACP web client — Go backend (agent, bridge, httpserver, mockagent) + React SPA (Zed-like agent panel), tests, quality gate PASS | 1 | // Command ori-mock-agent is a deterministic ACP agent speaking on stdio. |
| 2 | // It lets you try the full ori experience — streaming, thoughts, plan, tool | |
| 3 | // calls, permissions — without Claude Code or any network access: | |
| 4 | // | |
| 5 | // ori --agent-cmd "bin/ori-mock-agent" | |
| 6 | package main | |
| 7 | ||
| 8 | import ( | |
| 9 | "flag" | |
| 10 | "fmt" | |
| 11 | "os" | |
| 12 | "time" | |
| 13 | ||
| ✨ Workspace panel, selectors, previews, desktop app, sandbox template, resizable file tree, light/dark theme | 14 | "rickub.com/bots-garden/ori/internal/mockagent" |
| ✨ Introduce new feature(s): ACP web client — Go backend (agent, bridge, httpserver, mockagent) + React SPA (Zed-like agent panel), tests, quality gate PASS | 15 | ) |
| 16 | ||
| 17 | func main() { | |
| 18 | delay := flag.Duration("delay", 300*time.Millisecond, "pause between streamed updates") | |
| 19 | flag.Parse() | |
| 20 | ||
| 21 | agent := mockagent.New() | |
| 22 | agent.Delay = *delay | |
| 23 | if err := agent.Run(os.Stdin, os.Stdout); err != nil { | |
| 24 | fmt.Fprintln(os.Stderr, "ori-mock-agent:", err) | |
| 25 | os.Exit(1) | |
| 26 | } | |
| 27 | } |