* Implement task orchestration api in the cli (#205)
* Generate task server
* Generate Render API types
* Generate workflow API client
* Add local task store
* Add client wrapper
* Add port finder
* Add coordinator
* Add callback server
* Add API server
* Add command
* add chi as dependency
* Make tasks and task runs internal
* [ref CAP-6689] Workflows & workflow versions (#209)
* Generated api schema
* List workflows and workflow versions, deploy new versions
- Logs are broken so deploying a new version shows broken logs
- Lots of todos incoming in next commit
* Updated todos with more actionable details and tickets
* Update reference to deploys as version
* Task listing
* added comment
* [CAP-7312] Implement TUI for starting a task (#208)
* [EXP-3146] Invalid timestamp message suggests a valid timestamp (#207)
`time.RFC3339` is not itself a valid timestamp, but only a valid format
string for timestamp parsing.
I've chosen to emit time.Now() in RFC-3339 rather than a fixed timestamp
because it will 1) emit in the user's timezone and 2) have an increased
chance of being closer to the time the user wants and therefore be
easier to edit.
* Add generated types
* Add command
* Add input-file
* Update generated types
* Integrate with task list CLI commands
---------
Co-authored-by: Dan Wendorf <[email protected]>
* [CAP-7471] Update cli to use updated sdk protocol (#212)
* Use unix sockets
* Update task server API
* Fix API server
* Exec user's command
* Get task by id or slug/name
* Update task command
* Intake input and output as any, but transmit them as json.RawMessage
* [CAP-7311] List task runs (#210)
* Added task runs
* clean up comments
* Remove local hack, can now list tasks
* [CAP-7542] Refactor CLI workflow commands (#213)
* Fix task run list
* Start dependencies
* stop using default client in workflow cmds
* move into workflow view folder
* Split out loader and types
* Move one more default client
* Move type
* Move interactive commands into flow package
* Move RunE into struct
* Update workflow prefix
* Force version selection
* Fix dependencies
* Fix task run list
* Only initialize once
* Update dependencies
* Update DI
* Move flows
* Remove Flow suffix
* Delete unused init code
* Clean up dependencies
* Comment remaining usage of dependencies in context
* [CAP-7542] Make CLI commands work with local dev server (#214)
* Add local flag
* Use the new `/tasks` endpoint
* Fix runs query
* [CAP-7489] CLI task run logs (#216)
* Move logs to flow
* Split out log loader
* Move set workspace into flow
* Handle options
* Use dependencies for loading resources
* Move resource selector out of log view
* Add logs to workflow CLI commands
* [CAP-7489] Local task run logs (#217)
* Keep logs in memory in dev mode
* Update apiserver to respond with logs
* Update local tasks to work with logs
* [CAP-7611] Task run details view (#218)
* Add task run result view
* Update task details styling
* [CAP-7619] Implement subtasking in the cli (#219)
* Add task run result view
* Update task details styling
* Implement subtasks in CLI
* [CAP-7622] Improve tailing logs locally (#222)
* Ensure old logs are delivered
* Specify start time before now to ensure we get all the logs for this task run
* Clean up channels when websocket is closed
* Update breadcrumbs (#220)
* Fix tests (#223)
* Better cli error handling for apiserver (#225)
* [CAP-7561] Update CLI to allow specifying ports (#226)
* Add SSE streaming
* Allow specifying port
* Update types
* Add logs in task run palette (#227)
* Put commands under early access (#228)
* Fix test
* Add login only client
* Fix for windows
* Fix logs in local mode
---------
Co-authored-by: Tucker Chapin <[email protected]>
Co-authored-by: Dan Wendorf <[email protected]>