@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 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, import("@opencode-ai/protocol/middleware/schema-error").SchemaErrorMiddleware | import("@opencode-ai/protocol/middleware/authorization").Authorization | Session.Service | import("../middleware/session-location").SessionLocationMiddleware | SessionTransfer.Service | import("effect/unstable/http/HttpRouter").Request<"Requires", import("@opencode-ai/core/database/database").Service>>;
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)>;
@@ -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-18293",
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-18293",
34
- "@opencode-ai/protocol": "0.0.0-dev-18293",
35
- "@opencode-ai/schema": "0.0.0-dev-18293",
36
- "@opencode-ai/simulation": "0.0.0-dev-18293",
37
- "@opencode-ai/util": "0.0.0-dev-18293",
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
  },