|
|
@@ -21,6 +21,7 @@ import { InstanceStore } from "../../src/project/instance-store"
|
|
|
import { Project } from "../../src/project/project"
|
|
|
import { HttpApiApp } from "../../src/server/routes/instance/httpapi/server"
|
|
|
import * as HttpSessionError from "../../src/server/routes/instance/httpapi/handlers/session-errors"
|
|
|
+import { ExperimentalPaths } from "../../src/server/routes/instance/httpapi/groups/experimental"
|
|
|
import { SessionPaths } from "../../src/server/routes/instance/httpapi/groups/session"
|
|
|
import { Session } from "@/session/session"
|
|
|
import { MessageID, PartID, SessionID, type SessionID as SessionIDType } from "../../src/session/schema"
|
|
|
@@ -879,6 +880,30 @@ describe("session HttpApi", () => {
|
|
|
{ git: true, config: { formatter: false, lsp: false } },
|
|
|
)
|
|
|
|
|
|
+ it.instance(
|
|
|
+ "lists sessions created through an equivalent directory hint",
|
|
|
+ () =>
|
|
|
+ Effect.gen(function* () {
|
|
|
+ const test = yield* TestInstance
|
|
|
+ const hint = test.directory + path.sep
|
|
|
+ const headers = { "x-opencode-directory": hint, "content-type": "application/json" }
|
|
|
+ const created = yield* requestJson<Session.Info>(SessionPaths.create, {
|
|
|
+ method: "POST",
|
|
|
+ headers,
|
|
|
+ body: JSON.stringify({ title: "hinted" }),
|
|
|
+ })
|
|
|
+
|
|
|
+ const query = new URLSearchParams({ directory: hint, roots: "true" })
|
|
|
+ const listed = yield* requestJson<Session.Info[]>(`${SessionPaths.list}?${query}`, { headers })
|
|
|
+ expect(listed.map((item) => item.id)).toContain(created.id)
|
|
|
+
|
|
|
+ const globalQuery = new URLSearchParams({ directory: hint })
|
|
|
+ const global = yield* requestJson<Session.Info[]>(`${ExperimentalPaths.session}?${globalQuery}`, { headers })
|
|
|
+ expect(global.map((item) => item.id)).toContain(created.id)
|
|
|
+ }),
|
|
|
+ { git: true, config: { formatter: false, lsp: false, share: "disabled" } },
|
|
|
+ )
|
|
|
+
|
|
|
it.instance(
|
|
|
"serves paginated message link headers",
|
|
|
() =>
|