diff options
Diffstat (limited to 'specs')
| -rw-r--r-- | specs/project.md | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/specs/project.md b/specs/project.md new file mode 100644 index 000000000..dd51f0e7f --- /dev/null +++ b/specs/project.md @@ -0,0 +1,65 @@ +## project + +goal is to let a single instance of opencode be able to run sessions for +multiple projects and different worktrees per project + +### api + +``` +GET /project -> Project[] + +POST /project/init -> Project + + +GET /project/:projectID/session -> Session[] + +GET /project/:projectID/session/:sessionID -> Session + +POST /project/:projectID/session -> Session +{ + id?: string + parentID?: string + directory: string +} + +DELETE /project/:projectID/session/:sessionID + +POST /project/:projectID/session/:sessionID/init + +POST /project/:projectID/session/:sessionID/abort + +POST /project/:projectID/session/:sessionID/share + +DELETE /project/:projectID/session/:sessionID/share + +POST /project/:projectID/session/:sessionID/compact + +GET /project/:projectID/session/:sessionID/message -> { info: Message, parts: Part[] }[] + +GET /project/:projectID/session/:sessionID/message/:messageID -> { info: Message, parts: Part[] } + +POST /project/:projectID/session/:sessionID/message -> { info: Message, parts: Part[] } + +POST /project/:projectID/session/:sessionID/revert -> Session + +POST /project/:projectID/session/:sessionID/unrevert -> Session + +POST /project/:projectID/session/:sessionID/permission/:permissionID -> Session + +GET /project/:projectID/session/:sessionID/find/file -> string[] + +GET /project/:projectID/session/:sessionID/file -> { type: "raw" | "patch", content: string } + +GET /project/:projectID/session/:sessionID/file/status -> File[] + +POST /log + +// These are awkward + +GET /provider?directory=<resolve path> -> Provider +GET /config?directory=<resolve path> -> Config // think only tui uses this? + +GET /project/:projectID/agent?directory=<resolve path> -> Agent +GET /project/:projectID/find/file?directory=<resolve path> -> File + +``` |
