@opencode-cockpit/protocol 0.1.5 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export * from "./daemon.ts";
4
4
  export * from "./framing.ts";
5
5
  export * from "./paths.ts";
6
6
  export * from "./rpc.ts";
7
- export * as shell from "./shell.ts";
7
+ export * as shell from "./shell/index.ts";
8
8
  /** Every method the daemon serves. Adding a module means spreading its contract here. */
9
9
  export declare const contract: {
10
10
  "daemon.hello": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
@@ -66,6 +66,8 @@ export declare const contract: {
66
66
  instance: import("zod").ZodOptional<import("zod").ZodString>;
67
67
  }, import("zod/v4/core").$strip>;
68
68
  timeoutMs: import("zod").ZodOptional<import("zod").ZodNumber>;
69
+ idleTimeoutMs: import("zod").ZodOptional<import("zod").ZodNumber>;
70
+ logFile: import("zod").ZodDefault<import("zod").ZodBoolean>;
69
71
  reuse: import("zod").ZodDefault<import("zod").ZodBoolean>;
70
72
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
71
73
  id: import("zod").ZodString;
@@ -99,6 +101,19 @@ export declare const contract: {
99
101
  last: import("zod").ZodNumber;
100
102
  }, import("zod/v4/core").$strip>;
101
103
  bytes: import("zod").ZodNumber;
104
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
105
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
106
+ status: import("zod").ZodEnum<{
107
+ fail: "fail";
108
+ ok: "ok";
109
+ pending: "pending";
110
+ unknown: "unknown";
111
+ }>;
112
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
113
+ runs: import("zod").ZodNumber;
114
+ since: import("zod").ZodNumber;
115
+ }, import("zod/v4/core").$strip>>;
116
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
102
117
  }, import("zod/v4/core").$strip>>;
103
118
  "shell.list": import("./contract.ts").MethodSpec<import("zod").ZodDefault<import("zod").ZodObject<{
104
119
  owner: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -139,6 +154,19 @@ export declare const contract: {
139
154
  last: import("zod").ZodNumber;
140
155
  }, import("zod/v4/core").$strip>;
141
156
  bytes: import("zod").ZodNumber;
157
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
158
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
159
+ status: import("zod").ZodEnum<{
160
+ fail: "fail";
161
+ ok: "ok";
162
+ pending: "pending";
163
+ unknown: "unknown";
164
+ }>;
165
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
166
+ runs: import("zod").ZodNumber;
167
+ since: import("zod").ZodNumber;
168
+ }, import("zod/v4/core").$strip>>;
169
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
142
170
  }, import("zod/v4/core").$strip>>>;
143
171
  "shell.get": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
144
172
  id: import("zod").ZodString;
@@ -174,6 +202,19 @@ export declare const contract: {
174
202
  last: import("zod").ZodNumber;
175
203
  }, import("zod/v4/core").$strip>;
176
204
  bytes: import("zod").ZodNumber;
205
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
206
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
207
+ status: import("zod").ZodEnum<{
208
+ fail: "fail";
209
+ ok: "ok";
210
+ pending: "pending";
211
+ unknown: "unknown";
212
+ }>;
213
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
214
+ runs: import("zod").ZodNumber;
215
+ since: import("zod").ZodNumber;
216
+ }, import("zod/v4/core").$strip>>;
217
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
177
218
  }, import("zod/v4/core").$strip>>;
178
219
  "shell.read": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
179
220
  id: import("zod").ZodString;
@@ -209,6 +250,15 @@ export declare const contract: {
209
250
  x: import("zod").ZodNumber;
210
251
  y: import("zod").ZodNumber;
211
252
  }, import("zod/v4/core").$strip>;
253
+ styled: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodObject<{
254
+ text: import("zod").ZodString;
255
+ fg: import("zod").ZodOptional<import("zod").ZodString>;
256
+ bg: import("zod").ZodOptional<import("zod").ZodString>;
257
+ bold: import("zod").ZodOptional<import("zod").ZodBoolean>;
258
+ dim: import("zod").ZodOptional<import("zod").ZodBoolean>;
259
+ italic: import("zod").ZodOptional<import("zod").ZodBoolean>;
260
+ underline: import("zod").ZodOptional<import("zod").ZodBoolean>;
261
+ }, import("zod/v4/core").$strip>>>>;
212
262
  }, import("zod/v4/core").$strip>>;
213
263
  "shell.write": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
214
264
  id: import("zod").ZodString;
@@ -277,6 +327,19 @@ export declare const contract: {
277
327
  last: import("zod").ZodNumber;
278
328
  }, import("zod/v4/core").$strip>;
279
329
  bytes: import("zod").ZodNumber;
330
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
331
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
332
+ status: import("zod").ZodEnum<{
333
+ fail: "fail";
334
+ ok: "ok";
335
+ pending: "pending";
336
+ unknown: "unknown";
337
+ }>;
338
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
339
+ runs: import("zod").ZodNumber;
340
+ since: import("zod").ZodNumber;
341
+ }, import("zod/v4/core").$strip>>;
342
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
280
343
  }, import("zod/v4/core").$strip>;
281
344
  }, import("zod/v4/core").$strip>>;
282
345
  "shell.stop": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
@@ -320,6 +383,19 @@ export declare const contract: {
320
383
  last: import("zod").ZodNumber;
321
384
  }, import("zod/v4/core").$strip>;
322
385
  bytes: import("zod").ZodNumber;
386
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
387
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
388
+ status: import("zod").ZodEnum<{
389
+ fail: "fail";
390
+ ok: "ok";
391
+ pending: "pending";
392
+ unknown: "unknown";
393
+ }>;
394
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
395
+ runs: import("zod").ZodNumber;
396
+ since: import("zod").ZodNumber;
397
+ }, import("zod/v4/core").$strip>>;
398
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
323
399
  }, import("zod/v4/core").$strip>>;
324
400
  "shell.restart": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
325
401
  id: import("zod").ZodString;
@@ -355,6 +431,19 @@ export declare const contract: {
355
431
  last: import("zod").ZodNumber;
356
432
  }, import("zod/v4/core").$strip>;
357
433
  bytes: import("zod").ZodNumber;
434
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
435
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
436
+ status: import("zod").ZodEnum<{
437
+ fail: "fail";
438
+ ok: "ok";
439
+ pending: "pending";
440
+ unknown: "unknown";
441
+ }>;
442
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
443
+ runs: import("zod").ZodNumber;
444
+ since: import("zod").ZodNumber;
445
+ }, import("zod/v4/core").$strip>>;
446
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
358
447
  }, import("zod/v4/core").$strip>>;
359
448
  "shell.remove": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
360
449
  id: import("zod").ZodString;
@@ -369,6 +458,121 @@ export declare const contract: {
369
458
  }, import("zod/v4/core").$strip>>, import("zod").ZodObject<{
370
459
  removed: import("zod").ZodArray<import("zod").ZodString>;
371
460
  }, import("zod/v4/core").$strip>>;
461
+ "shell.watch": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
462
+ id: import("zod").ZodString;
463
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
464
+ rule: import("zod").ZodOptional<import("zod").ZodObject<{
465
+ done: import("zod").ZodOptional<import("zod").ZodString>;
466
+ fail: import("zod").ZodOptional<import("zod").ZodString>;
467
+ ok: import("zod").ZodOptional<import("zod").ZodString>;
468
+ ignoreCase: import("zod").ZodOptional<import("zod").ZodBoolean>;
469
+ idleSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
470
+ }, import("zod/v4/core").$strip>>;
471
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
472
+ id: import("zod").ZodString;
473
+ title: import("zod").ZodString;
474
+ command: import("zod").ZodString;
475
+ args: import("zod").ZodArray<import("zod").ZodString>;
476
+ cwd: import("zod").ZodString;
477
+ owner: import("zod").ZodObject<{
478
+ project: import("zod").ZodString;
479
+ session: import("zod").ZodOptional<import("zod").ZodString>;
480
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
481
+ }, import("zod/v4/core").$strip>;
482
+ status: import("zod").ZodEnum<{
483
+ exited: "exited";
484
+ failed: "failed";
485
+ killed: "killed";
486
+ running: "running";
487
+ }>;
488
+ run: import("zod").ZodNumber;
489
+ pid: import("zod").ZodOptional<import("zod").ZodNumber>;
490
+ exitCode: import("zod").ZodOptional<import("zod").ZodNumber>;
491
+ signal: import("zod").ZodOptional<import("zod").ZodString>;
492
+ error: import("zod").ZodOptional<import("zod").ZodString>;
493
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
494
+ startedAt: import("zod").ZodNumber;
495
+ endedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
496
+ cols: import("zod").ZodNumber;
497
+ rows: import("zod").ZodNumber;
498
+ lines: import("zod").ZodObject<{
499
+ first: import("zod").ZodNumber;
500
+ last: import("zod").ZodNumber;
501
+ }, import("zod/v4/core").$strip>;
502
+ bytes: import("zod").ZodNumber;
503
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
504
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
505
+ status: import("zod").ZodEnum<{
506
+ fail: "fail";
507
+ ok: "ok";
508
+ pending: "pending";
509
+ unknown: "unknown";
510
+ }>;
511
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
512
+ runs: import("zod").ZodNumber;
513
+ since: import("zod").ZodNumber;
514
+ }, import("zod/v4/core").$strip>>;
515
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
516
+ }, import("zod/v4/core").$strip>>;
517
+ "shell.unwatch": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
518
+ id: import("zod").ZodString;
519
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
520
+ id: import("zod").ZodString;
521
+ title: import("zod").ZodString;
522
+ command: import("zod").ZodString;
523
+ args: import("zod").ZodArray<import("zod").ZodString>;
524
+ cwd: import("zod").ZodString;
525
+ owner: import("zod").ZodObject<{
526
+ project: import("zod").ZodString;
527
+ session: import("zod").ZodOptional<import("zod").ZodString>;
528
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
529
+ }, import("zod/v4/core").$strip>;
530
+ status: import("zod").ZodEnum<{
531
+ exited: "exited";
532
+ failed: "failed";
533
+ killed: "killed";
534
+ running: "running";
535
+ }>;
536
+ run: import("zod").ZodNumber;
537
+ pid: import("zod").ZodOptional<import("zod").ZodNumber>;
538
+ exitCode: import("zod").ZodOptional<import("zod").ZodNumber>;
539
+ signal: import("zod").ZodOptional<import("zod").ZodString>;
540
+ error: import("zod").ZodOptional<import("zod").ZodString>;
541
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
542
+ startedAt: import("zod").ZodNumber;
543
+ endedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
544
+ cols: import("zod").ZodNumber;
545
+ rows: import("zod").ZodNumber;
546
+ lines: import("zod").ZodObject<{
547
+ first: import("zod").ZodNumber;
548
+ last: import("zod").ZodNumber;
549
+ }, import("zod/v4/core").$strip>;
550
+ bytes: import("zod").ZodNumber;
551
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
552
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
553
+ status: import("zod").ZodEnum<{
554
+ fail: "fail";
555
+ ok: "ok";
556
+ pending: "pending";
557
+ unknown: "unknown";
558
+ }>;
559
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
560
+ runs: import("zod").ZodNumber;
561
+ since: import("zod").ZodNumber;
562
+ }, import("zod/v4/core").$strip>>;
563
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
564
+ }, import("zod/v4/core").$strip>>;
565
+ "shell.presets": import("./contract.ts").MethodSpec<import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$strip>>, import("zod").ZodArray<import("zod").ZodObject<{
566
+ name: import("zod").ZodString;
567
+ match: import("zod").ZodOptional<import("zod").ZodString>;
568
+ rule: import("zod").ZodObject<{
569
+ done: import("zod").ZodOptional<import("zod").ZodString>;
570
+ fail: import("zod").ZodOptional<import("zod").ZodString>;
571
+ ok: import("zod").ZodOptional<import("zod").ZodString>;
572
+ ignoreCase: import("zod").ZodOptional<import("zod").ZodBoolean>;
573
+ idleSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
574
+ }, import("zod/v4/core").$strip>;
575
+ }, import("zod/v4/core").$strip>>>;
372
576
  "shell.attach": import("./contract.ts").MethodSpec<import("zod").ZodObject<{
373
577
  id: import("zod").ZodString;
374
578
  fromOffset: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -416,6 +620,19 @@ export declare const events: {
416
620
  last: import("zod").ZodNumber;
417
621
  }, import("zod/v4/core").$strip>;
418
622
  bytes: import("zod").ZodNumber;
623
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
624
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
625
+ status: import("zod").ZodEnum<{
626
+ fail: "fail";
627
+ ok: "ok";
628
+ pending: "pending";
629
+ unknown: "unknown";
630
+ }>;
631
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
632
+ runs: import("zod").ZodNumber;
633
+ since: import("zod").ZodNumber;
634
+ }, import("zod/v4/core").$strip>>;
635
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
419
636
  }, import("zod/v4/core").$strip>;
420
637
  "shell.exited": import("zod").ZodObject<{
421
638
  id: import("zod").ZodString;
@@ -449,6 +666,19 @@ export declare const events: {
449
666
  last: import("zod").ZodNumber;
450
667
  }, import("zod/v4/core").$strip>;
451
668
  bytes: import("zod").ZodNumber;
669
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
670
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
671
+ status: import("zod").ZodEnum<{
672
+ fail: "fail";
673
+ ok: "ok";
674
+ pending: "pending";
675
+ unknown: "unknown";
676
+ }>;
677
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
678
+ runs: import("zod").ZodNumber;
679
+ since: import("zod").ZodNumber;
680
+ }, import("zod/v4/core").$strip>>;
681
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
452
682
  }, import("zod/v4/core").$strip>;
453
683
  "shell.removed": import("zod").ZodObject<{
454
684
  id: import("zod").ZodString;
@@ -458,6 +688,67 @@ export declare const events: {
458
688
  offset: import("zod").ZodNumber;
459
689
  data: import("zod").ZodString;
460
690
  }, import("zod/v4/core").$strip>;
691
+ "shell.watch": import("zod").ZodObject<{
692
+ info: import("zod").ZodObject<{
693
+ id: import("zod").ZodString;
694
+ title: import("zod").ZodString;
695
+ command: import("zod").ZodString;
696
+ args: import("zod").ZodArray<import("zod").ZodString>;
697
+ cwd: import("zod").ZodString;
698
+ owner: import("zod").ZodObject<{
699
+ project: import("zod").ZodString;
700
+ session: import("zod").ZodOptional<import("zod").ZodString>;
701
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
702
+ }, import("zod/v4/core").$strip>;
703
+ status: import("zod").ZodEnum<{
704
+ exited: "exited";
705
+ failed: "failed";
706
+ killed: "killed";
707
+ running: "running";
708
+ }>;
709
+ run: import("zod").ZodNumber;
710
+ pid: import("zod").ZodOptional<import("zod").ZodNumber>;
711
+ exitCode: import("zod").ZodOptional<import("zod").ZodNumber>;
712
+ signal: import("zod").ZodOptional<import("zod").ZodString>;
713
+ error: import("zod").ZodOptional<import("zod").ZodString>;
714
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
715
+ startedAt: import("zod").ZodNumber;
716
+ endedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
717
+ cols: import("zod").ZodNumber;
718
+ rows: import("zod").ZodNumber;
719
+ lines: import("zod").ZodObject<{
720
+ first: import("zod").ZodNumber;
721
+ last: import("zod").ZodNumber;
722
+ }, import("zod/v4/core").$strip>;
723
+ bytes: import("zod").ZodNumber;
724
+ watch: import("zod").ZodOptional<import("zod").ZodObject<{
725
+ preset: import("zod").ZodOptional<import("zod").ZodString>;
726
+ status: import("zod").ZodEnum<{
727
+ fail: "fail";
728
+ ok: "ok";
729
+ pending: "pending";
730
+ unknown: "unknown";
731
+ }>;
732
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
733
+ runs: import("zod").ZodNumber;
734
+ since: import("zod").ZodNumber;
735
+ }, import("zod/v4/core").$strip>>;
736
+ logFile: import("zod").ZodOptional<import("zod").ZodString>;
737
+ }, import("zod/v4/core").$strip>;
738
+ previous: import("zod").ZodEnum<{
739
+ fail: "fail";
740
+ ok: "ok";
741
+ pending: "pending";
742
+ unknown: "unknown";
743
+ }>;
744
+ current: import("zod").ZodEnum<{
745
+ fail: "fail";
746
+ ok: "ok";
747
+ pending: "pending";
748
+ unknown: "unknown";
749
+ }>;
750
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
751
+ }, import("zod/v4/core").$strip>;
461
752
  };
462
753
  export type Events = typeof events;
463
754
  export type Topic = keyof Events;
package/types/rpc.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  /** Bump MAJOR on breaking changes to methods, events or framing. */
3
3
  export declare const PROTOCOL_VERSION: {
4
4
  readonly major: 1;
5
- readonly minor: 1;
5
+ readonly minor: 2;
6
6
  };
7
7
  export type RequestId = number | string;
8
8
  export interface RpcRequest {
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ /** Identity and ownership, shared by every shell message. */
3
+ export declare const ShellId: z.ZodString;
4
+ export declare const Owner: z.ZodObject<{
5
+ project: z.ZodString;
6
+ session: z.ZodOptional<z.ZodString>;
7
+ instance: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ export declare const ShellStatus: z.ZodEnum<{
10
+ exited: "exited";
11
+ failed: "failed";
12
+ killed: "killed";
13
+ running: "running";
14
+ }>;
15
+ export type Owner = z.output<typeof Owner>;
16
+ export type ShellStatus = z.output<typeof ShellStatus>;