@opencode-ai/server 0.0.0-beta-18269 → 0.0.0-beta-18311
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 +410 -4
- package/dist/fetch.d.ts +5 -5
- package/dist/handlers/persistent-pty.js +46 -41
- package/dist/handlers/session.d.ts +1 -1
- package/dist/handlers/session.js +6 -0
- package/dist/handlers.d.ts +1 -1
- package/dist/location.d.ts +2 -2
- package/dist/middleware/form-location.d.ts +2 -2
- package/dist/middleware/session-location.d.ts +2 -2
- package/dist/process.d.ts +5 -5
- package/dist/routes.d.ts +2 -2
- package/package.json +6 -6
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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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
|
};
|
|
@@ -2271,6 +2271,64 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
2271
2271
|
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
2272
2272
|
};
|
|
2273
2273
|
}>;
|
|
2274
|
+
}, import("effect/Schema").Struct<{
|
|
2275
|
+
readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
|
|
2276
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
2277
|
+
};
|
|
2278
|
+
readonly created: import("effect/Schema").Finite;
|
|
2279
|
+
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").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
2280
|
+
readonly type: import("effect/Schema").Literal<"session.step.streamed">;
|
|
2281
|
+
readonly durable: import("effect/Schema").Struct<{
|
|
2282
|
+
readonly aggregateID: import("effect/Schema").String;
|
|
2283
|
+
readonly seq: import("effect/Schema").brand<import("effect/Schema").Int, "Event.Seq">;
|
|
2284
|
+
readonly version: import("effect/Schema").decodeTo<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").Int, "Event.Version">>, import("effect/Schema").Literal<number>, never, never>;
|
|
2285
|
+
}>;
|
|
2286
|
+
readonly location: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
2287
|
+
readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
2288
|
+
readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
2289
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2290
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2291
|
+
}>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
2292
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2293
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2294
|
+
}>, never, never>;
|
|
2295
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
2296
|
+
readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
2297
|
+
readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
2298
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2299
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2300
|
+
}>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
2301
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2302
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
2303
|
+
}>, never, never>;
|
|
2304
|
+
}>>, never, never>;
|
|
2305
|
+
readonly data: import("effect/Schema").Struct<{
|
|
2306
|
+
readonly assistantMessageID: import("effect/Schema").brand<import("effect/Schema").String, "Session.Message.ID"> & {
|
|
2307
|
+
create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
2308
|
+
fromEvent: (eventID: import("@opencode-ai/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
2309
|
+
};
|
|
2310
|
+
readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
|
|
2311
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
2312
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
2313
|
+
};
|
|
2314
|
+
}>;
|
|
2315
|
+
}> & {
|
|
2316
|
+
type: "session.step.streamed";
|
|
2317
|
+
durability: "durable";
|
|
2318
|
+
durable: {
|
|
2319
|
+
readonly version: number;
|
|
2320
|
+
readonly aggregate: string;
|
|
2321
|
+
};
|
|
2322
|
+
data: import("effect/Schema").Struct<{
|
|
2323
|
+
readonly assistantMessageID: import("effect/Schema").brand<import("effect/Schema").String, "Session.Message.ID"> & {
|
|
2324
|
+
create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
2325
|
+
fromEvent: (eventID: import("@opencode-ai/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
2326
|
+
};
|
|
2327
|
+
readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
|
|
2328
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
2329
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
2330
|
+
};
|
|
2331
|
+
}>;
|
|
2274
2332
|
}, import("effect/Schema").Struct<{
|
|
2275
2333
|
readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
|
|
2276
2334
|
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
@@ -3851,6 +3909,214 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
3851
3909
|
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
3852
3910
|
};
|
|
3853
3911
|
}>;
|
|
3912
|
+
}, import("effect/Schema").Struct<{
|
|
3913
|
+
readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
|
|
3914
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
3915
|
+
};
|
|
3916
|
+
readonly created: import("effect/Schema").Finite;
|
|
3917
|
+
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").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
3918
|
+
readonly type: import("effect/Schema").Literal<"session.message.content.updated">;
|
|
3919
|
+
readonly durable: import("effect/Schema").Struct<{
|
|
3920
|
+
readonly aggregateID: import("effect/Schema").String;
|
|
3921
|
+
readonly seq: import("effect/Schema").brand<import("effect/Schema").Int, "Event.Seq">;
|
|
3922
|
+
readonly version: import("effect/Schema").decodeTo<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").Int, "Event.Version">>, import("effect/Schema").Literal<number>, never, never>;
|
|
3923
|
+
}>;
|
|
3924
|
+
readonly location: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
3925
|
+
readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
3926
|
+
readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3927
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3928
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3929
|
+
}>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3930
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3931
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3932
|
+
}>, never, never>;
|
|
3933
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
3934
|
+
readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
3935
|
+
readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3936
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3937
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3938
|
+
}>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3939
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3940
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3941
|
+
}>, never, never>;
|
|
3942
|
+
}>>, never, never>;
|
|
3943
|
+
readonly data: import("effect/Schema").Struct<{
|
|
3944
|
+
readonly messageID: import("effect/Schema").brand<import("effect/Schema").String, "Session.Message.ID"> & {
|
|
3945
|
+
create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
3946
|
+
fromEvent: (eventID: import("@opencode-ai/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
3947
|
+
};
|
|
3948
|
+
readonly content: import("effect/Schema").$Array<import("effect/Schema").toEncoded<import("effect/Schema").toTaggedUnion<"type", readonly [import("effect/Schema").Struct<{
|
|
3949
|
+
readonly type: import("effect/Schema").tag<"text">;
|
|
3950
|
+
readonly text: import("effect/Schema").String;
|
|
3951
|
+
readonly state: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
3952
|
+
}>, import("effect/Schema").Struct<{
|
|
3953
|
+
readonly type: import("effect/Schema").tag<"reasoning">;
|
|
3954
|
+
readonly text: import("effect/Schema").String;
|
|
3955
|
+
readonly state: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
3956
|
+
readonly time: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
3957
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3958
|
+
readonly completed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
3959
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
3960
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3961
|
+
readonly completed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
3962
|
+
}>>, never, never>;
|
|
3963
|
+
}>, import("effect/Schema").Struct<{
|
|
3964
|
+
readonly type: import("effect/Schema").tag<"tool">;
|
|
3965
|
+
readonly id: import("effect/Schema").String;
|
|
3966
|
+
readonly name: import("effect/Schema").String;
|
|
3967
|
+
readonly executed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Boolean>>, import("effect/Schema").optionalKey<import("effect/Schema").Boolean>, never, never>;
|
|
3968
|
+
readonly providerState: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
3969
|
+
readonly providerResultState: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
3970
|
+
readonly state: import("effect/Schema").toTaggedUnion<"status", readonly [import("effect/Schema").Struct<{
|
|
3971
|
+
readonly status: import("effect/Schema").tag<"streaming">;
|
|
3972
|
+
readonly input: import("effect/Schema").String;
|
|
3973
|
+
}>, import("effect/Schema").Struct<{
|
|
3974
|
+
readonly status: import("effect/Schema").tag<"running">;
|
|
3975
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
3976
|
+
readonly metadata: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
|
|
3977
|
+
}>, import("effect/Schema").Struct<{
|
|
3978
|
+
readonly status: import("effect/Schema").tag<"completed">;
|
|
3979
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
3980
|
+
readonly content: import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
3981
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
3982
|
+
readonly text: import("effect/Schema").String;
|
|
3983
|
+
}>, import("effect/Schema").Struct<{
|
|
3984
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
3985
|
+
readonly uri: import("effect/Schema").String;
|
|
3986
|
+
readonly mime: import("effect/Schema").String;
|
|
3987
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
3988
|
+
}>]>>;
|
|
3989
|
+
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>;
|
|
3990
|
+
}>, import("effect/Schema").Struct<{
|
|
3991
|
+
readonly status: import("effect/Schema").tag<"error">;
|
|
3992
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
3993
|
+
readonly error: import("effect/Schema").Struct<{
|
|
3994
|
+
readonly type: import("effect/Schema").String;
|
|
3995
|
+
readonly message: import("effect/Schema").String;
|
|
3996
|
+
readonly status: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Int>>, import("effect/Schema").optionalKey<import("effect/Schema").Int>, never, never>;
|
|
3997
|
+
}>;
|
|
3998
|
+
readonly content: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
3999
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4000
|
+
readonly text: import("effect/Schema").String;
|
|
4001
|
+
}>, import("effect/Schema").Struct<{
|
|
4002
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4003
|
+
readonly uri: import("effect/Schema").String;
|
|
4004
|
+
readonly mime: import("effect/Schema").String;
|
|
4005
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4006
|
+
}>]>>>>, import("effect/Schema").optionalKey<import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4007
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4008
|
+
readonly text: import("effect/Schema").String;
|
|
4009
|
+
}>, import("effect/Schema").Struct<{
|
|
4010
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4011
|
+
readonly uri: import("effect/Schema").String;
|
|
4012
|
+
readonly mime: import("effect/Schema").String;
|
|
4013
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4014
|
+
}>]>>>, never, never>;
|
|
4015
|
+
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>;
|
|
4016
|
+
}>]>;
|
|
4017
|
+
readonly time: import("effect/Schema").Struct<{
|
|
4018
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
4019
|
+
readonly ran: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
4020
|
+
readonly completed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
4021
|
+
}>;
|
|
4022
|
+
}>]>>>;
|
|
4023
|
+
readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
|
|
4024
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
4025
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
4026
|
+
};
|
|
4027
|
+
}>;
|
|
4028
|
+
}> & {
|
|
4029
|
+
type: "session.message.content.updated";
|
|
4030
|
+
durability: "durable";
|
|
4031
|
+
durable: {
|
|
4032
|
+
readonly version: number;
|
|
4033
|
+
readonly aggregate: string;
|
|
4034
|
+
};
|
|
4035
|
+
data: import("effect/Schema").Struct<{
|
|
4036
|
+
readonly messageID: import("effect/Schema").brand<import("effect/Schema").String, "Session.Message.ID"> & {
|
|
4037
|
+
create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
4038
|
+
fromEvent: (eventID: import("@opencode-ai/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
4039
|
+
};
|
|
4040
|
+
readonly content: import("effect/Schema").$Array<import("effect/Schema").toEncoded<import("effect/Schema").toTaggedUnion<"type", readonly [import("effect/Schema").Struct<{
|
|
4041
|
+
readonly type: import("effect/Schema").tag<"text">;
|
|
4042
|
+
readonly text: import("effect/Schema").String;
|
|
4043
|
+
readonly state: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
4044
|
+
}>, import("effect/Schema").Struct<{
|
|
4045
|
+
readonly type: import("effect/Schema").tag<"reasoning">;
|
|
4046
|
+
readonly text: import("effect/Schema").String;
|
|
4047
|
+
readonly state: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
4048
|
+
readonly time: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
4049
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
4050
|
+
readonly completed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
4051
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
4052
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
4053
|
+
readonly completed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
4054
|
+
}>>, never, never>;
|
|
4055
|
+
}>, import("effect/Schema").Struct<{
|
|
4056
|
+
readonly type: import("effect/Schema").tag<"tool">;
|
|
4057
|
+
readonly id: import("effect/Schema").String;
|
|
4058
|
+
readonly name: import("effect/Schema").String;
|
|
4059
|
+
readonly executed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Boolean>>, import("effect/Schema").optionalKey<import("effect/Schema").Boolean>, never, never>;
|
|
4060
|
+
readonly providerState: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
4061
|
+
readonly providerResultState: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
|
|
4062
|
+
readonly state: import("effect/Schema").toTaggedUnion<"status", readonly [import("effect/Schema").Struct<{
|
|
4063
|
+
readonly status: import("effect/Schema").tag<"streaming">;
|
|
4064
|
+
readonly input: import("effect/Schema").String;
|
|
4065
|
+
}>, import("effect/Schema").Struct<{
|
|
4066
|
+
readonly status: import("effect/Schema").tag<"running">;
|
|
4067
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
4068
|
+
readonly metadata: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
|
|
4069
|
+
}>, import("effect/Schema").Struct<{
|
|
4070
|
+
readonly status: import("effect/Schema").tag<"completed">;
|
|
4071
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
4072
|
+
readonly content: import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4073
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4074
|
+
readonly text: import("effect/Schema").String;
|
|
4075
|
+
}>, import("effect/Schema").Struct<{
|
|
4076
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4077
|
+
readonly uri: import("effect/Schema").String;
|
|
4078
|
+
readonly mime: import("effect/Schema").String;
|
|
4079
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4080
|
+
}>]>>;
|
|
4081
|
+
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>;
|
|
4082
|
+
}>, import("effect/Schema").Struct<{
|
|
4083
|
+
readonly status: import("effect/Schema").tag<"error">;
|
|
4084
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
4085
|
+
readonly error: import("effect/Schema").Struct<{
|
|
4086
|
+
readonly type: import("effect/Schema").String;
|
|
4087
|
+
readonly message: import("effect/Schema").String;
|
|
4088
|
+
readonly status: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Int>>, import("effect/Schema").optionalKey<import("effect/Schema").Int>, never, never>;
|
|
4089
|
+
}>;
|
|
4090
|
+
readonly content: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4091
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4092
|
+
readonly text: import("effect/Schema").String;
|
|
4093
|
+
}>, import("effect/Schema").Struct<{
|
|
4094
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4095
|
+
readonly uri: import("effect/Schema").String;
|
|
4096
|
+
readonly mime: import("effect/Schema").String;
|
|
4097
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4098
|
+
}>]>>>>, import("effect/Schema").optionalKey<import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4099
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4100
|
+
readonly text: import("effect/Schema").String;
|
|
4101
|
+
}>, import("effect/Schema").Struct<{
|
|
4102
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4103
|
+
readonly uri: import("effect/Schema").String;
|
|
4104
|
+
readonly mime: import("effect/Schema").String;
|
|
4105
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4106
|
+
}>]>>>, never, never>;
|
|
4107
|
+
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>;
|
|
4108
|
+
}>]>;
|
|
4109
|
+
readonly time: import("effect/Schema").Struct<{
|
|
4110
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
4111
|
+
readonly ran: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
4112
|
+
readonly completed: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>>, never, never>;
|
|
4113
|
+
}>;
|
|
4114
|
+
}>]>>>;
|
|
4115
|
+
readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
|
|
4116
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
4117
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
4118
|
+
};
|
|
4119
|
+
}>;
|
|
3854
4120
|
}, import("effect/Schema").Struct<{
|
|
3855
4121
|
readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
|
|
3856
4122
|
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
@@ -4146,7 +4412,7 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
4146
4412
|
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
4147
4413
|
};
|
|
4148
4414
|
readonly canonical: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
4149
|
-
readonly vcs: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").
|
|
4415
|
+
readonly vcs: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
|
|
4150
4416
|
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
|
|
4151
4417
|
readonly icon: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
4152
4418
|
readonly url: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
|
|
@@ -4178,7 +4444,7 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
4178
4444
|
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
4179
4445
|
};
|
|
4180
4446
|
readonly canonical: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
4181
|
-
readonly vcs: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").
|
|
4447
|
+
readonly vcs: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
|
|
4182
4448
|
readonly name: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
|
|
4183
4449
|
readonly icon: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
4184
4450
|
readonly url: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
|
|
@@ -6139,7 +6405,7 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
6139
6405
|
};
|
|
6140
6406
|
readonly sandboxes: readonly string[];
|
|
6141
6407
|
readonly name?: string | undefined;
|
|
6142
|
-
readonly vcs?:
|
|
6408
|
+
readonly vcs?: string | undefined;
|
|
6143
6409
|
readonly icon?: {
|
|
6144
6410
|
readonly url?: string | undefined;
|
|
6145
6411
|
readonly color?: string | undefined;
|
|
@@ -6368,6 +6634,126 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
6368
6634
|
readonly metadata?: {
|
|
6369
6635
|
readonly [x: string]: unknown;
|
|
6370
6636
|
} | undefined;
|
|
6637
|
+
} | {
|
|
6638
|
+
readonly id: string & import("effect/Brand").Brand<"Event.ID">;
|
|
6639
|
+
readonly data: {
|
|
6640
|
+
readonly messageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
6641
|
+
readonly content: readonly ({
|
|
6642
|
+
readonly id: string;
|
|
6643
|
+
readonly type: "tool";
|
|
6644
|
+
readonly name: string;
|
|
6645
|
+
readonly time: {
|
|
6646
|
+
readonly created: number;
|
|
6647
|
+
readonly completed?: number | undefined;
|
|
6648
|
+
readonly ran?: number | undefined;
|
|
6649
|
+
};
|
|
6650
|
+
readonly state: {
|
|
6651
|
+
readonly status: "streaming";
|
|
6652
|
+
readonly input: string;
|
|
6653
|
+
} | {
|
|
6654
|
+
readonly status: "running";
|
|
6655
|
+
readonly input: {
|
|
6656
|
+
readonly [x: string]: unknown;
|
|
6657
|
+
};
|
|
6658
|
+
readonly metadata: {
|
|
6659
|
+
readonly [x: string]: import("effect/Schema").Json;
|
|
6660
|
+
};
|
|
6661
|
+
} | {
|
|
6662
|
+
readonly content: readonly [{
|
|
6663
|
+
readonly type: "text";
|
|
6664
|
+
readonly text: string;
|
|
6665
|
+
} | {
|
|
6666
|
+
readonly type: "file";
|
|
6667
|
+
readonly uri: string;
|
|
6668
|
+
readonly mime: string;
|
|
6669
|
+
readonly name?: string | undefined;
|
|
6670
|
+
}, ...({
|
|
6671
|
+
readonly type: "text";
|
|
6672
|
+
readonly text: string;
|
|
6673
|
+
} | {
|
|
6674
|
+
readonly type: "file";
|
|
6675
|
+
readonly uri: string;
|
|
6676
|
+
readonly mime: string;
|
|
6677
|
+
readonly name?: string | undefined;
|
|
6678
|
+
})[]];
|
|
6679
|
+
readonly status: "completed";
|
|
6680
|
+
readonly input: {
|
|
6681
|
+
readonly [x: string]: unknown;
|
|
6682
|
+
};
|
|
6683
|
+
readonly metadata?: {
|
|
6684
|
+
readonly [x: string]: import("effect/Schema").Json;
|
|
6685
|
+
} | undefined;
|
|
6686
|
+
} | {
|
|
6687
|
+
readonly error: {
|
|
6688
|
+
readonly type: string;
|
|
6689
|
+
readonly message: string;
|
|
6690
|
+
readonly status?: number | undefined;
|
|
6691
|
+
};
|
|
6692
|
+
readonly status: "error";
|
|
6693
|
+
readonly input: {
|
|
6694
|
+
readonly [x: string]: unknown;
|
|
6695
|
+
};
|
|
6696
|
+
readonly metadata?: {
|
|
6697
|
+
readonly [x: string]: import("effect/Schema").Json;
|
|
6698
|
+
} | undefined;
|
|
6699
|
+
readonly content?: readonly [{
|
|
6700
|
+
readonly type: "text";
|
|
6701
|
+
readonly text: string;
|
|
6702
|
+
} | {
|
|
6703
|
+
readonly type: "file";
|
|
6704
|
+
readonly uri: string;
|
|
6705
|
+
readonly mime: string;
|
|
6706
|
+
readonly name?: string | undefined;
|
|
6707
|
+
}, ...({
|
|
6708
|
+
readonly type: "text";
|
|
6709
|
+
readonly text: string;
|
|
6710
|
+
} | {
|
|
6711
|
+
readonly type: "file";
|
|
6712
|
+
readonly uri: string;
|
|
6713
|
+
readonly mime: string;
|
|
6714
|
+
readonly name?: string | undefined;
|
|
6715
|
+
})[]] | undefined;
|
|
6716
|
+
};
|
|
6717
|
+
readonly executed?: boolean | undefined;
|
|
6718
|
+
readonly providerState?: {
|
|
6719
|
+
readonly [x: string]: unknown;
|
|
6720
|
+
} | undefined;
|
|
6721
|
+
readonly providerResultState?: {
|
|
6722
|
+
readonly [x: string]: unknown;
|
|
6723
|
+
} | undefined;
|
|
6724
|
+
} | {
|
|
6725
|
+
readonly type: "text";
|
|
6726
|
+
readonly text: string;
|
|
6727
|
+
readonly state?: {
|
|
6728
|
+
readonly [x: string]: unknown;
|
|
6729
|
+
} | undefined;
|
|
6730
|
+
} | {
|
|
6731
|
+
readonly type: "reasoning";
|
|
6732
|
+
readonly text: string;
|
|
6733
|
+
readonly time?: {
|
|
6734
|
+
readonly created: number;
|
|
6735
|
+
readonly completed?: number | undefined;
|
|
6736
|
+
} | undefined;
|
|
6737
|
+
readonly state?: {
|
|
6738
|
+
readonly [x: string]: unknown;
|
|
6739
|
+
} | undefined;
|
|
6740
|
+
})[];
|
|
6741
|
+
readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
|
|
6742
|
+
};
|
|
6743
|
+
readonly durable: {
|
|
6744
|
+
readonly aggregateID: string;
|
|
6745
|
+
readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
|
|
6746
|
+
readonly version: number & import("effect/Brand").Brand<"Event.Version">;
|
|
6747
|
+
};
|
|
6748
|
+
readonly type: "session.message.content.updated";
|
|
6749
|
+
readonly created: number;
|
|
6750
|
+
readonly location?: {
|
|
6751
|
+
readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
|
|
6752
|
+
readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
|
|
6753
|
+
} | undefined;
|
|
6754
|
+
readonly metadata?: {
|
|
6755
|
+
readonly [x: string]: unknown;
|
|
6756
|
+
} | undefined;
|
|
6371
6757
|
} | {
|
|
6372
6758
|
readonly id: string & import("effect/Brand").Brand<"Event.ID">;
|
|
6373
6759
|
readonly data: {
|
|
@@ -6853,6 +7239,26 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
6853
7239
|
readonly metadata?: {
|
|
6854
7240
|
readonly [x: string]: unknown;
|
|
6855
7241
|
} | undefined;
|
|
7242
|
+
} | {
|
|
7243
|
+
readonly id: string & import("effect/Brand").Brand<"Event.ID">;
|
|
7244
|
+
readonly data: {
|
|
7245
|
+
readonly assistantMessageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
7246
|
+
readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
|
|
7247
|
+
};
|
|
7248
|
+
readonly durable: {
|
|
7249
|
+
readonly aggregateID: string;
|
|
7250
|
+
readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
|
|
7251
|
+
readonly version: number & import("effect/Brand").Brand<"Event.Version">;
|
|
7252
|
+
};
|
|
7253
|
+
readonly type: "session.step.streamed";
|
|
7254
|
+
readonly created: number;
|
|
7255
|
+
readonly location?: {
|
|
7256
|
+
readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
|
|
7257
|
+
readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
|
|
7258
|
+
} | undefined;
|
|
7259
|
+
readonly metadata?: {
|
|
7260
|
+
readonly [x: string]: unknown;
|
|
7261
|
+
} | undefined;
|
|
6856
7262
|
} | {
|
|
6857
7263
|
readonly id: string & import("effect/Brand").Brand<"Event.ID">;
|
|
6858
7264
|
readonly data: {
|
package/dist/fetch.d.ts
CHANGED
|
@@ -51,16 +51,16 @@ export declare const make: (options?: {
|
|
|
51
51
|
readonly gitbash?: string | undefined;
|
|
52
52
|
} | undefined;
|
|
53
53
|
readonly port?: number | undefined;
|
|
54
|
+
readonly password?: string | undefined;
|
|
55
|
+
readonly fs?: {
|
|
56
|
+
readonly fff?: boolean | undefined;
|
|
57
|
+
readonly filewatcher?: boolean | undefined;
|
|
58
|
+
} | undefined;
|
|
54
59
|
readonly app?: {
|
|
55
60
|
readonly version?: string | undefined;
|
|
56
61
|
readonly name?: string | undefined;
|
|
57
62
|
readonly channel?: string | undefined;
|
|
58
63
|
} | undefined;
|
|
59
|
-
readonly fs?: {
|
|
60
|
-
readonly fff?: boolean | undefined;
|
|
61
|
-
readonly filewatcher?: boolean | undefined;
|
|
62
|
-
} | undefined;
|
|
63
|
-
readonly password?: string | undefined;
|
|
64
64
|
readonly simulation?: boolean | undefined;
|
|
65
65
|
readonly database?: {
|
|
66
66
|
readonly path?: string | undefined;
|
|
@@ -48,8 +48,6 @@ export const PersistentPtyHandler = HttpApiBuilder.group(Api, "server.experiment
|
|
|
48
48
|
yield* pty.get(ctx.params.ptyID).pipe(mapTerminalError);
|
|
49
49
|
return { data: yield* tickets.issue({ ptyID: ctx.params.ptyID }) };
|
|
50
50
|
})).handleRaw("persistentPty.connect", Effect.fn("PersistentPtyHandler.connect")(function* (ctx) {
|
|
51
|
-
if (!(yield* pty.get(ctx.params.ptyID).pipe(Effect.as(!0), Effect.catchTag("PersistentPty.NotFoundError", () => Effect.succeed(!1)), Effect.catchTag("PersistentPty.UnavailableError", () => Effect.succeed(!1)))))
|
|
52
|
-
return HttpServerResponse.empty({ status: 404 });
|
|
53
51
|
const url = new URL(ctx.request.url, "http://localhost"), ticket = url.searchParams.get(PTY_CONNECT_TICKET_QUERY);
|
|
54
52
|
if (ticket) {
|
|
55
53
|
if (!(isAllowedRequestOrigin(ctx.request.headers.origin, ctx.request.headers.host, cors) ? yield* tickets.consume({ ticket, ptyID: ctx.params.ptyID }) : !1))
|
|
@@ -58,45 +56,50 @@ export const PersistentPtyHandler = HttpApiBuilder.group(Api, "server.experiment
|
|
|
58
56
|
const cursor = Number(url.searchParams.get("cursor") ?? "0"), role = url.searchParams.get("role") === "observer" ? "observer" : "controller", framedInput = url.searchParams.get("input_protocol") === "1", attachmentID = url.searchParams.get("attachment_id") ?? crypto.randomUUID();
|
|
59
57
|
if (!Number.isSafeInteger(cursor) || cursor < 0)
|
|
60
58
|
return HttpServerResponse.empty({ status: 400 });
|
|
61
|
-
const socket = yield* Effect.orDie(ctx.request.upgrade), write = yield* socket.writer, outbox = yield* Queue.unbounded(), input = yield* Semaphore.make(1)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
info: attachment.info,
|
|
86
|
-
role: attachment.role,
|
|
87
|
-
generation: attachment.generation,
|
|
88
|
-
replay: {
|
|
89
|
-
requestedOffset: attachment.replay.requestedOffset,
|
|
90
|
-
availableOffset: attachment.replay.availableOffset,
|
|
91
|
-
endOffset: attachment.replay.endOffset,
|
|
92
|
-
truncated: attachment.replay.truncated
|
|
59
|
+
const socket = yield* Effect.orDie(ctx.request.upgrade), write = yield* socket.writer, outbox = yield* Queue.unbounded(), input = yield* Semaphore.make(1);
|
|
60
|
+
let attachment;
|
|
61
|
+
const onOpen = Effect.gen(function* () {
|
|
62
|
+
attachment = yield* pty.attach(ctx.params.ptyID, {
|
|
63
|
+
cursor,
|
|
64
|
+
attachmentID,
|
|
65
|
+
role,
|
|
66
|
+
takeover: url.searchParams.get("takeover") === "true",
|
|
67
|
+
onEvent: (event) => {
|
|
68
|
+
if (event.type === "output")
|
|
69
|
+
Queue.offerUnsafe(outbox, event.data);
|
|
70
|
+
if (event.type === "resized")
|
|
71
|
+
Queue.offerUnsafe(outbox, JSON.stringify({ ...event, checkpoint: Buffer.from(event.checkpoint).toString("base64") }));
|
|
72
|
+
if (event.type !== "output" && event.type !== "resized")
|
|
73
|
+
Queue.offerUnsafe(outbox, JSON.stringify(event));
|
|
74
|
+
},
|
|
75
|
+
onEnd: () => Queue.offerUnsafe(outbox, new Socket.CloseEvent(1000))
|
|
76
|
+
}).pipe(Effect.catchTags({
|
|
77
|
+
"PersistentPty.NotFoundError": () => Effect.succeed(void 0),
|
|
78
|
+
"PersistentPty.UnavailableError": () => Effect.succeed(void 0)
|
|
79
|
+
}));
|
|
80
|
+
if (!attachment) {
|
|
81
|
+
Queue.offerUnsafe(outbox, new Socket.CloseEvent(4404, "terminal unavailable"));
|
|
82
|
+
return;
|
|
93
83
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
84
|
+
Queue.offerUnsafe(outbox, JSON.stringify({
|
|
85
|
+
type: "attached",
|
|
86
|
+
attachmentID,
|
|
87
|
+
inputProtocol: framedInput ? 1 : 0,
|
|
88
|
+
info: attachment.info,
|
|
89
|
+
role: attachment.role,
|
|
90
|
+
generation: attachment.generation,
|
|
91
|
+
replay: {
|
|
92
|
+
requestedOffset: attachment.replay.requestedOffset,
|
|
93
|
+
availableOffset: attachment.replay.availableOffset,
|
|
94
|
+
endOffset: attachment.replay.endOffset,
|
|
95
|
+
truncated: attachment.replay.truncated
|
|
96
|
+
}
|
|
97
|
+
}));
|
|
98
|
+
if (attachment.replay.data.length > 0)
|
|
99
|
+
Queue.offerUnsafe(outbox, attachment.replay.data);
|
|
100
|
+
Queue.offerUnsafe(outbox, JSON.stringify({ type: "replay_complete", endOffset: attachment.replay.endOffset }));
|
|
101
|
+
attachment.activate();
|
|
102
|
+
}), drain = Effect.gen(function* () {
|
|
100
103
|
while (!0) {
|
|
101
104
|
const item = yield* Queue.take(outbox);
|
|
102
105
|
yield* write(item);
|
|
@@ -105,6 +108,8 @@ export const PersistentPtyHandler = HttpApiBuilder.group(Api, "server.experiment
|
|
|
105
108
|
}
|
|
106
109
|
});
|
|
107
110
|
yield* Effect.race(drain, socket.runRaw((message) => input.withPermit(Effect.suspend(() => {
|
|
111
|
+
if (!attachment)
|
|
112
|
+
return Effect.void;
|
|
108
113
|
const data = typeof message === "string" ? Buffer.from(message) : message;
|
|
109
114
|
if (!framedInput)
|
|
110
115
|
return pty.input(ctx.params.ptyID, attachmentID, attachment.info.size.cols, attachment.info.size.rows, data).pipe(Effect.ignore);
|
|
@@ -116,7 +121,7 @@ export const PersistentPtyHandler = HttpApiBuilder.group(Api, "server.experiment
|
|
|
116
121
|
if (type === 0)
|
|
117
122
|
return pty.control(ctx.params.ptyID, attachmentID, cols, rows).pipe(Effect.ignore);
|
|
118
123
|
return pty.input(ctx.params.ptyID, attachmentID, cols, rows, data.subarray(5)).pipe(Effect.ignore);
|
|
119
|
-
})))).pipe(Effect.catchReason("SocketError", "SocketCloseError", () => Effect.void), Effect.ensuring(Effect.sync(() => attachment
|
|
124
|
+
})), { onOpen })).pipe(Effect.catchReason("SocketError", "SocketCloseError", () => Effect.void), Effect.ensuring(Effect.sync(() => attachment?.detach())), Effect.orDie);
|
|
120
125
|
return HttpServerResponse.empty();
|
|
121
126
|
}));
|
|
122
127
|
}));
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Session } from "@opencode-ai/core/session";
|
|
2
2
|
import { SessionTransfer } from "@opencode-ai/core/session/transfer";
|
|
3
|
-
export declare const SessionHandler: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.session">, never,
|
|
3
|
+
export declare const SessionHandler: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"server", "server.session">, never, Session.Service | import("../middleware/session-location").SessionLocationMiddleware | SessionTransfer.Service | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/database/database").Service> | (import("@opencode-ai/protocol/middleware/schema-error").SchemaErrorMiddleware | import("@opencode-ai/protocol/middleware/authorization").Authorization)>;
|
package/dist/handlers/session.js
CHANGED
|
@@ -283,5 +283,11 @@ export const SessionHandler = HttpApiBuilder.group(Api, "server.session", (handl
|
|
|
283
283
|
messageID: ctx.params.messageID,
|
|
284
284
|
message: `Message not found: ${ctx.params.messageID}`
|
|
285
285
|
});
|
|
286
|
+
})).handle("session.messageUpdate", Effect.fn(function* (ctx) {
|
|
287
|
+
return { data: yield* session.updateMessage({ ...ctx.params, content: ctx.payload.content }).pipe(Effect.catchTag("Session.NotFoundError", missingSession), Effect.catchTag("Session.MessageNotFoundError", (error) => new MessageNotFoundError({
|
|
288
|
+
sessionID: error.sessionID,
|
|
289
|
+
messageID: error.messageID,
|
|
290
|
+
message: `Message not found: ${error.messageID}`
|
|
291
|
+
})), Effect.catchTag("Session.BusyError", busySession), Effect.catchTag("Session.MessageNotAssistantError", () => new InvalidRequestError({ message: "Only assistant messages can be updated", field: "messageID" })), Effect.catchTag("Session.MessageIncompleteError", (error) => new ConflictError({ message: "Assistant message is incomplete", resource: error.messageID })), Effect.catchTag("Session.MessageToolIncompleteError", () => new InvalidRequestError({ message: "Tool content must be completed", field: "content" }))) };
|
|
286
292
|
}));
|
|
287
293
|
}));
|
package/dist/handlers.d.ts
CHANGED
|
@@ -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/bus").Service | import("@opencode-ai/core/workspace").Service | import("@opencode-ai/core/
|
|
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/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>>;
|
package/dist/location.d.ts
CHANGED
|
@@ -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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/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/
|
|
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/tool").Service | import("@opencode-ai/core/session/model-transport").Service | import("@opencode-ai/core/session/runner/model").Service | import("@opencode-ai/core/session/compaction").Service | import("@opencode-ai/core/instruction-discovery").Service | import("@opencode-ai/core/reference").Service | import("@opencode-ai/core/snapshot").Service | import("@opencode-ai/core/skill").Service | import("@opencode-ai/core/tool-output").Service | import("@opencode-ai/core/websearch").Service | import("@opencode-ai/core/shell").Service | import("@opencode-ai/core/vcs").Service | import("@opencode-ai/core/plugin").Service | import("@opencode-ai/core/filesystem/location-watcher").Service | import("@opencode-ai/core/pty").Service | import("@opencode-ai/core/reference/instructions").Service | import("@opencode-ai/core/instructions/builtins").Service | import("@opencode-ai/core/tool/mcp").Service | import("@opencode-ai/core/skill/instructions").Service | import("@opencode-ai/core/session/instruction-entry").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/process.d.ts
CHANGED
|
@@ -27,16 +27,16 @@ export declare const start: <E, R>(options: {
|
|
|
27
27
|
readonly gitbash?: string | undefined;
|
|
28
28
|
} | undefined;
|
|
29
29
|
readonly port?: number | undefined;
|
|
30
|
+
readonly password?: string | undefined;
|
|
31
|
+
readonly fs?: {
|
|
32
|
+
readonly fff?: boolean | undefined;
|
|
33
|
+
readonly filewatcher?: boolean | undefined;
|
|
34
|
+
} | undefined;
|
|
30
35
|
readonly app?: {
|
|
31
36
|
readonly version?: string | undefined;
|
|
32
37
|
readonly name?: string | undefined;
|
|
33
38
|
readonly channel?: string | undefined;
|
|
34
39
|
} | undefined;
|
|
35
|
-
readonly fs?: {
|
|
36
|
-
readonly fff?: boolean | undefined;
|
|
37
|
-
readonly filewatcher?: boolean | undefined;
|
|
38
|
-
} | undefined;
|
|
39
|
-
readonly password?: string | undefined;
|
|
40
40
|
readonly simulation?: boolean | undefined;
|
|
41
41
|
readonly database?: {
|
|
42
42
|
readonly path?: string | 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 | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient |
|
|
25
|
-
export declare function createEmbeddedRoutes(options?: ServerOptions, overrides?: LayerNode.Replacements): Layer.Layer<Global.Service | Database.Service | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient |
|
|
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 | 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 | Bus.Service | import("effect/unstable/http/HttpClient").HttpClient | Credential.Service | WellKnown.Service | Workspace.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>;
|
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-
|
|
4
|
+
"version": "0.0.0-beta-18311",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@effect/platform-node": "4.0.0-rc.111",
|
|
32
32
|
"@effect/platform-node-shared": "4.0.0-rc.111",
|
|
33
|
-
"@opencode-ai/core": "0.0.0-beta-
|
|
34
|
-
"@opencode-ai/protocol": "0.0.0-beta-
|
|
35
|
-
"@opencode-ai/schema": "0.0.0-beta-
|
|
36
|
-
"@opencode-ai/simulation": "0.0.0-beta-
|
|
37
|
-
"@opencode-ai/util": "0.0.0-beta-
|
|
33
|
+
"@opencode-ai/core": "0.0.0-beta-18311",
|
|
34
|
+
"@opencode-ai/protocol": "0.0.0-beta-18311",
|
|
35
|
+
"@opencode-ai/schema": "0.0.0-beta-18311",
|
|
36
|
+
"@opencode-ai/simulation": "0.0.0-beta-18311",
|
|
37
|
+
"@opencode-ai/util": "0.0.0-beta-18311",
|
|
38
38
|
"drizzle-orm": "1.0.0-rc.5-169397b",
|
|
39
39
|
"effect": "4.0.0-rc.111"
|
|
40
40
|
},
|