@opencode-ai/server 0.0.0-beta-18387 → 0.0.0-beta-18593

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.
package/dist/api.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { LocationMiddleware } from "./location";
2
2
  import { FormLocationMiddleware } from "./middleware/form-location";
3
3
  import { SessionLocationMiddleware } from "./middleware/session-location";
4
- export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddleware, import("effect/unstable/httpapi/HttpApiMiddleware").HttpApiMiddleware<import("@opencode-ai/core/location").Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, never, never>, FormLocationMiddleware, import("effect/unstable/httpapi/HttpApiMiddleware").HttpApiMiddleware<import("@opencode-ai/core/location").Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof import("@opencode-ai/protocol/errors").InvalidRequestError, typeof import("@opencode-ai/protocol/errors").SessionNotFoundError], never>, SessionLocationMiddleware, import("effect/unstable/httpapi/HttpApiMiddleware").HttpApiMiddleware<import("@opencode-ai/core/location").Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof import("@opencode-ai/protocol/errors").InvalidRequestError, typeof import("@opencode-ai/protocol/errors").SessionNotFoundError], never>, import("effect/unstable/httpapi/HttpApiGroup").HttpApiGroup<"server.event", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"event.subscribe", "GET", "/api/event", never, never, never, never, import("effect/unstable/httpapi/HttpApiSchema").StreamSse<import("effect/unstable/httpapi/HttpApiSchema").SseEventFromData<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
4
+ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddleware, import("effect/unstable/httpapi/HttpApiMiddleware").HttpApiMiddleware<import("@opencode-ai/core/location").Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, never, never>, FormLocationMiddleware, import("effect/unstable/httpapi/HttpApiMiddleware").HttpApiMiddleware<import("@opencode-ai/core/location").Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof import("@opencode-ai/protocol/errors").InvalidRequestError, typeof import("@opencode-ai/protocol/errors").SessionNotFoundError], never>, SessionLocationMiddleware, import("effect/unstable/httpapi/HttpApiMiddleware").HttpApiMiddleware<import("@opencode-ai/core/location").Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof import("@opencode-ai/protocol/errors").InvalidRequestError, typeof import("@opencode-ai/protocol/errors").SessionNotFoundError], never>, import("effect/unstable/httpapi/HttpApiGroup").HttpApiGroup<"server.event", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"event.subscribe", "GET", "/api/event", never, never, never, never, import("effect/unstable/httpapi/HttpApiSchema").StreamSse<import("effect/unstable/httpapi/HttpApiSchema").SseEventFromData<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
5
5
  readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
6
6
  create: () => string & import("effect/Brand").Brand<"Event.ID">;
7
7
  };
@@ -304,6 +304,7 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
304
304
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
305
305
  };
306
306
  }>, never, never>;
307
+ readonly metadata: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>>, never, never>;
307
308
  readonly version: import("effect/Schema").String;
308
309
  readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
309
310
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -387,6 +388,7 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
387
388
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
388
389
  };
389
390
  }>, never, never>;
391
+ readonly metadata: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>>, never, never>;
390
392
  readonly version: import("effect/Schema").String;
391
393
  readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
392
394
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -6495,6 +6497,9 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
6495
6497
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
6496
6498
  readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
6497
6499
  readonly slug: string;
6500
+ readonly metadata?: {
6501
+ readonly [x: string]: import("effect/Schema").Json;
6502
+ } | undefined;
6498
6503
  readonly title?: string | undefined;
6499
6504
  readonly model?: {
6500
6505
  readonly id: string & import("effect/Brand").Brand<"Model.ID">;
package/dist/fetch.d.ts CHANGED
@@ -40,6 +40,14 @@ export declare const make: (options?: {
40
40
  readonly events?: {
41
41
  readonly persist?: boolean | undefined;
42
42
  } | undefined;
43
+ readonly pty?: {
44
+ readonly handoff?: {
45
+ readonly directory: string;
46
+ readonly instanceID: string;
47
+ readonly ticket: string;
48
+ readonly expiresAt: number;
49
+ } | undefined;
50
+ } | undefined;
43
51
  readonly config?: {
44
52
  readonly directory?: string | undefined;
45
53
  readonly project?: boolean | undefined;
@@ -1,4 +1,4 @@
1
- import { MCP } from "@opencode-ai/core/mcp/index";
1
+ import { Mcp } from "@opencode-ai/core/mcp/index";
2
2
  import { McpServerNotFoundError } from "@opencode-ai/protocol/errors";
3
3
  import { Effect } from "effect";
4
4
  import { HttpApiBuilder, HttpApiSchema } from "effect/unstable/httpapi";
@@ -7,25 +7,25 @@ import { response } from "../location";
7
7
  const notFound = (effect) => effect.pipe(Effect.mapError((error) => new McpServerNotFoundError({ server: error.server, message: error.message })));
8
8
  export const McpHandler = HttpApiBuilder.group(Api, "server.mcp", (handlers) => Effect.gen(function* () {
9
9
  return handlers.handle("mcp.list", Effect.fn(function* () {
10
- const service = yield* MCP.Service;
10
+ const service = yield* Mcp.Service;
11
11
  return yield* response(service.servers().pipe(Effect.map((servers) => servers.map((info) => ({ name: info.name, status: info.status, integrationID: info.integrationID })))));
12
12
  })).handle("mcp.add", Effect.fn(function* (ctx) {
13
- yield* (yield* MCP.Service).add(ctx.params.server, ctx.payload.config);
13
+ yield* (yield* Mcp.Service).add(ctx.params.server, ctx.payload.config);
14
14
  return HttpApiSchema.NoContent.make();
15
15
  })).handle("mcp.remove", Effect.fn(function* (ctx) {
16
- const service = yield* MCP.Service;
16
+ const service = yield* Mcp.Service;
17
17
  yield* notFound(service.remove(ctx.params.server));
18
18
  return HttpApiSchema.NoContent.make();
19
19
  })).handle("mcp.connect", Effect.fn(function* (ctx) {
20
- const service = yield* MCP.Service;
20
+ const service = yield* Mcp.Service;
21
21
  yield* notFound(service.connect(ctx.params.server));
22
22
  return HttpApiSchema.NoContent.make();
23
23
  })).handle("mcp.disconnect", Effect.fn(function* (ctx) {
24
- const service = yield* MCP.Service;
24
+ const service = yield* Mcp.Service;
25
25
  yield* notFound(service.disconnect(ctx.params.server));
26
26
  return HttpApiSchema.NoContent.make();
27
27
  })).handle("mcp.resource.catalog", Effect.fn(function* () {
28
- const service = yield* MCP.Service;
28
+ const service = yield* Mcp.Service;
29
29
  return yield* response(service.resourceCatalog());
30
30
  }));
31
31
  }));
@@ -1,3 +1,3 @@
1
1
  import { PersistentPty } from "@opencode-ai/core/persistent-pty";
2
2
  import { PtyTicket } from "@opencode-ai/core/pty/ticket";
3
- export declare const PersistentPtyHandler: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.experimental">, never, PtyTicket.Service | PersistentPty.Service | (import("@opencode-ai/protocol/middleware/schema-error").SchemaErrorMiddleware | import("@opencode-ai/protocol/middleware/authorization").Authorization)>;
3
+ export declare const PersistentPtyHandler: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.experimental">, never, PersistentPty.Service | PtyTicket.Service | (import("@opencode-ai/protocol/middleware/schema-error").SchemaErrorMiddleware | import("@opencode-ai/protocol/middleware/authorization").Authorization)>;
@@ -14,7 +14,9 @@ import { Api } from "../api";
14
14
  import { CorsConfig, isAllowedRequestOrigin } from "../cors";
15
15
  export const PersistentPtyHandler = HttpApiBuilder.group(Api, "server.experimental", (handlers) => Effect.gen(function* () {
16
16
  const tickets = yield* PtyTicket.Service, cors = yield* CorsConfig, pty = yield* PersistentPty.Service;
17
- return handlers.handle("persistentPty.list", Effect.fn(function* (ctx) {
17
+ return handlers.handle("persistentPty.read", Effect.fn(function* (ctx) {
18
+ return { data: yield* pty.read(ctx.params.sessionID, ctx.query.lines).pipe(mapUnavailable) };
19
+ })).handle("persistentPty.list", Effect.fn(function* (ctx) {
18
20
  return { data: yield* pty.list(ctx.params.sessionID).pipe(mapUnavailable) };
19
21
  })).handle("persistentPty.create", Effect.fn(function* (ctx) {
20
22
  return {
@@ -31,6 +33,8 @@ export const PersistentPtyHandler = HttpApiBuilder.group(Api, "server.experiment
31
33
  })).handle("persistentPty.shutdown", Effect.fn(function* () {
32
34
  yield* pty.shutdown().pipe(mapUnavailable);
33
35
  return HttpApiSchema.NoContent.make();
36
+ })).handle("persistentPty.handoff", Effect.fn(function* () {
37
+ return { handoff: yield* pty.handoff().pipe(mapUnavailable) };
34
38
  })).handle("persistentPty.get", Effect.fn(function* (ctx) {
35
39
  return { data: yield* pty.get(ctx.params.ptyID).pipe(mapTerminalError) };
36
40
  })).handle("persistentPty.update", Effect.fn(function* (ctx) {
@@ -76,6 +76,7 @@ export const SessionHandler = HttpApiBuilder.group(Api, "server.session", (handl
76
76
  title: ctx.payload.title,
77
77
  agent: ctx.payload.agent,
78
78
  model: ctx.payload.model,
79
+ metadata: ctx.payload.metadata,
79
80
  location: ctx.payload.location ?? { directory: AbsolutePath.make(process.cwd()) }
80
81
  }).pipe(Effect.orDie)
81
82
  };
@@ -84,7 +85,7 @@ export const SessionHandler = HttpApiBuilder.group(Api, "server.session", (handl
84
85
  data: yield* transfer.import({
85
86
  data: { info: ctx.payload.info, messages: ctx.payload.messages },
86
87
  location: ctx.payload.location ?? { directory: AbsolutePath.make(process.cwd()) }
87
- }).pipe(Effect.catchTag("SessionTransfer.ImportConflictError", (error) => new ConflictError({
88
+ }).pipe(Effect.catchTag("Session.NotFoundError", missingSession), Effect.catchTag("SessionTransfer.ImportConflictError", (error) => new ConflictError({
88
89
  message: `Session already exists: ${error.sessionID}`,
89
90
  resource: error.sessionID
90
91
  })))
@@ -1,2 +1,2 @@
1
1
  import { Layer } from "effect";
2
- export declare const handlers: Layer.Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.generate"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.message"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.model"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.provider"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.session"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.permission"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.fs"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.form"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.command"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.skill"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.event"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.agent"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.plugin"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.health"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.server"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.debug"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.pty"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.experimental"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.shell"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.reference"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.location"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.integration"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.websearch"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.mcp"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.credential"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.project"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.worktree"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.vcs"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.migration"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.config"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.workspace">, never, import("@opencode-ai/protocol/middleware/schema-error").SchemaErrorMiddleware | import("@opencode-ai/protocol/middleware/authorization").Authorization | import("@opencode-ai/util/global").Service | import("@opencode-ai/core/workspace").Service | import("@opencode-ai/core/bus").Service | import("@opencode-ai/core/worktree").Service | import("@opencode-ai/core/location-service-map").Service | import("@opencode-ai/core/session").Service | import("./location").LocationMiddleware | import("./middleware/form-location").FormLocationMiddleware | import("./middleware/session-location").SessionLocationMiddleware | import("@opencode-ai/core/pty/ticket").Service | import("@opencode-ai/core/persistent-pty/index").Service | import("@opencode-ai/core/session/transfer").Service | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/database/database").Service> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/permission/saved").Service> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("./server-info").Service> | import("./pty-environment").Service | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/wellknown").Service> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/project").Service>>;
2
+ export declare const handlers: Layer.Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.generate"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.message"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.model"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.provider"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.session"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.permission"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.fs"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.form"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.command"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.skill"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.event"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.agent"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.plugin"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.health"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.server"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.debug"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.pty"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.experimental"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.shell"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.reference"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.location"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.integration"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.websearch"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.mcp"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.credential"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.project"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.worktree"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.vcs"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.migration"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.config"> | import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.workspace">, never, import("@opencode-ai/protocol/middleware/schema-error").SchemaErrorMiddleware | import("@opencode-ai/protocol/middleware/authorization").Authorization | import("@opencode-ai/util/global").Service | import("@opencode-ai/core/bus").Service | import("@opencode-ai/core/workspace").Service | import("@opencode-ai/core/worktree").Service | import("@opencode-ai/core/location-service-map").Service | import("@opencode-ai/core/persistent-pty/index").Service | import("@opencode-ai/core/session").Service | import("./location").LocationMiddleware | import("./middleware/form-location").FormLocationMiddleware | import("./middleware/session-location").SessionLocationMiddleware | import("@opencode-ai/core/pty/ticket").Service | import("@opencode-ai/core/session/transfer").Service | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/database/database").Service> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/permission/saved").Service> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("./server-info").Service> | import("./pty-environment").Service | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/wellknown").Service> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/project").Service>>;
@@ -6,12 +6,12 @@ import { HttpApiMiddleware } from "effect/unstable/httpapi";
6
6
  export type LocationServices = Layer.Success<ReturnType<(typeof LocationServiceMap.Service)["get"]>>;
7
7
  declare const LocationMiddleware_base: HttpApiMiddleware.ServiceClass<LocationMiddleware, "@opencode/HttpApiLocation", {
8
8
  requires: never;
9
- provides: Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service;
9
+ provides: Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service;
10
10
  error: never;
11
11
  clientError: never;
12
12
  requiredForClient: false;
13
13
  security: never;
14
- }, HttpApiMiddleware.HttpApiMiddleware<Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, never, never>>;
14
+ }, HttpApiMiddleware.HttpApiMiddleware<Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, never, never>>;
15
15
  export declare class LocationMiddleware extends LocationMiddleware_base {
16
16
  }
17
17
  export declare function response<A, E, R>(data: Effect.Effect<A, E, R>): Effect.Effect<{
@@ -6,12 +6,12 @@ import { Layer } from "effect";
6
6
  import { HttpApiMiddleware } from "effect/unstable/httpapi";
7
7
  declare const FormLocationMiddleware_base: HttpApiMiddleware.ServiceClass<FormLocationMiddleware, "@opencode/HttpApiFormLocation", {
8
8
  requires: never;
9
- provides: Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service;
9
+ provides: Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service;
10
10
  error: readonly [typeof InvalidRequestError, typeof SessionNotFoundError];
11
11
  clientError: never;
12
12
  requiredForClient: false;
13
13
  security: never;
14
- }, HttpApiMiddleware.HttpApiMiddleware<Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof InvalidRequestError, typeof SessionNotFoundError], never>>;
14
+ }, HttpApiMiddleware.HttpApiMiddleware<Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof InvalidRequestError, typeof SessionNotFoundError], never>>;
15
15
  export declare class FormLocationMiddleware extends FormLocationMiddleware_base {
16
16
  }
17
17
  export declare const formLocationLayer: Layer.Layer<FormLocationMiddleware, never, Database.Service | LocationServiceMap.Service>;
@@ -6,12 +6,12 @@ import { HttpApiMiddleware } from "effect/unstable/httpapi";
6
6
  import { InvalidRequestError, SessionNotFoundError } from "@opencode-ai/protocol/errors";
7
7
  declare const SessionLocationMiddleware_base: HttpApiMiddleware.ServiceClass<SessionLocationMiddleware, "@opencode/HttpApiSessionLocation", {
8
8
  requires: never;
9
- provides: Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service;
9
+ provides: Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service;
10
10
  error: readonly [typeof InvalidRequestError, typeof SessionNotFoundError];
11
11
  clientError: never;
12
12
  requiredForClient: false;
13
13
  security: never;
14
- }, HttpApiMiddleware.HttpApiMiddleware<Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof InvalidRequestError, typeof SessionNotFoundError], never>>;
14
+ }, HttpApiMiddleware.HttpApiMiddleware<Location.Service | import("@opencode-ai/core/config").Service | import("@opencode-ai/core/agent").Service | import("@opencode-ai/core/aisdk").Service | import("@opencode-ai/core/form").Service | import("@opencode-ai/core/integration").Service | import("@opencode-ai/core/catalog").Service | import("@opencode-ai/core/command").Service | import("@opencode-ai/core/environment/environment").Service | import("@opencode-ai/core/mcp/index").Service | import("@opencode-ai/core/file-mutation").Service | import("@opencode-ai/core/formatter").Service | import("@opencode-ai/core/filesystem/search").Service | import("@opencode-ai/core/filesystem").Service | import("@opencode-ai/core/model-resolver").Service | import("@opencode-ai/core/generate").Service | import("@opencode-ai/core/image").Service | import("@opencode-ai/core/plugin/supervisor-service").Service | import("@opencode-ai/core/plugin/instance").Service | import("@opencode-ai/core/plugin/hooks").Service | import("@opencode-ai/core/permission").Service | import("@opencode-ai/core/location-mutation").Service | import("@opencode-ai/core/session/instructions").Service | import("@opencode-ai/core/tool/read-filesystem").Service | import("@opencode-ai/core/shell/select").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/session/title").Service | import("@opencode-ai/core/session/runner/index").Service | import("@opencode-ai/core/session/generate").Service, readonly [typeof InvalidRequestError, typeof SessionNotFoundError], never>>;
15
15
  export declare class SessionLocationMiddleware extends SessionLocationMiddleware_base {
16
16
  }
17
17
  export declare const sessionLocationLayer: Layer.Layer<SessionLocationMiddleware, never, Database.Service | LocationServiceMap.Service>;
package/dist/options.d.ts CHANGED
@@ -12,6 +12,14 @@ export declare const ServerOptions: Schema.Struct<{
12
12
  readonly database: Schema.optional<Schema.Struct<{
13
13
  readonly path: Schema.optional<Schema.String>;
14
14
  }>>;
15
+ readonly pty: Schema.optional<Schema.Struct<{
16
+ readonly handoff: Schema.optional<Schema.Struct<{
17
+ readonly directory: Schema.String;
18
+ readonly instanceID: Schema.String;
19
+ readonly ticket: Schema.String;
20
+ readonly expiresAt: Schema.Number;
21
+ }>>;
22
+ }>>;
15
23
  readonly events: Schema.optional<Schema.Struct<{
16
24
  readonly persist: Schema.optional<Schema.Boolean>;
17
25
  }>>;
package/dist/options.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Database } from "@opencode-ai/core/database/database";
2
2
  import { ModelsDev } from "@opencode-ai/core/models-dev";
3
+ import { PersistentPty } from "@opencode-ai/core/persistent-pty";
3
4
  import { Schema } from "effect";
4
5
  export const ServerOptions = Schema.Struct({
5
6
  app: Schema.optional(Schema.Struct({
@@ -12,6 +13,7 @@ export const ServerOptions = Schema.Struct({
12
13
  password: Schema.optional(Schema.String),
13
14
  simulation: Schema.optional(Schema.Boolean),
14
15
  database: Schema.optional(Database.Options),
16
+ pty: Schema.optional(PersistentPty.Options),
15
17
  events: Schema.optional(Schema.Struct({
16
18
  persist: Schema.optional(Schema.Boolean)
17
19
  })),
package/dist/process.d.ts CHANGED
@@ -16,6 +16,14 @@ export declare const start: <E, R>(options: {
16
16
  readonly events?: {
17
17
  readonly persist?: boolean | undefined;
18
18
  } | undefined;
19
+ readonly pty?: {
20
+ readonly handoff?: {
21
+ readonly directory: string;
22
+ readonly instanceID: string;
23
+ readonly ticket: string;
24
+ readonly expiresAt: number;
25
+ } | undefined;
26
+ } | undefined;
19
27
  readonly config?: {
20
28
  readonly directory?: string | undefined;
21
29
  readonly project?: boolean | undefined;
package/dist/routes.d.ts CHANGED
@@ -21,5 +21,5 @@ import { HttpRouter } from "effect/unstable/http";
21
21
  import { Layer } from "effect";
22
22
  import { PtyEnvironment } from "./pty-environment";
23
23
  import type { ServerOptions } from "./options";
24
- export declare function createRoutes(options?: ServerOptions, serviceURLs?: () => ReadonlyArray<string>, overrides?: LayerNode.Replacements): Layer.Layer<Global.Service | Database.Service | Workspace.Service | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient | Credential.Service | WellKnown.Service | Job.Service | PermissionSaved.Service | SdkPlugins.Service | Worktree.Service | LocationServiceMap.Service | Project.Service | Session.Service | SessionRestart.Service | PtyTicket.Service | PersistentPty.Service | SessionTransfer.Service | LocationActivity.Service | PtyEnvironment.Service | HttpRouter.HttpRouter, Error, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
25
- export declare function createEmbeddedRoutes(options?: ServerOptions, overrides?: LayerNode.Replacements): Layer.Layer<Global.Service | Database.Service | Workspace.Service | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient | Credential.Service | WellKnown.Service | Job.Service | PermissionSaved.Service | SdkPlugins.Service | Worktree.Service | LocationServiceMap.Service | Project.Service | Session.Service | SessionRestart.Service | PtyTicket.Service | PersistentPty.Service | SessionTransfer.Service | LocationActivity.Service | PtyEnvironment.Service | HttpRouter.HttpRouter, Error, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
24
+ export declare function createRoutes(options?: ServerOptions, serviceURLs?: () => ReadonlyArray<string>, overrides?: LayerNode.Replacements): Layer.Layer<Global.Service | Database.Service | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient | Credential.Service | WellKnown.Service | Workspace.Service | Job.Service | PermissionSaved.Service | SdkPlugins.Service | Worktree.Service | Project.Service | LocationServiceMap.Service | PersistentPty.Service | Session.Service | SessionRestart.Service | PtyTicket.Service | SessionTransfer.Service | LocationActivity.Service | PtyEnvironment.Service | HttpRouter.HttpRouter, Error | PersistentPty.UnavailableError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
25
+ export declare function createEmbeddedRoutes(options?: ServerOptions, overrides?: LayerNode.Replacements): Layer.Layer<Global.Service | Database.Service | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient | Credential.Service | WellKnown.Service | Workspace.Service | Job.Service | PermissionSaved.Service | SdkPlugins.Service | Worktree.Service | Project.Service | LocationServiceMap.Service | PersistentPty.Service | Session.Service | SessionRestart.Service | PtyTicket.Service | SessionTransfer.Service | LocationActivity.Service | PtyEnvironment.Service | HttpRouter.HttpRouter, Error | PersistentPty.UnavailableError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
package/dist/routes.js CHANGED
@@ -17,7 +17,7 @@ import { Session } from "@opencode-ai/core/session";
17
17
  import { SessionTransfer } from "@opencode-ai/core/session/transfer";
18
18
  import { ShellSelect } from "@opencode-ai/core/shell/select";
19
19
  import { Job } from "@opencode-ai/core/job";
20
- import { MCP } from "@opencode-ai/core/mcp/index";
20
+ import { Mcp } from "@opencode-ai/core/mcp/index";
21
21
  import { Global } from "@opencode-ai/util/global";
22
22
  import { InstructionDiscovery } from "@opencode-ai/core/instruction-discovery";
23
23
  import { LocationServiceMap } from "@opencode-ai/core/location-service-map";
@@ -76,6 +76,7 @@ export function createEmbeddedRoutes(options = {}, overrides = []) {
76
76
  function makeRoutes(auth, options, serviceURLs, overrides) {
77
77
  const pluginRuntimeCell = PluginRuntime.makeCell(), replacements = [...[
78
78
  [Database.node, Database.configured(options.database)],
79
+ [PersistentPty.node, PersistentPty.configured(options.pty)],
79
80
  [Bus.node, Bus.configured({ persist: options.events?.persist })],
80
81
  [App.node, App.configured(options.app)],
81
82
  [ModelsDev.node, ModelsDev.configured(options.models)],
@@ -93,8 +94,8 @@ function makeRoutes(auth, options, serviceURLs, overrides) {
93
94
  [InstructionDiscovery.node, InstructionDiscovery.configured({ project: options.config?.project })],
94
95
  [ShellSelect.node, ShellSelect.configured({ gitbash: options.windows?.gitbash })],
95
96
  [
96
- MCP.node,
97
- MCP.configured({
97
+ Mcp.node,
98
+ Mcp.configured({
98
99
  clientInfo: {
99
100
  name: options.app?.name ?? "opencode",
100
101
  version: options.app?.version ?? "unknown"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode-ai/server",
4
- "version": "0.0.0-beta-18387",
4
+ "version": "0.0.0-beta-18593",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -28,15 +28,15 @@
28
28
  "probe:workerd": "bun run script/workerd-probe.ts"
29
29
  },
30
30
  "dependencies": {
31
- "@effect/platform-node": "4.0.0-rc.111",
32
- "@effect/platform-node-shared": "4.0.0-rc.111",
33
- "@opencode-ai/core": "0.0.0-beta-18387",
34
- "@opencode-ai/protocol": "0.0.0-beta-18387",
35
- "@opencode-ai/schema": "0.0.0-beta-18387",
36
- "@opencode-ai/simulation": "0.0.0-beta-18387",
37
- "@opencode-ai/util": "0.0.0-beta-18387",
31
+ "@effect/platform-node": "4.0.0-rc.112",
32
+ "@effect/platform-node-shared": "4.0.0-rc.112",
33
+ "@opencode-ai/core": "0.0.0-beta-18593",
34
+ "@opencode-ai/protocol": "0.0.0-beta-18593",
35
+ "@opencode-ai/schema": "0.0.0-beta-18593",
36
+ "@opencode-ai/simulation": "0.0.0-beta-18593",
37
+ "@opencode-ai/util": "0.0.0-beta-18593",
38
38
  "drizzle-orm": "1.0.0-rc.5-169397b",
39
- "effect": "4.0.0-rc.111"
39
+ "effect": "4.0.0-rc.112"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@tsconfig/bun": "1.0.9",