@opencode/protocol 2.0.2 → 2.0.4

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.
Files changed (69) hide show
  1. package/dist/api.d.ts +4 -6
  2. package/dist/api.js +4 -8
  3. package/dist/client.d.ts +0 -2
  4. package/dist/client.js +0 -2
  5. package/dist/errors.d.ts +20 -0
  6. package/dist/errors.js +17 -0
  7. package/dist/groups/agent.d.ts +6 -5
  8. package/dist/groups/agent.js +2 -2
  9. package/dist/groups/command.d.ts +3 -3
  10. package/dist/groups/command.js +1 -1
  11. package/dist/groups/config.d.ts +5 -13
  12. package/dist/groups/config.js +11 -18
  13. package/dist/groups/credential.d.ts +3 -18
  14. package/dist/groups/credential.js +3 -10
  15. package/dist/groups/debug.d.ts +0 -8
  16. package/dist/groups/debug.js +3 -3
  17. package/dist/groups/event.d.ts +99 -74
  18. package/dist/groups/event.js +3 -3
  19. package/dist/groups/form.d.ts +6 -654
  20. package/dist/groups/form.js +6 -83
  21. package/dist/groups/fs.d.ts +6 -6
  22. package/dist/groups/fs.js +3 -3
  23. package/dist/groups/generate.d.ts +1 -1
  24. package/dist/groups/generate.js +2 -2
  25. package/dist/groups/integration.d.ts +27 -27
  26. package/dist/groups/integration.js +19 -16
  27. package/dist/groups/location.d.ts +10 -4
  28. package/dist/groups/location.js +2 -3
  29. package/dist/groups/mcp.d.ts +11 -13
  30. package/dist/groups/mcp.js +10 -10
  31. package/dist/groups/message.d.ts +710 -41
  32. package/dist/groups/message.js +26 -3
  33. package/dist/groups/migration.js +1 -1
  34. package/dist/groups/model.d.ts +12 -9
  35. package/dist/groups/model.js +2 -2
  36. package/dist/groups/permission.d.ts +9 -16
  37. package/dist/groups/permission.js +8 -20
  38. package/dist/groups/persistent-pty.js +1 -1
  39. package/dist/groups/plugin.d.ts +7 -12
  40. package/dist/groups/plugin.js +3 -13
  41. package/dist/groups/project.d.ts +1 -14
  42. package/dist/groups/project.js +2 -13
  43. package/dist/groups/provider.d.ts +8 -7
  44. package/dist/groups/provider.js +2 -2
  45. package/dist/groups/pty.d.ts +15 -12
  46. package/dist/groups/pty.js +8 -8
  47. package/dist/groups/reference.d.ts +8 -12
  48. package/dist/groups/reference.js +16 -3
  49. package/dist/groups/rpc.d.ts +0 -1
  50. package/dist/groups/rpc.js +1 -1
  51. package/dist/groups/server.d.ts +9 -1
  52. package/dist/groups/server.js +11 -5
  53. package/dist/groups/session.d.ts +1146 -787
  54. package/dist/groups/session.js +192 -93
  55. package/dist/groups/shell.d.ts +13 -43
  56. package/dist/groups/shell.js +6 -24
  57. package/dist/groups/skill.d.ts +4 -5
  58. package/dist/groups/skill.js +1 -1
  59. package/dist/groups/vcs.d.ts +17 -12
  60. package/dist/groups/vcs.js +6 -6
  61. package/dist/groups/websearch.d.ts +6 -5
  62. package/dist/groups/websearch.js +2 -2
  63. package/dist/groups/worktree.d.ts +17 -23
  64. package/dist/groups/worktree.js +21 -30
  65. package/package.json +2 -2
  66. package/dist/groups/health.d.ts +0 -15
  67. package/dist/groups/health.js +0 -20
  68. package/dist/groups/workspace.d.ts +0 -22
  69. package/dist/groups/workspace.js +0 -27
@@ -3,7 +3,7 @@ import { InstructionEntry } from "@opencode/schema/instruction-entry";
3
3
  import { Event } from "@opencode/schema/event";
4
4
  import { Context, Effect, Schema } from "effect";
5
5
  import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/unstable/httpapi";
6
- import { ConflictError, CommandExecutionError, CommandNotFoundError, InvalidCursorError, InvalidRequestError, MessageNotFoundError, ServiceUnavailableError, SessionBusyError, SessionNotFoundError, SkillNotFoundError, UnknownError } from "../errors.js";
6
+ import { ConflictError, CommandExecutionError, CommandNotFoundError, FormAlreadySettledError, FormInvalidAnswerError, FormNotFoundError, InvalidCursorError, InvalidRequestError, MessageNotFoundError, ServiceUnavailableError, SessionBusyError, SessionNotFoundError, SkillNotFoundError, UnknownError } from "../errors.js";
7
7
  import { SessionEvent } from "@opencode/schema/session-event";
8
8
  declare const SessionsCursorInput: Schema.Union<readonly [Schema.Struct<{
9
9
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
@@ -13,10 +13,6 @@ declare const SessionsCursorInput: Schema.Union<readonly [Schema.Struct<{
13
13
  }, Schema.decodeTo<Schema.Null, Schema.Literal<"null">, never, never>]>>;
14
14
  readonly search: Schema.optional<Schema.String>;
15
15
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
16
- readonly workspace: Schema.optional<Schema.brand<Schema.String, "Workspace.ID"> & {
17
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
18
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
19
- }>;
20
16
  readonly anchor: Schema.Struct<{
21
17
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
22
18
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -36,10 +32,6 @@ declare const SessionsCursorInput: Schema.Union<readonly [Schema.Struct<{
36
32
  }, Schema.decodeTo<Schema.Null, Schema.Literal<"null">, never, never>]>>;
37
33
  readonly search: Schema.optional<Schema.String>;
38
34
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
39
- readonly workspace: Schema.optional<Schema.brand<Schema.String, "Workspace.ID"> & {
40
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
41
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
42
- }>;
43
35
  readonly anchor: Schema.Struct<{
44
36
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
45
37
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -55,10 +47,6 @@ declare const SessionsCursorInput: Schema.Union<readonly [Schema.Struct<{
55
47
  }, Schema.decodeTo<Schema.Null, Schema.Literal<"null">, never, never>]>>;
56
48
  readonly search: Schema.optional<Schema.String>;
57
49
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
58
- readonly workspace: Schema.optional<Schema.brand<Schema.String, "Workspace.ID"> & {
59
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
60
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
61
- }>;
62
50
  readonly anchor: Schema.Struct<{
63
51
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
64
52
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -80,7 +68,6 @@ export declare const SessionsCursor: Schema.brand<Schema.String, "SessionsCursor
80
68
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
81
69
  readonly search?: string | undefined;
82
70
  readonly order?: "asc" | "desc" | undefined;
83
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
84
71
  } | {
85
72
  readonly project: string & import("effect/Brand").Brand<"Project.ID">;
86
73
  readonly anchor: {
@@ -92,7 +79,6 @@ export declare const SessionsCursor: Schema.brand<Schema.String, "SessionsCursor
92
79
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
93
80
  readonly search?: string | undefined;
94
81
  readonly order?: "asc" | "desc" | undefined;
95
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
96
82
  } | {
97
83
  readonly anchor: {
98
84
  readonly id: string & import("effect/Brand").Brand<"SessionID">;
@@ -102,7 +88,6 @@ export declare const SessionsCursor: Schema.brand<Schema.String, "SessionsCursor
102
88
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
103
89
  readonly search?: string | undefined;
104
90
  readonly order?: "asc" | "desc" | undefined;
105
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
106
91
  }, "Invalid cursor", never>;
107
92
  };
108
93
  export type SessionsCursor = typeof SessionsCursor.Type;
@@ -113,10 +98,6 @@ export declare const SessionsQuery: Schema.Struct<{
113
98
  }>;
114
99
  readonly subpath: Schema.optional<Schema.brand<Schema.String, "RelativePath">>;
115
100
  readonly cursor: Schema.optional<Schema.brand<Schema.String, "SessionsCursor">>;
116
- readonly workspace: Schema.optional<Schema.brand<Schema.String, "Workspace.ID"> & {
117
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
118
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
119
- }>;
120
101
  readonly limit: Schema.optional<Schema.compose<Schema.Int, Schema.NumberFromString>>;
121
102
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
122
103
  readonly search: Schema.optional<Schema.String>;
@@ -125,17 +106,13 @@ export declare const SessionsQuery: Schema.Struct<{
125
106
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
126
107
  }, Schema.decodeTo<Schema.Null, Schema.Literal<"null">, never, never>]>>;
127
108
  }>;
128
- export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(sessionLocationMiddleware: Context.Key<I, S>) => HttpApiGroup.HttpApiGroup<"server.session", HttpApiEndpoint.HttpApiEndpoint<"session.list", "GET", "/api/session", never, Schema.toCodecStringTree<Schema.Struct<{
109
+ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S, FormI extends HttpApiMiddleware.AnyId, FormS>(sessionLocationMiddleware: Context.Key<I, S>, formLocationMiddleware: Context.Key<FormI, FormS>) => HttpApiGroup.HttpApiGroup<"server.session", HttpApiEndpoint.HttpApiEndpoint<"session.list", "GET", "/api/session", never, Schema.toCodecStringTree<Schema.Struct<{
129
110
  readonly directory: Schema.optional<Schema.brand<Schema.String, "AbsolutePath">>;
130
111
  readonly project: Schema.optional<Schema.brand<Schema.String, "Project.ID"> & {
131
112
  global: string & import("effect/Brand").Brand<"Project.ID">;
132
113
  }>;
133
114
  readonly subpath: Schema.optional<Schema.brand<Schema.String, "RelativePath">>;
134
115
  readonly cursor: Schema.optional<Schema.brand<Schema.String, "SessionsCursor">>;
135
- readonly workspace: Schema.optional<Schema.brand<Schema.String, "Workspace.ID"> & {
136
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
137
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
138
- }>;
139
116
  readonly limit: Schema.optional<Schema.compose<Schema.Int, Schema.NumberFromString>>;
140
117
  readonly order: Schema.optional<Schema.Union<readonly [Schema.Literal<"asc">, Schema.Literal<"desc">]>>;
141
118
  readonly search: Schema.optional<Schema.String>;
@@ -145,58 +122,28 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
145
122
  }, Schema.decodeTo<Schema.Null, Schema.Literal<"null">, never, never>]>>;
146
123
  }>>, never, never, Schema.toCodecJson<Schema.Struct<{
147
124
  readonly data: Schema.$Array<Schema.Struct<{
125
+ readonly location: Schema.Struct<{
126
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
127
+ }>;
148
128
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
149
129
  create: () => string & import("effect/Brand").Brand<"SessionID">;
150
130
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
151
131
  };
152
- readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
153
- create: () => string & import("effect/Brand").Brand<"SessionID">;
154
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
155
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
156
- create: () => string & import("effect/Brand").Brand<"SessionID">;
157
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
158
- }>, never, never>;
159
- readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
160
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
161
- create: () => string & import("effect/Brand").Brand<"SessionID">;
162
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
163
- };
164
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
165
- readonly type: Schema.Literal<"before">;
166
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
167
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
168
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
169
- };
170
- }>, Schema.Struct<{
171
- readonly type: Schema.Literal<"through">;
172
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
173
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
174
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
175
- };
176
- }>]>;
177
- }>>>, Schema.optionalKey<Schema.Struct<{
178
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
179
- create: () => string & import("effect/Brand").Brand<"SessionID">;
180
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
181
- };
182
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
183
- readonly type: Schema.Literal<"before">;
184
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
185
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
186
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
187
- };
188
- }>, Schema.Struct<{
189
- readonly type: Schema.Literal<"through">;
190
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
191
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
192
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
193
- };
194
- }>]>;
195
- }>>, never, never>;
132
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
196
133
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
197
134
  global: string & import("effect/Brand").Brand<"Project.ID">;
198
135
  };
199
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
136
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
137
+ readonly time: Schema.Struct<{
138
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
139
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
140
+ readonly idle: 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>;
141
+ readonly viewed: 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>;
142
+ readonly archived: 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>;
143
+ }>;
144
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
145
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
146
+ };
200
147
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
201
148
  readonly id: Schema.brand<Schema.String, "Model.ID">;
202
149
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -242,9 +189,17 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
242
189
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
243
190
  };
244
191
  }>, never, never>;
245
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
246
- zero: number & import("effect/Brand").Brand<"Money.USD">;
247
- };
192
+ readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
193
+ readonly action: Schema.String;
194
+ readonly resource: Schema.String;
195
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
196
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
197
+ readonly action: Schema.String;
198
+ readonly resource: Schema.String;
199
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
200
+ }>>>, never, never>;
201
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
202
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
248
203
  readonly tokens: Schema.Struct<{
249
204
  readonly input: Schema.Finite;
250
205
  readonly output: Schema.Finite;
@@ -255,35 +210,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
255
210
  }>;
256
211
  }>;
257
212
  readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
258
- readonly time: Schema.Struct<{
259
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
260
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
261
- readonly idle: 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>;
262
- readonly viewed: 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>;
263
- readonly archived: 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>;
264
- }>;
265
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
266
- readonly location: Schema.Struct<{
267
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
268
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
269
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
270
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
271
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
272
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
273
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
274
- }>, never, never>;
275
- }>;
276
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
277
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
278
- readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
279
- readonly action: Schema.String;
280
- readonly resource: Schema.String;
281
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
282
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
283
- readonly action: Schema.String;
284
- readonly resource: Schema.String;
285
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
286
- }>>>, never, never>;
287
213
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
288
214
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
289
215
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -325,6 +251,50 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
325
251
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
326
252
  }>>>, never, never>;
327
253
  }>>, never, never>;
254
+ readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
255
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
256
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
257
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
258
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
259
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
260
+ }>, never, never>;
261
+ readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
262
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
263
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
264
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
265
+ };
266
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
267
+ readonly type: Schema.Literal<"before">;
268
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
269
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
270
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
271
+ };
272
+ }>, Schema.Struct<{
273
+ readonly type: Schema.Literal<"through">;
274
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
275
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
276
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
277
+ };
278
+ }>]>;
279
+ }>>>, Schema.optionalKey<Schema.Struct<{
280
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
281
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
282
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
283
+ };
284
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
285
+ readonly type: Schema.Literal<"before">;
286
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
287
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
288
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
289
+ };
290
+ }>, Schema.Struct<{
291
+ readonly type: Schema.Literal<"through">;
292
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
293
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
294
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
295
+ };
296
+ }>]>;
297
+ }>>, never, never>;
328
298
  }>>;
329
299
  readonly cursor: Schema.Struct<{
330
300
  readonly previous: Schema.optional<Schema.brand<Schema.String, "SessionsCursor"> & {
@@ -339,7 +309,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
339
309
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
340
310
  readonly search?: string | undefined;
341
311
  readonly order?: "asc" | "desc" | undefined;
342
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
343
312
  } | {
344
313
  readonly project: string & import("effect/Brand").Brand<"Project.ID">;
345
314
  readonly anchor: {
@@ -351,7 +320,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
351
320
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
352
321
  readonly search?: string | undefined;
353
322
  readonly order?: "asc" | "desc" | undefined;
354
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
355
323
  } | {
356
324
  readonly anchor: {
357
325
  readonly id: string & import("effect/Brand").Brand<"SessionID">;
@@ -361,7 +329,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
361
329
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
362
330
  readonly search?: string | undefined;
363
331
  readonly order?: "asc" | "desc" | undefined;
364
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
365
332
  }, "Invalid cursor", never>;
366
333
  }>;
367
334
  readonly next: Schema.optional<Schema.brand<Schema.String, "SessionsCursor"> & {
@@ -376,7 +343,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
376
343
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
377
344
  readonly search?: string | undefined;
378
345
  readonly order?: "asc" | "desc" | undefined;
379
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
380
346
  } | {
381
347
  readonly project: string & import("effect/Brand").Brand<"Project.ID">;
382
348
  readonly anchor: {
@@ -388,7 +354,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
388
354
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
389
355
  readonly search?: string | undefined;
390
356
  readonly order?: "asc" | "desc" | undefined;
391
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
392
357
  } | {
393
358
  readonly anchor: {
394
359
  readonly id: string & import("effect/Brand").Brand<"SessionID">;
@@ -398,11 +363,10 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
398
363
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | null | undefined;
399
364
  readonly search?: string | undefined;
400
365
  readonly order?: "asc" | "desc" | undefined;
401
- readonly workspace?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
402
366
  }, "Invalid cursor", never>;
403
367
  }>;
404
368
  }>;
405
- }>>, Schema.toCodecJson<typeof InvalidRequestError | typeof InvalidCursorError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.stats", "GET", "/api/session/stats", never, Schema.toCodecStringTree<Schema.Struct<{
369
+ }>>, Schema.toCodecJson<typeof InvalidRequestError | typeof InvalidCursorError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.stats", "GET", "/api/experimental/session/stats", never, Schema.toCodecStringTree<Schema.Struct<{
406
370
  readonly from: Schema.optional<Schema.NumberFromString>;
407
371
  readonly to: Schema.optional<Schema.NumberFromString>;
408
372
  readonly project: Schema.optional<Schema.brand<Schema.String, "Project.ID"> & {
@@ -536,13 +500,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
536
500
  }>;
537
501
  readonly location: Schema.optional<Schema.Struct<{
538
502
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
539
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
540
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
541
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
542
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
543
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
544
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
545
- }>, never, never>;
546
503
  }>>;
547
504
  readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
548
505
  readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
@@ -552,58 +509,28 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
552
509
  }>>>;
553
510
  }>>, never, Schema.toCodecJson<Schema.Struct<{
554
511
  readonly data: Schema.Struct<{
512
+ readonly location: Schema.Struct<{
513
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
514
+ }>;
555
515
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
556
516
  create: () => string & import("effect/Brand").Brand<"SessionID">;
557
517
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
558
518
  };
559
- readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
560
- create: () => string & import("effect/Brand").Brand<"SessionID">;
561
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
562
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
563
- create: () => string & import("effect/Brand").Brand<"SessionID">;
564
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
565
- }>, never, never>;
566
- readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
567
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
568
- create: () => string & import("effect/Brand").Brand<"SessionID">;
569
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
570
- };
571
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
572
- readonly type: Schema.Literal<"before">;
573
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
574
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
575
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
576
- };
577
- }>, Schema.Struct<{
578
- readonly type: Schema.Literal<"through">;
579
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
580
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
581
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
582
- };
583
- }>]>;
584
- }>>>, Schema.optionalKey<Schema.Struct<{
585
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
586
- create: () => string & import("effect/Brand").Brand<"SessionID">;
587
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
588
- };
589
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
590
- readonly type: Schema.Literal<"before">;
591
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
592
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
593
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
594
- };
595
- }>, Schema.Struct<{
596
- readonly type: Schema.Literal<"through">;
597
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
598
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
599
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
600
- };
601
- }>]>;
602
- }>>, never, never>;
519
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
603
520
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
604
521
  global: string & import("effect/Brand").Brand<"Project.ID">;
605
522
  };
606
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
523
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
524
+ readonly time: Schema.Struct<{
525
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
526
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
527
+ readonly idle: 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>;
528
+ readonly viewed: 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>;
529
+ readonly archived: 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>;
530
+ }>;
531
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
532
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
533
+ };
607
534
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
608
535
  readonly id: Schema.brand<Schema.String, "Model.ID">;
609
536
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -649,9 +576,17 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
649
576
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
650
577
  };
651
578
  }>, never, never>;
652
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
653
- zero: number & import("effect/Brand").Brand<"Money.USD">;
654
- };
579
+ readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
580
+ readonly action: Schema.String;
581
+ readonly resource: Schema.String;
582
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
583
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
584
+ readonly action: Schema.String;
585
+ readonly resource: Schema.String;
586
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
587
+ }>>>, never, never>;
588
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
589
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
655
590
  readonly tokens: Schema.Struct<{
656
591
  readonly input: Schema.Finite;
657
592
  readonly output: Schema.Finite;
@@ -662,35 +597,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
662
597
  }>;
663
598
  }>;
664
599
  readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
665
- readonly time: Schema.Struct<{
666
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
667
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
668
- readonly idle: 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>;
669
- readonly viewed: 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>;
670
- readonly archived: 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>;
671
- }>;
672
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
673
- readonly location: Schema.Struct<{
674
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
675
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
676
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
677
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
678
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
679
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
680
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
681
- }>, never, never>;
682
- }>;
683
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
684
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
685
- readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
686
- readonly action: Schema.String;
687
- readonly resource: Schema.String;
688
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
689
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
690
- readonly action: Schema.String;
691
- readonly resource: Schema.String;
692
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
693
- }>>>, never, never>;
694
600
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
695
601
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
696
602
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -732,23 +638,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
732
638
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
733
639
  }>>>, never, never>;
734
640
  }>>, never, never>;
735
- }>;
736
- }>>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.import", "POST", "/api/session/import", never, never, Schema.toCodecJson<Schema.Struct<{
737
- readonly location: Schema.optional<Schema.Struct<{
738
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
739
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
740
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
741
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
742
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
743
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
744
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
745
- }>, never, never>;
746
- }>>;
747
- readonly info: Schema.Struct<{
748
- readonly id: Schema.brand<Schema.String, "SessionID"> & {
749
- create: () => string & import("effect/Brand").Brand<"SessionID">;
750
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
751
- };
752
641
  readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
753
642
  create: () => string & import("effect/Brand").Brand<"SessionID">;
754
643
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -793,10 +682,34 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
793
682
  };
794
683
  }>]>;
795
684
  }>>, never, never>;
685
+ }>;
686
+ }>>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.import", "POST", "/api/experimental/session/import", never, never, Schema.toCodecJson<Schema.Struct<{
687
+ readonly location: Schema.optional<Schema.Struct<{
688
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
689
+ }>>;
690
+ readonly info: Schema.Struct<{
691
+ readonly location: Schema.Struct<{
692
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
693
+ }>;
694
+ readonly id: Schema.brand<Schema.String, "SessionID"> & {
695
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
696
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
697
+ };
698
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
796
699
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
797
700
  global: string & import("effect/Brand").Brand<"Project.ID">;
798
701
  };
799
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
702
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
703
+ readonly time: Schema.Struct<{
704
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
705
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
706
+ readonly idle: 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>;
707
+ readonly viewed: 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>;
708
+ readonly archived: 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>;
709
+ }>;
710
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
711
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
712
+ };
800
713
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
801
714
  readonly id: Schema.brand<Schema.String, "Model.ID">;
802
715
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -842,9 +755,17 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
842
755
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
843
756
  };
844
757
  }>, never, never>;
845
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
846
- zero: number & import("effect/Brand").Brand<"Money.USD">;
847
- };
758
+ readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
759
+ readonly action: Schema.String;
760
+ readonly resource: Schema.String;
761
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
762
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
763
+ readonly action: Schema.String;
764
+ readonly resource: Schema.String;
765
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
766
+ }>>>, never, never>;
767
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
768
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
848
769
  readonly tokens: Schema.Struct<{
849
770
  readonly input: Schema.Finite;
850
771
  readonly output: Schema.Finite;
@@ -855,35 +776,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
855
776
  }>;
856
777
  }>;
857
778
  readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
858
- readonly time: Schema.Struct<{
859
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
860
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
861
- readonly idle: 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>;
862
- readonly viewed: 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>;
863
- readonly archived: 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>;
864
- }>;
865
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
866
- readonly location: Schema.Struct<{
867
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
868
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
869
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
870
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
871
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
872
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
873
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
874
- }>, never, never>;
875
- }>;
876
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
877
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
878
- readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
879
- readonly action: Schema.String;
880
- readonly resource: Schema.String;
881
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
882
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
883
- readonly action: Schema.String;
884
- readonly resource: Schema.String;
885
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
886
- }>>>, never, never>;
887
779
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
888
780
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
889
781
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -925,6 +817,50 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
925
817
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
926
818
  }>>>, never, never>;
927
819
  }>>, never, never>;
820
+ readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
821
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
822
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
823
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
824
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
825
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
826
+ }>, never, never>;
827
+ readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
828
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
829
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
830
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
831
+ };
832
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
833
+ readonly type: Schema.Literal<"before">;
834
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
835
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
836
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
837
+ };
838
+ }>, Schema.Struct<{
839
+ readonly type: Schema.Literal<"through">;
840
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
841
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
842
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
843
+ };
844
+ }>]>;
845
+ }>>>, Schema.optionalKey<Schema.Struct<{
846
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
847
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
848
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
849
+ };
850
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
851
+ readonly type: Schema.Literal<"before">;
852
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
853
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
854
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
855
+ };
856
+ }>, Schema.Struct<{
857
+ readonly type: Schema.Literal<"through">;
858
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
859
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
860
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
861
+ };
862
+ }>]>;
863
+ }>>, never, never>;
928
864
  }>;
929
865
  readonly messages: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
930
866
  readonly type: Schema.tag<"agent-switched">;
@@ -1017,50 +953,12 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1017
953
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1018
954
  }>;
1019
955
  }>, Schema.Struct<{
1020
- readonly type: Schema.tag<"location-switched">;
1021
956
  readonly location: Schema.Struct<{
1022
957
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1023
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1024
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1025
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1026
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1027
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1028
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1029
- }>, never, never>;
1030
958
  }>;
1031
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
1032
- global: string & import("effect/Brand").Brand<"Project.ID">;
1033
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
1034
- global: string & import("effect/Brand").Brand<"Project.ID">;
1035
- }>, never, never>;
1036
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1037
- readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1038
- readonly location: Schema.Struct<{
1039
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1040
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1041
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1042
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1043
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1044
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1045
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1046
- }>, never, never>;
1047
- }>;
1048
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
1049
- global: string & import("effect/Brand").Brand<"Project.ID">;
1050
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
1051
- global: string & import("effect/Brand").Brand<"Project.ID">;
1052
- }>, never, never>;
1053
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1054
- }>>>, Schema.optionalKey<Schema.Struct<{
959
+ readonly previous: Schema.optional<Schema.Struct<{
1055
960
  readonly location: Schema.Struct<{
1056
961
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1057
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1058
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1059
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1060
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1061
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1062
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1063
- }>, never, never>;
1064
962
  }>;
1065
963
  readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
1066
964
  global: string & import("effect/Brand").Brand<"Project.ID">;
@@ -1068,15 +966,22 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1068
966
  global: string & import("effect/Brand").Brand<"Project.ID">;
1069
967
  }>, never, never>;
1070
968
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1071
- }>>, never, never>;
969
+ }>>;
1072
970
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1073
971
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1074
972
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1075
973
  };
974
+ readonly type: Schema.tag<"location-switched">;
1076
975
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
976
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
977
+ global: string & import("effect/Brand").Brand<"Project.ID">;
978
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
979
+ global: string & import("effect/Brand").Brand<"Project.ID">;
980
+ }>, never, never>;
1077
981
  readonly time: Schema.Struct<{
1078
982
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1079
983
  }>;
984
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1080
985
  }>, Schema.Struct<{
1081
986
  readonly text: Schema.String;
1082
987
  readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
@@ -1634,61 +1539,42 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1634
1539
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1635
1540
  }>;
1636
1541
  readonly type: Schema.tag<"compaction">;
1637
- }>]>]>>;
1542
+ }>]>, Schema.Struct<{
1543
+ readonly type: Schema.tag<"idle">;
1544
+ readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
1545
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1546
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1547
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1548
+ };
1549
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1550
+ readonly time: Schema.Struct<{
1551
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1552
+ }>;
1553
+ }>]>>;
1638
1554
  }>>, never, Schema.toCodecJson<Schema.Struct<{
1639
1555
  readonly data: Schema.Struct<{
1556
+ readonly location: Schema.Struct<{
1557
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1558
+ }>;
1640
1559
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
1641
1560
  create: () => string & import("effect/Brand").Brand<"SessionID">;
1642
1561
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1643
1562
  };
1644
- readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
1645
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1646
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1647
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
1648
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1649
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1650
- }>, never, never>;
1651
- readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1652
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1653
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1654
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1655
- };
1656
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
1657
- readonly type: Schema.Literal<"before">;
1658
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1659
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1660
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1661
- };
1662
- }>, Schema.Struct<{
1663
- readonly type: Schema.Literal<"through">;
1664
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1665
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1666
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1667
- };
1668
- }>]>;
1669
- }>>>, Schema.optionalKey<Schema.Struct<{
1670
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1671
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1672
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1673
- };
1674
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
1675
- readonly type: Schema.Literal<"before">;
1676
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1677
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1678
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1679
- };
1680
- }>, Schema.Struct<{
1681
- readonly type: Schema.Literal<"through">;
1682
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1683
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1684
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1685
- };
1686
- }>]>;
1687
- }>>, never, never>;
1563
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
1688
1564
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
1689
1565
  global: string & import("effect/Brand").Brand<"Project.ID">;
1690
1566
  };
1691
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
1567
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1568
+ readonly time: Schema.Struct<{
1569
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1570
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1571
+ readonly idle: 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>;
1572
+ readonly viewed: 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>;
1573
+ readonly archived: 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>;
1574
+ }>;
1575
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
1576
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1577
+ };
1692
1578
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1693
1579
  readonly id: Schema.brand<Schema.String, "Model.ID">;
1694
1580
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -1734,9 +1620,17 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1734
1620
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1735
1621
  };
1736
1622
  }>, never, never>;
1737
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
1738
- zero: number & import("effect/Brand").Brand<"Money.USD">;
1739
- };
1623
+ readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
1624
+ readonly action: Schema.String;
1625
+ readonly resource: Schema.String;
1626
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
1627
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
1628
+ readonly action: Schema.String;
1629
+ readonly resource: Schema.String;
1630
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
1631
+ }>>>, never, never>;
1632
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
1633
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1740
1634
  readonly tokens: Schema.Struct<{
1741
1635
  readonly input: Schema.Finite;
1742
1636
  readonly output: Schema.Finite;
@@ -1747,35 +1641,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1747
1641
  }>;
1748
1642
  }>;
1749
1643
  readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
1750
- readonly time: Schema.Struct<{
1751
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1752
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1753
- readonly idle: 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>;
1754
- readonly viewed: 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>;
1755
- readonly archived: 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>;
1756
- }>;
1757
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1758
- readonly location: Schema.Struct<{
1759
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1760
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1761
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1762
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1763
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1764
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1765
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1766
- }>, never, never>;
1767
- }>;
1768
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1769
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
1770
- readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
1771
- readonly action: Schema.String;
1772
- readonly resource: Schema.String;
1773
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
1774
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
1775
- readonly action: Schema.String;
1776
- readonly resource: Schema.String;
1777
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
1778
- }>>>, never, never>;
1779
1644
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1780
1645
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1781
1646
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1817,8 +1682,52 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1817
1682
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
1818
1683
  }>>>, never, never>;
1819
1684
  }>>, never, never>;
1685
+ readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
1686
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1687
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1688
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
1689
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1690
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1691
+ }>, never, never>;
1692
+ readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1693
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1694
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1695
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1696
+ };
1697
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
1698
+ readonly type: Schema.Literal<"before">;
1699
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1700
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1701
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1702
+ };
1703
+ }>, Schema.Struct<{
1704
+ readonly type: Schema.Literal<"through">;
1705
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1706
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1707
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1708
+ };
1709
+ }>]>;
1710
+ }>>>, Schema.optionalKey<Schema.Struct<{
1711
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1712
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1713
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1714
+ };
1715
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
1716
+ readonly type: Schema.Literal<"before">;
1717
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1718
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1719
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1720
+ };
1721
+ }>, Schema.Struct<{
1722
+ readonly type: Schema.Literal<"through">;
1723
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1724
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1725
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1726
+ };
1727
+ }>]>;
1728
+ }>>, never, never>;
1820
1729
  }>;
1821
- }>>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.export", "GET", "/api/session/:sessionID/export", Schema.toCodecStringTree<Schema.Struct<{
1730
+ }>>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.export", "GET", "/api/experimental/session/:sessionID/export", Schema.toCodecStringTree<Schema.Struct<{
1822
1731
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
1823
1732
  create: () => string & import("effect/Brand").Brand<"SessionID">;
1824
1733
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -1828,58 +1737,28 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1828
1737
  }>>, never, never, Schema.toCodecJson<Schema.Struct<{
1829
1738
  readonly data: Schema.Struct<{
1830
1739
  readonly info: Schema.Struct<{
1740
+ readonly location: Schema.Struct<{
1741
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1742
+ }>;
1831
1743
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
1832
1744
  create: () => string & import("effect/Brand").Brand<"SessionID">;
1833
1745
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1834
1746
  };
1835
- readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
1836
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1837
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1838
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
1839
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1840
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1841
- }>, never, never>;
1842
- readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1843
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1844
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1845
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1846
- };
1847
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
1848
- readonly type: Schema.Literal<"before">;
1849
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1850
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1851
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1852
- };
1853
- }>, Schema.Struct<{
1854
- readonly type: Schema.Literal<"through">;
1855
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1856
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1857
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1858
- };
1859
- }>]>;
1860
- }>>>, Schema.optionalKey<Schema.Struct<{
1861
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1862
- create: () => string & import("effect/Brand").Brand<"SessionID">;
1863
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1864
- };
1865
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
1866
- readonly type: Schema.Literal<"before">;
1867
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1868
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1869
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1870
- };
1871
- }>, Schema.Struct<{
1872
- readonly type: Schema.Literal<"through">;
1873
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1874
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1875
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1876
- };
1877
- }>]>;
1878
- }>>, never, never>;
1747
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
1879
1748
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
1880
1749
  global: string & import("effect/Brand").Brand<"Project.ID">;
1881
1750
  };
1882
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
1751
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1752
+ readonly time: Schema.Struct<{
1753
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1754
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1755
+ readonly idle: 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>;
1756
+ readonly viewed: 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>;
1757
+ readonly archived: 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>;
1758
+ }>;
1759
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
1760
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1761
+ };
1883
1762
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1884
1763
  readonly id: Schema.brand<Schema.String, "Model.ID">;
1885
1764
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -1919,45 +1798,12 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1919
1798
  };
1920
1799
  readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1921
1800
  }> & {
1922
- parse: (input: string) => {
1923
- readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1924
- readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1925
- readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1926
- };
1927
- }>, never, never>;
1928
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
1929
- zero: number & import("effect/Brand").Brand<"Money.USD">;
1930
- };
1931
- readonly tokens: Schema.Struct<{
1932
- readonly input: Schema.Finite;
1933
- readonly output: Schema.Finite;
1934
- readonly reasoning: Schema.Finite;
1935
- readonly cache: Schema.Struct<{
1936
- readonly read: Schema.Finite;
1937
- readonly write: Schema.Finite;
1938
- }>;
1939
- }>;
1940
- readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
1941
- readonly time: Schema.Struct<{
1942
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1943
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1944
- readonly idle: 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>;
1945
- readonly viewed: 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>;
1946
- readonly archived: 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>;
1947
- }>;
1948
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1949
- readonly location: Schema.Struct<{
1950
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1951
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1952
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1953
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1954
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1955
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1956
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1957
- }>, never, never>;
1958
- }>;
1959
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1960
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
1801
+ parse: (input: string) => {
1802
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1803
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1804
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1805
+ };
1806
+ }>, never, never>;
1961
1807
  readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
1962
1808
  readonly action: Schema.String;
1963
1809
  readonly resource: Schema.String;
@@ -1967,6 +1813,18 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
1967
1813
  readonly resource: Schema.String;
1968
1814
  readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
1969
1815
  }>>>, never, never>;
1816
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
1817
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1818
+ readonly tokens: Schema.Struct<{
1819
+ readonly input: Schema.Finite;
1820
+ readonly output: Schema.Finite;
1821
+ readonly reasoning: Schema.Finite;
1822
+ readonly cache: Schema.Struct<{
1823
+ readonly read: Schema.Finite;
1824
+ readonly write: Schema.Finite;
1825
+ }>;
1826
+ }>;
1827
+ readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
1970
1828
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1971
1829
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1972
1830
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -2008,6 +1866,50 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2008
1866
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
2009
1867
  }>>>, never, never>;
2010
1868
  }>>, never, never>;
1869
+ readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
1870
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1871
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1872
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
1873
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1874
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1875
+ }>, never, never>;
1876
+ readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1877
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1878
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1879
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1880
+ };
1881
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
1882
+ readonly type: Schema.Literal<"before">;
1883
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1884
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1885
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1886
+ };
1887
+ }>, Schema.Struct<{
1888
+ readonly type: Schema.Literal<"through">;
1889
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1890
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1891
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1892
+ };
1893
+ }>]>;
1894
+ }>>>, Schema.optionalKey<Schema.Struct<{
1895
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
1896
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
1897
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
1898
+ };
1899
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
1900
+ readonly type: Schema.Literal<"before">;
1901
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1902
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1903
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1904
+ };
1905
+ }>, Schema.Struct<{
1906
+ readonly type: Schema.Literal<"through">;
1907
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
1908
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1909
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1910
+ };
1911
+ }>]>;
1912
+ }>>, never, never>;
2011
1913
  }>;
2012
1914
  readonly messages: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
2013
1915
  readonly type: Schema.tag<"agent-switched">;
@@ -2100,50 +2002,12 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2100
2002
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2101
2003
  }>;
2102
2004
  }>, Schema.Struct<{
2103
- readonly type: Schema.tag<"location-switched">;
2104
2005
  readonly location: Schema.Struct<{
2105
2006
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
2106
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
2107
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2108
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2109
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
2110
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2111
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2112
- }>, never, never>;
2113
2007
  }>;
2114
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
2115
- global: string & import("effect/Brand").Brand<"Project.ID">;
2116
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
2117
- global: string & import("effect/Brand").Brand<"Project.ID">;
2118
- }>, never, never>;
2119
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
2120
- readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2121
- readonly location: Schema.Struct<{
2122
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
2123
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
2124
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2125
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2126
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
2127
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2128
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2129
- }>, never, never>;
2130
- }>;
2131
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
2132
- global: string & import("effect/Brand").Brand<"Project.ID">;
2133
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
2134
- global: string & import("effect/Brand").Brand<"Project.ID">;
2135
- }>, never, never>;
2136
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
2137
- }>>>, Schema.optionalKey<Schema.Struct<{
2008
+ readonly previous: Schema.optional<Schema.Struct<{
2138
2009
  readonly location: Schema.Struct<{
2139
2010
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
2140
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
2141
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2142
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2143
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
2144
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2145
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2146
- }>, never, never>;
2147
2011
  }>;
2148
2012
  readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
2149
2013
  global: string & import("effect/Brand").Brand<"Project.ID">;
@@ -2151,15 +2015,22 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2151
2015
  global: string & import("effect/Brand").Brand<"Project.ID">;
2152
2016
  }>, never, never>;
2153
2017
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
2154
- }>>, never, never>;
2018
+ }>>;
2155
2019
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
2156
2020
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2157
2021
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2158
2022
  };
2023
+ readonly type: Schema.tag<"location-switched">;
2159
2024
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
2025
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
2026
+ global: string & import("effect/Brand").Brand<"Project.ID">;
2027
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
2028
+ global: string & import("effect/Brand").Brand<"Project.ID">;
2029
+ }>, never, never>;
2160
2030
  readonly time: Schema.Struct<{
2161
2031
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2162
2032
  }>;
2033
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
2163
2034
  }>, Schema.Struct<{
2164
2035
  readonly text: Schema.String;
2165
2036
  readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
@@ -2717,7 +2588,18 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2717
2588
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2718
2589
  }>;
2719
2590
  readonly type: Schema.tag<"compaction">;
2720
- }>]>]>>;
2591
+ }>]>, Schema.Struct<{
2592
+ readonly type: Schema.tag<"idle">;
2593
+ readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
2594
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
2595
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2596
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2597
+ };
2598
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
2599
+ readonly time: Schema.Struct<{
2600
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2601
+ }>;
2602
+ }>]>>;
2721
2603
  }>;
2722
2604
  }>>, Schema.toCodecJson<typeof UnknownError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.active", "GET", "/api/session/active", never, never, never, never, Schema.toCodecJson<Schema.Struct<{
2723
2605
  readonly data: Schema.$Record<Schema.brand<Schema.String, "SessionID"> & {
@@ -2733,58 +2615,28 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2733
2615
  };
2734
2616
  }>>, never, never, never, Schema.toCodecJson<Schema.Struct<{
2735
2617
  readonly data: Schema.Struct<{
2618
+ readonly location: Schema.Struct<{
2619
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
2620
+ }>;
2736
2621
  readonly id: Schema.brand<Schema.String, "SessionID"> & {
2737
2622
  create: () => string & import("effect/Brand").Brand<"SessionID">;
2738
2623
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2739
2624
  };
2740
- readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
2741
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2742
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2743
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
2744
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2745
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2746
- }>, never, never>;
2747
- readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2748
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
2749
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2750
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2751
- };
2752
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
2753
- readonly type: Schema.Literal<"before">;
2754
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2755
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2756
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2757
- };
2758
- }>, Schema.Struct<{
2759
- readonly type: Schema.Literal<"through">;
2760
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2761
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2762
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2763
- };
2764
- }>]>;
2765
- }>>>, Schema.optionalKey<Schema.Struct<{
2766
- readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
2767
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2768
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2769
- };
2770
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
2771
- readonly type: Schema.Literal<"before">;
2772
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2773
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2774
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2775
- };
2776
- }>, Schema.Struct<{
2777
- readonly type: Schema.Literal<"through">;
2778
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2779
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2780
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2781
- };
2782
- }>]>;
2783
- }>>, never, never>;
2625
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
2784
2626
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
2785
2627
  global: string & import("effect/Brand").Brand<"Project.ID">;
2786
2628
  };
2787
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
2629
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
2630
+ readonly time: Schema.Struct<{
2631
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2632
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2633
+ readonly idle: 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>;
2634
+ readonly viewed: 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>;
2635
+ readonly archived: 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>;
2636
+ }>;
2637
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
2638
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
2639
+ };
2788
2640
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2789
2641
  readonly id: Schema.brand<Schema.String, "Model.ID">;
2790
2642
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -2830,9 +2682,17 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2830
2682
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
2831
2683
  };
2832
2684
  }>, never, never>;
2833
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
2834
- zero: number & import("effect/Brand").Brand<"Money.USD">;
2835
- };
2685
+ readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
2686
+ readonly action: Schema.String;
2687
+ readonly resource: Schema.String;
2688
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
2689
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
2690
+ readonly action: Schema.String;
2691
+ readonly resource: Schema.String;
2692
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
2693
+ }>>>, never, never>;
2694
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
2695
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
2836
2696
  readonly tokens: Schema.Struct<{
2837
2697
  readonly input: Schema.Finite;
2838
2698
  readonly output: Schema.Finite;
@@ -2843,35 +2703,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2843
2703
  }>;
2844
2704
  }>;
2845
2705
  readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
2846
- readonly time: Schema.Struct<{
2847
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2848
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2849
- readonly idle: 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>;
2850
- readonly viewed: 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>;
2851
- readonly archived: 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>;
2852
- }>;
2853
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
2854
- readonly location: Schema.Struct<{
2855
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
2856
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
2857
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2858
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2859
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
2860
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
2861
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
2862
- }>, never, never>;
2863
- }>;
2864
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
2865
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
2866
- readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
2867
- readonly action: Schema.String;
2868
- readonly resource: Schema.String;
2869
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
2870
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
2871
- readonly action: Schema.String;
2872
- readonly resource: Schema.String;
2873
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
2874
- }>>>, never, never>;
2875
2706
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2876
2707
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2877
2708
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -2897,49 +2728,22 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2897
2728
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2898
2729
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2899
2730
  };
2900
- readonly partID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
2901
- readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
2902
- readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
2903
- readonly file: Schema.String;
2904
- readonly patch: Schema.String;
2905
- readonly additions: Schema.Int;
2906
- readonly deletions: Schema.Int;
2907
- readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
2908
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
2909
- readonly file: Schema.String;
2910
- readonly patch: Schema.String;
2911
- readonly additions: Schema.Int;
2912
- readonly deletions: Schema.Int;
2913
- readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
2914
- }>>>, never, never>;
2915
- }>>, never, never>;
2916
- }>;
2917
- }>>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.remove", "DELETE", "/api/session/:sessionID", Schema.toCodecStringTree<Schema.Struct<{
2918
- sessionID: Schema.brand<Schema.String, "SessionID"> & {
2919
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2920
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2921
- };
2922
- }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.fork", "POST", "/api/session/:sessionID/fork", Schema.toCodecStringTree<Schema.Struct<{
2923
- sessionID: Schema.brand<Schema.String, "SessionID"> & {
2924
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2925
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2926
- };
2927
- }>>, never, Schema.toCodecJson<Schema.Struct<{
2928
- readonly boundary: Schema.Union<readonly [Schema.Struct<{
2929
- readonly type: Schema.Literal<"before">;
2930
- readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2931
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2932
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2933
- };
2934
- }>, Schema.Struct<{
2935
- readonly type: Schema.Literal<"through">;
2936
- }>]>;
2937
- }>>, never, Schema.toCodecJson<Schema.Struct<{
2938
- readonly data: Schema.Struct<{
2939
- readonly id: Schema.brand<Schema.String, "SessionID"> & {
2940
- create: () => string & import("effect/Brand").Brand<"SessionID">;
2941
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2942
- };
2731
+ readonly partID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
2732
+ readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
2733
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
2734
+ readonly file: Schema.String;
2735
+ readonly patch: Schema.String;
2736
+ readonly additions: Schema.Int;
2737
+ readonly deletions: Schema.Int;
2738
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
2739
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
2740
+ readonly file: Schema.String;
2741
+ readonly patch: Schema.String;
2742
+ readonly additions: Schema.Int;
2743
+ readonly deletions: Schema.Int;
2744
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
2745
+ }>>>, never, never>;
2746
+ }>>, never, never>;
2943
2747
  readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
2944
2748
  create: () => string & import("effect/Brand").Brand<"SessionID">;
2945
2749
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -2984,10 +2788,46 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
2984
2788
  };
2985
2789
  }>]>;
2986
2790
  }>>, never, never>;
2791
+ }>;
2792
+ }>>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.remove", "DELETE", "/api/session/:sessionID", Schema.toCodecStringTree<Schema.Struct<{
2793
+ sessionID: Schema.brand<Schema.String, "SessionID"> & {
2794
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2795
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2796
+ };
2797
+ }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.fork", "POST", "/api/session/:sessionID/fork", Schema.toCodecStringTree<Schema.Struct<{
2798
+ sessionID: Schema.brand<Schema.String, "SessionID"> & {
2799
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2800
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2801
+ };
2802
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
2803
+ readonly before: Schema.optional<Schema.brand<Schema.String, "Session.Message.ID"> & {
2804
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2805
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2806
+ }>;
2807
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
2808
+ readonly data: Schema.Struct<{
2809
+ readonly location: Schema.Struct<{
2810
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
2811
+ }>;
2812
+ readonly id: Schema.brand<Schema.String, "SessionID"> & {
2813
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2814
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2815
+ };
2816
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
2987
2817
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
2988
2818
  global: string & import("effect/Brand").Brand<"Project.ID">;
2989
2819
  };
2990
- readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
2820
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
2821
+ readonly time: Schema.Struct<{
2822
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2823
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2824
+ readonly idle: 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>;
2825
+ readonly viewed: 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>;
2826
+ readonly archived: 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>;
2827
+ }>;
2828
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
2829
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
2830
+ };
2991
2831
  readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2992
2832
  readonly id: Schema.brand<Schema.String, "Model.ID">;
2993
2833
  readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
@@ -3033,9 +2873,17 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3033
2873
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
3034
2874
  };
3035
2875
  }>, never, never>;
3036
- readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
3037
- zero: number & import("effect/Brand").Brand<"Money.USD">;
3038
- };
2876
+ readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
2877
+ readonly action: Schema.String;
2878
+ readonly resource: Schema.String;
2879
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
2880
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
2881
+ readonly action: Schema.String;
2882
+ readonly resource: Schema.String;
2883
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
2884
+ }>>>, never, never>;
2885
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
2886
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
3039
2887
  readonly tokens: Schema.Struct<{
3040
2888
  readonly input: Schema.Finite;
3041
2889
  readonly output: Schema.Finite;
@@ -3046,35 +2894,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3046
2894
  }>;
3047
2895
  }>;
3048
2896
  readonly outcome: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>>, Schema.optionalKey<Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>>, never, never>;
3049
- readonly time: Schema.Struct<{
3050
- readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3051
- readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3052
- readonly idle: 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>;
3053
- readonly viewed: 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>;
3054
- readonly archived: 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>;
3055
- }>;
3056
- readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
3057
- readonly location: Schema.Struct<{
3058
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
3059
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
3060
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3061
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3062
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
3063
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3064
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3065
- }>, never, never>;
3066
- }>;
3067
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
3068
- readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
3069
- readonly permissions: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
3070
- readonly action: Schema.String;
3071
- readonly resource: Schema.String;
3072
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
3073
- }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
3074
- readonly action: Schema.String;
3075
- readonly resource: Schema.String;
3076
- readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
3077
- }>>>, never, never>;
3078
2897
  readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
3079
2898
  readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
3080
2899
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -3116,6 +2935,50 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3116
2935
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
3117
2936
  }>>>, never, never>;
3118
2937
  }>>, never, never>;
2938
+ readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
2939
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2940
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2941
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
2942
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2943
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2944
+ }>, never, never>;
2945
+ readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2946
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
2947
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2948
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2949
+ };
2950
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
2951
+ readonly type: Schema.Literal<"before">;
2952
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2953
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2954
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2955
+ };
2956
+ }>, Schema.Struct<{
2957
+ readonly type: Schema.Literal<"through">;
2958
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2959
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2960
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2961
+ };
2962
+ }>]>;
2963
+ }>>>, Schema.optionalKey<Schema.Struct<{
2964
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
2965
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
2966
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
2967
+ };
2968
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
2969
+ readonly type: Schema.Literal<"before">;
2970
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2971
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2972
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2973
+ };
2974
+ }>, Schema.Struct<{
2975
+ readonly type: Schema.Literal<"through">;
2976
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
2977
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2978
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2979
+ };
2980
+ }>]>;
2981
+ }>>, never, never>;
3119
2982
  }>;
3120
2983
  }>>, Schema.toCodecJson<typeof InvalidRequestError | typeof SessionNotFoundError | typeof MessageNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.switchAgent", "POST", "/api/session/:sessionID/agent", Schema.toCodecStringTree<Schema.Struct<{
3121
2984
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
@@ -3153,13 +3016,18 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3153
3016
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
3154
3017
  };
3155
3018
  };
3156
- }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.rename", "POST", "/api/session/:sessionID/rename", Schema.toCodecStringTree<Schema.Struct<{
3019
+ }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.update", "PATCH", "/api/session/:sessionID", Schema.toCodecStringTree<Schema.Struct<{
3157
3020
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
3158
3021
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3159
3022
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
3160
3023
  };
3161
3024
  }>>, never, Schema.toCodecJson<Schema.Struct<{
3162
- readonly title: Schema.String;
3025
+ readonly title: Schema.optional<Schema.String>;
3026
+ readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
3027
+ readonly action: Schema.String;
3028
+ readonly resource: Schema.String;
3029
+ readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
3030
+ }>>>;
3163
3031
  }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.move", "POST", "/api/session/:sessionID/move", Schema.toCodecStringTree<Schema.Struct<{
3164
3032
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
3165
3033
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -3168,13 +3036,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3168
3036
  }>>, never, Schema.toCodecJson<Schema.Struct<{
3169
3037
  readonly delivery: Schema.optional<Schema.Literals<readonly ["steer", "queue"]>>;
3170
3038
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
3171
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
3172
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3173
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3174
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
3175
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3176
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3177
- }>, never, never>;
3178
3039
  }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof InvalidRequestError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.prompt", "POST", "/api/session/:sessionID/prompt", Schema.toCodecStringTree<Schema.Struct<{
3179
3040
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
3180
3041
  create: () => string & import("effect/Brand").Brand<"SessionID">;
@@ -3427,7 +3288,9 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3427
3288
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3428
3289
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
3429
3290
  };
3430
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3291
+ readonly time: Schema.Struct<{
3292
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3293
+ }>;
3431
3294
  }>;
3432
3295
  }>>, Schema.toCodecJson<typeof InvalidRequestError | typeof ConflictError | typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.command", "POST", "/api/session/:sessionID/command", Schema.toCodecStringTree<Schema.Struct<{
3433
3296
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
@@ -3532,18 +3395,14 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3532
3395
  readonly text: Schema.String;
3533
3396
  }>>, never, never>;
3534
3397
  }>>>, never, never>;
3535
- readonly command: Schema.String;
3536
- }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof CommandNotFoundError | typeof CommandExecutionError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.skill", "POST", "/api/session/:sessionID/skill", Schema.toCodecStringTree<Schema.Struct<{
3398
+ readonly name: Schema.String;
3399
+ }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof CommandNotFoundError | typeof CommandExecutionError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.skill", "POST", "/api/experimental/session/:sessionID/skill", Schema.toCodecStringTree<Schema.Struct<{
3537
3400
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
3538
3401
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3539
3402
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
3540
3403
  };
3541
3404
  }>>, never, Schema.toCodecJson<Schema.Struct<{
3542
- readonly id: Schema.optional<Schema.brand<Schema.String, "Session.Message.ID"> & {
3543
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
3544
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
3545
- }>;
3546
- readonly skill: Schema.brand<Schema.String, "Skill.ID">;
3405
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
3547
3406
  readonly resume: Schema.optional<Schema.Boolean>;
3548
3407
  }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof SkillNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.synthetic", "POST", "/api/session/:sessionID/synthetic", Schema.toCodecStringTree<Schema.Struct<{
3549
3408
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
@@ -3577,7 +3436,9 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3577
3436
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3578
3437
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
3579
3438
  };
3580
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3439
+ readonly time: Schema.Struct<{
3440
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3441
+ }>;
3581
3442
  }>;
3582
3443
  }>>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.shell", "POST", "/api/session/:sessionID/shell", Schema.toCodecStringTree<Schema.Struct<{
3583
3444
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
@@ -3585,8 +3446,9 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3585
3446
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
3586
3447
  };
3587
3448
  }>>, never, Schema.toCodecJson<Schema.Struct<{
3588
- readonly id: Schema.optional<Schema.brand<Schema.String, "Event.ID"> & {
3589
- create: () => string & import("effect/Brand").Brand<"Event.ID">;
3449
+ readonly id: Schema.optional<Schema.brand<Schema.String, "Session.Message.ID"> & {
3450
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
3451
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
3590
3452
  }>;
3591
3453
  readonly command: Schema.String;
3592
3454
  }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.compact", "POST", "/api/session/:sessionID/compact", Schema.toCodecStringTree<Schema.Struct<{
@@ -3613,9 +3475,11 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3613
3475
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3614
3476
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
3615
3477
  };
3616
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3478
+ readonly time: Schema.Struct<{
3479
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3480
+ }>;
3617
3481
  }>;
3618
- }>>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.wait", "POST", "/api/session/:sessionID/wait", Schema.toCodecStringTree<Schema.Struct<{
3482
+ }>>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.wait", "POST", "/api/experimental/session/:sessionID/wait", Schema.toCodecStringTree<Schema.Struct<{
3619
3483
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
3620
3484
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3621
3485
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -3653,7 +3517,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3653
3517
  readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
3654
3518
  }>>>, never, never>;
3655
3519
  }>;
3656
- }>>, Schema.toCodecJson<typeof SessionBusyError | typeof UnknownError | typeof SessionNotFoundError | typeof MessageNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.revert.clear", "POST", "/api/session/:sessionID/revert/clear", Schema.toCodecStringTree<Schema.Struct<{
3520
+ }>>, Schema.toCodecJson<typeof SessionBusyError | typeof UnknownError | typeof SessionNotFoundError | typeof MessageNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.revert.clear", "DELETE", "/api/session/:sessionID/revert", Schema.toCodecStringTree<Schema.Struct<{
3657
3521
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
3658
3522
  create: () => string & import("effect/Brand").Brand<"SessionID">;
3659
3523
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -3760,50 +3624,12 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3760
3624
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3761
3625
  }>;
3762
3626
  }>, Schema.Struct<{
3763
- readonly type: Schema.tag<"location-switched">;
3764
3627
  readonly location: Schema.Struct<{
3765
3628
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
3766
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
3767
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3768
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3769
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
3770
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3771
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3772
- }>, never, never>;
3773
3629
  }>;
3774
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
3775
- global: string & import("effect/Brand").Brand<"Project.ID">;
3776
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
3777
- global: string & import("effect/Brand").Brand<"Project.ID">;
3778
- }>, never, never>;
3779
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
3780
- readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
3781
- readonly location: Schema.Struct<{
3782
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
3783
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
3784
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3785
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3786
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
3787
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3788
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3789
- }>, never, never>;
3790
- }>;
3791
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
3792
- global: string & import("effect/Brand").Brand<"Project.ID">;
3793
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
3794
- global: string & import("effect/Brand").Brand<"Project.ID">;
3795
- }>, never, never>;
3796
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
3797
- }>>>, Schema.optionalKey<Schema.Struct<{
3630
+ readonly previous: Schema.optional<Schema.Struct<{
3798
3631
  readonly location: Schema.Struct<{
3799
3632
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
3800
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
3801
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3802
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3803
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
3804
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
3805
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
3806
- }>, never, never>;
3807
3633
  }>;
3808
3634
  readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
3809
3635
  global: string & import("effect/Brand").Brand<"Project.ID">;
@@ -3811,15 +3637,22 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
3811
3637
  global: string & import("effect/Brand").Brand<"Project.ID">;
3812
3638
  }>, never, never>;
3813
3639
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
3814
- }>>, never, never>;
3640
+ }>>;
3815
3641
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
3816
3642
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
3817
3643
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
3818
3644
  };
3645
+ readonly type: Schema.tag<"location-switched">;
3819
3646
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
3647
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
3648
+ global: string & import("effect/Brand").Brand<"Project.ID">;
3649
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
3650
+ global: string & import("effect/Brand").Brand<"Project.ID">;
3651
+ }>, never, never>;
3820
3652
  readonly time: Schema.Struct<{
3821
3653
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
3822
3654
  }>;
3655
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
3823
3656
  }>, Schema.Struct<{
3824
3657
  readonly text: Schema.String;
3825
3658
  readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
@@ -4377,8 +4210,42 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4377
4210
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4378
4211
  }>;
4379
4212
  readonly type: Schema.tag<"compaction">;
4380
- }>]>]>>;
4381
- }>>, Schema.toCodecJson<typeof UnknownError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.inbox.list", "GET", "/api/session/:sessionID/inbox", Schema.toCodecStringTree<Schema.Struct<{
4213
+ }>]>, Schema.Struct<{
4214
+ readonly type: Schema.tag<"idle">;
4215
+ readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
4216
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
4217
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4218
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4219
+ };
4220
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
4221
+ readonly time: Schema.Struct<{
4222
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4223
+ }>;
4224
+ }>]>>;
4225
+ }>>, Schema.toCodecJson<typeof UnknownError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.diff", "GET", "/api/session/:sessionID/diff", Schema.toCodecStringTree<Schema.Struct<{
4226
+ sessionID: Schema.brand<Schema.String, "SessionID"> & {
4227
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
4228
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
4229
+ };
4230
+ }>>, Schema.toCodecStringTree<Schema.Struct<{
4231
+ readonly from: Schema.optional<Schema.brand<Schema.String, "Session.Message.ID"> & {
4232
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4233
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4234
+ }>;
4235
+ readonly to: Schema.optional<Schema.brand<Schema.String, "Session.Message.ID"> & {
4236
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4237
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4238
+ }>;
4239
+ readonly context: Schema.optional<Schema.compose<Schema.Int, Schema.NumberFromString>>;
4240
+ }>>, never, never, Schema.toCodecJson<Schema.Struct<{
4241
+ readonly data: Schema.$Array<Schema.Struct<{
4242
+ readonly file: Schema.String;
4243
+ readonly patch: Schema.String;
4244
+ readonly additions: Schema.Int;
4245
+ readonly deletions: Schema.Int;
4246
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
4247
+ }>>;
4248
+ }>>, Schema.toCodecJson<typeof InvalidRequestError | typeof UnknownError | typeof SessionNotFoundError | typeof MessageNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.inbox.list", "GET", "/api/session/:sessionID/inbox", Schema.toCodecStringTree<Schema.Struct<{
4382
4249
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
4383
4250
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4384
4251
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -4526,7 +4393,9 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4526
4393
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4527
4394
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
4528
4395
  };
4529
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4396
+ readonly time: Schema.Struct<{
4397
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4398
+ }>;
4530
4399
  }>, Schema.Struct<{
4531
4400
  readonly type: Schema.tag<"synthetic">;
4532
4401
  readonly payload: Schema.Struct<{
@@ -4543,7 +4412,9 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4543
4412
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4544
4413
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
4545
4414
  };
4546
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4415
+ readonly time: Schema.Struct<{
4416
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4417
+ }>;
4547
4418
  }>, Schema.Struct<{
4548
4419
  readonly type: Schema.tag<"compaction">;
4549
4420
  readonly payload: Schema.Struct<{}>;
@@ -4556,35 +4427,32 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4556
4427
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4557
4428
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
4558
4429
  };
4559
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4430
+ readonly time: Schema.Struct<{
4431
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4432
+ }>;
4560
4433
  }>, Schema.Struct<{
4561
- readonly type: Schema.tag<"move">;
4562
4434
  readonly payload: Schema.Struct<{
4563
4435
  readonly location: Schema.Struct<{
4564
4436
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
4565
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
4566
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
4567
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
4568
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
4569
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
4570
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
4571
- }>, never, never>;
4572
4437
  }>;
4573
4438
  readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
4574
4439
  global: string & import("effect/Brand").Brand<"Project.ID">;
4575
4440
  };
4576
4441
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
4577
4442
  }>;
4578
- readonly delivery: Schema.Literals<readonly ["steer", "queue"]>;
4579
4443
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
4580
4444
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4581
4445
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4582
4446
  };
4447
+ readonly type: Schema.tag<"move">;
4583
4448
  readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
4584
4449
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4585
4450
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
4586
4451
  };
4587
- readonly timeCreated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4452
+ readonly time: Schema.Struct<{
4453
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
4454
+ }>;
4455
+ readonly delivery: Schema.Literals<readonly ["steer", "queue"]>;
4588
4456
  }>]>>;
4589
4457
  }>>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.inbox.cancel", "DELETE", "/api/session/:sessionID/inbox/:inboxID", Schema.toCodecStringTree<Schema.Struct<{
4590
4458
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
@@ -4595,16 +4463,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4595
4463
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4596
4464
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4597
4465
  };
4598
- }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.inbox.steer", "POST", "/api/session/:sessionID/inbox/:inboxID/steer", Schema.toCodecStringTree<Schema.Struct<{
4599
- sessionID: Schema.brand<Schema.String, "SessionID"> & {
4600
- create: () => string & import("effect/Brand").Brand<"SessionID">;
4601
- descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
4602
- };
4603
- inboxID: Schema.brand<Schema.String, "Session.Message.ID"> & {
4604
- create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4605
- fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4606
- };
4607
- }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.inbox.queue", "POST", "/api/session/:sessionID/inbox/:inboxID/queue", Schema.toCodecStringTree<Schema.Struct<{
4466
+ }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.inbox.update", "PATCH", "/api/session/:sessionID/inbox/:inboxID", Schema.toCodecStringTree<Schema.Struct<{
4608
4467
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
4609
4468
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4610
4469
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -4613,7 +4472,9 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4613
4472
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
4614
4473
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
4615
4474
  };
4616
- }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.instructions.entry.list", "GET", "/api/session/:sessionID/instructions/entries", Schema.toCodecStringTree<Schema.Struct<{
4475
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
4476
+ readonly delivery: Schema.Literals<readonly ["steer", "queue"]>;
4477
+ }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof ConflictError | typeof SessionNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.instructions.entry.list", "GET", "/api/experimental/session/:sessionID/instructions/entries", Schema.toCodecStringTree<Schema.Struct<{
4617
4478
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
4618
4479
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4619
4480
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -4623,7 +4484,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4623
4484
  readonly key: Schema.String;
4624
4485
  readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
4625
4486
  }>>;
4626
- }>>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.instructions.entry.put", "PUT", "/api/session/:sessionID/instructions/entries/:key", Schema.toCodecStringTree<Schema.Struct<{
4487
+ }>>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.instructions.entry.put", "PUT", "/api/experimental/session/:sessionID/instructions/entries/:key", Schema.toCodecStringTree<Schema.Struct<{
4627
4488
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
4628
4489
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4629
4490
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -4631,7 +4492,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
4631
4492
  key: Schema.String;
4632
4493
  }>>, never, Schema.toCodecJson<Schema.Struct<{
4633
4494
  readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
4634
- }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof InstructionEntry.ValueTooLargeError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.instructions.entry.remove", "DELETE", "/api/session/:sessionID/instructions/entries/:key", Schema.toCodecStringTree<Schema.Struct<{
4495
+ }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof InstructionEntry.ValueTooLargeError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.instructions.entry.remove", "DELETE", "/api/experimental/session/:sessionID/instructions/entries/:key", Schema.toCodecStringTree<Schema.Struct<{
4635
4496
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
4636
4497
  create: () => string & import("effect/Brand").Brand<"SessionID">;
4637
4498
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -5242,7 +5103,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
5242
5103
  };
5243
5104
  readonly created: Schema.Finite;
5244
5105
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
5245
- readonly type: Schema.Literal<"session.permissions.updated">;
5106
+ readonly type: Schema.Literal<"session.permissions">;
5246
5107
  readonly durable: Schema.Struct<{
5247
5108
  readonly aggregateID: Schema.String;
5248
5109
  readonly seq: Schema.brand<Schema.Int, "Event.Seq">;
@@ -5279,7 +5140,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
5279
5140
  };
5280
5141
  }>;
5281
5142
  }> & {
5282
- type: "session.permissions.updated";
5143
+ type: "session.permissions";
5283
5144
  durability: "durable";
5284
5145
  durable: {
5285
5146
  readonly version: number;
@@ -8831,7 +8692,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
8831
8692
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
8832
8693
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
8833
8694
  };
8834
- readonly type: "session.permissions.updated";
8695
+ readonly type: "session.permissions";
8835
8696
  readonly created: number;
8836
8697
  readonly location?: {
8837
8698
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -8867,12 +8728,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
8867
8728
  readonly content: readonly ({
8868
8729
  readonly id: string;
8869
8730
  readonly type: "tool";
8870
- readonly name: string;
8871
- readonly time: {
8872
- readonly created: number;
8873
- readonly completed?: number | undefined;
8874
- readonly ran?: number | undefined;
8875
- };
8731
+ readonly name: string;
8876
8732
  readonly state: {
8877
8733
  readonly status: "streaming";
8878
8734
  readonly input: string;
@@ -8940,6 +8796,11 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
8940
8796
  readonly name?: string | undefined;
8941
8797
  })[]] | undefined;
8942
8798
  };
8799
+ readonly time: {
8800
+ readonly created: number;
8801
+ readonly completed?: number | undefined;
8802
+ readonly ran?: number | undefined;
8803
+ };
8943
8804
  readonly executed?: boolean | undefined;
8944
8805
  readonly providerState?: {
8945
8806
  readonly [x: string]: unknown;
@@ -8956,13 +8817,13 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
8956
8817
  } | {
8957
8818
  readonly type: "reasoning";
8958
8819
  readonly text: string;
8820
+ readonly state?: {
8821
+ readonly [x: string]: unknown;
8822
+ } | undefined;
8959
8823
  readonly time?: {
8960
8824
  readonly created: number;
8961
8825
  readonly completed?: number | undefined;
8962
8826
  } | undefined;
8963
- readonly state?: {
8964
- readonly [x: string]: unknown;
8965
- } | undefined;
8966
8827
  })[];
8967
8828
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
8968
8829
  };
@@ -10049,7 +9910,7 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
10049
9910
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
10050
9911
  };
10051
9912
  }>>, Schema.toCodecStringTree<Schema.Struct<{
10052
- continue: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Literals<readonly ["true", "false"]>, never, never>>;
9913
+ resume: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Literals<readonly ["true", "false"]>, never, never>>;
10053
9914
  }>>, never, never, Schema.toCodecJson<Schema.Struct<{
10054
9915
  readonly interrupted: Schema.Boolean;
10055
9916
  }>>, Schema.toCodecJson<typeof SessionNotFoundError>, I, HttpApiMiddleware.Requires<I>> | HttpApiEndpoint.HttpApiEndpoint<"session.background", "POST", "/api/session/:sessionID/background", Schema.toCodecStringTree<Schema.Struct<{
@@ -10158,50 +10019,12 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
10158
10019
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
10159
10020
  }>;
10160
10021
  }>, Schema.Struct<{
10161
- readonly type: Schema.tag<"location-switched">;
10162
10022
  readonly location: Schema.Struct<{
10163
10023
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
10164
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
10165
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
10166
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
10167
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
10168
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
10169
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
10170
- }>, never, never>;
10171
10024
  }>;
10172
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
10173
- global: string & import("effect/Brand").Brand<"Project.ID">;
10174
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
10175
- global: string & import("effect/Brand").Brand<"Project.ID">;
10176
- }>, never, never>;
10177
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
10178
- readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
10179
- readonly location: Schema.Struct<{
10180
- readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
10181
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
10182
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
10183
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
10184
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
10185
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
10186
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
10187
- }>, never, never>;
10188
- }>;
10189
- readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
10190
- global: string & import("effect/Brand").Brand<"Project.ID">;
10191
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
10192
- global: string & import("effect/Brand").Brand<"Project.ID">;
10193
- }>, never, never>;
10194
- readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
10195
- }>>>, Schema.optionalKey<Schema.Struct<{
10025
+ readonly previous: Schema.optional<Schema.Struct<{
10196
10026
  readonly location: Schema.Struct<{
10197
10027
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
10198
- readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
10199
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
10200
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
10201
- }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
10202
- ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
10203
- create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
10204
- }>, never, never>;
10205
10028
  }>;
10206
10029
  readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
10207
10030
  global: string & import("effect/Brand").Brand<"Project.ID">;
@@ -10209,15 +10032,22 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
10209
10032
  global: string & import("effect/Brand").Brand<"Project.ID">;
10210
10033
  }>, never, never>;
10211
10034
  readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
10212
- }>>, never, never>;
10035
+ }>>;
10213
10036
  readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
10214
10037
  create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
10215
10038
  fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
10216
10039
  };
10040
+ readonly type: Schema.tag<"location-switched">;
10217
10041
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
10042
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
10043
+ global: string & import("effect/Brand").Brand<"Project.ID">;
10044
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
10045
+ global: string & import("effect/Brand").Brand<"Project.ID">;
10046
+ }>, never, never>;
10218
10047
  readonly time: Schema.Struct<{
10219
10048
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
10220
10049
  }>;
10050
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
10221
10051
  }>, Schema.Struct<{
10222
10052
  readonly text: Schema.String;
10223
10053
  readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
@@ -10775,8 +10605,537 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
10775
10605
  readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
10776
10606
  }>;
10777
10607
  readonly type: Schema.tag<"compaction">;
10778
- }>]>]>;
10779
- }>>, Schema.toCodecJson<typeof SessionNotFoundError | typeof MessageNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.environment", "PUT", "/api/session/:sessionID/environment", Schema.toCodecStringTree<Schema.Struct<{
10608
+ }>]>, Schema.Struct<{
10609
+ readonly type: Schema.tag<"idle">;
10610
+ readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
10611
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
10612
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
10613
+ fromEvent: (eventID: Event.ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
10614
+ };
10615
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
10616
+ readonly time: Schema.Struct<{
10617
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
10618
+ }>;
10619
+ }>]>;
10620
+ }>>, Schema.toCodecJson<typeof SessionNotFoundError | typeof MessageNotFoundError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"session.form.list", "GET", "/api/session/:sessionID/form", Schema.toCodecStringTree<Schema.Struct<{
10621
+ sessionID: Schema.String;
10622
+ }>>, never, never, never, Schema.toCodecJson<Schema.Struct<{
10623
+ readonly data: Schema.$Array<Schema.Struct<{
10624
+ readonly fields: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
10625
+ readonly type: Schema.Literal<"string">;
10626
+ readonly format: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>>, Schema.optionalKey<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>, never, never>;
10627
+ readonly minLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10628
+ readonly maxLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10629
+ readonly pattern: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10630
+ readonly placeholder: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10631
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10632
+ readonly options: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10633
+ readonly value: Schema.String;
10634
+ readonly label: Schema.String;
10635
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10636
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10637
+ readonly value: Schema.String;
10638
+ readonly label: Schema.String;
10639
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10640
+ }>>>, never, never>;
10641
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10642
+ readonly key: Schema.String;
10643
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10644
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10645
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10646
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10647
+ readonly key: Schema.String;
10648
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10649
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10650
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10651
+ readonly key: Schema.String;
10652
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10653
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10654
+ }>>>, never, never>;
10655
+ }>, Schema.Struct<{
10656
+ readonly type: Schema.Literal<"number">;
10657
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10658
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10659
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10660
+ readonly key: Schema.String;
10661
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10662
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10663
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10664
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10665
+ readonly key: Schema.String;
10666
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10667
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10668
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10669
+ readonly key: Schema.String;
10670
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10671
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10672
+ }>>>, never, never>;
10673
+ }>, Schema.Struct<{
10674
+ readonly type: Schema.Literal<"integer">;
10675
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10676
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10677
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10678
+ readonly key: Schema.String;
10679
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10680
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10681
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10682
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10683
+ readonly key: Schema.String;
10684
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10685
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10686
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10687
+ readonly key: Schema.String;
10688
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10689
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10690
+ }>>>, never, never>;
10691
+ }>, Schema.Struct<{
10692
+ readonly type: Schema.Literal<"boolean">;
10693
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10694
+ readonly key: Schema.String;
10695
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10696
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10697
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10698
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10699
+ readonly key: Schema.String;
10700
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10701
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10702
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10703
+ readonly key: Schema.String;
10704
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10705
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10706
+ }>>>, never, never>;
10707
+ }>, Schema.Struct<{
10708
+ readonly type: Schema.Literal<"multiselect">;
10709
+ readonly options: Schema.$Array<Schema.Struct<{
10710
+ readonly value: Schema.String;
10711
+ readonly label: Schema.String;
10712
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10713
+ }>>;
10714
+ readonly minItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10715
+ readonly maxItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10716
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10717
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
10718
+ readonly key: Schema.String;
10719
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10720
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10721
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10722
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10723
+ readonly key: Schema.String;
10724
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10725
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10726
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10727
+ readonly key: Schema.String;
10728
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10729
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10730
+ }>>>, never, never>;
10731
+ }>, Schema.Struct<{
10732
+ readonly key: Schema.String;
10733
+ readonly type: Schema.Literal<"external">;
10734
+ readonly url: Schema.String;
10735
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10736
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10737
+ }>]>>;
10738
+ readonly id: Schema.brand<Schema.String, "Form.ID"> & {
10739
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
10740
+ };
10741
+ readonly sessionID: Schema.String;
10742
+ readonly title: Schema.String;
10743
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
10744
+ }>>;
10745
+ }>>, Schema.toCodecJson<typeof SessionNotFoundError>, FormI, HttpApiMiddleware.Requires<FormI>> | HttpApiEndpoint.HttpApiEndpoint<"session.form.create", "POST", "/api/session/:sessionID/form", Schema.toCodecStringTree<Schema.Struct<{
10746
+ sessionID: Schema.String;
10747
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
10748
+ readonly id: Schema.optional<Schema.brand<Schema.String, "Form.ID"> & {
10749
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
10750
+ }>;
10751
+ readonly title: Schema.String;
10752
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
10753
+ readonly fields: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
10754
+ readonly type: Schema.Literal<"string">;
10755
+ readonly format: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>>, Schema.optionalKey<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>, never, never>;
10756
+ readonly minLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10757
+ readonly maxLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10758
+ readonly pattern: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10759
+ readonly placeholder: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10760
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10761
+ readonly options: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10762
+ readonly value: Schema.String;
10763
+ readonly label: Schema.String;
10764
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10765
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10766
+ readonly value: Schema.String;
10767
+ readonly label: Schema.String;
10768
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10769
+ }>>>, never, never>;
10770
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10771
+ readonly key: Schema.String;
10772
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10773
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10774
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10775
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10776
+ readonly key: Schema.String;
10777
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10778
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10779
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10780
+ readonly key: Schema.String;
10781
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10782
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10783
+ }>>>, never, never>;
10784
+ }>, Schema.Struct<{
10785
+ readonly type: Schema.Literal<"number">;
10786
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10787
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10788
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10789
+ readonly key: Schema.String;
10790
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10791
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10792
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10793
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10794
+ readonly key: Schema.String;
10795
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10796
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10797
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10798
+ readonly key: Schema.String;
10799
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10800
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10801
+ }>>>, never, never>;
10802
+ }>, Schema.Struct<{
10803
+ readonly type: Schema.Literal<"integer">;
10804
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10805
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10806
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10807
+ readonly key: Schema.String;
10808
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10809
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10810
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10811
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10812
+ readonly key: Schema.String;
10813
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10814
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10815
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10816
+ readonly key: Schema.String;
10817
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10818
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10819
+ }>>>, never, never>;
10820
+ }>, Schema.Struct<{
10821
+ readonly type: Schema.Literal<"boolean">;
10822
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10823
+ readonly key: Schema.String;
10824
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10825
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10826
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10827
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10828
+ readonly key: Schema.String;
10829
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10830
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10831
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10832
+ readonly key: Schema.String;
10833
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10834
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10835
+ }>>>, never, never>;
10836
+ }>, Schema.Struct<{
10837
+ readonly type: Schema.Literal<"multiselect">;
10838
+ readonly options: Schema.$Array<Schema.Struct<{
10839
+ readonly value: Schema.String;
10840
+ readonly label: Schema.String;
10841
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10842
+ }>>;
10843
+ readonly minItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10844
+ readonly maxItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10845
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10846
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
10847
+ readonly key: Schema.String;
10848
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10849
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10850
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10851
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10852
+ readonly key: Schema.String;
10853
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10854
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10855
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10856
+ readonly key: Schema.String;
10857
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10858
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10859
+ }>>>, never, never>;
10860
+ }>, Schema.Struct<{
10861
+ readonly key: Schema.String;
10862
+ readonly type: Schema.Literal<"external">;
10863
+ readonly url: Schema.String;
10864
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10865
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10866
+ }>]>>;
10867
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
10868
+ readonly data: Schema.Struct<{
10869
+ readonly fields: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
10870
+ readonly type: Schema.Literal<"string">;
10871
+ readonly format: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>>, Schema.optionalKey<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>, never, never>;
10872
+ readonly minLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10873
+ readonly maxLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10874
+ readonly pattern: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10875
+ readonly placeholder: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10876
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10877
+ readonly options: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10878
+ readonly value: Schema.String;
10879
+ readonly label: Schema.String;
10880
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10881
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10882
+ readonly value: Schema.String;
10883
+ readonly label: Schema.String;
10884
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10885
+ }>>>, never, never>;
10886
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10887
+ readonly key: Schema.String;
10888
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10889
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10890
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10891
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10892
+ readonly key: Schema.String;
10893
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10894
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10895
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10896
+ readonly key: Schema.String;
10897
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10898
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10899
+ }>>>, never, never>;
10900
+ }>, Schema.Struct<{
10901
+ readonly type: Schema.Literal<"number">;
10902
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10903
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10904
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10905
+ readonly key: Schema.String;
10906
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10907
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10908
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10909
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10910
+ readonly key: Schema.String;
10911
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10912
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10913
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10914
+ readonly key: Schema.String;
10915
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10916
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10917
+ }>>>, never, never>;
10918
+ }>, Schema.Struct<{
10919
+ readonly type: Schema.Literal<"integer">;
10920
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10921
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10922
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
10923
+ readonly key: Schema.String;
10924
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10925
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10926
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10927
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10928
+ readonly key: Schema.String;
10929
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10930
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10931
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10932
+ readonly key: Schema.String;
10933
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10934
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10935
+ }>>>, never, never>;
10936
+ }>, Schema.Struct<{
10937
+ readonly type: Schema.Literal<"boolean">;
10938
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10939
+ readonly key: Schema.String;
10940
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10941
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10942
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10943
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10944
+ readonly key: Schema.String;
10945
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10946
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10947
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10948
+ readonly key: Schema.String;
10949
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10950
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10951
+ }>>>, never, never>;
10952
+ }>, Schema.Struct<{
10953
+ readonly type: Schema.Literal<"multiselect">;
10954
+ readonly options: Schema.$Array<Schema.Struct<{
10955
+ readonly value: Schema.String;
10956
+ readonly label: Schema.String;
10957
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10958
+ }>>;
10959
+ readonly minItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10960
+ readonly maxItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10961
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10962
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
10963
+ readonly key: Schema.String;
10964
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10965
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10966
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
10967
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
10968
+ readonly key: Schema.String;
10969
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10970
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10971
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
10972
+ readonly key: Schema.String;
10973
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
10974
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
10975
+ }>>>, never, never>;
10976
+ }>, Schema.Struct<{
10977
+ readonly key: Schema.String;
10978
+ readonly type: Schema.Literal<"external">;
10979
+ readonly url: Schema.String;
10980
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10981
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
10982
+ }>]>>;
10983
+ readonly id: Schema.brand<Schema.String, "Form.ID"> & {
10984
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
10985
+ };
10986
+ readonly sessionID: Schema.String;
10987
+ readonly title: Schema.String;
10988
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
10989
+ }>;
10990
+ }>>, Schema.toCodecJson<typeof InvalidRequestError | typeof ConflictError | typeof SessionNotFoundError>, FormI, HttpApiMiddleware.Requires<FormI>> | HttpApiEndpoint.HttpApiEndpoint<"session.form.get", "GET", "/api/session/:sessionID/form/:formID", Schema.toCodecStringTree<Schema.Struct<{
10991
+ sessionID: Schema.String;
10992
+ formID: Schema.brand<Schema.String, "Form.ID"> & {
10993
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
10994
+ };
10995
+ }>>, never, never, never, Schema.toCodecJson<Schema.Struct<{
10996
+ readonly data: Schema.Struct<{
10997
+ readonly state: Schema.Union<readonly [Schema.Struct<{
10998
+ readonly status: Schema.Literal<"pending">;
10999
+ }>, Schema.Struct<{
11000
+ readonly status: Schema.Literal<"answered">;
11001
+ readonly answer: Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.$Array<Schema.String>]>>;
11002
+ }>, Schema.Struct<{
11003
+ readonly status: Schema.Literal<"cancelled">;
11004
+ }>]>;
11005
+ readonly fields: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
11006
+ readonly type: Schema.Literal<"string">;
11007
+ readonly format: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>>, Schema.optionalKey<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>, never, never>;
11008
+ readonly minLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
11009
+ readonly maxLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
11010
+ readonly pattern: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11011
+ readonly placeholder: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11012
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11013
+ readonly options: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
11014
+ readonly value: Schema.String;
11015
+ readonly label: Schema.String;
11016
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11017
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
11018
+ readonly value: Schema.String;
11019
+ readonly label: Schema.String;
11020
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11021
+ }>>>, never, never>;
11022
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11023
+ readonly key: Schema.String;
11024
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11025
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11026
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11027
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
11028
+ readonly key: Schema.String;
11029
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11030
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11031
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
11032
+ readonly key: Schema.String;
11033
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11034
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11035
+ }>>>, never, never>;
11036
+ }>, Schema.Struct<{
11037
+ readonly type: Schema.Literal<"number">;
11038
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
11039
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
11040
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
11041
+ readonly key: Schema.String;
11042
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11043
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11044
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11045
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
11046
+ readonly key: Schema.String;
11047
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11048
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11049
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
11050
+ readonly key: Schema.String;
11051
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11052
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11053
+ }>>>, never, never>;
11054
+ }>, Schema.Struct<{
11055
+ readonly type: Schema.Literal<"integer">;
11056
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
11057
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
11058
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
11059
+ readonly key: Schema.String;
11060
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11061
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11062
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11063
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
11064
+ readonly key: Schema.String;
11065
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11066
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11067
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
11068
+ readonly key: Schema.String;
11069
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11070
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11071
+ }>>>, never, never>;
11072
+ }>, Schema.Struct<{
11073
+ readonly type: Schema.Literal<"boolean">;
11074
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11075
+ readonly key: Schema.String;
11076
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11077
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11078
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11079
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
11080
+ readonly key: Schema.String;
11081
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11082
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11083
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
11084
+ readonly key: Schema.String;
11085
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11086
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11087
+ }>>>, never, never>;
11088
+ }>, Schema.Struct<{
11089
+ readonly type: Schema.Literal<"multiselect">;
11090
+ readonly options: Schema.$Array<Schema.Struct<{
11091
+ readonly value: Schema.String;
11092
+ readonly label: Schema.String;
11093
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11094
+ }>>;
11095
+ readonly minItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
11096
+ readonly maxItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
11097
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11098
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
11099
+ readonly key: Schema.String;
11100
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11101
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11102
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
11103
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
11104
+ readonly key: Schema.String;
11105
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11106
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11107
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
11108
+ readonly key: Schema.String;
11109
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
11110
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
11111
+ }>>>, never, never>;
11112
+ }>, Schema.Struct<{
11113
+ readonly key: Schema.String;
11114
+ readonly type: Schema.Literal<"external">;
11115
+ readonly url: Schema.String;
11116
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11117
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
11118
+ }>]>>;
11119
+ readonly id: Schema.brand<Schema.String, "Form.ID"> & {
11120
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
11121
+ };
11122
+ readonly sessionID: Schema.String;
11123
+ readonly title: Schema.String;
11124
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
11125
+ }>;
11126
+ }>>, Schema.toCodecJson<typeof SessionNotFoundError | typeof FormNotFoundError>, FormI, HttpApiMiddleware.Requires<FormI>> | HttpApiEndpoint.HttpApiEndpoint<"session.form.reply", "POST", "/api/session/:sessionID/form/:formID/reply", Schema.toCodecStringTree<Schema.Struct<{
11127
+ sessionID: Schema.String;
11128
+ formID: Schema.brand<Schema.String, "Form.ID"> & {
11129
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
11130
+ };
11131
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
11132
+ readonly answer: Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.$Array<Schema.String>]>>;
11133
+ }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof FormNotFoundError | typeof FormAlreadySettledError | typeof FormInvalidAnswerError>, FormI, HttpApiMiddleware.Requires<FormI>> | HttpApiEndpoint.HttpApiEndpoint<"session.form.cancel", "DELETE", "/api/session/:sessionID/form/:formID", Schema.toCodecStringTree<Schema.Struct<{
11134
+ sessionID: Schema.String;
11135
+ formID: Schema.brand<Schema.String, "Form.ID"> & {
11136
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
11137
+ };
11138
+ }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError | typeof FormNotFoundError | typeof FormAlreadySettledError>, FormI, HttpApiMiddleware.Requires<FormI>> | HttpApiEndpoint.HttpApiEndpoint<"session.environment", "PUT", "/api/session/:sessionID/environment", Schema.toCodecStringTree<Schema.Struct<{
10780
11139
  sessionID: Schema.brand<Schema.String, "SessionID"> & {
10781
11140
  create: () => string & import("effect/Brand").Brand<"SessionID">;
10782
11141
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
@@ -10789,6 +11148,6 @@ export declare const makeSessionGroup: <I extends HttpApiMiddleware.AnyId, S>(se
10789
11148
  descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
10790
11149
  };
10791
11150
  }>>, never, Schema.toCodecJson<Schema.Struct<{
10792
- readonly idle: Schema.Int;
11151
+ readonly idle: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
10793
11152
  }>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof SessionNotFoundError>, never, never>, false>;
10794
11153
  export {};