summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-01 15:01:57 -0400
committerDax Raad <[email protected]>2025-06-01 15:01:57 -0400
commite764525578a8b543bee70b43a44af55f3dafb6e1 (patch)
tree6276ba1b58eef0ede690d2efa717d133f93e31ed
parenta1c4f345a89d46dd44e7e208dc7ffd4b9bcd500f (diff)
downloadopencode-e764525578a8b543bee70b43a44af55f3dafb6e1.tar.gz
opencode-e764525578a8b543bee70b43a44af55f3dafb6e1.zip
sync
-rw-r--r--packages/opencode/src/server/server.ts34
-rw-r--r--packages/opencode/test/tool/tool.test.ts13
2 files changed, 42 insertions, 5 deletions
diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts
index ba940aa7d..ff7072e75 100644
--- a/packages/opencode/src/server/server.ts
+++ b/packages/opencode/src/server/server.ts
@@ -8,6 +8,8 @@ import { resolver, validator as zValidator } from "hono-openapi/zod"
import { z } from "zod"
import { Message } from "../session/message"
import { Provider } from "../provider/provider"
+import { App } from "../app/app"
+import { Global } from "../global"
export namespace Server {
const log = Log.create({ service: "server" })
@@ -73,6 +75,38 @@ export namespace Server {
},
)
.post(
+ "/path_get",
+ describeRoute({
+ description: "Get paths",
+ responses: {
+ 200: {
+ description: "200",
+ content: {
+ "application/json": {
+ schema: resolver(
+ z.object({
+ root: z.string(),
+ data: z.string(),
+ cwd: z.string(),
+ config: z.string(),
+ }),
+ ),
+ },
+ },
+ },
+ },
+ }),
+ async (c) => {
+ const app = await App.use()
+ return c.json({
+ root: app.path.root,
+ data: app.path.data,
+ cwd: app.path.cwd,
+ config: Global.config(),
+ })
+ },
+ )
+ .post(
"/session_create",
describeRoute({
description: "Create a new session",
diff --git a/packages/opencode/test/tool/tool.test.ts b/packages/opencode/test/tool/tool.test.ts
index 77d0b470d..da333d154 100644
--- a/packages/opencode/test/tool/tool.test.ts
+++ b/packages/opencode/test/tool/tool.test.ts
@@ -27,11 +27,14 @@ describe("tool.glob", () => {
describe("tool.ls", () => {
test("basic", async () => {
- const result = await App.provide({ cwd: process.cwd(), version: "test" }, async () => {
- return await ListTool.execute({
- path: "./example",
- })
- })
+ const result = await App.provide(
+ { cwd: process.cwd(), version: "test" },
+ async () => {
+ return await ListTool.execute({
+ path: "./example",
+ })
+ },
+ )
expect(result.output).toMatchSnapshot()
})
})