@opencode/server 0.0.0-dev-256 → 0.0.0-dev-261

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.js +5 -5
  2. package/dist/auth.js +1 -1
  3. package/dist/chunks/{process-059rbh9c.js → fetch-059rbh9c.js} +1 -1
  4. package/dist/chunks/{process-rha2aq18.js → fetch-0a5jm2na.js} +2 -2
  5. package/dist/chunks/{process-6z9pvq7p.js → fetch-1je14sn4.js} +1 -1
  6. package/dist/chunks/{process-qd0r787n.js → fetch-22wspztn.js} +2 -2
  7. package/dist/chunks/{process-s282vggx.js → fetch-2xcc0x05.js} +1 -1
  8. package/dist/chunks/{process-ny1j968n.js → fetch-6vs5sqy6.js} +2 -2
  9. package/dist/chunks/{process-7b9xm1qg.js → fetch-7b9xm1qg.js} +1 -1
  10. package/dist/chunks/{process-99ggccwj.js → fetch-95h1mmtp.js} +35 -35
  11. package/dist/chunks/{process-j87xz9bt.js → fetch-9c4eyh8m.js} +3 -3
  12. package/dist/chunks/{process-cezwbsk5.js → fetch-b2k9041j.js} +1 -1
  13. package/dist/chunks/fetch-b5vdqx3g.js +61 -0
  14. package/dist/chunks/{process-yqhefp4s.js → fetch-c6sjpm0r.js} +2 -2
  15. package/dist/chunks/{process-vsfeekyx.js → fetch-ckkpcd9y.js} +4 -4
  16. package/dist/chunks/{process-a8jcac9a.js → fetch-dk68ymtv.js} +1 -1
  17. package/dist/chunks/{process-kkdkqt8j.js → fetch-e46y0tfd.js} +2 -2
  18. package/dist/chunks/{process-39nnfjx1.js → fetch-e6e4kz0w.js} +4 -4
  19. package/dist/chunks/{process-03x11xk6.js → fetch-e9906t2e.js} +4 -4
  20. package/dist/chunks/{process-htyf2qs7.js → fetch-gk0yxcp6.js} +1 -1
  21. package/dist/chunks/{process-50bbk3b2.js → fetch-gqq6kfhc.js} +3 -3
  22. package/dist/chunks/{process-4qshv3yw.js → fetch-gsyfxrkq.js} +5 -5
  23. package/dist/chunks/{process-zcvan105.js → fetch-h072q2hm.js} +1 -1
  24. package/dist/chunks/{process-4fy84009.js → fetch-h9rcwvg0.js} +1 -1
  25. package/dist/chunks/{process-az0609r6.js → fetch-hax1v4bv.js} +2 -2
  26. package/dist/chunks/{process-1v577ncx.js → fetch-hnheq3hv.js} +2 -2
  27. package/dist/chunks/{process-j4at0y5c.js → fetch-j4at0y5c.js} +1 -1
  28. package/dist/chunks/{process-b105zy65.js → fetch-j9gxd9me.js} +2 -2
  29. package/dist/chunks/{process-k3txyteh.js → fetch-kffvskmv.js} +4 -4
  30. package/dist/chunks/{process-f559fakr.js → fetch-m5rae7m4.js} +2 -2
  31. package/dist/chunks/{process-btahnm2b.js → fetch-ppma8fcc.js} +3 -3
  32. package/dist/chunks/{process-xaq6r89c.js → fetch-qb54r15e.js} +13 -13
  33. package/dist/chunks/{process-2eaky32g.js → fetch-qn8kkfq6.js} +2 -2
  34. package/dist/chunks/{process-2h6qktqa.js → fetch-r6vmgwff.js} +2 -2
  35. package/dist/chunks/{process-20hxek78.js → fetch-rztv1fyf.js} +4 -4
  36. package/dist/chunks/{process-zh6nt7d4.js → fetch-w1r7dqbt.js} +6 -6
  37. package/dist/chunks/{process-9jza3m7j.js → fetch-w587cpb2.js} +6 -6
  38. package/dist/chunks/{process-mzs0n5xz.js → fetch-w9jcwh65.js} +7 -7
  39. package/dist/chunks/{process-qfyg9gb7.js → fetch-wecgp61r.js} +7 -7
  40. package/dist/chunks/{process-d0edqfxx.js → fetch-wxj3d9av.js} +2 -2
  41. package/dist/chunks/{process-qcg3sqtb.js → fetch-x8dgc261.js} +2 -2
  42. package/dist/chunks/{process-5s6gh8sx.js → fetch-xe9t9xr4.js} +2 -2
  43. package/dist/chunks/{process-b3bmdkga.js → fetch-yet0vexm.js} +1 -1
  44. package/dist/chunks/{process-te8jwba1.js → fetch-yr4wsvrw.js} +2 -2
  45. package/dist/chunks/{process-z3e7v67k.js → fetch-z3e7v67k.js} +1 -1
  46. package/dist/chunks/{process-4q6e7fh8.js → fetch-z59gyc0x.js} +2 -2
  47. package/dist/chunks/{process-5s0wnsg4.js → fetch-zgt2tacv.js} +3 -3
  48. package/dist/chunks/{process-h29xjj1e.js → fetch-zrprg5z5.js} +29 -4
  49. package/dist/cors.js +1 -1
  50. package/dist/event-feed.js +5 -5
  51. package/dist/fetch.js +53 -53
  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.d.ts +3 -1
  56. package/dist/handlers/credential.js +7 -6
  57. package/dist/handlers/debug.js +6 -6
  58. package/dist/handlers/event.js +7 -7
  59. package/dist/handlers/form.js +6 -6
  60. package/dist/handlers/fs.js +6 -6
  61. package/dist/handlers/generate.js +6 -6
  62. package/dist/handlers/integration.d.ts +5 -0
  63. package/dist/handlers/integration.js +9 -7
  64. package/dist/handlers/location.js +6 -6
  65. package/dist/handlers/mcp.js +8 -8
  66. package/dist/handlers/media.js +1 -1
  67. package/dist/handlers/message.js +7 -7
  68. package/dist/handlers/migration.js +6 -6
  69. package/dist/handlers/model.js +6 -6
  70. package/dist/handlers/permission.js +6 -6
  71. package/dist/handlers/persistent-pty.js +10 -10
  72. package/dist/handlers/plugin.js +6 -6
  73. package/dist/handlers/project.js +6 -6
  74. package/dist/handlers/provider.js +6 -6
  75. package/dist/handlers/pty-socket.js +1 -1
  76. package/dist/handlers/pty.js +8 -8
  77. package/dist/handlers/reference.js +6 -6
  78. package/dist/handlers/rpc.js +6 -6
  79. package/dist/handlers/schedule.js +2 -2
  80. package/dist/handlers/server.js +9 -9
  81. package/dist/handlers/session-error.js +1 -1
  82. package/dist/handlers/session.js +7 -7
  83. package/dist/handlers/shell.js +6 -6
  84. package/dist/handlers/skill.js +6 -6
  85. package/dist/handlers/usage.js +6 -6
  86. package/dist/handlers/vcs.js +6 -6
  87. package/dist/handlers/voice.js +6 -6
  88. package/dist/handlers/websearch.js +6 -6
  89. package/dist/handlers/worktree.js +6 -6
  90. package/dist/handlers.js +47 -47
  91. package/dist/location.js +4 -4
  92. package/dist/media-uri.js +1 -1
  93. package/dist/middleware/authorization.js +2 -2
  94. package/dist/middleware/form-location.js +3 -3
  95. package/dist/middleware/schema-error.js +1 -1
  96. package/dist/middleware/session-location.js +3 -3
  97. package/dist/pairing.js +3 -3
  98. package/dist/process.js +55 -55
  99. package/dist/request-tracing.js +1 -1
  100. package/dist/routes.js +50 -50
  101. package/dist/server-info.js +1 -1
  102. package/dist/service-status.js +3 -3
  103. package/dist/workerd.js +54 -54
  104. package/package.json +8 -8
  105. package/dist/chunks/process-5b42hxrf.js +0 -47
  106. /package/dist/chunks/{process-9rqn6x4v.js → fetch-9rqn6x4v.js} +0 -0
  107. /package/dist/chunks/{process-bd8755ek.js → fetch-bd8755ek.js} +0 -0
  108. /package/dist/chunks/{process-h6rt5k9s.js → fetch-h6rt5k9s.js} +0 -0
  109. /package/dist/chunks/{process-n321d8vm.js → fetch-n321d8vm.js} +0 -0
  110. /package/dist/chunks/{process-q4bn6dy8.js → fetch-q4bn6dy8.js} +0 -0
  111. /package/dist/chunks/{process-smaf4a18.js → fetch-smaf4a18.js} +0 -0
  112. /package/dist/chunks/{process-xthc02cw.js → fetch-xthc02cw.js} +0 -0
  113. /package/dist/chunks/{process-yc7nft6q.js → fetch-yc7nft6q.js} +0 -0
@@ -1,36 +1,36 @@
1
1
  import {
2
- layer4
3
- } from "./process-50bbk3b2.js";
2
+ layer3
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  formLocationLayer2
6
- } from "./process-htyf2qs7.js";
6
+ } from "./fetch-gk0yxcp6.js";
7
7
  import {
8
8
  sessionLocationLayer2
9
- } from "./process-b3bmdkga.js";
9
+ } from "./fetch-yet0vexm.js";
10
10
  import {
11
11
  Api2
12
- } from "./process-j87xz9bt.js";
12
+ } from "./fetch-9c4eyh8m.js";
13
13
  import {
14
14
  Config2
15
- } from "./process-j4at0y5c.js";
15
+ } from "./fetch-j4at0y5c.js";
16
16
  import {
17
17
  CorsConfig2
18
- } from "./process-q4bn6dy8.js";
18
+ } from "./fetch-q4bn6dy8.js";
19
19
  import {
20
20
  layer2
21
- } from "./process-z3e7v67k.js";
21
+ } from "./fetch-z3e7v67k.js";
22
22
  import {
23
23
  node2
24
- } from "./process-mzs0n5xz.js";
24
+ } from "./fetch-w9jcwh65.js";
25
25
  import {
26
26
  handlers2
27
- } from "./process-99ggccwj.js";
27
+ } from "./fetch-95h1mmtp.js";
28
28
  import {
29
29
  authorizationLayer2
30
- } from "./process-7b9xm1qg.js";
30
+ } from "./fetch-7b9xm1qg.js";
31
31
  import {
32
32
  schemaErrorLayer2
33
- } from "./process-bd8755ek.js";
33
+ } from "./fetch-bd8755ek.js";
34
34
 
35
35
  // src/routes.ts
36
36
  import { Database } from "@opencode/core/database/database";
@@ -152,7 +152,7 @@ function makeRoutes(auth, options, serviceURLs, overrides, instances) {
152
152
  return serviceLayer.pipe(Layer.flatMap((context) => {
153
153
  const services = Layer.succeedContext(context);
154
154
  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));
155
- 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(layer4), Layer.provide(authorizationLayer2), Layer.provide(schemaErrorLayer2), Layer.provide(auth), HttpRouter.provideRequest(requestServices), Layer.provideMerge(services), Layer.provideMerge(HttpRouter.layer));
155
+ 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));
156
156
  return Layer.merge(api, V1Migration.layer.pipe(Layer.provide(services)));
157
157
  }));
158
158
  }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/plugin.ts
9
9
  import { Plugin } from "@opencode/core/plugin";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/fs.ts
9
9
  import { FileSystem } from "@opencode/core/filesystem";
@@ -2,17 +2,17 @@ import {
2
2
  locationErrors2,
3
3
  response2,
4
4
  requestRef2
5
- } from "./process-50bbk3b2.js";
5
+ } from "./fetch-gqq6kfhc.js";
6
6
  import {
7
7
  Api2
8
- } from "./process-j87xz9bt.js";
8
+ } from "./fetch-9c4eyh8m.js";
9
9
  import {
10
10
  CorsConfig2,
11
11
  isAllowedRequestOrigin2
12
- } from "./process-q4bn6dy8.js";
12
+ } from "./fetch-q4bn6dy8.js";
13
13
  import {
14
14
  runPtySocket2
15
- } from "./process-h6rt5k9s.js";
15
+ } from "./fetch-h6rt5k9s.js";
16
16
 
17
17
  // src/handlers/mcp.ts
18
18
  import { Location } from "@opencode/core/location";
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  isAllowedCorsOrigin2
3
- } from "./process-q4bn6dy8.js";
3
+ } from "./fetch-q4bn6dy8.js";
4
4
  import {
5
5
  createRoutes2
6
- } from "./process-xaq6r89c.js";
6
+ } from "./fetch-qb54r15e.js";
7
7
  import {
8
8
  __export
9
- } from "./process-9rqn6x4v.js";
9
+ } from "./fetch-9rqn6x4v.js";
10
10
 
11
11
  // src/fetch.ts
12
12
  var exports_fetch = {};
13
13
  __export(exports_fetch, {
14
14
  ServerFetch: () => exports_fetch,
15
- make: () => make3
15
+ make: () => make2
16
16
  });
17
17
  import { Context, Effect, Layer } from "effect";
18
18
  import { HttpEffect, HttpMiddleware, HttpRouter, HttpServer } from "effect/http";
19
19
  import { SessionRestart } from "@opencode/core/session/execution/restart";
20
- var make3 = Effect.fn("ServerFetch.make")(function* (options = {}, boot = {}) {
20
+ var make2 = Effect.fn("ServerFetch.make")(function* (options = {}, boot = {}) {
21
21
  const context = yield* Layer.build(createRoutes2(options, () => [], boot.overrides ?? []).pipe(Layer.provide(HttpServer.layerServices)));
22
22
  yield* Effect.forkDetach(Context.get(context, SessionRestart.Service).resumeSuspendedSessions);
23
23
  return Context.get(context, HttpRouter.HttpRouter).asHttpEffect().pipe(HttpMiddleware.cors({ allowedOrigins: (origin) => isAllowedCorsOrigin2(origin, options), maxAge: 86400 }), HttpEffect.toWebHandlerWith(context));
24
24
  });
25
25
 
26
- export { make3, exports_fetch };
26
+ export { make2, exports_fetch };
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  Api2
3
- } from "./process-j87xz9bt.js";
3
+ } from "./fetch-9c4eyh8m.js";
4
4
  import {
5
5
  SESSION_TTL_SECONDS2,
6
6
  Config2,
7
7
  issueSession2,
8
8
  sessionCookieName2
9
- } from "./process-j4at0y5c.js";
9
+ } from "./fetch-j4at0y5c.js";
10
10
  import {
11
11
  Service2
12
- } from "./process-z3e7v67k.js";
12
+ } from "./fetch-z3e7v67k.js";
13
13
  import {
14
- Service4
15
- } from "./process-mzs0n5xz.js";
14
+ Service3
15
+ } from "./fetch-w9jcwh65.js";
16
16
 
17
17
  // src/handlers/server.ts
18
18
  import { hostname } from "node:os";
@@ -22,7 +22,7 @@ import { HttpApiBuilder } from "effect/http-api";
22
22
  import { PersistentPty } from "@opencode/core/persistent-pty";
23
23
  import { UnauthorizedError } from "@opencode/protocol/errors";
24
24
  var ServerHandler2 = HttpApiBuilder.group(Api2, "server.server", (handlers) => Effect.gen(function* () {
25
- const pairing = yield* Service4;
25
+ const pairing = yield* Service3;
26
26
  const auth = yield* Config2;
27
27
  return handlers.handle("server.info", () => Effect.gen(function* () {
28
28
  const info = yield* Service2;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  __export
3
- } from "./process-9rqn6x4v.js";
3
+ } from "./fetch-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: () => Service4,
9
+ Service: () => Service3,
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 Service4 extends Context.Service()("@opencode/ServerPairing") {
17
+ class Service3 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(Service4, Effect.gen(function* () {
20
+ var layer = Layer.effect(Service3, Effect.gen(function* () {
21
21
  const cache = yield* Cache.make({ capacity: 1000, lookup: noLookup, timeToLive: TTL });
22
- return Service4.of({
22
+ return Service3.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(Service4, Effect.gen(function* () {
30
30
  })
31
31
  });
32
32
  }));
33
- var node2 = makeGlobalNode({ service: Service4, layer, deps: [] });
33
+ var node2 = makeGlobalNode({ service: Service3, layer, deps: [] });
34
34
 
35
- export { Service4, node2, exports_pairing };
35
+ export { Service3, node2, exports_pairing };
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  __export
3
- } from "./process-9rqn6x4v.js";
3
+ } from "./fetch-9rqn6x4v.js";
4
4
 
5
5
  // src/event-feed.ts
6
6
  var exports_event_feed = {};
7
7
  __export(exports_event_feed, {
8
8
  EncodingError: () => EncodingError2,
9
9
  EventFeed: () => exports_event_feed,
10
- Service: () => Service3,
10
+ Service: () => Service4,
11
11
  SubscriberCapacity: () => SubscriberCapacity2,
12
12
  SubscriberOverflowError: () => SubscriberOverflowError2,
13
13
  frame: () => frame2,
14
- layer: () => layer3,
14
+ layer: () => layer4,
15
15
  make: () => make4
16
16
  });
17
17
  import { Bus } from "@opencode/core/bus";
@@ -30,7 +30,7 @@ class EncodingError2 extends Schema.TaggedError()("EventFeed.EncodingError", {
30
30
  }) {
31
31
  }
32
32
 
33
- class Service3 extends Context.Service()("@opencode/server/EventFeed") {
33
+ class Service4 extends Context.Service()("@opencode/server/EventFeed") {
34
34
  }
35
35
  function frame2(event) {
36
36
  return `data: ${JSON.stringify(event)}
@@ -72,13 +72,13 @@ var make4 = Effect.fn("EventFeed.make")(function* (observe, options) {
72
72
  });
73
73
  const unsubscribe = yield* observe(publish);
74
74
  yield* Effect.addFinalizer(() => unsubscribe);
75
- return Service3.of({
75
+ return Service4.of({
76
76
  subscribe: (types) => Effect.acquireRelease(Queue.dropping(capacity).pipe(Effect.tap((queue) => Effect.sync(() => subscribers.set(queue, types?.length ? new Set(types) : undefined)))), (queue) => Effect.sync(() => subscribers.delete(queue)).pipe(Effect.andThen(Queue.shutdown(queue)), Effect.asVoid)).pipe(Effect.map(Stream.fromQueue))
77
77
  });
78
78
  });
79
- var layer3 = Layer.effect(Service3, Effect.gen(function* () {
79
+ var layer4 = Layer.effect(Service4, Effect.gen(function* () {
80
80
  const bus = yield* Bus.Service;
81
81
  return yield* make4(bus.listen);
82
82
  }));
83
83
 
84
- export { SubscriberCapacity2, SubscriberOverflowError2, EncodingError2, Service3, frame2, make4, layer3, exports_event_feed };
84
+ export { SubscriberCapacity2, SubscriberOverflowError2, EncodingError2, Service4, frame2, make4, layer4, exports_event_feed };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  locationErrors2,
3
3
  awaitPlugins2
4
- } from "./process-50bbk3b2.js";
4
+ } from "./fetch-gqq6kfhc.js";
5
5
  import {
6
6
  Api2
7
- } from "./process-j87xz9bt.js";
7
+ } from "./fetch-9c4eyh8m.js";
8
8
 
9
9
  // src/handlers/voice.ts
10
10
  import { Location } from "@opencode/core/location";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  requestRef2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/debug.ts
9
9
  import { LocationServiceMap } from "@opencode/core/location-service-map";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/vcs.ts
9
9
  import { Vcs } from "@opencode/core/vcs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  locationErrors2,
3
3
  sessionInfo2
4
- } from "./process-50bbk3b2.js";
4
+ } from "./fetch-gqq6kfhc.js";
5
5
 
6
6
  // src/middleware/session-location.ts
7
7
  import { Instance } from "@opencode/core/instance/service";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/reference.ts
9
9
  import { Reference } from "@opencode/core/reference";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./process-9rqn6x4v.js";
3
+ } from "./fetch-9rqn6x4v.js";
4
4
 
5
5
  // src/server-info.ts
6
6
  var exports_server_info = {};
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/command.ts
9
9
  import { Command } from "@opencode/core/command";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  missingSession2,
3
3
  failedMessageDecode2
4
- } from "./process-smaf4a18.js";
4
+ } from "./fetch-smaf4a18.js";
5
5
  import {
6
6
  Api2
7
- } from "./process-j87xz9bt.js";
7
+ } from "./fetch-9c4eyh8m.js";
8
8
  import {
9
9
  wantsMediaRefs2
10
- } from "./process-xthc02cw.js";
10
+ } from "./fetch-xthc02cw.js";
11
11
 
12
12
  // src/handlers/message.ts
13
13
  import { SessionMessage } from "@opencode/core/session/message";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  response2
3
- } from "./process-50bbk3b2.js";
3
+ } from "./fetch-gqq6kfhc.js";
4
4
  import {
5
5
  Api2
6
- } from "./process-j87xz9bt.js";
6
+ } from "./fetch-9c4eyh8m.js";
7
7
 
8
8
  // src/handlers/integration.ts
9
9
  import { Integration } from "@opencode/core/integration";
@@ -17,6 +17,25 @@ import {
17
17
  InvalidRequestError
18
18
  } from "@opencode/protocol/errors";
19
19
  import { WellKnown } from "@opencode/core/wellknown";
20
+ import { Config } from "@opencode/core/config";
21
+ import { ManagedPolicy } from "@opencode/core/managed-policy";
22
+ var statements = Effect.fnUntraced(function* () {
23
+ const config = yield* Config.Service;
24
+ return ManagedPolicy.statements(yield* config.entries());
25
+ });
26
+ var isMcp = (integration) => integration?.metadata?.source === "mcp";
27
+ var requireConnectable2 = Effect.fnUntraced(function* (integrationID) {
28
+ const integrations = yield* Integration.Service;
29
+ if (isMcp(yield* integrations.get(integrationID)))
30
+ return;
31
+ const denied = ManagedPolicy.match(yield* statements(), "integration.connect", integrationID);
32
+ if (denied?.effect !== "deny")
33
+ return;
34
+ return yield* new InvalidRequestError({
35
+ message: `${denied.message}: connecting ${integrationID} is not allowed`,
36
+ kind: "integration_policy"
37
+ });
38
+ });
20
39
  var authorize = (effect) => effect.pipe(Effect.mapError((error) => new InvalidRequestError({
21
40
  message: error.cause instanceof Error && error.cause.message.trim() ? error.cause.message : "Authentication failed",
22
41
  kind: "integration_authorization"
@@ -25,7 +44,8 @@ var IntegrationHandler2 = HttpApiBuilder.group(Api2, "server.integration", (hand
25
44
  return handlers.handle("integration.list", Effect.fn(function* () {
26
45
  yield* Plugin.awaitActivation;
27
46
  const service = yield* Integration.Service;
28
- return yield* response2(service.list());
47
+ const current = yield* statements();
48
+ return yield* response2(service.list().pipe(Effect.map((integrations) => integrations.filter((integration) => isMcp(integration) || ManagedPolicy.decision(current, "integration.connect", integration.id) !== "deny"))));
29
49
  })).handle("integration.get", Effect.fn(function* (ctx) {
30
50
  const service = yield* Integration.Service;
31
51
  const integration = yield* service.get(ctx.params.integrationID);
@@ -38,10 +58,12 @@ var IntegrationHandler2 = HttpApiBuilder.group(Api2, "server.integration", (hand
38
58
  })).handle("integration.wellknown.add", Effect.fn(function* (ctx) {
39
59
  const wellknown = yield* WellKnown.Service;
40
60
  const integration = yield* Integration.Service;
61
+ yield* requireConnectable2(Integration.ID.make(ctx.payload.url.replace(/\/+$/, "")));
41
62
  yield* wellknown.add(ctx.payload.url).pipe(Effect.mapError((error) => new InvalidRequestError({ message: error.message, kind: "well_known_discovery" })));
42
63
  yield* integration.reload();
43
64
  return HttpApiSchema.NoContent.make();
44
65
  })).handle("integration.connect.key", Effect.fn(function* (ctx) {
66
+ yield* requireConnectable2(ctx.params.integrationID);
45
67
  const service = yield* Integration.Service;
46
68
  if (!(yield* service.get(ctx.params.integrationID)))
47
69
  return yield* new IntegrationNotFoundError({
@@ -56,6 +78,7 @@ var IntegrationHandler2 = HttpApiBuilder.group(Api2, "server.integration", (hand
56
78
  }));
57
79
  return HttpApiSchema.NoContent.make();
58
80
  })).handle("integration.connect.external", Effect.fn(function* (ctx) {
81
+ yield* requireConnectable2(ctx.params.integrationID);
59
82
  const service = yield* Integration.Service;
60
83
  if (!(yield* service.get(ctx.params.integrationID)))
61
84
  return yield* new IntegrationNotFoundError({
@@ -70,6 +93,7 @@ var IntegrationHandler2 = HttpApiBuilder.group(Api2, "server.integration", (hand
70
93
  }));
71
94
  return HttpApiSchema.NoContent.make();
72
95
  })).handle("integration.oauth.connect", Effect.fn(function* (ctx) {
96
+ yield* requireConnectable2(ctx.params.integrationID);
73
97
  const service = yield* Integration.Service;
74
98
  return yield* response2(authorize(service.oauth.connect({
75
99
  integrationID: ctx.params.integrationID,
@@ -124,6 +148,7 @@ var IntegrationHandler2 = HttpApiBuilder.group(Api2, "server.integration", (hand
124
148
  });
125
149
  return HttpApiSchema.NoContent.make();
126
150
  })).handle("integration.command.connect", Effect.fn(function* (ctx) {
151
+ yield* requireConnectable2(ctx.params.integrationID);
127
152
  const service = yield* Integration.Service;
128
153
  const integration = yield* service.get(ctx.params.integrationID);
129
154
  if (!integration)
@@ -167,4 +192,4 @@ var IntegrationHandler2 = HttpApiBuilder.group(Api2, "server.integration", (hand
167
192
  }));
168
193
  }));
169
194
 
170
- export { IntegrationHandler2 };
195
+ export { requireConnectable2, IntegrationHandler2 };
package/dist/cors.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  CorsConfig2,
3
3
  isAllowedCorsOrigin2,
4
4
  isAllowedRequestOrigin2
5
- } from "./chunks/process-q4bn6dy8.js";
5
+ } from "./chunks/fetch-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
- Service3,
5
+ Service4,
6
6
  frame2,
7
7
  make4,
8
- layer3,
8
+ layer4,
9
9
  exports_event_feed
10
- } from "./chunks/process-qfyg9gb7.js";
10
+ } from "./chunks/fetch-wecgp61r.js";
11
11
  export {
12
12
  EncodingError2 as EncodingError,
13
13
  exports_event_feed as EventFeed,
14
- Service3 as Service,
14
+ Service4 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.js CHANGED
@@ -1,58 +1,58 @@
1
1
  import {
2
- make3,
2
+ make2,
3
3
  exports_fetch
4
- } from "./chunks/process-zh6nt7d4.js";
5
- import"./chunks/process-xaq6r89c.js";
6
- import"./chunks/process-7b9xm1qg.js";
7
- import"./chunks/process-bd8755ek.js";
8
- import"./chunks/process-99ggccwj.js";
9
- import"./chunks/process-20hxek78.js";
10
- import"./chunks/process-az0609r6.js";
11
- import"./chunks/process-a8jcac9a.js";
12
- import"./chunks/process-k3txyteh.js";
13
- import"./chunks/process-b105zy65.js";
14
- import"./chunks/process-5s6gh8sx.js";
15
- import"./chunks/process-qd0r787n.js";
16
- import"./chunks/process-2h6qktqa.js";
17
- import"./chunks/process-4qshv3yw.js";
18
- import"./chunks/process-n321d8vm.js";
19
- import"./chunks/process-059rbh9c.js";
20
- import"./chunks/process-2eaky32g.js";
21
- import"./chunks/process-5s0wnsg4.js";
22
- import"./chunks/process-qcg3sqtb.js";
23
- import"./chunks/process-zcvan105.js";
24
- import"./chunks/process-vsfeekyx.js";
25
- import"./chunks/process-rha2aq18.js";
26
- import"./chunks/process-h29xjj1e.js";
27
- import"./chunks/process-ny1j968n.js";
28
- import"./chunks/process-te8jwba1.js";
29
- import"./chunks/process-h6rt5k9s.js";
30
- import"./chunks/process-4q6e7fh8.js";
31
- import"./chunks/process-03x11xk6.js";
32
- import"./chunks/process-yqhefp4s.js";
33
- import"./chunks/process-6z9pvq7p.js";
34
- import"./chunks/process-d0edqfxx.js";
35
- import"./chunks/process-cezwbsk5.js";
36
- import"./chunks/process-s282vggx.js";
37
- import"./chunks/process-1v577ncx.js";
38
- import"./chunks/process-4fy84009.js";
39
- import"./chunks/process-5b42hxrf.js";
40
- import"./chunks/process-btahnm2b.js";
41
- import"./chunks/process-9jza3m7j.js";
42
- import"./chunks/process-f559fakr.js";
43
- import"./chunks/process-kkdkqt8j.js";
44
- import"./chunks/process-z3e7v67k.js";
45
- import"./chunks/process-j4at0y5c.js";
46
- import"./chunks/process-xthc02cw.js";
47
- import"./chunks/process-qfyg9gb7.js";
48
- import"./chunks/process-mzs0n5xz.js";
49
- import"./chunks/process-j87xz9bt.js";
50
- import"./chunks/process-htyf2qs7.js";
51
- import"./chunks/process-b3bmdkga.js";
52
- import"./chunks/process-50bbk3b2.js";
53
- import"./chunks/process-smaf4a18.js";
54
- import"./chunks/process-q4bn6dy8.js";
4
+ } from "./chunks/fetch-w1r7dqbt.js";
5
+ import"./chunks/fetch-qb54r15e.js";
6
+ import"./chunks/fetch-bd8755ek.js";
7
+ import"./chunks/fetch-7b9xm1qg.js";
8
+ import"./chunks/fetch-95h1mmtp.js";
9
+ import"./chunks/fetch-b5vdqx3g.js";
10
+ import"./chunks/fetch-2xcc0x05.js";
11
+ import"./chunks/fetch-yr4wsvrw.js";
12
+ import"./chunks/fetch-e46y0tfd.js";
13
+ import"./chunks/fetch-hax1v4bv.js";
14
+ import"./chunks/fetch-wxj3d9av.js";
15
+ import"./chunks/fetch-c6sjpm0r.js";
16
+ import"./chunks/fetch-0a5jm2na.js";
17
+ import"./chunks/fetch-6vs5sqy6.js";
18
+ import"./chunks/fetch-x8dgc261.js";
19
+ import"./chunks/fetch-dk68ymtv.js";
20
+ import"./chunks/fetch-xe9t9xr4.js";
21
+ import"./chunks/fetch-1je14sn4.js";
22
+ import"./chunks/fetch-z59gyc0x.js";
23
+ import"./chunks/fetch-w587cpb2.js";
24
+ import"./chunks/fetch-j9gxd9me.js";
25
+ import"./chunks/fetch-hnheq3hv.js";
26
+ import"./chunks/fetch-kffvskmv.js";
27
+ import"./chunks/fetch-zgt2tacv.js";
28
+ import"./chunks/fetch-22wspztn.js";
29
+ import"./chunks/fetch-h9rcwvg0.js";
30
+ import"./chunks/fetch-e9906t2e.js";
31
+ import"./chunks/fetch-b2k9041j.js";
32
+ import"./chunks/fetch-gsyfxrkq.js";
33
+ import"./chunks/fetch-059rbh9c.js";
34
+ import"./chunks/fetch-h072q2hm.js";
35
+ import"./chunks/fetch-r6vmgwff.js";
36
+ import"./chunks/fetch-rztv1fyf.js";
37
+ import"./chunks/fetch-n321d8vm.js";
38
+ import"./chunks/fetch-m5rae7m4.js";
39
+ import"./chunks/fetch-ckkpcd9y.js";
40
+ import"./chunks/fetch-qn8kkfq6.js";
41
+ import"./chunks/fetch-h6rt5k9s.js";
42
+ import"./chunks/fetch-zrprg5z5.js";
43
+ import"./chunks/fetch-ppma8fcc.js";
44
+ import"./chunks/fetch-z3e7v67k.js";
45
+ import"./chunks/fetch-xthc02cw.js";
46
+ import"./chunks/fetch-j4at0y5c.js";
47
+ import"./chunks/fetch-9c4eyh8m.js";
48
+ import"./chunks/fetch-yet0vexm.js";
49
+ import"./chunks/fetch-gk0yxcp6.js";
50
+ import"./chunks/fetch-w9jcwh65.js";
51
+ import"./chunks/fetch-gqq6kfhc.js";
52
+ import"./chunks/fetch-smaf4a18.js";
53
+ import"./chunks/fetch-wecgp61r.js";
54
+ import"./chunks/fetch-q4bn6dy8.js";
55
55
  export {
56
56
  exports_fetch as ServerFetch,
57
- make3 as make
57
+ make2 as make
58
58
  };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  AgentHandler2
3
- } from "../chunks/process-1v577ncx.js";
4
- import"../chunks/process-j87xz9bt.js";
5
- import"../chunks/process-htyf2qs7.js";
6
- import"../chunks/process-b3bmdkga.js";
7
- import"../chunks/process-50bbk3b2.js";
8
- import"../chunks/process-smaf4a18.js";
3
+ } from "../chunks/fetch-hnheq3hv.js";
4
+ import"../chunks/fetch-9c4eyh8m.js";
5
+ import"../chunks/fetch-yet0vexm.js";
6
+ import"../chunks/fetch-gk0yxcp6.js";
7
+ import"../chunks/fetch-gqq6kfhc.js";
8
+ import"../chunks/fetch-smaf4a18.js";
9
9
  export {
10
10
  AgentHandler2 as AgentHandler
11
11
  };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  CommandHandler2
3
- } from "../chunks/process-4q6e7fh8.js";
4
- import"../chunks/process-j87xz9bt.js";
5
- import"../chunks/process-htyf2qs7.js";
6
- import"../chunks/process-b3bmdkga.js";
7
- import"../chunks/process-50bbk3b2.js";
8
- import"../chunks/process-smaf4a18.js";
3
+ } from "../chunks/fetch-z59gyc0x.js";
4
+ import"../chunks/fetch-9c4eyh8m.js";
5
+ import"../chunks/fetch-yet0vexm.js";
6
+ import"../chunks/fetch-gk0yxcp6.js";
7
+ import"../chunks/fetch-gqq6kfhc.js";
8
+ import"../chunks/fetch-smaf4a18.js";
9
9
  export {
10
10
  CommandHandler2 as CommandHandler
11
11
  };