@opencode/server 2.0.22 → 2.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/api.d.ts +1 -1
  2. package/dist/api.js +5 -5
  3. package/dist/auth.js +1 -1
  4. package/dist/chunks/{auth-kqk7gaza.js → event-feed-0b1t2b2s.js} +2 -2
  5. package/dist/chunks/{auth-5gkna4pv.js → event-feed-0nvjg055.js} +33 -33
  6. package/dist/chunks/{auth-w5qev33e.js → event-feed-2vy10eeh.js} +2 -2
  7. package/dist/chunks/{auth-vak2mhq3.js → event-feed-30gqa6y8.js} +11 -8
  8. package/dist/chunks/{auth-2nzbqq6w.js → event-feed-387sf4vs.js} +1 -1
  9. package/dist/chunks/{auth-rrt24jy6.js → event-feed-3c937re8.js} +2 -2
  10. package/dist/chunks/{auth-39fhjz78.js → event-feed-5fmydwgy.js} +1 -1
  11. package/dist/chunks/{auth-pz0jzgeb.js → event-feed-62qjgyra.js} +2 -2
  12. package/dist/chunks/{auth-rg7j7cph.js → event-feed-6sgwm4gr.js} +2 -2
  13. package/dist/chunks/{auth-0ar9gf7q.js → event-feed-acgs9zzk.js} +13 -6
  14. package/dist/chunks/{auth-anm12x33.js → event-feed-anm12x33.js} +1 -1
  15. package/dist/chunks/{auth-2b206wcs.js → event-feed-bptmkrac.js} +2 -2
  16. package/dist/chunks/{auth-scvg88rk.js → event-feed-ccfecbt4.js} +1 -1
  17. package/dist/chunks/{auth-frv6gfy7.js → event-feed-d00srfh1.js} +6 -5
  18. package/dist/chunks/{auth-5ybpxcad.js → event-feed-d0efjmp3.js} +7 -7
  19. package/dist/chunks/{auth-9aabh8fh.js → event-feed-da5stqtt.js} +2 -2
  20. package/dist/chunks/{auth-ar2c062s.js → event-feed-ep84ha6r.js} +3 -3
  21. package/dist/chunks/{auth-wym6bqm8.js → event-feed-f90y8hv1.js} +7 -7
  22. package/dist/chunks/{auth-vjmrn89t.js → event-feed-fsrvj92d.js} +2 -2
  23. package/dist/chunks/{auth-gtkdacvk.js → event-feed-gtkdacvk.js} +1 -1
  24. package/dist/chunks/{auth-b0kafjgg.js → event-feed-hqjvw1vc.js} +16 -16
  25. package/dist/chunks/{auth-g404tgwp.js → event-feed-j54drd5e.js} +1 -1
  26. package/dist/chunks/{auth-96sfj8c0.js → event-feed-jhsx8jtg.js} +2 -2
  27. package/dist/chunks/{auth-0h6q40e6.js → event-feed-jskw5q1g.js} +1 -1
  28. package/dist/chunks/{auth-35z95kj0.js → event-feed-k4rfktze.js} +3 -3
  29. package/dist/chunks/{auth-j4tb0vx8.js → event-feed-m9wzfeff.js} +2 -2
  30. package/dist/chunks/{auth-jk9mr6vp.js → event-feed-mpbfcr4e.js} +5 -2
  31. package/dist/chunks/{auth-wtp56sjr.js → event-feed-mz8smzxk.js} +11 -9
  32. package/dist/chunks/{auth-11g6bym3.js → event-feed-n7kafg5g.js} +2 -2
  33. package/dist/chunks/event-feed-nvmdgpqv.js +71 -0
  34. package/dist/chunks/{auth-23w8t84j.js → event-feed-nxdx74sv.js} +5 -4
  35. package/dist/chunks/{auth-a7ke583f.js → event-feed-pg3sqc69.js} +5 -4
  36. package/dist/chunks/{auth-1w959dsa.js → event-feed-ppd3f187.js} +4 -4
  37. package/dist/chunks/{auth-p2pbe694.js → event-feed-pvrbm2ca.js} +3 -3
  38. package/dist/chunks/{auth-zhw07218.js → event-feed-q4y3mw2d.js} +2 -2
  39. package/dist/chunks/{auth-0658f5hp.js → event-feed-qcy0p5fz.js} +2 -2
  40. package/dist/chunks/{auth-t9jkrcq1.js → event-feed-s4aja1df.js} +7 -7
  41. package/dist/chunks/{auth-sryvrekq.js → event-feed-srcrrwjk.js} +2 -2
  42. package/dist/chunks/{auth-rn5anws3.js → event-feed-swb5yrqf.js} +2 -2
  43. package/dist/chunks/{auth-7cv7ehbj.js → event-feed-w8db1rkr.js} +2 -2
  44. package/dist/chunks/{auth-vvagfka3.js → event-feed-wv5twc2g.js} +7 -7
  45. package/dist/chunks/{auth-rbn15j6z.js → event-feed-x6486bry.js} +7 -7
  46. package/dist/chunks/{auth-xsrtpxyd.js → event-feed-xsrtpxyd.js} +1 -1
  47. package/dist/chunks/{auth-trr1emsb.js → event-feed-zhqf1t9m.js} +1 -1
  48. package/dist/cors.js +1 -1
  49. package/dist/event-feed.js +5 -5
  50. package/dist/fetch.d.ts +2 -1
  51. package/dist/fetch.js +47 -47
  52. package/dist/handlers/agent.js +6 -6
  53. package/dist/handlers/command.js +6 -6
  54. package/dist/handlers/config.js +6 -6
  55. package/dist/handlers/credential.js +6 -6
  56. package/dist/handlers/debug.js +6 -6
  57. package/dist/handlers/event.js +7 -7
  58. package/dist/handlers/form.js +6 -6
  59. package/dist/handlers/fs.js +6 -6
  60. package/dist/handlers/generate.js +6 -6
  61. package/dist/handlers/integration.js +6 -6
  62. package/dist/handlers/location.js +6 -6
  63. package/dist/handlers/mcp.js +6 -6
  64. package/dist/handlers/message.js +6 -6
  65. package/dist/handlers/migration.js +6 -6
  66. package/dist/handlers/model.js +6 -6
  67. package/dist/handlers/permission.js +6 -6
  68. package/dist/handlers/persistent-pty.js +8 -8
  69. package/dist/handlers/plugin.js +6 -6
  70. package/dist/handlers/project.js +6 -6
  71. package/dist/handlers/provider.js +6 -6
  72. package/dist/handlers/pty-socket.js +1 -1
  73. package/dist/handlers/pty.js +9 -9
  74. package/dist/handlers/reference.js +6 -6
  75. package/dist/handlers/rpc.js +6 -6
  76. package/dist/handlers/server.js +9 -9
  77. package/dist/handlers/session-error.js +1 -1
  78. package/dist/handlers/session.js +6 -6
  79. package/dist/handlers/shell.js +6 -6
  80. package/dist/handlers/skill.js +6 -6
  81. package/dist/handlers/vcs.d.ts +4 -1
  82. package/dist/handlers/vcs.js +6 -6
  83. package/dist/handlers/websearch.js +6 -6
  84. package/dist/handlers/worktree.js +6 -6
  85. package/dist/handlers.d.ts +1 -1
  86. package/dist/handlers.js +43 -43
  87. package/dist/location.d.ts +5 -3
  88. package/dist/location.js +6 -4
  89. package/dist/middleware/authorization.js +2 -2
  90. package/dist/middleware/form-location.d.ts +3 -3
  91. package/dist/middleware/form-location.js +3 -3
  92. package/dist/middleware/schema-error.js +1 -1
  93. package/dist/middleware/session-location.d.ts +3 -3
  94. package/dist/middleware/session-location.js +3 -3
  95. package/dist/options.d.ts +1 -0
  96. package/dist/pairing.js +3 -3
  97. package/dist/process.d.ts +2 -1
  98. package/dist/process.js +49 -49
  99. package/dist/pty-environment.js +5 -5
  100. package/dist/request-tracing.js +1 -1
  101. package/dist/routes.d.ts +2 -2
  102. package/dist/routes.js +46 -46
  103. package/dist/server-info.js +5 -5
  104. package/dist/service-status.js +1 -1
  105. package/dist/workerd.js +49 -48
  106. package/package.json +8 -8
  107. package/dist/chunks/auth-k9ssaf54.js +0 -32
  108. /package/dist/chunks/{auth-9rqn6x4v.js → event-feed-9rqn6x4v.js} +0 -0
  109. /package/dist/chunks/{auth-hezj1jdf.js → event-feed-hezj1jdf.js} +0 -0
  110. /package/dist/chunks/{auth-q4bn6dy8.js → event-feed-q4bn6dy8.js} +0 -0
  111. /package/dist/chunks/{auth-smaf4a18.js → event-feed-smaf4a18.js} +0 -0
  112. /package/dist/chunks/{auth-t8yzmczr.js → event-feed-t8yzmczr.js} +0 -0
  113. /package/dist/chunks/{auth-yc7nft6q.js → event-feed-yc7nft6q.js} +0 -0
@@ -1,39 +1,39 @@
1
1
  import {
2
- layer5
3
- } from "./auth-0ar9gf7q.js";
2
+ layer3
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  formLocationLayer2
6
- } from "./auth-frv6gfy7.js";
6
+ } from "./event-feed-d00srfh1.js";
7
7
  import {
8
8
  sessionLocationLayer2
9
- } from "./auth-23w8t84j.js";
9
+ } from "./event-feed-nxdx74sv.js";
10
10
  import {
11
11
  Api2
12
- } from "./auth-ar2c062s.js";
12
+ } from "./event-feed-ep84ha6r.js";
13
13
  import {
14
14
  Config2
15
- } from "./auth-anm12x33.js";
15
+ } from "./event-feed-anm12x33.js";
16
16
  import {
17
17
  CorsConfig2
18
- } from "./auth-q4bn6dy8.js";
18
+ } from "./event-feed-q4bn6dy8.js";
19
19
  import {
20
- layer4
21
- } from "./auth-t9jkrcq1.js";
20
+ layer2
21
+ } from "./event-feed-s4aja1df.js";
22
22
  import {
23
23
  node2
24
- } from "./auth-rbn15j6z.js";
24
+ } from "./event-feed-x6486bry.js";
25
25
  import {
26
26
  node3
27
- } from "./auth-vvagfka3.js";
27
+ } from "./event-feed-wv5twc2g.js";
28
28
  import {
29
29
  handlers2
30
- } from "./auth-5gkna4pv.js";
30
+ } from "./event-feed-0nvjg055.js";
31
31
  import {
32
32
  authorizationLayer2
33
- } from "./auth-gtkdacvk.js";
33
+ } from "./event-feed-gtkdacvk.js";
34
34
  import {
35
35
  schemaErrorLayer2
36
- } from "./auth-t8yzmczr.js";
36
+ } from "./event-feed-t8yzmczr.js";
37
37
 
38
38
  // src/routes.ts
39
39
  import { Database } from "@opencode/core/database/database";
@@ -144,8 +144,8 @@ function makeRoutes(auth, options, serviceURLs, overrides, instances) {
144
144
  })) : build(overrides);
145
145
  return serviceLayer.pipe(Layer.flatMap((context) => {
146
146
  const services = Layer.succeedContext(context);
147
- const requestServices = Layer.merge(Layer.succeedContext(Context.pick(Database.Service, Credential.Service, PermissionSaved.Service, PluginUpdate.Service, Project.Service, WellKnown.Service)(context)), layer4(serviceURLs, Context.get(context, Global.Service).tmp, options.app));
148
- const api = HttpApiBuilder.layer(Api2, { openapiPath: "/openapi.json" }).pipe(Layer.provide(handlers2.pipe(Layer.provide(services), Layer.provide(Layer.succeed(CorsConfig2, options)))), Layer.provide(formLocationLayer2), Layer.provide(sessionLocationLayer2), Layer.provide(layer5), Layer.provide(authorizationLayer2), Layer.provide(schemaErrorLayer2), Layer.provide(auth), HttpRouter.provideRequest(requestServices), Layer.provideMerge(services), Layer.provideMerge(HttpRouter.layer));
147
+ const requestServices = Layer.merge(Layer.succeedContext(Context.pick(Database.Service, Credential.Service, PermissionSaved.Service, PluginUpdate.Service, Project.Service, WellKnown.Service)(context)), layer2(serviceURLs, Context.get(context, Global.Service).tmp, options.app));
148
+ const api = HttpApiBuilder.layer(Api2, { openapiPath: "/openapi.json" }).pipe(Layer.provide(handlers2.pipe(Layer.provide(services), Layer.provide(Layer.succeed(CorsConfig2, options)))), Layer.provide(formLocationLayer2), Layer.provide(sessionLocationLayer2), Layer.provide(layer3), Layer.provide(authorizationLayer2), Layer.provide(schemaErrorLayer2), Layer.provide(auth), HttpRouter.provideRequest(requestServices), Layer.provideMerge(services), Layer.provideMerge(HttpRouter.layer));
149
149
  return Layer.merge(api, V1Migration.layer.pipe(Layer.provide(services)));
150
150
  }));
151
151
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Api2
3
- } from "./auth-ar2c062s.js";
3
+ } from "./event-feed-ep84ha6r.js";
4
4
 
5
5
  // src/handlers/credential.ts
6
6
  import { Credential } from "@opencode/core/credential";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/fs.ts
9
9
  import { FileSystem } from "@opencode/core/filesystem";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Api2
3
- } from "./auth-ar2c062s.js";
3
+ } from "./event-feed-ep84ha6r.js";
4
4
 
5
5
  // src/handlers/config.ts
6
6
  import { Config } from "@opencode/core/config";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  Api2
3
- } from "./auth-ar2c062s.js";
3
+ } from "./event-feed-ep84ha6r.js";
4
4
  import {
5
5
  CorsConfig2,
6
6
  isAllowedRequestOrigin2
7
- } from "./auth-q4bn6dy8.js";
7
+ } from "./event-feed-q4bn6dy8.js";
8
8
  import {
9
9
  runPtySocket2
10
- } from "./auth-hezj1jdf.js";
10
+ } from "./event-feed-hezj1jdf.js";
11
11
 
12
12
  // src/handlers/persistent-pty.ts
13
13
  import { PersistentPty } from "@opencode/core/persistent-pty";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/skill.ts
9
9
  import { Skill } from "@opencode/core/skill";
@@ -1,6 +1,9 @@
1
+ import {
2
+ locationErrors2
3
+ } from "./event-feed-acgs9zzk.js";
1
4
  import {
2
5
  Api2
3
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
4
7
 
5
8
  // src/handlers/generate.ts
6
9
  import { Generate } from "@opencode/core/generate";
@@ -19,7 +22,7 @@ var GenerateHandler2 = HttpApiBuilder.group(Api2, "server.generate", (handlers)
19
22
  const generate = yield* Generate.Service;
20
23
  const text = yield* generate.text(request.payload).pipe(Effect.mapError((error) => error._tag === "Generate.ModelSelectionError" ? new InvalidRequestError({ message: error.message }) : new ServiceUnavailableError({ message: error.message, service: error.service })));
21
24
  return { data: { text } };
22
- }, Effect.provide(services)));
25
+ }, Effect.provide(services), locationErrors2));
23
26
  }));
24
27
 
25
28
  export { GenerateHandler2 };
@@ -1,34 +1,36 @@
1
1
  import {
2
2
  Api2
3
- } from "./auth-ar2c062s.js";
3
+ } from "./event-feed-ep84ha6r.js";
4
4
  import {
5
5
  SESSION_TTL_SECONDS2,
6
6
  Config2,
7
7
  issueSession2,
8
8
  sessionCookieName2
9
- } from "./auth-anm12x33.js";
10
- import {
11
- Service5
12
- } from "./auth-t9jkrcq1.js";
9
+ } from "./event-feed-anm12x33.js";
13
10
  import {
14
11
  Service2
15
- } from "./auth-rbn15j6z.js";
12
+ } from "./event-feed-s4aja1df.js";
13
+ import {
14
+ Service4
15
+ } from "./event-feed-x6486bry.js";
16
16
 
17
17
  // src/handlers/server.ts
18
18
  import { Duration, Effect } from "effect";
19
19
  import { HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
20
20
  import { HttpApiBuilder } from "effect/unstable/httpapi";
21
+ import { PersistentPty } from "@opencode/core/persistent-pty";
21
22
  import { UnauthorizedError } from "@opencode/protocol/errors";
22
23
  var ServerHandler2 = HttpApiBuilder.group(Api2, "server.server", (handlers) => Effect.gen(function* () {
23
- const pairing = yield* Service2;
24
+ const pairing = yield* Service4;
24
25
  const auth = yield* Config2;
25
26
  return handlers.handle("server.info", () => Effect.gen(function* () {
26
- const info = yield* Service5;
27
+ const info = yield* Service2;
27
28
  return {
28
29
  version: info.app.version ?? "unknown",
29
30
  pid: process.pid ?? 0,
30
31
  urls: info.urls(),
31
- paths: info.paths
32
+ paths: info.paths,
33
+ capabilities: { persistentPty: PersistentPty.available }
32
34
  };
33
35
  })).handle("server.pair", () => pairing.issue()).handle("server.connect", Effect.fn(function* (ctx) {
34
36
  const request = yield* HttpServerRequest.HttpServerRequest;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/reference.ts
9
9
  import { Reference } from "@opencode/core/reference";
@@ -0,0 +1,71 @@
1
+ import {
2
+ response2
3
+ } from "./event-feed-acgs9zzk.js";
4
+ import {
5
+ Api2
6
+ } from "./event-feed-ep84ha6r.js";
7
+
8
+ // src/handlers/vcs.ts
9
+ import { Vcs } from "@opencode/core/vcs";
10
+ import { Project } from "@opencode/core/project";
11
+ import { Worktree } from "@opencode/core/worktree";
12
+ import { Bus } from "@opencode/core/bus";
13
+ import { Plugin } from "@opencode/core/plugin";
14
+ import { Location } from "@opencode/core/location";
15
+ import { LocationServiceMap } from "@opencode/core/location-services";
16
+ import { ConflictError, InvalidRequestError, ServiceUnavailableError } from "@opencode/protocol/errors";
17
+ import { VcsInitNotSupportedError } from "@opencode/protocol/groups/vcs";
18
+ import { Effect } from "effect";
19
+ import { HttpApiBuilder, HttpApiSchema } from "effect/unstable/httpapi";
20
+ var VcsHandler2 = HttpApiBuilder.group(Api2, "server.vcs", (handlers) => Effect.gen(function* () {
21
+ const project = yield* Project.Service;
22
+ const bus = yield* Bus.Service;
23
+ const locations = yield* LocationServiceMap.Service;
24
+ return handlers.handle("vcs.init", (ctx) => Effect.gen(function* () {
25
+ const location = yield* Location.Service;
26
+ const directory = location.project.directory;
27
+ const providerID = ctx.query.provider ?? "git";
28
+ yield* Plugin.awaitActivation;
29
+ const vcs = yield* Vcs.Service;
30
+ yield* vcs.initialize(providerID).pipe(Effect.mapError((error) => {
31
+ if (error.kind === "missing")
32
+ return new InvalidRequestError({ message: "Project directory does not exist", field: "location" });
33
+ if (error.kind === "conflict")
34
+ return new ConflictError({ message: "Project already has version control", resource: directory });
35
+ if (error.kind === "unknown")
36
+ return new InvalidRequestError({
37
+ message: "Unknown VCS provider",
38
+ field: "provider"
39
+ });
40
+ if (error.kind === "unsupported")
41
+ return new VcsInitNotSupportedError({
42
+ providerID,
43
+ message: "VCS provider does not support initialization"
44
+ });
45
+ return new ServiceUnavailableError({ service: providerID, message: "VCS initialization failed" });
46
+ }));
47
+ const resolved = yield* project.resolve(directory);
48
+ if (!resolved.vcs)
49
+ return yield* new ServiceUnavailableError({ service: providerID, message: "VCS initialization failed" });
50
+ yield* locations.invalidate(Location.Ref.make({ directory: location.directory, workspaceID: location.workspaceID }));
51
+ yield* bus.publish(Worktree.Event.Updated, { projectID: resolved.id });
52
+ return HttpApiSchema.NoContent.make();
53
+ })).handle("vcs.get", () => response2(Effect.gen(function* () {
54
+ const vcs = yield* Vcs.Service;
55
+ return yield* vcs.info();
56
+ }))).handle("vcs.base", () => response2(Effect.gen(function* () {
57
+ const vcs = yield* Vcs.Service;
58
+ return yield* vcs.base().pipe(Effect.mapError((error) => new ServiceUnavailableError({ service: "vcs", message: error.message })));
59
+ }))).handle("vcs.status", () => response2(Effect.gen(function* () {
60
+ const vcs = yield* Vcs.Service;
61
+ return yield* vcs.status();
62
+ }))).handle("vcs.branch.list", (ctx) => response2(Effect.gen(function* () {
63
+ const vcs = yield* Vcs.Service;
64
+ return yield* vcs.branches({ search: ctx.query.search, limit: Math.min(ctx.query.limit ?? 50, 100) });
65
+ }))).handle("vcs.diff", (ctx) => response2(Effect.gen(function* () {
66
+ const vcs = yield* Vcs.Service;
67
+ return yield* vcs.diff(ctx.query.mode, { context: ctx.query.context, base: ctx.query.base }).pipe(Effect.mapError((error) => new ServiceUnavailableError({ service: "vcs", message: error.message })));
68
+ })));
69
+ }));
70
+
71
+ export { VcsHandler2 };
@@ -1,6 +1,7 @@
1
1
  import {
2
+ locationErrors2,
2
3
  sessionInfo2
3
- } from "./auth-0ar9gf7q.js";
4
+ } from "./event-feed-acgs9zzk.js";
4
5
 
5
6
  // src/middleware/session-location.ts
6
7
  import { Instance } from "@opencode/core/instance/service";
@@ -8,9 +9,9 @@ import { Session } from "@opencode/core/session";
8
9
  import { Effect, Layer } from "effect";
9
10
  import { HttpRouter } from "effect/unstable/http";
10
11
  import { HttpApiMiddleware } from "effect/unstable/httpapi";
11
- import { InvalidRequestError, SessionNotFoundError } from "@opencode/protocol/errors";
12
+ import { LocationNotFoundError, InvalidRequestError, SessionNotFoundError } from "@opencode/protocol/errors";
12
13
  class SessionLocationMiddleware2 extends HttpApiMiddleware.Service()("@opencode/HttpApiSessionLocation", {
13
- error: [InvalidRequestError, SessionNotFoundError]
14
+ error: [InvalidRequestError, SessionNotFoundError, LocationNotFoundError]
14
15
  }) {
15
16
  }
16
17
  var sessionLocationLayer2 = Layer.effect(SessionLocationMiddleware2, Effect.gen(function* () {
@@ -19,7 +20,7 @@ var sessionLocationLayer2 = Layer.effect(SessionLocationMiddleware2, Effect.gen(
19
20
  return SessionLocationMiddleware2.of((effect) => Effect.gen(function* () {
20
21
  const route = yield* HttpRouter.RouteContext;
21
22
  const session = yield* sessionInfo2(sessions, route.params.sessionID);
22
- return yield* effect.pipe(instances.provide(session));
23
+ return yield* effect.pipe(instances.provide(session), locationErrors2);
23
24
  }));
24
25
  }));
25
26
 
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  missingSession2
3
- } from "./auth-smaf4a18.js";
3
+ } from "./event-feed-smaf4a18.js";
4
4
  import {
5
+ locationErrors2,
5
6
  response2,
6
7
  sessionInfo2
7
- } from "./auth-0ar9gf7q.js";
8
+ } from "./event-feed-acgs9zzk.js";
8
9
  import {
9
10
  Api2
10
- } from "./auth-ar2c062s.js";
11
+ } from "./event-feed-ep84ha6r.js";
11
12
 
12
13
  // src/handlers/permission.ts
13
14
  import { Instance } from "@opencode/core/instance/service";
@@ -50,7 +51,7 @@ var PermissionHandler2 = HttpApiBuilder.group(Api2, "server.permission", (handle
50
51
  };
51
52
  })).handle("session.permission.list", Effect.fn(function* (ctx) {
52
53
  const session = yield* sessionInfo2(sessions, ctx.params.sessionID);
53
- const requests = yield* Permission.Service.use((permission) => permission.forSession(ctx.params.sessionID)).pipe(instances.provide(session));
54
+ const requests = yield* Permission.Service.use((permission) => permission.forSession(ctx.params.sessionID)).pipe(instances.provide(session), locationErrors2);
54
55
  return { data: requests };
55
56
  })).handle("session.permission.get", Effect.fn(function* (ctx) {
56
57
  const owned = yield* requireOwnedRequest(ctx.params.sessionID, ctx.params.requestID);
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Api2
3
- } from "./auth-ar2c062s.js";
3
+ } from "./event-feed-ep84ha6r.js";
4
4
  import {
5
- Service4,
5
+ Service3,
6
6
  frame2
7
- } from "./auth-5ybpxcad.js";
7
+ } from "./event-feed-d0efjmp3.js";
8
8
 
9
9
  // src/handlers/event.ts
10
10
  import { Event } from "@opencode/schema/event";
@@ -12,7 +12,7 @@ import { Effect, Stream } from "effect";
12
12
  import { HttpServerResponse } from "effect/unstable/http";
13
13
  import { HttpApiBuilder } from "effect/unstable/httpapi";
14
14
  var EventHandler2 = HttpApiBuilder.group(Api2, "server.event", (handlers) => Effect.gen(function* () {
15
- const feed = yield* Service4;
15
+ const feed = yield* Service3;
16
16
  return handlers.handleRaw("event.subscribe", () => Effect.gen(function* () {
17
17
  const connected = {
18
18
  id: Event.ID.create(),
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  isAllowedCorsOrigin2
3
- } from "./auth-q4bn6dy8.js";
3
+ } from "./event-feed-q4bn6dy8.js";
4
4
  import {
5
5
  createRoutes2
6
- } from "./auth-b0kafjgg.js";
6
+ } from "./event-feed-hqjvw1vc.js";
7
7
  import {
8
8
  __export
9
- } from "./auth-9rqn6x4v.js";
9
+ } from "./event-feed-9rqn6x4v.js";
10
10
 
11
11
  // src/fetch.ts
12
12
  var exports_fetch = {};
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/command.ts
9
9
  import { Command } from "@opencode/core/command";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/agent.ts
9
9
  import { Agent } from "@opencode/core/agent";
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  __export
3
- } from "./auth-9rqn6x4v.js";
3
+ } from "./event-feed-9rqn6x4v.js";
4
4
 
5
5
  // src/server-info.ts
6
6
  var exports_server_info = {};
7
7
  __export(exports_server_info, {
8
8
  ServerInfo: () => exports_server_info,
9
- Service: () => Service5,
9
+ Service: () => Service2,
10
10
  connectionURLs: () => connectionURLs2,
11
- layer: () => layer4
11
+ layer: () => layer2
12
12
  });
13
13
  import { Context, Layer } from "effect";
14
14
  import { networkInterfaces } from "node:os";
15
15
 
16
- class Service5 extends Context.Service()("@opencode/server/ServerInfo") {
16
+ class Service2 extends Context.Service()("@opencode/server/ServerInfo") {
17
17
  }
18
- function layer4(urls, tmp, app = {}) {
19
- return Layer.succeed(Service5, Service5.of({ urls, app, paths: { tmp } }));
18
+ function layer2(urls, tmp, app = {}) {
19
+ return Layer.succeed(Service2, Service2.of({ urls, app, paths: { tmp } }));
20
20
  }
21
21
  function connectionURLs2(value, requestedHostname) {
22
22
  const url = new URL(value);
@@ -33,4 +33,4 @@ function connectionURLs2(value, requestedHostname) {
33
33
  ];
34
34
  }
35
35
 
36
- export { Service5, layer4, connectionURLs2, exports_server_info };
36
+ export { Service2, layer2, connectionURLs2, exports_server_info };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/shell.ts
9
9
  import { Shell } from "@opencode/core/shell";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/provider.ts
9
9
  import { Provider } from "@opencode/core/provider";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  requestRef2
3
- } from "./auth-0ar9gf7q.js";
3
+ } from "./event-feed-acgs9zzk.js";
4
4
  import {
5
5
  Api2
6
- } from "./auth-ar2c062s.js";
6
+ } from "./event-feed-ep84ha6r.js";
7
7
 
8
8
  // src/handlers/debug.ts
9
9
  import { LocationServiceMap } from "@opencode/core/location-service-map";
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  __export
3
- } from "./auth-9rqn6x4v.js";
3
+ } from "./event-feed-9rqn6x4v.js";
4
4
 
5
5
  // src/pty-environment.ts
6
6
  var exports_pty_environment = {};
7
7
  __export(exports_pty_environment, {
8
8
  PtyEnvironment: () => exports_pty_environment,
9
- Service: () => Service3,
10
- layer: () => layer2,
9
+ Service: () => Service5,
10
+ layer: () => layer5,
11
11
  node: () => node3
12
12
  });
13
13
  import { Context, Effect, Layer } from "effect";
14
14
  import { makeGlobalNode } from "@opencode/util/effect/app-node";
15
15
 
16
- class Service3 extends Context.Service()("@opencode/ServerPtyEnvironment") {
16
+ class Service5 extends Context.Service()("@opencode/ServerPtyEnvironment") {
17
17
  }
18
- var layer2 = Layer.succeed(Service3, Service3.of({
18
+ var layer5 = Layer.succeed(Service5, Service5.of({
19
19
  get: () => Effect.succeed({})
20
20
  }));
21
- var node3 = makeGlobalNode({ service: Service3, layer: layer2, deps: [] });
21
+ var node3 = makeGlobalNode({ service: Service5, layer: layer5, deps: [] });
22
22
 
23
- export { Service3, layer2, node3, exports_pty_environment };
23
+ export { Service5, layer5, node3, exports_pty_environment };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  __export
3
- } from "./auth-9rqn6x4v.js";
3
+ } from "./event-feed-9rqn6x4v.js";
4
4
 
5
5
  // src/pairing.ts
6
6
  var exports_pairing = {};
7
7
  __export(exports_pairing, {
8
8
  ServerPairing: () => exports_pairing,
9
- Service: () => Service2,
9
+ Service: () => Service4,
10
10
  node: () => node2
11
11
  });
12
12
  import { Cache, Context, Duration, Effect, Layer } from "effect";
@@ -14,12 +14,12 @@ import { makeGlobalNode } from "@opencode/util/effect/app-node";
14
14
  import { randomBytes } from "node:crypto";
15
15
  var TTL = Duration.minutes(5);
16
16
 
17
- class Service2 extends Context.Service()("@opencode/ServerPairing") {
17
+ class Service4 extends Context.Service()("@opencode/ServerPairing") {
18
18
  }
19
19
  var noLookup = () => Effect.die(new Error("ServerPairing cache must be used via set/invalidateWhen, never get"));
20
- var layer = Layer.effect(Service2, Effect.gen(function* () {
20
+ var layer = Layer.effect(Service4, Effect.gen(function* () {
21
21
  const cache = yield* Cache.make({ capacity: 1000, lookup: noLookup, timeToLive: TTL });
22
- return Service2.of({
22
+ return Service4.of({
23
23
  issue: Effect.fn("ServerPairing.issue")(function* () {
24
24
  const code = randomBytes(16).toString("base64url");
25
25
  yield* Cache.set(cache, code, true);
@@ -30,6 +30,6 @@ var layer = Layer.effect(Service2, Effect.gen(function* () {
30
30
  })
31
31
  });
32
32
  }));
33
- var node2 = makeGlobalNode({ service: Service2, layer, deps: [] });
33
+ var node2 = makeGlobalNode({ service: Service4, layer, deps: [] });
34
34
 
35
- export { Service2, node2, exports_pairing };
35
+ export { Service4, node2, exports_pairing };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./auth-9rqn6x4v.js";
3
+ } from "./event-feed-9rqn6x4v.js";
4
4
 
5
5
  // src/service-status.ts
6
6
  var exports_service_status = {};
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Api2
3
- } from "./auth-ar2c062s.js";
3
+ } from "./event-feed-ep84ha6r.js";
4
4
 
5
5
  // src/handlers/rpc.ts
6
6
  import { Rpc } from "@opencode/core/rpc";
package/dist/cors.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  CorsConfig2,
3
3
  isAllowedCorsOrigin2,
4
4
  isAllowedRequestOrigin2
5
- } from "./chunks/auth-q4bn6dy8.js";
5
+ } from "./chunks/event-feed-q4bn6dy8.js";
6
6
  export {
7
7
  CorsConfig2 as CorsConfig,
8
8
  isAllowedCorsOrigin2 as isAllowedCorsOrigin,
@@ -2,19 +2,19 @@ import {
2
2
  SubscriberCapacity2,
3
3
  SubscriberOverflowError2,
4
4
  EncodingError2,
5
- Service4,
5
+ Service3,
6
6
  frame2,
7
7
  make4,
8
- layer3,
8
+ layer4,
9
9
  exports_event_feed
10
- } from "./chunks/auth-5ybpxcad.js";
10
+ } from "./chunks/event-feed-d0efjmp3.js";
11
11
  export {
12
12
  EncodingError2 as EncodingError,
13
13
  exports_event_feed as EventFeed,
14
- Service4 as Service,
14
+ Service3 as Service,
15
15
  SubscriberCapacity2 as SubscriberCapacity,
16
16
  SubscriberOverflowError2 as SubscriberOverflowError,
17
17
  frame2 as frame,
18
- layer3 as layer,
18
+ layer4 as layer,
19
19
  make4 as make
20
20
  };
package/dist/fetch.d.ts CHANGED
@@ -41,6 +41,7 @@ export declare const make: (options?: {
41
41
  readonly persist?: boolean | undefined;
42
42
  } | undefined;
43
43
  readonly pty?: {
44
+ readonly root?: string | undefined;
44
45
  readonly handoff?: {
45
46
  readonly directory: string;
46
47
  readonly instanceID: string;
@@ -59,8 +60,8 @@ export declare const make: (options?: {
59
60
  readonly windows?: {
60
61
  readonly gitbash?: string | undefined;
61
62
  } | undefined;
62
- readonly port?: number | undefined;
63
63
  readonly password?: string | undefined;
64
+ readonly port?: number | undefined;
64
65
  readonly app?: {
65
66
  readonly version?: string | undefined;
66
67
  readonly name?: string | undefined;