MCPcopy Create free account
hub / github.com/anomalyco/opencode / createFetch

Function createFetch

packages/opencode/test/fixture/tui-sdk.ts:39–82  ·  view source on GitHub ↗
(override?: FetchHandler)

Source from the content-addressed store, hash-verified

37export type FetchHandler = (url: URL) => Response | Promise<Response> | undefined
38
39export function createFetch(override?: FetchHandler) {
40 const session = [] as URL[]
41 const fetch = (async (input: RequestInfo | URL) => {
42 const url = new URL(input instanceof Request ? input.url : String(input))
43 if (url.pathname === "/session") session.push(url)
44
45 const overridden = await override?.(url)
46 if (overridden) return overridden
47
48 switch (url.pathname) {
49 case "/agent":
50 case "/command":
51 case "/experimental/workspace":
52 case "/experimental/workspace/status":
53 case "/formatter":
54 case "/lsp":
55 return json([])
56 case "/config":
57 case "/experimental/resource":
58 case "/mcp":
59 case "/provider/auth":
60 case "/session/status":
61 return json({})
62 case "/config/providers":
63 return json({ providers: {}, default: {} })
64 case "/experimental/console":
65 return json({ consoleManagedProviders: [], switchableOrgCount: 0 })
66 case "/path":
67 return json({ home: "", state: "", config: "", worktree, directory })
68 case "/project/current":
69 return json({ id: "proj_test" })
70 case "/provider":
71 return json({ all: [], default: {}, connected: [] })
72 case "/session":
73 return json([])
74 case "/vcs":
75 return json({ branch: "main" })
76 }
77
78 throw new Error(`unexpected request: ${url.pathname}`)
79 }) as typeof globalThis.fetch
80
81 return { fetch, session }
82}

Callers

nothing calls this directly

Calls 2

pushMethod · 0.80
jsonFunction · 0.70

Tested by

no test coverage detected