@opencode-ai/server 0.0.0-dev-18293 → 0.0.0-dev-18296
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 +328 -0
- package/dist/handlers/session.d.ts +1 -1
- package/dist/handlers/session.js +6 -0
- package/package.json +6 -6
package/dist/api.d.ts
CHANGED
|
@@ -3851,6 +3851,214 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
3851
3851
|
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
3852
3852
|
};
|
|
3853
3853
|
}>;
|
|
3854
|
+
}, import("effect/Schema").Struct<{
|
|
3855
|
+
readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
|
|
3856
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
3857
|
+
};
|
|
3858
|
+
readonly created: import("effect/Schema").Finite;
|
|
3859
|
+
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>;
|
|
3860
|
+
readonly type: import("effect/Schema").Literal<"session.message.content.updated">;
|
|
3861
|
+
readonly durable: import("effect/Schema").Struct<{
|
|
3862
|
+
readonly aggregateID: import("effect/Schema").String;
|
|
3863
|
+
readonly seq: import("effect/Schema").brand<import("effect/Schema").Int, "Event.Seq">;
|
|
3864
|
+
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>;
|
|
3865
|
+
}>;
|
|
3866
|
+
readonly location: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
3867
|
+
readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
3868
|
+
readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3869
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3870
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3871
|
+
}>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3872
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3873
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3874
|
+
}>, never, never>;
|
|
3875
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
3876
|
+
readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
|
|
3877
|
+
readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3878
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3879
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3880
|
+
}>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Workspace.ID"> & {
|
|
3881
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3882
|
+
create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
|
|
3883
|
+
}>, never, never>;
|
|
3884
|
+
}>>, never, never>;
|
|
3885
|
+
readonly data: import("effect/Schema").Struct<{
|
|
3886
|
+
readonly messageID: import("effect/Schema").brand<import("effect/Schema").String, "Session.Message.ID"> & {
|
|
3887
|
+
create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
3888
|
+
fromEvent: (eventID: import("@opencode-ai/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
3889
|
+
};
|
|
3890
|
+
readonly content: import("effect/Schema").$Array<import("effect/Schema").toEncoded<import("effect/Schema").toTaggedUnion<"type", readonly [import("effect/Schema").Struct<{
|
|
3891
|
+
readonly type: import("effect/Schema").tag<"text">;
|
|
3892
|
+
readonly text: import("effect/Schema").String;
|
|
3893
|
+
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>;
|
|
3894
|
+
}>, import("effect/Schema").Struct<{
|
|
3895
|
+
readonly type: import("effect/Schema").tag<"reasoning">;
|
|
3896
|
+
readonly text: import("effect/Schema").String;
|
|
3897
|
+
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>;
|
|
3898
|
+
readonly time: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
3899
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3900
|
+
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>;
|
|
3901
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
3902
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3903
|
+
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>;
|
|
3904
|
+
}>>, never, never>;
|
|
3905
|
+
}>, import("effect/Schema").Struct<{
|
|
3906
|
+
readonly type: import("effect/Schema").tag<"tool">;
|
|
3907
|
+
readonly id: import("effect/Schema").String;
|
|
3908
|
+
readonly name: import("effect/Schema").String;
|
|
3909
|
+
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>;
|
|
3910
|
+
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>;
|
|
3911
|
+
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>;
|
|
3912
|
+
readonly state: import("effect/Schema").toTaggedUnion<"status", readonly [import("effect/Schema").Struct<{
|
|
3913
|
+
readonly status: import("effect/Schema").tag<"streaming">;
|
|
3914
|
+
readonly input: import("effect/Schema").String;
|
|
3915
|
+
}>, import("effect/Schema").Struct<{
|
|
3916
|
+
readonly status: import("effect/Schema").tag<"running">;
|
|
3917
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
3918
|
+
readonly metadata: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
|
|
3919
|
+
}>, import("effect/Schema").Struct<{
|
|
3920
|
+
readonly status: import("effect/Schema").tag<"completed">;
|
|
3921
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
3922
|
+
readonly content: import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
3923
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
3924
|
+
readonly text: import("effect/Schema").String;
|
|
3925
|
+
}>, import("effect/Schema").Struct<{
|
|
3926
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
3927
|
+
readonly uri: import("effect/Schema").String;
|
|
3928
|
+
readonly mime: import("effect/Schema").String;
|
|
3929
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
3930
|
+
}>]>>;
|
|
3931
|
+
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>;
|
|
3932
|
+
}>, import("effect/Schema").Struct<{
|
|
3933
|
+
readonly status: import("effect/Schema").tag<"error">;
|
|
3934
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
3935
|
+
readonly error: import("effect/Schema").Struct<{
|
|
3936
|
+
readonly type: import("effect/Schema").String;
|
|
3937
|
+
readonly message: import("effect/Schema").String;
|
|
3938
|
+
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>;
|
|
3939
|
+
}>;
|
|
3940
|
+
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<{
|
|
3941
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
3942
|
+
readonly text: import("effect/Schema").String;
|
|
3943
|
+
}>, import("effect/Schema").Struct<{
|
|
3944
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
3945
|
+
readonly uri: import("effect/Schema").String;
|
|
3946
|
+
readonly mime: import("effect/Schema").String;
|
|
3947
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
3948
|
+
}>]>>>>, import("effect/Schema").optionalKey<import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
3949
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
3950
|
+
readonly text: import("effect/Schema").String;
|
|
3951
|
+
}>, import("effect/Schema").Struct<{
|
|
3952
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
3953
|
+
readonly uri: import("effect/Schema").String;
|
|
3954
|
+
readonly mime: import("effect/Schema").String;
|
|
3955
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
3956
|
+
}>]>>>, never, never>;
|
|
3957
|
+
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>;
|
|
3958
|
+
}>]>;
|
|
3959
|
+
readonly time: import("effect/Schema").Struct<{
|
|
3960
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3961
|
+
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>;
|
|
3962
|
+
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>;
|
|
3963
|
+
}>;
|
|
3964
|
+
}>]>>>;
|
|
3965
|
+
readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
|
|
3966
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
3967
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
3968
|
+
};
|
|
3969
|
+
}>;
|
|
3970
|
+
}> & {
|
|
3971
|
+
type: "session.message.content.updated";
|
|
3972
|
+
durability: "durable";
|
|
3973
|
+
durable: {
|
|
3974
|
+
readonly version: number;
|
|
3975
|
+
readonly aggregate: string;
|
|
3976
|
+
};
|
|
3977
|
+
data: import("effect/Schema").Struct<{
|
|
3978
|
+
readonly messageID: import("effect/Schema").brand<import("effect/Schema").String, "Session.Message.ID"> & {
|
|
3979
|
+
create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
3980
|
+
fromEvent: (eventID: import("@opencode-ai/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
3981
|
+
};
|
|
3982
|
+
readonly content: import("effect/Schema").$Array<import("effect/Schema").toEncoded<import("effect/Schema").toTaggedUnion<"type", readonly [import("effect/Schema").Struct<{
|
|
3983
|
+
readonly type: import("effect/Schema").tag<"text">;
|
|
3984
|
+
readonly text: import("effect/Schema").String;
|
|
3985
|
+
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>;
|
|
3986
|
+
}>, import("effect/Schema").Struct<{
|
|
3987
|
+
readonly type: import("effect/Schema").tag<"reasoning">;
|
|
3988
|
+
readonly text: import("effect/Schema").String;
|
|
3989
|
+
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>;
|
|
3990
|
+
readonly time: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
|
|
3991
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3992
|
+
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>;
|
|
3993
|
+
}>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
|
|
3994
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
3995
|
+
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>;
|
|
3996
|
+
}>>, never, never>;
|
|
3997
|
+
}>, import("effect/Schema").Struct<{
|
|
3998
|
+
readonly type: import("effect/Schema").tag<"tool">;
|
|
3999
|
+
readonly id: import("effect/Schema").String;
|
|
4000
|
+
readonly name: import("effect/Schema").String;
|
|
4001
|
+
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>;
|
|
4002
|
+
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>;
|
|
4003
|
+
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>;
|
|
4004
|
+
readonly state: import("effect/Schema").toTaggedUnion<"status", readonly [import("effect/Schema").Struct<{
|
|
4005
|
+
readonly status: import("effect/Schema").tag<"streaming">;
|
|
4006
|
+
readonly input: import("effect/Schema").String;
|
|
4007
|
+
}>, import("effect/Schema").Struct<{
|
|
4008
|
+
readonly status: import("effect/Schema").tag<"running">;
|
|
4009
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
4010
|
+
readonly metadata: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
|
|
4011
|
+
}>, import("effect/Schema").Struct<{
|
|
4012
|
+
readonly status: import("effect/Schema").tag<"completed">;
|
|
4013
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
4014
|
+
readonly content: import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4015
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4016
|
+
readonly text: import("effect/Schema").String;
|
|
4017
|
+
}>, import("effect/Schema").Struct<{
|
|
4018
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4019
|
+
readonly uri: import("effect/Schema").String;
|
|
4020
|
+
readonly mime: import("effect/Schema").String;
|
|
4021
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4022
|
+
}>]>>;
|
|
4023
|
+
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>;
|
|
4024
|
+
}>, import("effect/Schema").Struct<{
|
|
4025
|
+
readonly status: import("effect/Schema").tag<"error">;
|
|
4026
|
+
readonly input: import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>;
|
|
4027
|
+
readonly error: import("effect/Schema").Struct<{
|
|
4028
|
+
readonly type: import("effect/Schema").String;
|
|
4029
|
+
readonly message: import("effect/Schema").String;
|
|
4030
|
+
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>;
|
|
4031
|
+
}>;
|
|
4032
|
+
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<{
|
|
4033
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4034
|
+
readonly text: import("effect/Schema").String;
|
|
4035
|
+
}>, import("effect/Schema").Struct<{
|
|
4036
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4037
|
+
readonly uri: import("effect/Schema").String;
|
|
4038
|
+
readonly mime: import("effect/Schema").String;
|
|
4039
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4040
|
+
}>]>>>>, import("effect/Schema").optionalKey<import("effect/Schema").NonEmptyArray<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4041
|
+
readonly type: import("effect/Schema").Literal<"text">;
|
|
4042
|
+
readonly text: import("effect/Schema").String;
|
|
4043
|
+
}>, import("effect/Schema").Struct<{
|
|
4044
|
+
readonly type: import("effect/Schema").Literal<"file">;
|
|
4045
|
+
readonly uri: import("effect/Schema").String;
|
|
4046
|
+
readonly mime: import("effect/Schema").String;
|
|
4047
|
+
readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4048
|
+
}>]>>>, never, never>;
|
|
4049
|
+
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>;
|
|
4050
|
+
}>]>;
|
|
4051
|
+
readonly time: import("effect/Schema").Struct<{
|
|
4052
|
+
readonly created: import("effect/Schema").decodeTo<import("effect/Schema").DateTimeUtc, import("effect/Schema").Finite, never, never>;
|
|
4053
|
+
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>;
|
|
4054
|
+
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>;
|
|
4055
|
+
}>;
|
|
4056
|
+
}>]>>>;
|
|
4057
|
+
readonly sessionID: import("effect/Schema").brand<import("effect/Schema").String, "SessionID"> & {
|
|
4058
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
4059
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
4060
|
+
};
|
|
4061
|
+
}>;
|
|
3854
4062
|
}, import("effect/Schema").Struct<{
|
|
3855
4063
|
readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
|
|
3856
4064
|
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
@@ -6368,6 +6576,126 @@ export declare const Api: import("@opencode-ai/protocol/api").Api<LocationMiddle
|
|
|
6368
6576
|
readonly metadata?: {
|
|
6369
6577
|
readonly [x: string]: unknown;
|
|
6370
6578
|
} | undefined;
|
|
6579
|
+
} | {
|
|
6580
|
+
readonly id: string & import("effect/Brand").Brand<"Event.ID">;
|
|
6581
|
+
readonly data: {
|
|
6582
|
+
readonly messageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
|
|
6583
|
+
readonly content: readonly ({
|
|
6584
|
+
readonly id: string;
|
|
6585
|
+
readonly type: "tool";
|
|
6586
|
+
readonly name: string;
|
|
6587
|
+
readonly time: {
|
|
6588
|
+
readonly created: number;
|
|
6589
|
+
readonly completed?: number | undefined;
|
|
6590
|
+
readonly ran?: number | undefined;
|
|
6591
|
+
};
|
|
6592
|
+
readonly state: {
|
|
6593
|
+
readonly status: "streaming";
|
|
6594
|
+
readonly input: string;
|
|
6595
|
+
} | {
|
|
6596
|
+
readonly status: "running";
|
|
6597
|
+
readonly input: {
|
|
6598
|
+
readonly [x: string]: unknown;
|
|
6599
|
+
};
|
|
6600
|
+
readonly metadata: {
|
|
6601
|
+
readonly [x: string]: import("effect/Schema").Json;
|
|
6602
|
+
};
|
|
6603
|
+
} | {
|
|
6604
|
+
readonly content: readonly [{
|
|
6605
|
+
readonly type: "text";
|
|
6606
|
+
readonly text: string;
|
|
6607
|
+
} | {
|
|
6608
|
+
readonly type: "file";
|
|
6609
|
+
readonly uri: string;
|
|
6610
|
+
readonly mime: string;
|
|
6611
|
+
readonly name?: string | undefined;
|
|
6612
|
+
}, ...({
|
|
6613
|
+
readonly type: "text";
|
|
6614
|
+
readonly text: string;
|
|
6615
|
+
} | {
|
|
6616
|
+
readonly type: "file";
|
|
6617
|
+
readonly uri: string;
|
|
6618
|
+
readonly mime: string;
|
|
6619
|
+
readonly name?: string | undefined;
|
|
6620
|
+
})[]];
|
|
6621
|
+
readonly status: "completed";
|
|
6622
|
+
readonly input: {
|
|
6623
|
+
readonly [x: string]: unknown;
|
|
6624
|
+
};
|
|
6625
|
+
readonly metadata?: {
|
|
6626
|
+
readonly [x: string]: import("effect/Schema").Json;
|
|
6627
|
+
} | undefined;
|
|
6628
|
+
} | {
|
|
6629
|
+
readonly error: {
|
|
6630
|
+
readonly type: string;
|
|
6631
|
+
readonly message: string;
|
|
6632
|
+
readonly status?: number | undefined;
|
|
6633
|
+
};
|
|
6634
|
+
readonly status: "error";
|
|
6635
|
+
readonly input: {
|
|
6636
|
+
readonly [x: string]: unknown;
|
|
6637
|
+
};
|
|
6638
|
+
readonly metadata?: {
|
|
6639
|
+
readonly [x: string]: import("effect/Schema").Json;
|
|
6640
|
+
} | undefined;
|
|
6641
|
+
readonly content?: readonly [{
|
|
6642
|
+
readonly type: "text";
|
|
6643
|
+
readonly text: string;
|
|
6644
|
+
} | {
|
|
6645
|
+
readonly type: "file";
|
|
6646
|
+
readonly uri: string;
|
|
6647
|
+
readonly mime: string;
|
|
6648
|
+
readonly name?: string | undefined;
|
|
6649
|
+
}, ...({
|
|
6650
|
+
readonly type: "text";
|
|
6651
|
+
readonly text: string;
|
|
6652
|
+
} | {
|
|
6653
|
+
readonly type: "file";
|
|
6654
|
+
readonly uri: string;
|
|
6655
|
+
readonly mime: string;
|
|
6656
|
+
readonly name?: string | undefined;
|
|
6657
|
+
})[]] | undefined;
|
|
6658
|
+
};
|
|
6659
|
+
readonly executed?: boolean | undefined;
|
|
6660
|
+
readonly providerState?: {
|
|
6661
|
+
readonly [x: string]: unknown;
|
|
6662
|
+
} | undefined;
|
|
6663
|
+
readonly providerResultState?: {
|
|
6664
|
+
readonly [x: string]: unknown;
|
|
6665
|
+
} | undefined;
|
|
6666
|
+
} | {
|
|
6667
|
+
readonly type: "text";
|
|
6668
|
+
readonly text: string;
|
|
6669
|
+
readonly state?: {
|
|
6670
|
+
readonly [x: string]: unknown;
|
|
6671
|
+
} | undefined;
|
|
6672
|
+
} | {
|
|
6673
|
+
readonly type: "reasoning";
|
|
6674
|
+
readonly text: string;
|
|
6675
|
+
readonly time?: {
|
|
6676
|
+
readonly created: number;
|
|
6677
|
+
readonly completed?: number | undefined;
|
|
6678
|
+
} | undefined;
|
|
6679
|
+
readonly state?: {
|
|
6680
|
+
readonly [x: string]: unknown;
|
|
6681
|
+
} | undefined;
|
|
6682
|
+
})[];
|
|
6683
|
+
readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
|
|
6684
|
+
};
|
|
6685
|
+
readonly durable: {
|
|
6686
|
+
readonly aggregateID: string;
|
|
6687
|
+
readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
|
|
6688
|
+
readonly version: number & import("effect/Brand").Brand<"Event.Version">;
|
|
6689
|
+
};
|
|
6690
|
+
readonly type: "session.message.content.updated";
|
|
6691
|
+
readonly created: number;
|
|
6692
|
+
readonly location?: {
|
|
6693
|
+
readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
|
|
6694
|
+
readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
|
|
6695
|
+
} | undefined;
|
|
6696
|
+
readonly metadata?: {
|
|
6697
|
+
readonly [x: string]: unknown;
|
|
6698
|
+
} | undefined;
|
|
6371
6699
|
} | {
|
|
6372
6700
|
readonly id: string & import("effect/Brand").Brand<"Event.ID">;
|
|
6373
6701
|
readonly data: {
|
|
@@ -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/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-dev-
|
|
4
|
+
"version": "0.0.0-dev-18296",
|
|
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-dev-
|
|
34
|
-
"@opencode-ai/protocol": "0.0.0-dev-
|
|
35
|
-
"@opencode-ai/schema": "0.0.0-dev-
|
|
36
|
-
"@opencode-ai/simulation": "0.0.0-dev-
|
|
37
|
-
"@opencode-ai/util": "0.0.0-dev-
|
|
33
|
+
"@opencode-ai/core": "0.0.0-dev-18296",
|
|
34
|
+
"@opencode-ai/protocol": "0.0.0-dev-18296",
|
|
35
|
+
"@opencode-ai/schema": "0.0.0-dev-18296",
|
|
36
|
+
"@opencode-ai/simulation": "0.0.0-dev-18296",
|
|
37
|
+
"@opencode-ai/util": "0.0.0-dev-18296",
|
|
38
38
|
"drizzle-orm": "1.0.0-rc.5-169397b",
|
|
39
39
|
"effect": "4.0.0-rc.111"
|
|
40
40
|
},
|