@opencode/protocol 0.0.0-dev-21106 → 0.0.0-dev-21107

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.
@@ -2,7 +2,27 @@ import { Mcp } from "@opencode/schema/mcp";
2
2
  import { Schema } from "effect";
3
3
  import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
4
4
  import { McpServerNotFoundError } from "../errors.js";
5
- export declare const McpGroup: HttpApiGroup.HttpApiGroup<"server.mcp", HttpApiEndpoint.HttpApiEndpoint<"mcp.list", "GET", "/api/mcp", never, Schema.toCodecStringTree<Schema.Struct<{
5
+ export declare const McpGroup: HttpApiGroup.HttpApiGroup<"server.mcp", HttpApiEndpoint.HttpApiEndpoint<"mcp.add", "PUT", "/api/experimental/mcp/:server", Schema.toCodecStringTree<Schema.Struct<{
6
+ server: Schema.String;
7
+ }>>, Schema.toCodecStringTree<Schema.Struct<{
8
+ readonly location: Schema.optional<Schema.Struct<{
9
+ readonly directory: Schema.optional<Schema.String>;
10
+ }>>;
11
+ }>>, Schema.toCodecJson<Schema.Struct<{
12
+ readonly config: Schema.toTaggedUnion<"type", readonly [typeof Mcp.LocalConfig, typeof Mcp.RemoteConfig]>;
13
+ }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.connect", "POST", "/api/experimental/mcp/:server/connect", Schema.toCodecStringTree<Schema.Struct<{
14
+ server: Schema.String;
15
+ }>>, Schema.toCodecStringTree<Schema.Struct<{
16
+ readonly location: Schema.optional<Schema.Struct<{
17
+ readonly directory: Schema.optional<Schema.String>;
18
+ }>>;
19
+ }>>, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof McpServerNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.disconnect", "POST", "/api/experimental/mcp/:server/disconnect", Schema.toCodecStringTree<Schema.Struct<{
20
+ server: Schema.String;
21
+ }>>, Schema.toCodecStringTree<Schema.Struct<{
22
+ readonly location: Schema.optional<Schema.Struct<{
23
+ readonly directory: Schema.optional<Schema.String>;
24
+ }>>;
25
+ }>>, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof McpServerNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.list", "GET", "/api/mcp", never, Schema.toCodecStringTree<Schema.Struct<{
6
26
  readonly location: Schema.optional<Schema.Struct<{
7
27
  readonly directory: Schema.optional<Schema.String>;
8
28
  }>>;
@@ -27,27 +47,7 @@ export declare const McpGroup: HttpApiGroup.HttpApiGroup<"server.mcp", HttpApiEn
27
47
  }>]>;
28
48
  readonly integrationID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Integration.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Integration.ID">>, never, never>;
29
49
  }>>;
30
- }>>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.add", "PUT", "/api/experimental/mcp/:server", Schema.toCodecStringTree<Schema.Struct<{
31
- server: Schema.String;
32
- }>>, Schema.toCodecStringTree<Schema.Struct<{
33
- readonly location: Schema.optional<Schema.Struct<{
34
- readonly directory: Schema.optional<Schema.String>;
35
- }>>;
36
- }>>, Schema.toCodecJson<Schema.Struct<{
37
- readonly config: Schema.toTaggedUnion<"type", readonly [typeof Mcp.LocalConfig, typeof Mcp.RemoteConfig]>;
38
- }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.remove", "DELETE", "/api/experimental/mcp/:server", Schema.toCodecStringTree<Schema.Struct<{
39
- server: Schema.String;
40
- }>>, Schema.toCodecStringTree<Schema.Struct<{
41
- readonly location: Schema.optional<Schema.Struct<{
42
- readonly directory: Schema.optional<Schema.String>;
43
- }>>;
44
- }>>, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof McpServerNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.connect", "POST", "/api/experimental/mcp/:server/connect", Schema.toCodecStringTree<Schema.Struct<{
45
- server: Schema.String;
46
- }>>, Schema.toCodecStringTree<Schema.Struct<{
47
- readonly location: Schema.optional<Schema.Struct<{
48
- readonly directory: Schema.optional<Schema.String>;
49
- }>>;
50
- }>>, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof McpServerNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.disconnect", "POST", "/api/experimental/mcp/:server/disconnect", Schema.toCodecStringTree<Schema.Struct<{
50
+ }>>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"mcp.remove", "DELETE", "/api/experimental/mcp/:server", Schema.toCodecStringTree<Schema.Struct<{
51
51
  server: Schema.String;
52
52
  }>>, Schema.toCodecStringTree<Schema.Struct<{
53
53
  readonly location: Schema.optional<Schema.Struct<{
@@ -5,12 +5,21 @@ export declare const SessionMessagesQuery: Schema.Struct<{
5
5
  readonly limit: Schema.optional<Schema.NumberFromString>;
6
6
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
7
7
  readonly cursor: Schema.optional<Schema.String>;
8
- readonly type: Schema.optional<Schema.Literals<("skill" | "compaction" | "system" | "shell" | "agent-switched" | "model-switched" | "location-switched" | "user" | "synthetic" | "assistant")[]>>;
8
+ readonly type: Schema.optional<Schema.Literals<("agent-switched" | "assistant" | "compaction" | "location-switched" | "model-switched" | "shell" | "skill" | "synthetic" | "system" | "user")[]>>;
9
9
  }>;
10
10
  export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<{
11
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
12
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
13
+ fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
14
+ };
15
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
16
+ readonly time: Schema.Struct<{
17
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
18
+ }>;
11
19
  readonly type: Schema.tag<"agent-switched">;
12
20
  readonly agent: Schema.brand<Schema.String, "Agent.ID">;
13
21
  readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
22
+ }>, Schema.Struct<{
14
23
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
15
24
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
16
25
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -19,7 +28,6 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
19
28
  readonly time: Schema.Struct<{
20
29
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
21
30
  }>;
22
- }>, Schema.Struct<{
23
31
  readonly type: Schema.tag<"model-switched">;
24
32
  readonly model: Schema.Struct<{
25
33
  readonly id: Schema.brand<Schema.String, "Model.ID">;
@@ -89,6 +97,7 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
89
97
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
90
98
  };
91
99
  }>, never, never>;
100
+ }>, Schema.Struct<{
92
101
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
93
102
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
94
103
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -97,7 +106,13 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
97
106
  readonly time: Schema.Struct<{
98
107
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
99
108
  }>;
100
- }>, Schema.Struct<{
109
+ readonly type: Schema.tag<"location-switched">;
110
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
111
+ global: string & import("effect/Brand").Brand<"Project.ID">;
112
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
113
+ global: string & import("effect/Brand").Brand<"Project.ID">;
114
+ }>, never, never>;
115
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
101
116
  readonly location: Schema.Struct<{
102
117
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
103
118
  }>;
@@ -112,22 +127,15 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
112
127
  }>, never, never>;
113
128
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
114
129
  }>>;
130
+ }>, Schema.Struct<{
115
131
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
116
132
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
117
133
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
118
134
  };
119
- readonly type: Schema.tag<"location-switched">;
120
135
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
121
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
122
- global: string & import("effect/Brand").Brand<"Project.ID">;
123
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
124
- global: string & import("effect/Brand").Brand<"Project.ID">;
125
- }>, never, never>;
126
136
  readonly time: Schema.Struct<{
127
137
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
128
138
  }>;
129
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
130
- }>, Schema.Struct<{
131
139
  readonly text: Schema.String;
132
140
  readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
133
141
  readonly data: Schema.String;
@@ -152,15 +160,15 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
152
160
  }> & {
153
161
  create: (input: import("@opencode/schema/prompt").FileAttachment) => {
154
162
  readonly data: string;
163
+ readonly mime: string;
155
164
  readonly source: {
156
165
  readonly type: "inline";
157
166
  } | {
158
167
  readonly type: "uri";
159
168
  readonly uri: string;
160
169
  };
161
- readonly mime: string;
162
- readonly description?: string | undefined;
163
170
  readonly name?: string | undefined;
171
+ readonly description?: string | undefined;
164
172
  readonly mention?: {
165
173
  readonly start: number;
166
174
  readonly end: number;
@@ -190,15 +198,15 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
190
198
  }> & {
191
199
  create: (input: import("@opencode/schema/prompt").FileAttachment) => {
192
200
  readonly data: string;
201
+ readonly mime: string;
193
202
  readonly source: {
194
203
  readonly type: "inline";
195
204
  } | {
196
205
  readonly type: "uri";
197
206
  readonly uri: string;
198
207
  };
199
- readonly mime: string;
200
- readonly description?: string | undefined;
201
208
  readonly name?: string | undefined;
209
+ readonly description?: string | undefined;
202
210
  readonly mention?: {
203
211
  readonly start: number;
204
212
  readonly end: number;
@@ -257,6 +265,7 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
257
265
  }>>, never, never>;
258
266
  }>>>, never, never>;
259
267
  readonly type: Schema.tag<"user">;
268
+ }>, Schema.Struct<{
260
269
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
261
270
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
262
271
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -265,10 +274,10 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
265
274
  readonly time: Schema.Struct<{
266
275
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
267
276
  }>;
268
- }>, Schema.Struct<{
269
277
  readonly text: Schema.String;
270
278
  readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
271
279
  readonly type: Schema.tag<"synthetic">;
280
+ }>, Schema.Struct<{
272
281
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
273
282
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
274
283
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -277,10 +286,10 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
277
286
  readonly time: Schema.Struct<{
278
287
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
279
288
  }>;
280
- }>, Schema.Struct<{
281
289
  readonly type: Schema.tag<"system">;
282
290
  readonly text: Schema.String;
283
291
  readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
292
+ }>, Schema.Struct<{
284
293
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
285
294
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
286
295
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -289,20 +298,16 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
289
298
  readonly time: Schema.Struct<{
290
299
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
291
300
  }>;
292
- }>, Schema.Struct<{
293
301
  readonly type: Schema.tag<"skill">;
294
302
  readonly skill: Schema.brand<Schema.String, "Skill.ID">;
295
303
  readonly name: Schema.brand<Schema.String, "Skill.Name">;
296
304
  readonly text: Schema.String;
305
+ }>, Schema.Struct<{
297
306
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
298
307
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
299
308
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
300
309
  };
301
310
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
302
- readonly time: Schema.Struct<{
303
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
304
- }>;
305
- }>, Schema.Struct<{
306
311
  readonly type: Schema.tag<"shell">;
307
312
  readonly shellID: Schema.brand<Schema.String, "Shell.ID"> & {
308
313
  create: () => string & import("effect/Brand").Brand<"Shell.ID">;
@@ -326,12 +331,12 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
326
331
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
327
332
  readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
328
333
  }>;
334
+ }>, Schema.Struct<{
329
335
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
330
336
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
331
337
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
332
338
  };
333
339
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
334
- }>, Schema.Struct<{
335
340
  readonly type: Schema.tag<"assistant">;
336
341
  readonly agent: Schema.brand<Schema.String, "Agent.ID">;
337
342
  readonly model: Schema.Struct<{
@@ -522,16 +527,21 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
522
527
  readonly streamed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
523
528
  readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
524
529
  }>;
530
+ }>, Schema.Union<readonly [Schema.Struct<{
525
531
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
526
532
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
527
533
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
528
534
  };
529
535
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
530
- }>, Schema.Union<readonly [Schema.Struct<{
536
+ readonly time: Schema.Struct<{
537
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
538
+ }>;
539
+ readonly type: Schema.tag<"compaction">;
531
540
  readonly status: Schema.tag<"running">;
532
541
  readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
533
542
  readonly summary: Schema.String;
534
543
  readonly recent: Schema.String;
544
+ }>, Schema.Struct<{
535
545
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
536
546
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
537
547
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -541,7 +551,6 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
541
551
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
542
552
  }>;
543
553
  readonly type: Schema.tag<"compaction">;
544
- }>, Schema.Struct<{
545
554
  readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
546
555
  zero: number & import("effect/Brand").Brand<"Money.USD">;
547
556
  }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
@@ -661,6 +670,7 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
661
670
  }>;
662
671
  readonly messages: Schema.Codec<Schema.Json, Schema.Json, never, never>;
663
672
  }>>, never, never>;
673
+ }>, Schema.Struct<{
664
674
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
665
675
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
666
676
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -670,7 +680,6 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
670
680
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
671
681
  }>;
672
682
  readonly type: Schema.tag<"compaction">;
673
- }>, Schema.Struct<{
674
683
  readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
675
684
  zero: number & import("effect/Brand").Brand<"Money.USD">;
676
685
  }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
@@ -705,6 +714,7 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
705
714
  readonly body: Schema.String;
706
715
  }>>, never, never>;
707
716
  }>;
717
+ }>]>, Schema.Struct<{
708
718
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
709
719
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
710
720
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -713,8 +723,6 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
713
723
  readonly time: Schema.Struct<{
714
724
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
715
725
  }>;
716
- readonly type: Schema.tag<"compaction">;
717
- }>]>, Schema.Struct<{
718
726
  readonly type: Schema.tag<"idle">;
719
727
  readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
720
728
  readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
@@ -736,14 +744,6 @@ export declare const PublicSessionMessage: Schema.Union<readonly [Schema.Struct<
736
744
  readonly body: Schema.String;
737
745
  }>>, never, never>;
738
746
  }>>, never, never>;
739
- readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
740
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
741
- fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
742
- };
743
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
744
- readonly time: Schema.Struct<{
745
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
746
- }>;
747
747
  }>]>;
748
748
  export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", HttpApiEndpoint.HttpApiEndpoint<"session.messages", "GET", "/api/session/:sessionID/message", Schema.toCodecStringTree<Schema.Struct<{
749
749
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
@@ -754,12 +754,21 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
754
754
  readonly limit: Schema.optional<Schema.NumberFromString>;
755
755
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
756
756
  readonly cursor: Schema.optional<Schema.String>;
757
- readonly type: Schema.optional<Schema.Literals<("skill" | "compaction" | "system" | "shell" | "agent-switched" | "model-switched" | "location-switched" | "user" | "synthetic" | "assistant")[]>>;
757
+ readonly type: Schema.optional<Schema.Literals<("agent-switched" | "assistant" | "compaction" | "location-switched" | "model-switched" | "shell" | "skill" | "synthetic" | "system" | "user")[]>>;
758
758
  }>>, never, never, Schema.toCodecJson<Schema.Struct<{
759
759
  readonly data: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
760
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
761
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
762
+ fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
763
+ };
764
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
765
+ readonly time: Schema.Struct<{
766
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
767
+ }>;
760
768
  readonly type: Schema.tag<"agent-switched">;
761
769
  readonly agent: Schema.brand<Schema.String, "Agent.ID">;
762
770
  readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
771
+ }>, Schema.Struct<{
763
772
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
764
773
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
765
774
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -768,7 +777,6 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
768
777
  readonly time: Schema.Struct<{
769
778
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
770
779
  }>;
771
- }>, Schema.Struct<{
772
780
  readonly type: Schema.tag<"model-switched">;
773
781
  readonly model: Schema.Struct<{
774
782
  readonly id: Schema.brand<Schema.String, "Model.ID">;
@@ -838,6 +846,7 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
838
846
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
839
847
  };
840
848
  }>, never, never>;
849
+ }>, Schema.Struct<{
841
850
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
842
851
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
843
852
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -846,7 +855,13 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
846
855
  readonly time: Schema.Struct<{
847
856
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
848
857
  }>;
849
- }>, Schema.Struct<{
858
+ readonly type: Schema.tag<"location-switched">;
859
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
860
+ global: string & import("effect/Brand").Brand<"Project.ID">;
861
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
862
+ global: string & import("effect/Brand").Brand<"Project.ID">;
863
+ }>, never, never>;
864
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
850
865
  readonly location: Schema.Struct<{
851
866
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
852
867
  }>;
@@ -861,22 +876,15 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
861
876
  }>, never, never>;
862
877
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
863
878
  }>>;
879
+ }>, Schema.Struct<{
864
880
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
865
881
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
866
882
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
867
883
  };
868
- readonly type: Schema.tag<"location-switched">;
869
884
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
870
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
871
- global: string & import("effect/Brand").Brand<"Project.ID">;
872
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
873
- global: string & import("effect/Brand").Brand<"Project.ID">;
874
- }>, never, never>;
875
885
  readonly time: Schema.Struct<{
876
886
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
877
887
  }>;
878
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
879
- }>, Schema.Struct<{
880
888
  readonly text: Schema.String;
881
889
  readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
882
890
  readonly data: Schema.String;
@@ -901,15 +909,15 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
901
909
  }> & {
902
910
  create: (input: import("@opencode/schema/prompt").FileAttachment) => {
903
911
  readonly data: string;
912
+ readonly mime: string;
904
913
  readonly source: {
905
914
  readonly type: "inline";
906
915
  } | {
907
916
  readonly type: "uri";
908
917
  readonly uri: string;
909
918
  };
910
- readonly mime: string;
911
- readonly description?: string | undefined;
912
919
  readonly name?: string | undefined;
920
+ readonly description?: string | undefined;
913
921
  readonly mention?: {
914
922
  readonly start: number;
915
923
  readonly end: number;
@@ -939,15 +947,15 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
939
947
  }> & {
940
948
  create: (input: import("@opencode/schema/prompt").FileAttachment) => {
941
949
  readonly data: string;
950
+ readonly mime: string;
942
951
  readonly source: {
943
952
  readonly type: "inline";
944
953
  } | {
945
954
  readonly type: "uri";
946
955
  readonly uri: string;
947
956
  };
948
- readonly mime: string;
949
- readonly description?: string | undefined;
950
957
  readonly name?: string | undefined;
958
+ readonly description?: string | undefined;
951
959
  readonly mention?: {
952
960
  readonly start: number;
953
961
  readonly end: number;
@@ -1006,6 +1014,7 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1006
1014
  }>>, never, never>;
1007
1015
  }>>>, never, never>;
1008
1016
  readonly type: Schema.tag<"user">;
1017
+ }>, Schema.Struct<{
1009
1018
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1010
1019
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1011
1020
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1014,10 +1023,10 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1014
1023
  readonly time: Schema.Struct<{
1015
1024
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1016
1025
  }>;
1017
- }>, Schema.Struct<{
1018
1026
  readonly text: Schema.String;
1019
1027
  readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1020
1028
  readonly type: Schema.tag<"synthetic">;
1029
+ }>, Schema.Struct<{
1021
1030
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1022
1031
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1023
1032
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1026,10 +1035,10 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1026
1035
  readonly time: Schema.Struct<{
1027
1036
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1028
1037
  }>;
1029
- }>, Schema.Struct<{
1030
1038
  readonly type: Schema.tag<"system">;
1031
1039
  readonly text: Schema.String;
1032
1040
  readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1041
+ }>, Schema.Struct<{
1033
1042
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1034
1043
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1035
1044
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1038,20 +1047,16 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1038
1047
  readonly time: Schema.Struct<{
1039
1048
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1040
1049
  }>;
1041
- }>, Schema.Struct<{
1042
1050
  readonly type: Schema.tag<"skill">;
1043
1051
  readonly skill: Schema.brand<Schema.String, "Skill.ID">;
1044
1052
  readonly name: Schema.brand<Schema.String, "Skill.Name">;
1045
1053
  readonly text: Schema.String;
1054
+ }>, Schema.Struct<{
1046
1055
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1047
1056
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1048
1057
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1049
1058
  };
1050
1059
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1051
- readonly time: Schema.Struct<{
1052
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1053
- }>;
1054
- }>, Schema.Struct<{
1055
1060
  readonly type: Schema.tag<"shell">;
1056
1061
  readonly shellID: Schema.brand<Schema.String, "Shell.ID"> & {
1057
1062
  create: () => string & import("effect/Brand").Brand<"Shell.ID">;
@@ -1075,12 +1080,12 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1075
1080
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1076
1081
  readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1077
1082
  }>;
1083
+ }>, Schema.Struct<{
1078
1084
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1079
1085
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1080
1086
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1081
1087
  };
1082
1088
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1083
- }>, Schema.Struct<{
1084
1089
  readonly type: Schema.tag<"assistant">;
1085
1090
  readonly agent: Schema.brand<Schema.String, "Agent.ID">;
1086
1091
  readonly model: Schema.Struct<{
@@ -1271,16 +1276,21 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1271
1276
  readonly streamed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1272
1277
  readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1273
1278
  }>;
1279
+ }>, Schema.Union<readonly [Schema.Struct<{
1274
1280
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1275
1281
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1276
1282
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1277
1283
  };
1278
1284
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1279
- }>, Schema.Union<readonly [Schema.Struct<{
1285
+ readonly time: Schema.Struct<{
1286
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1287
+ }>;
1288
+ readonly type: Schema.tag<"compaction">;
1280
1289
  readonly status: Schema.tag<"running">;
1281
1290
  readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1282
1291
  readonly summary: Schema.String;
1283
1292
  readonly recent: Schema.String;
1293
+ }>, Schema.Struct<{
1284
1294
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1285
1295
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1286
1296
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1290,7 +1300,6 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1290
1300
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1291
1301
  }>;
1292
1302
  readonly type: Schema.tag<"compaction">;
1293
- }>, Schema.Struct<{
1294
1303
  readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1295
1304
  zero: number & import("effect/Brand").Brand<"Money.USD">;
1296
1305
  }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
@@ -1410,6 +1419,7 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1410
1419
  }>;
1411
1420
  readonly messages: Schema.Codec<Schema.Json, Schema.Json, never, never>;
1412
1421
  }>>, never, never>;
1422
+ }>, Schema.Struct<{
1413
1423
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1414
1424
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1415
1425
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1419,7 +1429,6 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1419
1429
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1420
1430
  }>;
1421
1431
  readonly type: Schema.tag<"compaction">;
1422
- }>, Schema.Struct<{
1423
1432
  readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1424
1433
  zero: number & import("effect/Brand").Brand<"Money.USD">;
1425
1434
  }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
@@ -1454,6 +1463,7 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1454
1463
  readonly body: Schema.String;
1455
1464
  }>>, never, never>;
1456
1465
  }>;
1466
+ }>]>, Schema.Struct<{
1457
1467
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1458
1468
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1459
1469
  fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1462,8 +1472,6 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1462
1472
  readonly time: Schema.Struct<{
1463
1473
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1464
1474
  }>;
1465
- readonly type: Schema.tag<"compaction">;
1466
- }>]>, Schema.Struct<{
1467
1475
  readonly type: Schema.tag<"idle">;
1468
1476
  readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
1469
1477
  readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
@@ -1485,14 +1493,6 @@ export declare const MessageGroup: HttpApiGroup.HttpApiGroup<"server.message", H
1485
1493
  readonly body: Schema.String;
1486
1494
  }>>, never, never>;
1487
1495
  }>>, never, never>;
1488
- readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1489
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1490
- fromEvent: (eventID: import("@opencode/schema/event").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1491
- };
1492
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1493
- readonly time: Schema.Struct<{
1494
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1495
- }>;
1496
1496
  }>]>>;
1497
1497
  readonly cursor: Schema.Struct<{
1498
1498
  readonly previous: Schema.optional<Schema.String>;