@opencode-ai/schema 0.0.0-beta-18155 → 0.0.0-beta-18230

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.
@@ -0,0 +1,530 @@
1
+ export * as PersistentPty from "./persistent-pty.js";
2
+ import { Schema } from "effect";
3
+ export declare const Info: Schema.Struct<{
4
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
5
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
6
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
7
+ };
8
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
9
+ readonly size: Schema.Struct<{
10
+ readonly cols: Schema.Int;
11
+ readonly rows: Schema.Int;
12
+ }>;
13
+ readonly output: Schema.Struct<{
14
+ readonly head: Schema.Int;
15
+ readonly tail: Schema.Int;
16
+ }>;
17
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
18
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
19
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
20
+ };
21
+ readonly title: Schema.String;
22
+ readonly command: Schema.String;
23
+ readonly args: Schema.$Array<Schema.String>;
24
+ readonly cwd: Schema.String;
25
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
26
+ readonly pid: Schema.Int;
27
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
28
+ }>;
29
+ export interface Info extends Schema.Schema.Type<typeof Info> {
30
+ }
31
+ export declare const CreateInput: Schema.Struct<{
32
+ readonly command: Schema.String;
33
+ readonly args: Schema.$Array<Schema.String>;
34
+ readonly cwd: Schema.String;
35
+ readonly title: Schema.String;
36
+ readonly env: Schema.$Record<Schema.String, Schema.String>;
37
+ readonly size: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
38
+ readonly cols: Schema.Int;
39
+ readonly rows: Schema.Int;
40
+ }>>>, Schema.optionalKey<Schema.Struct<{
41
+ readonly cols: Schema.Int;
42
+ readonly rows: Schema.Int;
43
+ }>>, never, never>;
44
+ }>;
45
+ export interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {
46
+ }
47
+ export declare const UpdateInput: Schema.Struct<{
48
+ readonly attachmentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
49
+ readonly size: Schema.Struct<{
50
+ readonly cols: Schema.Int;
51
+ readonly rows: Schema.Int;
52
+ }>;
53
+ }>;
54
+ export interface UpdateInput extends Schema.Schema.Type<typeof UpdateInput> {
55
+ }
56
+ export declare const Snapshot: Schema.Struct<{
57
+ readonly info: Schema.Struct<{
58
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
59
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
60
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
61
+ };
62
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
63
+ readonly size: Schema.Struct<{
64
+ readonly cols: Schema.Int;
65
+ readonly rows: Schema.Int;
66
+ }>;
67
+ readonly output: Schema.Struct<{
68
+ readonly head: Schema.Int;
69
+ readonly tail: Schema.Int;
70
+ }>;
71
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
72
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
73
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
74
+ };
75
+ readonly title: Schema.String;
76
+ readonly command: Schema.String;
77
+ readonly args: Schema.$Array<Schema.String>;
78
+ readonly cwd: Schema.String;
79
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
80
+ readonly pid: Schema.Int;
81
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
82
+ }>;
83
+ readonly text: Schema.String;
84
+ readonly checkpoint: Schema.Uint8Array;
85
+ readonly cursor: Schema.Struct<{
86
+ readonly x: Schema.Int;
87
+ readonly y: Schema.Int;
88
+ }>;
89
+ }>;
90
+ export interface Snapshot extends Schema.Schema.Type<typeof Snapshot> {
91
+ }
92
+ export declare const Added: Schema.Struct<{
93
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
94
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
95
+ };
96
+ readonly created: Schema.Finite;
97
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
98
+ readonly type: Schema.Literal<"persistent-pty.added">;
99
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
100
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
101
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
102
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
103
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
104
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
105
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
106
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
107
+ }>, never, never>;
108
+ }>>>, Schema.optionalKey<Schema.Struct<{
109
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
110
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
111
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
112
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
113
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
114
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
115
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
116
+ }>, never, never>;
117
+ }>>, never, never>;
118
+ readonly data: Schema.Struct<{
119
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
120
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
121
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
122
+ };
123
+ readonly terminal: Schema.Struct<{
124
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
125
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
126
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
127
+ };
128
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
129
+ readonly size: Schema.Struct<{
130
+ readonly cols: Schema.Int;
131
+ readonly rows: Schema.Int;
132
+ }>;
133
+ readonly output: Schema.Struct<{
134
+ readonly head: Schema.Int;
135
+ readonly tail: Schema.Int;
136
+ }>;
137
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
138
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
139
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
140
+ };
141
+ readonly title: Schema.String;
142
+ readonly command: Schema.String;
143
+ readonly args: Schema.$Array<Schema.String>;
144
+ readonly cwd: Schema.String;
145
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
146
+ readonly pid: Schema.Int;
147
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
148
+ }>;
149
+ }>;
150
+ }> & {
151
+ type: "persistent-pty.added";
152
+ durability: "ephemeral";
153
+ durable: undefined;
154
+ data: Schema.Struct<{
155
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
156
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
157
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
158
+ };
159
+ readonly terminal: 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 foregroundProcess: Schema.NullOr<Schema.String>;
165
+ readonly size: Schema.Struct<{
166
+ readonly cols: Schema.Int;
167
+ readonly rows: Schema.Int;
168
+ }>;
169
+ readonly output: Schema.Struct<{
170
+ readonly head: Schema.Int;
171
+ readonly tail: Schema.Int;
172
+ }>;
173
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
174
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
175
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
176
+ };
177
+ readonly title: Schema.String;
178
+ readonly command: Schema.String;
179
+ readonly args: Schema.$Array<Schema.String>;
180
+ readonly cwd: Schema.String;
181
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
182
+ readonly pid: Schema.Int;
183
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
184
+ }>;
185
+ }>;
186
+ };
187
+ export declare const Removed: Schema.Struct<{
188
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
189
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
190
+ };
191
+ readonly created: Schema.Finite;
192
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
193
+ readonly type: Schema.Literal<"persistent-pty.removed">;
194
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
195
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
196
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
197
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
198
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
199
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
200
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
201
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
202
+ }>, never, never>;
203
+ }>>>, Schema.optionalKey<Schema.Struct<{
204
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
205
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
206
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
207
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
208
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
209
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
210
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
211
+ }>, never, never>;
212
+ }>>, never, never>;
213
+ readonly data: Schema.Struct<{
214
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
215
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
216
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
217
+ };
218
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
219
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
220
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
221
+ };
222
+ }>;
223
+ }> & {
224
+ type: "persistent-pty.removed";
225
+ durability: "ephemeral";
226
+ durable: undefined;
227
+ data: Schema.Struct<{
228
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
229
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
230
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
231
+ };
232
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
233
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
234
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
235
+ };
236
+ }>;
237
+ };
238
+ export declare const Event: {
239
+ Added: Schema.Struct<{
240
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
241
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
242
+ };
243
+ readonly created: Schema.Finite;
244
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
245
+ readonly type: Schema.Literal<"persistent-pty.added">;
246
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
247
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
248
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
249
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
250
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
251
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
252
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
253
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
254
+ }>, never, never>;
255
+ }>>>, Schema.optionalKey<Schema.Struct<{
256
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
257
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
258
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
259
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
260
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
261
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
262
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
263
+ }>, never, never>;
264
+ }>>, never, never>;
265
+ readonly data: Schema.Struct<{
266
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
267
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
268
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
269
+ };
270
+ readonly terminal: Schema.Struct<{
271
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
272
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
273
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
274
+ };
275
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
276
+ readonly size: Schema.Struct<{
277
+ readonly cols: Schema.Int;
278
+ readonly rows: Schema.Int;
279
+ }>;
280
+ readonly output: Schema.Struct<{
281
+ readonly head: Schema.Int;
282
+ readonly tail: Schema.Int;
283
+ }>;
284
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
285
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
286
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
287
+ };
288
+ readonly title: Schema.String;
289
+ readonly command: Schema.String;
290
+ readonly args: Schema.$Array<Schema.String>;
291
+ readonly cwd: Schema.String;
292
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
293
+ readonly pid: Schema.Int;
294
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
295
+ }>;
296
+ }>;
297
+ }> & {
298
+ type: "persistent-pty.added";
299
+ durability: "ephemeral";
300
+ durable: undefined;
301
+ data: Schema.Struct<{
302
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
303
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
304
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
305
+ };
306
+ readonly terminal: Schema.Struct<{
307
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
308
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
309
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
310
+ };
311
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
312
+ readonly size: Schema.Struct<{
313
+ readonly cols: Schema.Int;
314
+ readonly rows: Schema.Int;
315
+ }>;
316
+ readonly output: Schema.Struct<{
317
+ readonly head: Schema.Int;
318
+ readonly tail: Schema.Int;
319
+ }>;
320
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
321
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
322
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
323
+ };
324
+ readonly title: Schema.String;
325
+ readonly command: Schema.String;
326
+ readonly args: Schema.$Array<Schema.String>;
327
+ readonly cwd: Schema.String;
328
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
329
+ readonly pid: Schema.Int;
330
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
331
+ }>;
332
+ }>;
333
+ };
334
+ Removed: Schema.Struct<{
335
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
336
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
337
+ };
338
+ readonly created: Schema.Finite;
339
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
340
+ readonly type: Schema.Literal<"persistent-pty.removed">;
341
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
342
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
343
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
344
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
345
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
346
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
347
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
348
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
349
+ }>, never, never>;
350
+ }>>>, Schema.optionalKey<Schema.Struct<{
351
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
352
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
353
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
354
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
355
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
356
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
357
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
358
+ }>, never, never>;
359
+ }>>, never, never>;
360
+ readonly data: Schema.Struct<{
361
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
362
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
363
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
364
+ };
365
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
366
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
367
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
368
+ };
369
+ }>;
370
+ }> & {
371
+ type: "persistent-pty.removed";
372
+ durability: "ephemeral";
373
+ durable: undefined;
374
+ data: Schema.Struct<{
375
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
376
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
377
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
378
+ };
379
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
380
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
381
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
382
+ };
383
+ }>;
384
+ };
385
+ Definitions: readonly [Schema.Struct<{
386
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
387
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
388
+ };
389
+ readonly created: Schema.Finite;
390
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
391
+ readonly type: Schema.Literal<"persistent-pty.added">;
392
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
393
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
394
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
395
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
396
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
397
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
398
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
399
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
400
+ }>, never, never>;
401
+ }>>>, Schema.optionalKey<Schema.Struct<{
402
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
403
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
404
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
405
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
406
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
407
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
408
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
409
+ }>, never, never>;
410
+ }>>, never, never>;
411
+ readonly data: Schema.Struct<{
412
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
413
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
414
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
415
+ };
416
+ readonly terminal: Schema.Struct<{
417
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
418
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
419
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
420
+ };
421
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
422
+ readonly size: Schema.Struct<{
423
+ readonly cols: Schema.Int;
424
+ readonly rows: Schema.Int;
425
+ }>;
426
+ readonly output: Schema.Struct<{
427
+ readonly head: Schema.Int;
428
+ readonly tail: Schema.Int;
429
+ }>;
430
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
431
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
432
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
433
+ };
434
+ readonly title: Schema.String;
435
+ readonly command: Schema.String;
436
+ readonly args: Schema.$Array<Schema.String>;
437
+ readonly cwd: Schema.String;
438
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
439
+ readonly pid: Schema.Int;
440
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
441
+ }>;
442
+ }>;
443
+ }> & {
444
+ type: "persistent-pty.added";
445
+ durability: "ephemeral";
446
+ durable: undefined;
447
+ data: Schema.Struct<{
448
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
449
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
450
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
451
+ };
452
+ readonly terminal: Schema.Struct<{
453
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
454
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
455
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
456
+ };
457
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
458
+ readonly size: Schema.Struct<{
459
+ readonly cols: Schema.Int;
460
+ readonly rows: Schema.Int;
461
+ }>;
462
+ readonly output: Schema.Struct<{
463
+ readonly head: Schema.Int;
464
+ readonly tail: Schema.Int;
465
+ }>;
466
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
467
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
468
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
469
+ };
470
+ readonly title: Schema.String;
471
+ readonly command: Schema.String;
472
+ readonly args: Schema.$Array<Schema.String>;
473
+ readonly cwd: Schema.String;
474
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
475
+ readonly pid: Schema.Int;
476
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
477
+ }>;
478
+ }>;
479
+ }, Schema.Struct<{
480
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
481
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
482
+ };
483
+ readonly created: Schema.Finite;
484
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
485
+ readonly type: Schema.Literal<"persistent-pty.removed">;
486
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
487
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
488
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
489
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
490
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
491
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
492
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
493
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
494
+ }>, never, never>;
495
+ }>>>, Schema.optionalKey<Schema.Struct<{
496
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
497
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
498
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
499
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
500
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
501
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
502
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
503
+ }>, never, never>;
504
+ }>>, never, never>;
505
+ readonly data: Schema.Struct<{
506
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
507
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
508
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
509
+ };
510
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
511
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
512
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
513
+ };
514
+ }>;
515
+ }> & {
516
+ type: "persistent-pty.removed";
517
+ durability: "ephemeral";
518
+ durable: undefined;
519
+ data: Schema.Struct<{
520
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
521
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
522
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
523
+ };
524
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
525
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
526
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
527
+ };
528
+ }>;
529
+ }];
530
+ };
@@ -0,0 +1,34 @@
1
+ export * as PersistentPty from "./persistent-pty.js";
2
+ import { Schema } from "effect";
3
+ import { ephemeral, inventory } from "./event.js";
4
+ import { Pty } from "./pty.js";
5
+ import { NonNegativeInt, PositiveInt, optional } from "./schema.js";
6
+ import { Session } from "./session.js";
7
+ export const Info = Schema.Struct({
8
+ ...Pty.Info.fields,
9
+ sessionID: Session.ID,
10
+ foregroundProcess: Schema.NullOr(Schema.String),
11
+ size: Schema.Struct({ cols: PositiveInt, rows: PositiveInt }),
12
+ output: Schema.Struct({ head: NonNegativeInt, tail: NonNegativeInt }),
13
+ }).annotate({ identifier: "PersistentPty.Info" });
14
+ export const CreateInput = Schema.Struct({
15
+ command: Schema.String,
16
+ args: Schema.Array(Schema.String),
17
+ cwd: Schema.String,
18
+ title: Schema.String,
19
+ env: Schema.Record(Schema.String, Schema.String),
20
+ size: optional(Schema.Struct({ cols: PositiveInt, rows: PositiveInt })),
21
+ }).annotate({ identifier: "PersistentPty.CreateInput" });
22
+ export const UpdateInput = Schema.Struct({
23
+ attachmentID: optional(Schema.String),
24
+ size: Schema.Struct({ cols: PositiveInt, rows: PositiveInt }),
25
+ }).annotate({ identifier: "PersistentPty.UpdateInput" });
26
+ export const Snapshot = Schema.Struct({
27
+ info: Info,
28
+ text: Schema.String,
29
+ checkpoint: Schema.Uint8Array,
30
+ cursor: Schema.Struct({ x: NonNegativeInt, y: NonNegativeInt }),
31
+ }).annotate({ identifier: "PersistentPty.Snapshot" });
32
+ export const Added = ephemeral({ type: "persistent-pty.added", schema: { sessionID: Session.ID, terminal: Info } });
33
+ export const Removed = ephemeral({ type: "persistent-pty.removed", schema: { sessionID: Session.ID, ptyID: Pty.ID } });
34
+ export const Event = { Added, Removed, Definitions: inventory(Added, Removed) };
package/dist/project.d.ts CHANGED
@@ -63,6 +63,28 @@ export declare const Info: Schema.Struct<{
63
63
  }>;
64
64
  export interface Info extends Schema.Schema.Type<typeof Info> {
65
65
  }
66
+ export declare const UpdateInput: Schema.Struct<{
67
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
68
+ global: string & import("effect/Brand").Brand<"Project.ID">;
69
+ };
70
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
71
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
72
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
73
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
74
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
75
+ }>>>, Schema.optionalKey<Schema.Struct<{
76
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
77
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
78
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
79
+ }>>, never, never>;
80
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
81
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
82
+ }>>>, Schema.optionalKey<Schema.Struct<{
83
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
84
+ }>>, never, never>;
85
+ }>;
86
+ export interface UpdateInput extends Schema.Schema.Type<typeof UpdateInput> {
87
+ }
66
88
  export declare const Event: {
67
89
  Updated: Schema.Struct<{
68
90
  readonly id: Schema.brand<Schema.String, "Event.ID"> & {
package/dist/project.js CHANGED
@@ -33,5 +33,11 @@ export const Info = Schema.Struct({
33
33
  time: Time,
34
34
  sandboxes: Schema.Array(Schema.String),
35
35
  }).annotate({ identifier: "Project" });
36
+ export const UpdateInput = Schema.Struct({
37
+ projectID: ID,
38
+ name: optional(Schema.String),
39
+ icon: optional(Icon),
40
+ commands: optional(Commands),
41
+ }).annotate({ identifier: "Project.UpdateInput" });
36
42
  const Updated = ephemeral({ type: "project.updated", schema: Info.fields });
37
43
  export const Event = { Updated, Definitions: inventory(Updated) };
package/dist/tool.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * as Tool from "./tool.js";
2
2
  import { Effect, JsonSchema, Schema } from "effect";
3
- import type { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec";
3
+ import type { StandardSchemaV1 } from "@standard-schema/spec";
4
4
  import type { Agent } from "./agent.js";
5
5
  import type { Session } from "./session.js";
6
6
  import type { SessionMessage } from "./session-message.js";
@@ -25,7 +25,7 @@ export type Options = BaseOptions & ({
25
25
  readonly codemode: boolean;
26
26
  readonly pinned?: never;
27
27
  });
28
- export type ValueSchema<A = unknown> = Schema.Codec<A, any> | (StandardSchemaV1<any, A> & StandardJSONSchemaV1<any, A>) | JsonSchema.JsonSchema;
28
+ export type ValueSchema<A = unknown> = Schema.Codec<A, any> | StandardSchemaV1<any, A> | JsonSchema.JsonSchema;
29
29
  type InputValue<S> = 0 extends 1 & S ? any : S extends Schema.Codec<infer A, any> ? A : S extends StandardSchemaV1<any, infer A> ? A : unknown;
30
30
  type OutputValue<S> = S extends undefined ? never : S extends Schema.Codec<infer A, any> ? A : S extends StandardSchemaV1<infer A, any> ? A : any;
31
31
  declare const Error_base: Schema.Class<Error, Schema.TaggedStruct<"Tool.Error", {
package/dist/vcs.d.ts CHANGED
@@ -14,6 +14,8 @@ export declare const Info: Schema.Struct<{
14
14
  }>;
15
15
  export interface Info extends Schema.Schema.Type<typeof Info> {
16
16
  }
17
+ export declare const BranchList: Schema.$Array<Schema.String>;
18
+ export type BranchList = typeof BranchList.Type;
17
19
  export declare const Mode: Schema.Literals<readonly ["working", "branch"]>;
18
20
  export type Mode = typeof Mode.Type;
19
21
  export declare const FileStatus: Schema.Struct<{
package/dist/vcs.js CHANGED
@@ -8,6 +8,7 @@ export const Branch = Schema.Struct({
8
8
  export const Info = Schema.Struct({
9
9
  branch: Branch,
10
10
  }).annotate({ identifier: "Vcs.Info" });
11
+ export const BranchList = Schema.Array(Schema.String).annotate({ identifier: "Vcs.BranchList" });
11
12
  export const Mode = Schema.Literals(["working", "branch"]).annotate({ identifier: "Vcs.Mode" });
12
13
  export const FileStatus = Schema.Struct({
13
14
  file: Schema.String,