Przeglądaj źródła

chore: generate

opencode-agent[bot] 3 miesięcy temu
rodzic
commit
daff119fe4

+ 17 - 17
packages/opencode/specs/effect/http-api.md

@@ -170,23 +170,23 @@ Use raw Effect HTTP routes where `HttpApi` does not fit. The goal is deleting Ho
 
 ## Current Route Status
 
-| Area                      | Status            | Notes                                                                                    |
-| ------------------------- | ----------------- | ---------------------------------------------------------------------------------------- |
-| `question`                | `bridged`         | `GET /question`, reply, reject                                                           |
-| `permission`              | `bridged`         | list and reply                                                                           |
-| `provider`                | `bridged`         | list, auth, OAuth authorize/callback                                                     |
-| `config`                  | `bridged`         | read, providers, update                                                                  |
-| `project`                 | `bridged`         | list, current, git init, update                                                          |
-| `file`                    | `bridged` partial | find text/file/symbol, list/content/status                                               |
-| `mcp`                     | `bridged`         | status, add, OAuth, connect/disconnect                                                   |
-| `workspace`               | `bridged`         | adaptor/list/status/create/remove/session-restore                                        |
-| top-level instance routes | `bridged`         | path, vcs, command, agent, skill, lsp, formatter, dispose                                |
-| experimental JSON routes  | `bridged`         | console, tool, worktree list/mutations, global session list, resource list              |
-| `session`                 | `bridged` partial | read routes; lifecycle, message mutations, streaming remain                              |
-| `sync`                    | `bridged`         | start/replay/history                                                                      |
-| `event`                   | `special`         | SSE                                                                                      |
-| `pty`                     | `special`         | websocket                                                                                |
-| `tui`                     | `special`         | UI bridge                                                                                |
+| Area                      | Status            | Notes                                                                      |
+| ------------------------- | ----------------- | -------------------------------------------------------------------------- |
+| `question`                | `bridged`         | `GET /question`, reply, reject                                             |
+| `permission`              | `bridged`         | list and reply                                                             |
+| `provider`                | `bridged`         | list, auth, OAuth authorize/callback                                       |
+| `config`                  | `bridged`         | read, providers, update                                                    |
+| `project`                 | `bridged`         | list, current, git init, update                                            |
+| `file`                    | `bridged` partial | find text/file/symbol, list/content/status                                 |
+| `mcp`                     | `bridged`         | status, add, OAuth, connect/disconnect                                     |
+| `workspace`               | `bridged`         | adaptor/list/status/create/remove/session-restore                          |
+| top-level instance routes | `bridged`         | path, vcs, command, agent, skill, lsp, formatter, dispose                  |
+| experimental JSON routes  | `bridged`         | console, tool, worktree list/mutations, global session list, resource list |
+| `session`                 | `bridged` partial | read routes; lifecycle, message mutations, streaming remain                |
+| `sync`                    | `bridged`         | start/replay/history                                                       |
+| `event`                   | `special`         | SSE                                                                        |
+| `pty`                     | `special`         | websocket                                                                  |
+| `tui`                     | `special`         | UI bridge                                                                  |
 
 ## Full Route Checklist
 

+ 35 - 11
packages/opencode/test/server/httpapi-session.test.ts

@@ -86,23 +86,47 @@ describe("session HttpApi", () => {
     const message = await createTextMessage(tmp.path, parent.id, "hello")
     await createTextMessage(tmp.path, parent.id, "world")
 
-    expect((await json<Session.Info[]>(await app().request(`${SessionPaths.list}?roots=true`, { headers }))).map((item) => item.id)).toContain(parent.id)
+    expect(
+      (await json<Session.Info[]>(await app().request(`${SessionPaths.list}?roots=true`, { headers }))).map(
+        (item) => item.id,
+      ),
+    ).toContain(parent.id)
 
     expect(await json<Record<string, unknown>>(await app().request(SessionPaths.status, { headers }))).toEqual({})
 
-    expect(await json<Session.Info>(await app().request(pathFor(SessionPaths.get, { sessionID: parent.id }), { headers }))).toMatchObject({ id: parent.id, title: "parent" })
-
-    expect((await json<Session.Info[]>(await app().request(pathFor(SessionPaths.children, { sessionID: parent.id }), { headers }))).map((item) => item.id)).toEqual([child.id])
-
-    expect(await json<unknown[]>(await app().request(pathFor(SessionPaths.todo, { sessionID: parent.id }), { headers }))).toEqual([])
-
-    expect(await json<unknown[]>(await app().request(pathFor(SessionPaths.diff, { sessionID: parent.id }), { headers }))).toEqual([])
-
-    const messages = await app().request(`${pathFor(SessionPaths.messages, { sessionID: parent.id })}?limit=1`, { headers })
+    expect(
+      await json<Session.Info>(await app().request(pathFor(SessionPaths.get, { sessionID: parent.id }), { headers })),
+    ).toMatchObject({ id: parent.id, title: "parent" })
+
+    expect(
+      (
+        await json<Session.Info[]>(
+          await app().request(pathFor(SessionPaths.children, { sessionID: parent.id }), { headers }),
+        )
+      ).map((item) => item.id),
+    ).toEqual([child.id])
+
+    expect(
+      await json<unknown[]>(await app().request(pathFor(SessionPaths.todo, { sessionID: parent.id }), { headers })),
+    ).toEqual([])
+
+    expect(
+      await json<unknown[]>(await app().request(pathFor(SessionPaths.diff, { sessionID: parent.id }), { headers })),
+    ).toEqual([])
+
+    const messages = await app().request(`${pathFor(SessionPaths.messages, { sessionID: parent.id })}?limit=1`, {
+      headers,
+    })
     const messagePage = await json<MessageV2.WithParts[]>(messages)
     expect(messages.headers.get("x-next-cursor")).toBeTruthy()
     expect(messagePage[0]?.parts[0]).toMatchObject({ type: "text" })
 
-    expect(await json<MessageV2.WithParts>(await app().request(pathFor(SessionPaths.message, { sessionID: parent.id, messageID: message.id }), { headers }))).toMatchObject({ info: { id: message.id } })
+    expect(
+      await json<MessageV2.WithParts>(
+        await app().request(pathFor(SessionPaths.message, { sessionID: parent.id, messageID: message.id }), {
+          headers,
+        }),
+      ),
+    ).toMatchObject({ info: { id: message.id } })
   })
 })