@opencode/client 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,6 @@ import type { Effect, Stream } from "effect";
2
2
  import type { Location } from "@opencode/schema/location";
3
3
  import type { Agent } from "@opencode/schema/agent";
4
4
  import type { Plugin } from "@opencode/schema/plugin";
5
- import type { Workspace } from "@opencode/schema/workspace";
6
5
  import type { Session } from "@opencode/schema/session";
7
6
  import type { AbsolutePath } from "@opencode/schema/schema";
8
7
  import type { Project } from "@opencode/schema/project";
@@ -16,15 +15,15 @@ import type { SessionInbox } from "@opencode/schema/session-inbox";
16
15
  import type { PromptInput } from "@opencode/schema/prompt-input";
17
16
  import type { AgentAttachment } from "@opencode/schema/prompt";
18
17
  import type { Skill } from "@opencode/schema/skill";
19
- import type { Event } from "@opencode/schema/event";
20
18
  import type { FileDiff } from "@opencode/schema/file-diff";
21
19
  import type { InstructionEntry } from "@opencode/schema/instruction-entry";
22
20
  import type { Schema } from "effect";
21
+ import type { Event } from "@opencode/schema/event";
23
22
  import type { EventLog } from "@opencode/schema/event-log";
24
23
  import type { Shell } from "@opencode/schema/shell";
25
24
  import type { Provider } from "@opencode/schema/provider";
26
- import type { Integration } from "@opencode/schema/integration";
27
25
  import type { Form } from "@opencode/schema/form";
26
+ import type { Integration } from "@opencode/schema/integration";
28
27
  import type { Mcp } from "@opencode/schema/mcp";
29
28
  import type { Credential } from "@opencode/schema/credential";
30
29
  import type { PermissionSaved } from "@opencode/schema/permission-saved";
@@ -38,29 +37,21 @@ import type { Worktree } from "@opencode/schema/worktree";
38
37
  import type { Vcs } from "@opencode/schema/vcs";
39
38
  import type { WebSearch } from "@opencode/schema/websearch";
40
39
  import type { Config } from "@opencode/schema/config";
41
- export type HealthGetOutput = {
42
- readonly healthy: true;
40
+ export type ServerStatusOutput = {
43
41
  readonly version: string;
44
42
  readonly pid: number;
45
- };
46
- export type HealthGetOperation<E = never> = () => Effect.Effect<HealthGetOutput, E>;
47
- export interface HealthApi<E = never> {
48
- readonly get: HealthGetOperation<E>;
49
- }
50
- export type ServerGetOutput = {
51
43
  readonly urls: ReadonlyArray<string>;
52
44
  };
53
- export type ServerGetOperation<E = never> = () => Effect.Effect<ServerGetOutput, E>;
45
+ export type ServerStatusOperation<E = never> = () => Effect.Effect<ServerStatusOutput, E>;
54
46
  export interface ServerApi<E = never> {
55
- readonly get: ServerGetOperation<E>;
47
+ readonly status: ServerStatusOperation<E>;
56
48
  }
57
49
  export type LocationGetInput = {
58
50
  readonly location?: {
59
51
  readonly directory?: string | undefined;
60
- readonly workspace?: string | undefined;
61
52
  } | undefined;
62
53
  };
63
- export type LocationGetOutput = Location.Info;
54
+ export type LocationGetOutput = Location.PublicInfo;
64
55
  export type LocationGetOperation<E = never> = (input?: LocationGetInput) => Effect.Effect<LocationGetOutput, E>;
65
56
  export interface LocationApi<E = never> {
66
57
  readonly get: LocationGetOperation<E>;
@@ -68,11 +59,10 @@ export interface LocationApi<E = never> {
68
59
  export type AgentListInput = {
69
60
  readonly location?: {
70
61
  readonly directory?: string | undefined;
71
- readonly workspace?: string | undefined;
72
62
  } | undefined;
73
63
  };
74
64
  export type AgentListOutput = {
75
- readonly location: Location.Info;
65
+ readonly location: Location.PublicRef;
76
66
  readonly data: ReadonlyArray<Agent.Info>;
77
67
  };
78
68
  export type AgentListOperation<E = never> = (input?: AgentListInput) => Effect.Effect<AgentListOutput, E>;
@@ -80,11 +70,10 @@ export type AgentGetInput = {
80
70
  readonly agentID: Agent.ID;
81
71
  readonly location?: {
82
72
  readonly directory?: string | undefined;
83
- readonly workspace?: string | undefined;
84
73
  } | undefined;
85
74
  };
86
75
  export type AgentGetOutput = {
87
- readonly location: Location.Info;
76
+ readonly location: Location.PublicRef;
88
77
  readonly data: Agent.Info;
89
78
  };
90
79
  export type AgentGetOperation<E = never> = (input: AgentGetInput) => Effect.Effect<AgentGetOutput, E>;
@@ -95,38 +84,27 @@ export interface AgentApi<E = never> {
95
84
  export type PluginListInput = {
96
85
  readonly location?: {
97
86
  readonly directory?: string | undefined;
98
- readonly workspace?: string | undefined;
99
87
  } | undefined;
100
88
  };
101
89
  export type PluginListOutput = {
102
- readonly location: Location.Info;
90
+ readonly location: Location.PublicRef;
103
91
  readonly data: ReadonlyArray<Plugin.Info>;
104
92
  };
105
93
  export type PluginListOperation<E = never> = (input?: PluginListInput) => Effect.Effect<PluginListOutput, E>;
106
- export type PluginAwaitActivationInput = {
107
- readonly location?: {
108
- readonly directory?: string | undefined;
109
- readonly workspace?: string | undefined;
110
- } | undefined;
111
- };
112
- export type PluginAwaitActivationOutput = void;
113
- export type PluginAwaitActivationOperation<E = never> = (input?: PluginAwaitActivationInput) => Effect.Effect<PluginAwaitActivationOutput, E>;
114
94
  export type PluginCheckInput = {
115
95
  readonly location?: {
116
96
  readonly directory?: string | undefined;
117
- readonly workspace?: string | undefined;
118
97
  } | undefined;
119
98
  readonly target?: string | undefined;
120
99
  };
121
100
  export type PluginCheckOutput = {
122
- readonly location: Location.Info;
101
+ readonly location: Location.PublicRef;
123
102
  readonly data: ReadonlyArray<Plugin.Info>;
124
103
  };
125
104
  export type PluginCheckOperation<E = never> = (input?: PluginCheckInput) => Effect.Effect<PluginCheckOutput, E>;
126
105
  export type PluginUpdateInput = {
127
106
  readonly location?: {
128
107
  readonly directory?: string | undefined;
129
- readonly workspace?: string | undefined;
130
108
  } | undefined;
131
109
  readonly targets: ReadonlyArray<string>;
132
110
  };
@@ -134,12 +112,10 @@ export type PluginUpdateOutput = void;
134
112
  export type PluginUpdateOperation<E = never> = (input: PluginUpdateInput) => Effect.Effect<PluginUpdateOutput, E>;
135
113
  export interface PluginApi<E = never> {
136
114
  readonly list: PluginListOperation<E>;
137
- readonly awaitActivation: PluginAwaitActivationOperation<E>;
138
115
  readonly check: PluginCheckOperation<E>;
139
116
  readonly update: PluginUpdateOperation<E>;
140
117
  }
141
118
  export type SessionListInput = {
142
- readonly workspace?: Workspace.ID | undefined;
143
119
  readonly limit?: number | undefined;
144
120
  readonly order?: "asc" | "desc" | undefined;
145
121
  readonly search?: string | undefined;
@@ -237,7 +213,7 @@ export type SessionCreateInput = {
237
213
  readonly title?: string | undefined;
238
214
  readonly agent?: Agent.ID | undefined;
239
215
  readonly model?: Model.Ref | undefined;
240
- readonly location?: Location.Ref | undefined;
216
+ readonly location?: Location.PublicRef | undefined;
241
217
  readonly metadata?: Session.Metadata | undefined;
242
218
  readonly permissions?: Permission.Ruleset | undefined;
243
219
  };
@@ -246,7 +222,7 @@ export type SessionCreateOperation<E = never> = (input?: SessionCreateInput) =>
246
222
  export type SessionImportInput = {
247
223
  readonly info: Session.Info;
248
224
  readonly messages: ReadonlyArray<SessionMessage.Info>;
249
- readonly location?: Location.Ref | undefined;
225
+ readonly location?: Location.PublicRef | undefined;
250
226
  };
251
227
  export type SessionImportOutput = Session.Info;
252
228
  export type SessionImportOperation<E = never> = (input: SessionImportInput) => Effect.Effect<SessionImportOutput, E>;
@@ -277,7 +253,7 @@ export type SessionRemoveOutput = void;
277
253
  export type SessionRemoveOperation<E = never> = (input: SessionRemoveInput) => Effect.Effect<SessionRemoveOutput, E>;
278
254
  export type SessionForkInput = {
279
255
  readonly sessionID: Session.ID;
280
- readonly boundary: Session.ForkRequestBoundary;
256
+ readonly before?: SessionMessage.ID | undefined;
281
257
  };
282
258
  export type SessionForkOutput = Session.Info;
283
259
  export type SessionForkOperation<E = never> = (input: SessionForkInput) => Effect.Effect<SessionForkOutput, E>;
@@ -293,16 +269,16 @@ export type SessionSwitchModelInput = {
293
269
  };
294
270
  export type SessionSwitchModelOutput = void;
295
271
  export type SessionSwitchModelOperation<E = never> = (input: SessionSwitchModelInput) => Effect.Effect<SessionSwitchModelOutput, E>;
296
- export type SessionRenameInput = {
272
+ export type SessionUpdateInput = {
297
273
  readonly sessionID: Session.ID;
298
- readonly title: string;
274
+ readonly title?: string | undefined;
275
+ readonly permissions?: Permission.Ruleset | undefined;
299
276
  };
300
- export type SessionRenameOutput = void;
301
- export type SessionRenameOperation<E = never> = (input: SessionRenameInput) => Effect.Effect<SessionRenameOutput, E>;
277
+ export type SessionUpdateOutput = void;
278
+ export type SessionUpdateOperation<E = never> = (input: SessionUpdateInput) => Effect.Effect<SessionUpdateOutput, E>;
302
279
  export type SessionMoveInput = {
303
280
  readonly sessionID: Session.ID;
304
281
  readonly directory: AbsolutePath;
305
- readonly workspaceID?: Workspace.ID | undefined;
306
282
  readonly delivery?: SessionInbox.Delivery | undefined;
307
283
  };
308
284
  export type SessionMoveOutput = void;
@@ -324,7 +300,7 @@ export type SessionPromptOutput = SessionInbox.User;
324
300
  export type SessionPromptOperation<E = never> = (input: SessionPromptInput) => Effect.Effect<SessionPromptOutput, E>;
325
301
  export type SessionCommandInput = {
326
302
  readonly sessionID: Session.ID;
327
- readonly command: string;
303
+ readonly name: string;
328
304
  readonly text: string;
329
305
  readonly files?: ReadonlyArray<PromptInput.FileAttachment> | undefined;
330
306
  readonly agents?: ReadonlyArray<AgentAttachment> | undefined;
@@ -335,8 +311,7 @@ export type SessionCommandOutput = void;
335
311
  export type SessionCommandOperation<E = never> = (input: SessionCommandInput) => Effect.Effect<SessionCommandOutput, E>;
336
312
  export type SessionSkillInput = {
337
313
  readonly sessionID: Session.ID;
338
- readonly id?: SessionMessage.ID | undefined;
339
- readonly skill: Skill.ID;
314
+ readonly id: Skill.ID;
340
315
  readonly resume?: boolean | undefined;
341
316
  };
342
317
  export type SessionSkillOutput = void;
@@ -356,7 +331,7 @@ export type SessionSyntheticOutput = SessionInbox.Synthetic;
356
331
  export type SessionSyntheticOperation<E = never> = (input: SessionSyntheticInput) => Effect.Effect<SessionSyntheticOutput, E>;
357
332
  export type SessionShellInput = {
358
333
  readonly sessionID: Session.ID;
359
- readonly id?: Event.ID | undefined;
334
+ readonly id?: SessionMessage.ID | undefined;
360
335
  readonly command: string;
361
336
  };
362
337
  export type SessionShellOutput = void;
@@ -414,18 +389,13 @@ export type SessionInboxCancelInput = {
414
389
  };
415
390
  export type SessionInboxCancelOutput = void;
416
391
  export type SessionInboxCancelOperation<E = never> = (input: SessionInboxCancelInput) => Effect.Effect<SessionInboxCancelOutput, E>;
417
- export type SessionInboxSteerInput = {
418
- readonly sessionID: Session.ID;
419
- readonly inboxID: SessionMessage.ID;
420
- };
421
- export type SessionInboxSteerOutput = void;
422
- export type SessionInboxSteerOperation<E = never> = (input: SessionInboxSteerInput) => Effect.Effect<SessionInboxSteerOutput, E>;
423
- export type SessionInboxQueueInput = {
392
+ export type SessionInboxUpdateInput = {
424
393
  readonly sessionID: Session.ID;
425
394
  readonly inboxID: SessionMessage.ID;
395
+ readonly delivery: SessionInbox.Delivery;
426
396
  };
427
- export type SessionInboxQueueOutput = void;
428
- export type SessionInboxQueueOperation<E = never> = (input: SessionInboxQueueInput) => Effect.Effect<SessionInboxQueueOutput, E>;
397
+ export type SessionInboxUpdateOutput = void;
398
+ export type SessionInboxUpdateOperation<E = never> = (input: SessionInboxUpdateInput) => Effect.Effect<SessionInboxUpdateOutput, E>;
429
399
  export type SessionInstructionsEntryListInput = {
430
400
  readonly sessionID: Session.ID;
431
401
  };
@@ -469,11 +439,17 @@ export type SessionLogOutput = ({
469
439
  readonly seq: Event.Seq;
470
440
  readonly version: Event.Version;
471
441
  };
472
- readonly location?: Location.Ref | undefined;
442
+ readonly location?: {
443
+ readonly directory: AbsolutePath;
444
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
445
+ } | undefined;
473
446
  readonly data: {
474
447
  readonly sessionID: Session.ID;
475
448
  readonly projectID: Project.ID;
476
- readonly location: Location.Ref;
449
+ readonly location: {
450
+ readonly directory: AbsolutePath;
451
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
452
+ };
477
453
  readonly subpath?: RelativePath | undefined;
478
454
  readonly parentID?: Session.ID | undefined;
479
455
  readonly slug: string;
@@ -496,7 +472,10 @@ export type SessionLogOutput = ({
496
472
  readonly seq: Event.Seq;
497
473
  readonly version: Event.Version;
498
474
  };
499
- readonly location?: Location.Ref | undefined;
475
+ readonly location?: {
476
+ readonly directory: AbsolutePath;
477
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
478
+ } | undefined;
500
479
  readonly data: {
501
480
  readonly sessionID: Session.ID;
502
481
  readonly agent: Agent.ID;
@@ -514,7 +493,10 @@ export type SessionLogOutput = ({
514
493
  readonly seq: Event.Seq;
515
494
  readonly version: Event.Version;
516
495
  };
517
- readonly location?: Location.Ref | undefined;
496
+ readonly location?: {
497
+ readonly directory: AbsolutePath;
498
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
499
+ } | undefined;
518
500
  readonly data: {
519
501
  readonly sessionID: Session.ID;
520
502
  readonly model: Model.Ref;
@@ -532,10 +514,16 @@ export type SessionLogOutput = ({
532
514
  readonly seq: Event.Seq;
533
515
  readonly version: Event.Version;
534
516
  };
535
- readonly location?: Location.Ref | undefined;
517
+ readonly location?: {
518
+ readonly directory: AbsolutePath;
519
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
520
+ } | undefined;
536
521
  readonly data: {
537
522
  readonly sessionID: Session.ID;
538
- readonly location: Location.Ref;
523
+ readonly location: {
524
+ readonly directory: AbsolutePath;
525
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
526
+ };
539
527
  readonly projectID: Project.ID;
540
528
  readonly subpath?: RelativePath | undefined;
541
529
  };
@@ -551,7 +539,10 @@ export type SessionLogOutput = ({
551
539
  readonly seq: Event.Seq;
552
540
  readonly version: Event.Version;
553
541
  };
554
- readonly location?: Location.Ref | undefined;
542
+ readonly location?: {
543
+ readonly directory: AbsolutePath;
544
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
545
+ } | undefined;
555
546
  readonly data: {
556
547
  readonly sessionID: Session.ID;
557
548
  readonly title: string;
@@ -562,13 +553,16 @@ export type SessionLogOutput = ({
562
553
  readonly metadata?: {
563
554
  readonly [x: string]: unknown;
564
555
  } | undefined;
565
- readonly type: "session.permissions.updated";
556
+ readonly type: "session.permissions";
566
557
  readonly durable: {
567
558
  readonly aggregateID: string;
568
559
  readonly seq: Event.Seq;
569
560
  readonly version: Event.Version;
570
561
  };
571
- readonly location?: Location.Ref | undefined;
562
+ readonly location?: {
563
+ readonly directory: AbsolutePath;
564
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
565
+ } | undefined;
572
566
  readonly data: {
573
567
  readonly sessionID: Session.ID;
574
568
  readonly permissions: Permission.Ruleset;
@@ -585,7 +579,10 @@ export type SessionLogOutput = ({
585
579
  readonly seq: Event.Seq;
586
580
  readonly version: Event.Version;
587
581
  };
588
- readonly location?: Location.Ref | undefined;
582
+ readonly location?: {
583
+ readonly directory: AbsolutePath;
584
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
585
+ } | undefined;
589
586
  readonly data: {
590
587
  readonly sessionID: Session.ID;
591
588
  readonly idle: number;
@@ -602,7 +599,10 @@ export type SessionLogOutput = ({
602
599
  readonly seq: Event.Seq;
603
600
  readonly version: Event.Version;
604
601
  };
605
- readonly location?: Location.Ref | undefined;
602
+ readonly location?: {
603
+ readonly directory: AbsolutePath;
604
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
605
+ } | undefined;
606
606
  readonly data: {
607
607
  readonly sessionID: Session.ID;
608
608
  };
@@ -618,7 +618,10 @@ export type SessionLogOutput = ({
618
618
  readonly seq: Event.Seq;
619
619
  readonly version: Event.Version;
620
620
  };
621
- readonly location?: Location.Ref | undefined;
621
+ readonly location?: {
622
+ readonly directory: AbsolutePath;
623
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
624
+ } | undefined;
622
625
  readonly data: {
623
626
  readonly sessionID: Session.ID;
624
627
  readonly parentID: Session.ID;
@@ -640,7 +643,10 @@ export type SessionLogOutput = ({
640
643
  readonly seq: Event.Seq;
641
644
  readonly version: Event.Version;
642
645
  };
643
- readonly location?: Location.Ref | undefined;
646
+ readonly location?: {
647
+ readonly directory: AbsolutePath;
648
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
649
+ } | undefined;
644
650
  readonly data: {
645
651
  readonly sessionID: Session.ID;
646
652
  readonly inboxID: SessionMessage.ID;
@@ -657,7 +663,10 @@ export type SessionLogOutput = ({
657
663
  readonly seq: Event.Seq;
658
664
  readonly version: Event.Version;
659
665
  };
660
- readonly location?: Location.Ref | undefined;
666
+ readonly location?: {
667
+ readonly directory: AbsolutePath;
668
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
669
+ } | undefined;
661
670
  readonly data: {
662
671
  readonly sessionID: Session.ID;
663
672
  readonly inboxID: SessionMessage.ID;
@@ -675,7 +684,10 @@ export type SessionLogOutput = ({
675
684
  readonly seq: Event.Seq;
676
685
  readonly version: Event.Version;
677
686
  };
678
- readonly location?: Location.Ref | undefined;
687
+ readonly location?: {
688
+ readonly directory: AbsolutePath;
689
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
690
+ } | undefined;
679
691
  readonly data: {
680
692
  readonly sessionID: Session.ID;
681
693
  readonly inboxID: SessionMessage.ID;
@@ -692,7 +704,10 @@ export type SessionLogOutput = ({
692
704
  readonly seq: Event.Seq;
693
705
  readonly version: Event.Version;
694
706
  };
695
- readonly location?: Location.Ref | undefined;
707
+ readonly location?: {
708
+ readonly directory: AbsolutePath;
709
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
710
+ } | undefined;
696
711
  readonly data: {
697
712
  readonly sessionID: Session.ID;
698
713
  readonly inboxID: SessionMessage.ID;
@@ -710,7 +725,10 @@ export type SessionLogOutput = ({
710
725
  readonly seq: Event.Seq;
711
726
  readonly version: Event.Version;
712
727
  };
713
- readonly location?: Location.Ref | undefined;
728
+ readonly location?: {
729
+ readonly directory: AbsolutePath;
730
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
731
+ } | undefined;
714
732
  readonly data: {
715
733
  readonly sessionID: Session.ID;
716
734
  };
@@ -726,7 +744,10 @@ export type SessionLogOutput = ({
726
744
  readonly seq: Event.Seq;
727
745
  readonly version: Event.Version;
728
746
  };
729
- readonly location?: Location.Ref | undefined;
747
+ readonly location?: {
748
+ readonly directory: AbsolutePath;
749
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
750
+ } | undefined;
730
751
  readonly data: {
731
752
  readonly sessionID: Session.ID;
732
753
  };
@@ -742,7 +763,10 @@ export type SessionLogOutput = ({
742
763
  readonly seq: Event.Seq;
743
764
  readonly version: Event.Version;
744
765
  };
745
- readonly location?: Location.Ref | undefined;
766
+ readonly location?: {
767
+ readonly directory: AbsolutePath;
768
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
769
+ } | undefined;
746
770
  readonly data: {
747
771
  readonly sessionID: Session.ID;
748
772
  readonly error: {
@@ -763,7 +787,10 @@ export type SessionLogOutput = ({
763
787
  readonly seq: Event.Seq;
764
788
  readonly version: Event.Version;
765
789
  };
766
- readonly location?: Location.Ref | undefined;
790
+ readonly location?: {
791
+ readonly directory: AbsolutePath;
792
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
793
+ } | undefined;
767
794
  readonly data: {
768
795
  readonly sessionID: Session.ID;
769
796
  readonly reason: "user" | "shutdown" | "superseded" | "inactivity";
@@ -780,7 +807,10 @@ export type SessionLogOutput = ({
780
807
  readonly seq: Event.Seq;
781
808
  readonly version: Event.Version;
782
809
  };
783
- readonly location?: Location.Ref | undefined;
810
+ readonly location?: {
811
+ readonly directory: AbsolutePath;
812
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
813
+ } | undefined;
784
814
  readonly data: {
785
815
  readonly sessionID: Session.ID;
786
816
  readonly delta: {
@@ -800,7 +830,10 @@ export type SessionLogOutput = ({
800
830
  readonly seq: Event.Seq;
801
831
  readonly version: Event.Version;
802
832
  };
803
- readonly location?: Location.Ref | undefined;
833
+ readonly location?: {
834
+ readonly directory: AbsolutePath;
835
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
836
+ } | undefined;
804
837
  readonly data: {
805
838
  readonly sessionID: Session.ID;
806
839
  readonly text: string;
@@ -821,7 +854,10 @@ export type SessionLogOutput = ({
821
854
  readonly seq: Event.Seq;
822
855
  readonly version: Event.Version;
823
856
  };
824
- readonly location?: Location.Ref | undefined;
857
+ readonly location?: {
858
+ readonly directory: AbsolutePath;
859
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
860
+ } | undefined;
825
861
  readonly data: {
826
862
  readonly sessionID: Session.ID;
827
863
  readonly id: Skill.ID;
@@ -840,7 +876,10 @@ export type SessionLogOutput = ({
840
876
  readonly seq: Event.Seq;
841
877
  readonly version: Event.Version;
842
878
  };
843
- readonly location?: Location.Ref | undefined;
879
+ readonly location?: {
880
+ readonly directory: AbsolutePath;
881
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
882
+ } | undefined;
844
883
  readonly data: {
845
884
  readonly sessionID: Session.ID;
846
885
  readonly shell: Shell.Info;
@@ -857,7 +896,10 @@ export type SessionLogOutput = ({
857
896
  readonly seq: Event.Seq;
858
897
  readonly version: Event.Version;
859
898
  };
860
- readonly location?: Location.Ref | undefined;
899
+ readonly location?: {
900
+ readonly directory: AbsolutePath;
901
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
902
+ } | undefined;
861
903
  readonly data: {
862
904
  readonly sessionID: Session.ID;
863
905
  readonly shell: Shell.Info;
@@ -880,7 +922,10 @@ export type SessionLogOutput = ({
880
922
  readonly seq: Event.Seq;
881
923
  readonly version: Event.Version;
882
924
  };
883
- readonly location?: Location.Ref | undefined;
925
+ readonly location?: {
926
+ readonly directory: AbsolutePath;
927
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
928
+ } | undefined;
884
929
  readonly data: {
885
930
  readonly sessionID: Session.ID;
886
931
  readonly assistantMessageID: SessionMessage.ID;
@@ -900,7 +945,10 @@ export type SessionLogOutput = ({
900
945
  readonly seq: Event.Seq;
901
946
  readonly version: Event.Version;
902
947
  };
903
- readonly location?: Location.Ref | undefined;
948
+ readonly location?: {
949
+ readonly directory: AbsolutePath;
950
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
951
+ } | undefined;
904
952
  readonly data: {
905
953
  readonly sessionID: Session.ID;
906
954
  readonly assistantMessageID: SessionMessage.ID;
@@ -917,7 +965,10 @@ export type SessionLogOutput = ({
917
965
  readonly seq: Event.Seq;
918
966
  readonly version: Event.Version;
919
967
  };
920
- readonly location?: Location.Ref | undefined;
968
+ readonly location?: {
969
+ readonly directory: AbsolutePath;
970
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
971
+ } | undefined;
921
972
  readonly data: {
922
973
  readonly sessionID: Session.ID;
923
974
  readonly assistantMessageID: SessionMessage.ID;
@@ -949,7 +1000,10 @@ export type SessionLogOutput = ({
949
1000
  readonly seq: Event.Seq;
950
1001
  readonly version: Event.Version;
951
1002
  };
952
- readonly location?: Location.Ref | undefined;
1003
+ readonly location?: {
1004
+ readonly directory: AbsolutePath;
1005
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1006
+ } | undefined;
953
1007
  readonly data: {
954
1008
  readonly sessionID: Session.ID;
955
1009
  readonly assistantMessageID: SessionMessage.ID;
@@ -986,7 +1040,10 @@ export type SessionLogOutput = ({
986
1040
  readonly seq: Event.Seq;
987
1041
  readonly version: Event.Version;
988
1042
  };
989
- readonly location?: Location.Ref | undefined;
1043
+ readonly location?: {
1044
+ readonly directory: AbsolutePath;
1045
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1046
+ } | undefined;
990
1047
  readonly data: {
991
1048
  readonly sessionID: Session.ID;
992
1049
  readonly assistantMessageID: SessionMessage.ID;
@@ -1004,7 +1061,10 @@ export type SessionLogOutput = ({
1004
1061
  readonly seq: Event.Seq;
1005
1062
  readonly version: Event.Version;
1006
1063
  };
1007
- readonly location?: Location.Ref | undefined;
1064
+ readonly location?: {
1065
+ readonly directory: AbsolutePath;
1066
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1067
+ } | undefined;
1008
1068
  readonly data: {
1009
1069
  readonly sessionID: Session.ID;
1010
1070
  readonly assistantMessageID: SessionMessage.ID;
@@ -1024,7 +1084,10 @@ export type SessionLogOutput = ({
1024
1084
  readonly seq: Event.Seq;
1025
1085
  readonly version: Event.Version;
1026
1086
  };
1027
- readonly location?: Location.Ref | undefined;
1087
+ readonly location?: {
1088
+ readonly directory: AbsolutePath;
1089
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1090
+ } | undefined;
1028
1091
  readonly data: {
1029
1092
  readonly sessionID: Session.ID;
1030
1093
  readonly assistantMessageID: SessionMessage.ID;
@@ -1043,7 +1106,10 @@ export type SessionLogOutput = ({
1043
1106
  readonly seq: Event.Seq;
1044
1107
  readonly version: Event.Version;
1045
1108
  };
1046
- readonly location?: Location.Ref | undefined;
1109
+ readonly location?: {
1110
+ readonly directory: AbsolutePath;
1111
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1112
+ } | undefined;
1047
1113
  readonly data: {
1048
1114
  readonly sessionID: Session.ID;
1049
1115
  readonly assistantMessageID: SessionMessage.ID;
@@ -1063,7 +1129,10 @@ export type SessionLogOutput = ({
1063
1129
  readonly seq: Event.Seq;
1064
1130
  readonly version: Event.Version;
1065
1131
  };
1066
- readonly location?: Location.Ref | undefined;
1132
+ readonly location?: {
1133
+ readonly directory: AbsolutePath;
1134
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1135
+ } | undefined;
1067
1136
  readonly data: {
1068
1137
  readonly sessionID: Session.ID;
1069
1138
  readonly assistantMessageID: SessionMessage.ID;
@@ -1082,7 +1151,10 @@ export type SessionLogOutput = ({
1082
1151
  readonly seq: Event.Seq;
1083
1152
  readonly version: Event.Version;
1084
1153
  };
1085
- readonly location?: Location.Ref | undefined;
1154
+ readonly location?: {
1155
+ readonly directory: AbsolutePath;
1156
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1157
+ } | undefined;
1086
1158
  readonly data: {
1087
1159
  readonly sessionID: Session.ID;
1088
1160
  readonly assistantMessageID: SessionMessage.ID;
@@ -1101,7 +1173,10 @@ export type SessionLogOutput = ({
1101
1173
  readonly seq: Event.Seq;
1102
1174
  readonly version: Event.Version;
1103
1175
  };
1104
- readonly location?: Location.Ref | undefined;
1176
+ readonly location?: {
1177
+ readonly directory: AbsolutePath;
1178
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1179
+ } | undefined;
1105
1180
  readonly data: {
1106
1181
  readonly sessionID: Session.ID;
1107
1182
  readonly assistantMessageID: SessionMessage.ID;
@@ -1124,7 +1199,10 @@ export type SessionLogOutput = ({
1124
1199
  readonly seq: Event.Seq;
1125
1200
  readonly version: Event.Version;
1126
1201
  };
1127
- readonly location?: Location.Ref | undefined;
1202
+ readonly location?: {
1203
+ readonly directory: AbsolutePath;
1204
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1205
+ } | undefined;
1128
1206
  readonly data: {
1129
1207
  readonly sessionID: Session.ID;
1130
1208
  readonly assistantMessageID: SessionMessage.ID;
@@ -1167,7 +1245,10 @@ export type SessionLogOutput = ({
1167
1245
  readonly seq: Event.Seq;
1168
1246
  readonly version: Event.Version;
1169
1247
  };
1170
- readonly location?: Location.Ref | undefined;
1248
+ readonly location?: {
1249
+ readonly directory: AbsolutePath;
1250
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1251
+ } | undefined;
1171
1252
  readonly data: {
1172
1253
  readonly sessionID: Session.ID;
1173
1254
  readonly assistantMessageID: SessionMessage.ID;
@@ -1215,7 +1296,10 @@ export type SessionLogOutput = ({
1215
1296
  readonly seq: Event.Seq;
1216
1297
  readonly version: Event.Version;
1217
1298
  };
1218
- readonly location?: Location.Ref | undefined;
1299
+ readonly location?: {
1300
+ readonly directory: AbsolutePath;
1301
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1302
+ } | undefined;
1219
1303
  readonly data: {
1220
1304
  readonly sessionID: Session.ID;
1221
1305
  readonly assistantMessageID: SessionMessage.ID;
@@ -1239,7 +1323,10 @@ export type SessionLogOutput = ({
1239
1323
  readonly seq: Event.Seq;
1240
1324
  readonly version: Event.Version;
1241
1325
  };
1242
- readonly location?: Location.Ref | undefined;
1326
+ readonly location?: {
1327
+ readonly directory: AbsolutePath;
1328
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1329
+ } | undefined;
1243
1330
  readonly data: {
1244
1331
  readonly sessionID: Session.ID;
1245
1332
  readonly reason: "auto" | "manual";
@@ -1258,7 +1345,10 @@ export type SessionLogOutput = ({
1258
1345
  readonly seq: Event.Seq;
1259
1346
  readonly version: Event.Version;
1260
1347
  };
1261
- readonly location?: Location.Ref | undefined;
1348
+ readonly location?: {
1349
+ readonly directory: AbsolutePath;
1350
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1351
+ } | undefined;
1262
1352
  readonly data: {
1263
1353
  readonly sessionID: Session.ID;
1264
1354
  readonly reason: "auto" | "manual";
@@ -1301,7 +1391,10 @@ export type SessionLogOutput = ({
1301
1391
  readonly seq: Event.Seq;
1302
1392
  readonly version: Event.Version;
1303
1393
  };
1304
- readonly location?: Location.Ref | undefined;
1394
+ readonly location?: {
1395
+ readonly directory: AbsolutePath;
1396
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1397
+ } | undefined;
1305
1398
  readonly data: {
1306
1399
  readonly sessionID: Session.ID;
1307
1400
  readonly reason: "auto" | "manual";
@@ -1334,7 +1427,10 @@ export type SessionLogOutput = ({
1334
1427
  readonly seq: Event.Seq;
1335
1428
  readonly version: Event.Version;
1336
1429
  };
1337
- readonly location?: Location.Ref | undefined;
1430
+ readonly location?: {
1431
+ readonly directory: AbsolutePath;
1432
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1433
+ } | undefined;
1338
1434
  readonly data: {
1339
1435
  readonly sessionID: Session.ID;
1340
1436
  readonly revert: Session.Revert;
@@ -1351,7 +1447,10 @@ export type SessionLogOutput = ({
1351
1447
  readonly seq: Event.Seq;
1352
1448
  readonly version: Event.Version;
1353
1449
  };
1354
- readonly location?: Location.Ref | undefined;
1450
+ readonly location?: {
1451
+ readonly directory: AbsolutePath;
1452
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1453
+ } | undefined;
1355
1454
  readonly data: {
1356
1455
  readonly sessionID: Session.ID;
1357
1456
  };
@@ -1367,7 +1466,10 @@ export type SessionLogOutput = ({
1367
1466
  readonly seq: Event.Seq;
1368
1467
  readonly version: Event.Version;
1369
1468
  };
1370
- readonly location?: Location.Ref | undefined;
1469
+ readonly location?: {
1470
+ readonly directory: AbsolutePath;
1471
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1472
+ } | undefined;
1371
1473
  readonly data: {
1372
1474
  readonly sessionID: Session.ID;
1373
1475
  readonly to: SessionMessage.ID;
@@ -1384,7 +1486,10 @@ export type SessionLogOutput = ({
1384
1486
  readonly seq: Event.Seq;
1385
1487
  readonly version: Event.Version;
1386
1488
  };
1387
- readonly location?: Location.Ref | undefined;
1489
+ readonly location?: {
1490
+ readonly directory: AbsolutePath;
1491
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1492
+ } | undefined;
1388
1493
  readonly data: {
1389
1494
  readonly sessionID: Session.ID;
1390
1495
  readonly source: "title" | "compaction";
@@ -1411,7 +1516,10 @@ export type SessionLogOutput = ({
1411
1516
  readonly seq: Event.Seq;
1412
1517
  readonly version: Event.Version;
1413
1518
  };
1414
- readonly location?: Location.Ref | undefined;
1519
+ readonly location?: {
1520
+ readonly directory: AbsolutePath;
1521
+ readonly workspaceID?: (string & Brand.Brand<"Workspace.ID">) | undefined;
1522
+ } | undefined;
1415
1523
  readonly data: {
1416
1524
  readonly sessionID: Session.ID;
1417
1525
  readonly messageID: SessionMessage.ID;
@@ -1421,7 +1529,7 @@ export type SessionLogOutput = ({
1421
1529
  export type SessionLogOperation<E = never> = (input: SessionLogInput) => Stream.Stream<SessionLogOutput, E>;
1422
1530
  export type SessionInterruptInput = {
1423
1531
  readonly sessionID: Session.ID;
1424
- readonly continue?: boolean | undefined;
1532
+ readonly resume?: boolean | undefined;
1425
1533
  };
1426
1534
  export type SessionInterruptOutput = {
1427
1535
  readonly interrupted: boolean;
@@ -1432,12 +1540,45 @@ export type SessionBackgroundInput = {
1432
1540
  };
1433
1541
  export type SessionBackgroundOutput = void;
1434
1542
  export type SessionBackgroundOperation<E = never> = (input: SessionBackgroundInput) => Effect.Effect<SessionBackgroundOutput, E>;
1435
- export type SessionMessageInput = {
1543
+ export type SessionMessageGetInput = {
1436
1544
  readonly sessionID: Session.ID;
1437
1545
  readonly messageID: SessionMessage.ID;
1438
1546
  };
1439
- export type SessionMessageOutput = SessionMessage.Info;
1440
- export type SessionMessageOperation<E = never> = (input: SessionMessageInput) => Effect.Effect<SessionMessageOutput, E>;
1547
+ export type SessionMessageGetOutput = SessionMessage.Info;
1548
+ export type SessionMessageGetOperation<E = never> = (input: SessionMessageGetInput) => Effect.Effect<SessionMessageGetOutput, E>;
1549
+ export type SessionFormListInput = {
1550
+ readonly sessionID: string;
1551
+ };
1552
+ export type SessionFormListOutput = ReadonlyArray<Form.Info>;
1553
+ export type SessionFormListOperation<E = never> = (input: SessionFormListInput) => Effect.Effect<SessionFormListOutput, E>;
1554
+ export type SessionFormCreateInput = {
1555
+ readonly sessionID: string;
1556
+ readonly id?: Form.ID | undefined;
1557
+ readonly title: string;
1558
+ readonly metadata?: Form.Metadata | undefined;
1559
+ readonly fields: Form.Fields;
1560
+ };
1561
+ export type SessionFormCreateOutput = Form.Info;
1562
+ export type SessionFormCreateOperation<E = never> = (input: SessionFormCreateInput) => Effect.Effect<SessionFormCreateOutput, E>;
1563
+ export type SessionFormGetInput = {
1564
+ readonly sessionID: string;
1565
+ readonly formID: Form.ID;
1566
+ };
1567
+ export type SessionFormGetOutput = Form.Detail;
1568
+ export type SessionFormGetOperation<E = never> = (input: SessionFormGetInput) => Effect.Effect<SessionFormGetOutput, E>;
1569
+ export type SessionFormReplyInput = {
1570
+ readonly sessionID: string;
1571
+ readonly formID: Form.ID;
1572
+ readonly answer: Form.Answer;
1573
+ };
1574
+ export type SessionFormReplyOutput = void;
1575
+ export type SessionFormReplyOperation<E = never> = (input: SessionFormReplyInput) => Effect.Effect<SessionFormReplyOutput, E>;
1576
+ export type SessionFormCancelInput = {
1577
+ readonly sessionID: string;
1578
+ readonly formID: Form.ID;
1579
+ };
1580
+ export type SessionFormCancelOutput = void;
1581
+ export type SessionFormCancelOperation<E = never> = (input: SessionFormCancelInput) => Effect.Effect<SessionFormCancelOutput, E>;
1441
1582
  export type SessionEnvironmentInput = {
1442
1583
  readonly sessionID: Session.ID;
1443
1584
  readonly variables: {
@@ -1448,7 +1589,7 @@ export type SessionEnvironmentOutput = void;
1448
1589
  export type SessionEnvironmentOperation<E = never> = (input: SessionEnvironmentInput) => Effect.Effect<SessionEnvironmentOutput, E>;
1449
1590
  export type SessionViewInput = {
1450
1591
  readonly sessionID: Session.ID;
1451
- readonly idle: number;
1592
+ readonly idle: DateTime.Utc;
1452
1593
  };
1453
1594
  export type SessionViewOutput = void;
1454
1595
  export type SessionViewOperation<E = never> = (input: SessionViewInput) => Effect.Effect<SessionViewOutput, E>;
@@ -1464,7 +1605,7 @@ export interface SessionApi<E = never> {
1464
1605
  readonly fork: SessionForkOperation<E>;
1465
1606
  readonly switchAgent: SessionSwitchAgentOperation<E>;
1466
1607
  readonly switchModel: SessionSwitchModelOperation<E>;
1467
- readonly rename: SessionRenameOperation<E>;
1608
+ readonly update: SessionUpdateOperation<E>;
1468
1609
  readonly move: SessionMoveOperation<E>;
1469
1610
  readonly prompt: SessionPromptOperation<E>;
1470
1611
  readonly command: SessionCommandOperation<E>;
@@ -1483,8 +1624,7 @@ export interface SessionApi<E = never> {
1483
1624
  readonly inbox: {
1484
1625
  readonly list: SessionInboxListOperation<E>;
1485
1626
  readonly cancel: SessionInboxCancelOperation<E>;
1486
- readonly steer: SessionInboxSteerOperation<E>;
1487
- readonly queue: SessionInboxQueueOperation<E>;
1627
+ readonly update: SessionInboxUpdateOperation<E>;
1488
1628
  };
1489
1629
  readonly instructions: {
1490
1630
  readonly entry: {
@@ -1497,7 +1637,16 @@ export interface SessionApi<E = never> {
1497
1637
  readonly log: SessionLogOperation<E>;
1498
1638
  readonly interrupt: SessionInterruptOperation<E>;
1499
1639
  readonly background: SessionBackgroundOperation<E>;
1500
- readonly message: SessionMessageOperation<E>;
1640
+ readonly message: {
1641
+ readonly get: SessionMessageGetOperation<E>;
1642
+ };
1643
+ readonly form: {
1644
+ readonly list: SessionFormListOperation<E>;
1645
+ readonly create: SessionFormCreateOperation<E>;
1646
+ readonly get: SessionFormGetOperation<E>;
1647
+ readonly reply: SessionFormReplyOperation<E>;
1648
+ readonly cancel: SessionFormCancelOperation<E>;
1649
+ };
1501
1650
  readonly environment: SessionEnvironmentOperation<E>;
1502
1651
  readonly view: SessionViewOperation<E>;
1503
1652
  }
@@ -1522,22 +1671,20 @@ export interface MessageApi<E = never> {
1522
1671
  export type ModelListInput = {
1523
1672
  readonly location?: {
1524
1673
  readonly directory?: string | undefined;
1525
- readonly workspace?: string | undefined;
1526
1674
  } | undefined;
1527
1675
  };
1528
1676
  export type ModelListOutput = {
1529
- readonly location: Location.Info;
1677
+ readonly location: Location.PublicRef;
1530
1678
  readonly data: ReadonlyArray<Model.Info>;
1531
1679
  };
1532
1680
  export type ModelListOperation<E = never> = (input?: ModelListInput) => Effect.Effect<ModelListOutput, E>;
1533
1681
  export type ModelDefaultInput = {
1534
1682
  readonly location?: {
1535
1683
  readonly directory?: string | undefined;
1536
- readonly workspace?: string | undefined;
1537
1684
  } | undefined;
1538
1685
  };
1539
1686
  export type ModelDefaultOutput = {
1540
- readonly location: Location.Info;
1687
+ readonly location: Location.PublicRef;
1541
1688
  readonly data: Model.Info | undefined;
1542
1689
  };
1543
1690
  export type ModelDefaultOperation<E = never> = (input?: ModelDefaultInput) => Effect.Effect<ModelDefaultOutput, E>;
@@ -1559,11 +1706,10 @@ export interface GenerateApi<E = never> {
1559
1706
  export type ProviderListInput = {
1560
1707
  readonly location?: {
1561
1708
  readonly directory?: string | undefined;
1562
- readonly workspace?: string | undefined;
1563
1709
  } | undefined;
1564
1710
  };
1565
1711
  export type ProviderListOutput = {
1566
- readonly location: Location.Info;
1712
+ readonly location: Location.PublicRef;
1567
1713
  readonly data: ReadonlyArray<Provider.Info>;
1568
1714
  };
1569
1715
  export type ProviderListOperation<E = never> = (input?: ProviderListInput) => Effect.Effect<ProviderListOutput, E>;
@@ -1571,11 +1717,10 @@ export type ProviderGetInput = {
1571
1717
  readonly providerID: Provider.ID;
1572
1718
  readonly location?: {
1573
1719
  readonly directory?: string | undefined;
1574
- readonly workspace?: string | undefined;
1575
1720
  } | undefined;
1576
1721
  };
1577
1722
  export type ProviderGetOutput = {
1578
- readonly location: Location.Info;
1723
+ readonly location: Location.PublicRef;
1579
1724
  readonly data: Provider.Info;
1580
1725
  };
1581
1726
  export type ProviderGetOperation<E = never> = (input: ProviderGetInput) => Effect.Effect<ProviderGetOutput, E>;
@@ -1586,11 +1731,10 @@ export interface ProviderApi<E = never> {
1586
1731
  export type IntegrationListInput = {
1587
1732
  readonly location?: {
1588
1733
  readonly directory?: string | undefined;
1589
- readonly workspace?: string | undefined;
1590
1734
  } | undefined;
1591
1735
  };
1592
1736
  export type IntegrationListOutput = {
1593
- readonly location: Location.Info;
1737
+ readonly location: Location.PublicRef;
1594
1738
  readonly data: ReadonlyArray<Integration.Info>;
1595
1739
  };
1596
1740
  export type IntegrationListOperation<E = never> = (input?: IntegrationListInput) => Effect.Effect<IntegrationListOutput, E>;
@@ -1598,18 +1742,16 @@ export type IntegrationGetInput = {
1598
1742
  readonly integrationID: Integration.ID;
1599
1743
  readonly location?: {
1600
1744
  readonly directory?: string | undefined;
1601
- readonly workspace?: string | undefined;
1602
1745
  } | undefined;
1603
1746
  };
1604
1747
  export type IntegrationGetOutput = {
1605
- readonly location: Location.Info;
1606
- readonly data: Integration.Info | undefined;
1748
+ readonly location: Location.PublicRef;
1749
+ readonly data: Integration.Info;
1607
1750
  };
1608
1751
  export type IntegrationGetOperation<E = never> = (input: IntegrationGetInput) => Effect.Effect<IntegrationGetOutput, E>;
1609
1752
  export type IntegrationWellknownAddInput = {
1610
1753
  readonly location?: {
1611
1754
  readonly directory?: string | undefined;
1612
- readonly workspace?: string | undefined;
1613
1755
  } | undefined;
1614
1756
  readonly url: string;
1615
1757
  };
@@ -1619,7 +1761,6 @@ export type IntegrationConnectKeyInput = {
1619
1761
  readonly integrationID: Integration.ID;
1620
1762
  readonly location?: {
1621
1763
  readonly directory?: string | undefined;
1622
- readonly workspace?: string | undefined;
1623
1764
  } | undefined;
1624
1765
  readonly key: string;
1625
1766
  readonly answer?: Form.Answer | undefined;
@@ -1631,14 +1772,13 @@ export type IntegrationOauthConnectInput = {
1631
1772
  readonly integrationID: Integration.ID;
1632
1773
  readonly location?: {
1633
1774
  readonly directory?: string | undefined;
1634
- readonly workspace?: string | undefined;
1635
1775
  } | undefined;
1636
1776
  readonly methodID: Integration.MethodID;
1637
1777
  readonly answer?: Form.Answer | undefined;
1638
1778
  readonly label?: string | undefined;
1639
1779
  };
1640
1780
  export type IntegrationOauthConnectOutput = {
1641
- readonly location: Location.Info;
1781
+ readonly location: Location.PublicRef;
1642
1782
  readonly data: Integration.Attempt;
1643
1783
  };
1644
1784
  export type IntegrationOauthConnectOperation<E = never> = (input: IntegrationOauthConnectInput) => Effect.Effect<IntegrationOauthConnectOutput, E>;
@@ -1647,11 +1787,10 @@ export type IntegrationOauthStatusInput = {
1647
1787
  readonly attemptID: Integration.AttemptID;
1648
1788
  readonly location?: {
1649
1789
  readonly directory?: string | undefined;
1650
- readonly workspace?: string | undefined;
1651
1790
  } | undefined;
1652
1791
  };
1653
1792
  export type IntegrationOauthStatusOutput = {
1654
- readonly location: Location.Info;
1793
+ readonly location: Location.PublicRef;
1655
1794
  readonly data: Integration.AttemptStatus;
1656
1795
  };
1657
1796
  export type IntegrationOauthStatusOperation<E = never> = (input: IntegrationOauthStatusInput) => Effect.Effect<IntegrationOauthStatusOutput, E>;
@@ -1660,7 +1799,6 @@ export type IntegrationOauthCompleteInput = {
1660
1799
  readonly attemptID: Integration.AttemptID;
1661
1800
  readonly location?: {
1662
1801
  readonly directory?: string | undefined;
1663
- readonly workspace?: string | undefined;
1664
1802
  } | undefined;
1665
1803
  readonly code?: string | undefined;
1666
1804
  };
@@ -1671,7 +1809,6 @@ export type IntegrationOauthCancelInput = {
1671
1809
  readonly attemptID: Integration.AttemptID;
1672
1810
  readonly location?: {
1673
1811
  readonly directory?: string | undefined;
1674
- readonly workspace?: string | undefined;
1675
1812
  } | undefined;
1676
1813
  };
1677
1814
  export type IntegrationOauthCancelOutput = void;
@@ -1680,13 +1817,12 @@ export type IntegrationCommandConnectInput = {
1680
1817
  readonly integrationID: Integration.ID;
1681
1818
  readonly location?: {
1682
1819
  readonly directory?: string | undefined;
1683
- readonly workspace?: string | undefined;
1684
1820
  } | undefined;
1685
1821
  readonly methodID: Integration.MethodID;
1686
1822
  readonly label?: string | undefined;
1687
1823
  };
1688
1824
  export type IntegrationCommandConnectOutput = {
1689
- readonly location: Location.Info;
1825
+ readonly location: Location.PublicRef;
1690
1826
  readonly data: Integration.CommandAttempt;
1691
1827
  };
1692
1828
  export type IntegrationCommandConnectOperation<E = never> = (input: IntegrationCommandConnectInput) => Effect.Effect<IntegrationCommandConnectOutput, E>;
@@ -1695,11 +1831,10 @@ export type IntegrationCommandStatusInput = {
1695
1831
  readonly attemptID: Integration.AttemptID;
1696
1832
  readonly location?: {
1697
1833
  readonly directory?: string | undefined;
1698
- readonly workspace?: string | undefined;
1699
1834
  } | undefined;
1700
1835
  };
1701
1836
  export type IntegrationCommandStatusOutput = {
1702
- readonly location: Location.Info;
1837
+ readonly location: Location.PublicRef;
1703
1838
  readonly data: Integration.CommandAttemptStatus;
1704
1839
  };
1705
1840
  export type IntegrationCommandStatusOperation<E = never> = (input: IntegrationCommandStatusInput) => Effect.Effect<IntegrationCommandStatusOutput, E>;
@@ -1708,7 +1843,6 @@ export type IntegrationCommandCancelInput = {
1708
1843
  readonly attemptID: Integration.AttemptID;
1709
1844
  readonly location?: {
1710
1845
  readonly directory?: string | undefined;
1711
- readonly workspace?: string | undefined;
1712
1846
  } | undefined;
1713
1847
  };
1714
1848
  export type IntegrationCommandCancelOutput = void;
@@ -1737,11 +1871,10 @@ export interface IntegrationApi<E = never> {
1737
1871
  export type McpListInput = {
1738
1872
  readonly location?: {
1739
1873
  readonly directory?: string | undefined;
1740
- readonly workspace?: string | undefined;
1741
1874
  } | undefined;
1742
1875
  };
1743
1876
  export type McpListOutput = {
1744
- readonly location: Location.Info;
1877
+ readonly location: Location.PublicRef;
1745
1878
  readonly data: ReadonlyArray<Mcp.Server>;
1746
1879
  };
1747
1880
  export type McpListOperation<E = never> = (input?: McpListInput) => Effect.Effect<McpListOutput, E>;
@@ -1749,7 +1882,6 @@ export type McpAddInput = {
1749
1882
  readonly server: string;
1750
1883
  readonly location?: {
1751
1884
  readonly directory?: string | undefined;
1752
- readonly workspace?: string | undefined;
1753
1885
  } | undefined;
1754
1886
  readonly config: Mcp.LocalConfig | Mcp.RemoteConfig;
1755
1887
  };
@@ -1759,7 +1891,6 @@ export type McpRemoveInput = {
1759
1891
  readonly server: string;
1760
1892
  readonly location?: {
1761
1893
  readonly directory?: string | undefined;
1762
- readonly workspace?: string | undefined;
1763
1894
  } | undefined;
1764
1895
  };
1765
1896
  export type McpRemoveOutput = void;
@@ -1768,7 +1899,6 @@ export type McpConnectInput = {
1768
1899
  readonly server: string;
1769
1900
  readonly location?: {
1770
1901
  readonly directory?: string | undefined;
1771
- readonly workspace?: string | undefined;
1772
1902
  } | undefined;
1773
1903
  };
1774
1904
  export type McpConnectOutput = void;
@@ -1777,7 +1907,6 @@ export type McpDisconnectInput = {
1777
1907
  readonly server: string;
1778
1908
  readonly location?: {
1779
1909
  readonly directory?: string | undefined;
1780
- readonly workspace?: string | undefined;
1781
1910
  } | undefined;
1782
1911
  };
1783
1912
  export type McpDisconnectOutput = void;
@@ -1785,11 +1914,10 @@ export type McpDisconnectOperation<E = never> = (input: McpDisconnectInput) => E
1785
1914
  export type McpResourceCatalogInput = {
1786
1915
  readonly location?: {
1787
1916
  readonly directory?: string | undefined;
1788
- readonly workspace?: string | undefined;
1789
1917
  } | undefined;
1790
1918
  };
1791
1919
  export type McpResourceCatalogOutput = {
1792
- readonly location: Location.Info;
1920
+ readonly location: Location.PublicRef;
1793
1921
  readonly data: Mcp.ResourceCatalog;
1794
1922
  };
1795
1923
  export type McpResourceCatalogOperation<E = never> = (input?: McpResourceCatalogInput) => Effect.Effect<McpResourceCatalogOutput, E>;
@@ -1805,29 +1933,17 @@ export interface McpApi<E = never> {
1805
1933
  }
1806
1934
  export type CredentialUpdateInput = {
1807
1935
  readonly credentialID: Credential.ID;
1808
- readonly location?: {
1809
- readonly directory?: string | undefined;
1810
- readonly workspace?: string | undefined;
1811
- } | undefined;
1812
1936
  readonly label: string;
1813
1937
  };
1814
1938
  export type CredentialUpdateOutput = void;
1815
1939
  export type CredentialUpdateOperation<E = never> = (input: CredentialUpdateInput) => Effect.Effect<CredentialUpdateOutput, E>;
1816
1940
  export type CredentialActivateInput = {
1817
1941
  readonly credentialID: Credential.ID;
1818
- readonly location?: {
1819
- readonly directory?: string | undefined;
1820
- readonly workspace?: string | undefined;
1821
- } | undefined;
1822
1942
  };
1823
1943
  export type CredentialActivateOutput = void;
1824
1944
  export type CredentialActivateOperation<E = never> = (input: CredentialActivateInput) => Effect.Effect<CredentialActivateOutput, E>;
1825
1945
  export type CredentialRemoveInput = {
1826
1946
  readonly credentialID: Credential.ID;
1827
- readonly location?: {
1828
- readonly directory?: string | undefined;
1829
- readonly workspace?: string | undefined;
1830
- } | undefined;
1831
1947
  };
1832
1948
  export type CredentialRemoveOutput = void;
1833
1949
  export type CredentialRemoveOperation<E = never> = (input: CredentialRemoveInput) => Effect.Effect<CredentialRemoveOutput, E>;
@@ -1847,88 +1963,30 @@ export type ProjectUpdateInput = {
1847
1963
  };
1848
1964
  export type ProjectUpdateOutput = Project.Info;
1849
1965
  export type ProjectUpdateOperation<E = never> = (input: ProjectUpdateInput) => Effect.Effect<ProjectUpdateOutput, E>;
1850
- export type ProjectCurrentInput = {
1851
- readonly location?: {
1852
- readonly directory?: string | undefined;
1853
- readonly workspace?: string | undefined;
1854
- } | undefined;
1855
- };
1856
- export type ProjectCurrentOutput = Project.Current;
1857
- export type ProjectCurrentOperation<E = never> = (input?: ProjectCurrentInput) => Effect.Effect<ProjectCurrentOutput, E>;
1858
1966
  export interface ProjectApi<E = never> {
1859
1967
  readonly list: ProjectListOperation<E>;
1860
1968
  readonly update: ProjectUpdateOperation<E>;
1861
- readonly current: ProjectCurrentOperation<E>;
1862
1969
  }
1863
- export type FormRequestListInput = {
1970
+ export type FormListInput = {
1864
1971
  readonly location?: {
1865
1972
  readonly directory?: string | undefined;
1866
- readonly workspace?: string | undefined;
1867
1973
  } | undefined;
1868
1974
  };
1869
- export type FormRequestListOutput = {
1870
- readonly location: Location.Info;
1975
+ export type FormListOutput = {
1976
+ readonly location: Location.PublicRef;
1871
1977
  readonly data: ReadonlyArray<Form.Info>;
1872
1978
  };
1873
- export type FormRequestListOperation<E = never> = (input?: FormRequestListInput) => Effect.Effect<FormRequestListOutput, E>;
1874
- export type FormListInput = {
1875
- readonly sessionID: string;
1876
- };
1877
- export type FormListOutput = ReadonlyArray<Form.Info>;
1878
- export type FormListOperation<E = never> = (input: FormListInput) => Effect.Effect<FormListOutput, E>;
1879
- export type FormCreateInput = {
1880
- readonly sessionID: string;
1881
- readonly id?: Form.ID | undefined;
1882
- readonly title: string;
1883
- readonly metadata?: Form.Metadata | undefined;
1884
- readonly fields: Form.Fields;
1885
- };
1886
- export type FormCreateOutput = Form.Info;
1887
- export type FormCreateOperation<E = never> = (input: FormCreateInput) => Effect.Effect<FormCreateOutput, E>;
1888
- export type FormGetInput = {
1889
- readonly sessionID: string;
1890
- readonly formID: Form.ID;
1891
- };
1892
- export type FormGetOutput = Form.Info;
1893
- export type FormGetOperation<E = never> = (input: FormGetInput) => Effect.Effect<FormGetOutput, E>;
1894
- export type FormStateInput = {
1895
- readonly sessionID: string;
1896
- readonly formID: Form.ID;
1897
- };
1898
- export type FormStateOutput = Form.State;
1899
- export type FormStateOperation<E = never> = (input: FormStateInput) => Effect.Effect<FormStateOutput, E>;
1900
- export type FormReplyInput = {
1901
- readonly sessionID: string;
1902
- readonly formID: Form.ID;
1903
- readonly answer: Form.Answer;
1904
- };
1905
- export type FormReplyOutput = void;
1906
- export type FormReplyOperation<E = never> = (input: FormReplyInput) => Effect.Effect<FormReplyOutput, E>;
1907
- export type FormCancelInput = {
1908
- readonly sessionID: string;
1909
- readonly formID: Form.ID;
1910
- };
1911
- export type FormCancelOutput = void;
1912
- export type FormCancelOperation<E = never> = (input: FormCancelInput) => Effect.Effect<FormCancelOutput, E>;
1979
+ export type FormListOperation<E = never> = (input?: FormListInput) => Effect.Effect<FormListOutput, E>;
1913
1980
  export interface FormApi<E = never> {
1914
- readonly request: {
1915
- readonly list: FormRequestListOperation<E>;
1916
- };
1917
1981
  readonly list: FormListOperation<E>;
1918
- readonly create: FormCreateOperation<E>;
1919
- readonly get: FormGetOperation<E>;
1920
- readonly state: FormStateOperation<E>;
1921
- readonly reply: FormReplyOperation<E>;
1922
- readonly cancel: FormCancelOperation<E>;
1923
1982
  }
1924
1983
  export type PermissionRequestListInput = {
1925
1984
  readonly location?: {
1926
1985
  readonly directory?: string | undefined;
1927
- readonly workspace?: string | undefined;
1928
1986
  } | undefined;
1929
1987
  };
1930
1988
  export type PermissionRequestListOutput = {
1931
- readonly location: Location.Info;
1989
+ readonly location: Location.PublicRef;
1932
1990
  readonly data: ReadonlyArray<Permission.Request>;
1933
1991
  };
1934
1992
  export type PermissionRequestListOperation<E = never> = (input?: PermissionRequestListInput) => Effect.Effect<PermissionRequestListOutput, E>;
@@ -1973,17 +2031,11 @@ export type PermissionGetOperation<E = never> = (input: PermissionGetInput) => E
1973
2031
  export type PermissionReplyInput = {
1974
2032
  readonly sessionID: Session.ID;
1975
2033
  readonly requestID: Permission.ID;
1976
- readonly reply: Permission.Reply;
2034
+ readonly decision: Permission.Reply;
1977
2035
  readonly message?: string | undefined;
1978
2036
  };
1979
2037
  export type PermissionReplyOutput = void;
1980
2038
  export type PermissionReplyOperation<E = never> = (input: PermissionReplyInput) => Effect.Effect<PermissionReplyOutput, E>;
1981
- export type PermissionRulesInput = {
1982
- readonly sessionID: Session.ID;
1983
- readonly permissions: Permission.Ruleset;
1984
- };
1985
- export type PermissionRulesOutput = void;
1986
- export type PermissionRulesOperation<E = never> = (input: PermissionRulesInput) => Effect.Effect<PermissionRulesOutput, E>;
1987
2039
  export interface PermissionApi<E = never> {
1988
2040
  readonly request: {
1989
2041
  readonly list: PermissionRequestListOperation<E>;
@@ -1996,31 +2048,28 @@ export interface PermissionApi<E = never> {
1996
2048
  readonly list: PermissionListOperation<E>;
1997
2049
  readonly get: PermissionGetOperation<E>;
1998
2050
  readonly reply: PermissionReplyOperation<E>;
1999
- readonly rules: PermissionRulesOperation<E>;
2000
2051
  }
2001
2052
  export type FileListInput = {
2002
2053
  readonly location?: {
2003
2054
  readonly directory?: string | undefined;
2004
- readonly workspace?: string | undefined;
2005
2055
  } | undefined;
2006
2056
  readonly path?: string | undefined;
2007
2057
  };
2008
2058
  export type FileListOutput = {
2009
- readonly location: Location.Info;
2059
+ readonly location: Location.PublicRef;
2010
2060
  readonly data: ReadonlyArray<FileSystem.Entry>;
2011
2061
  };
2012
2062
  export type FileListOperation<E = never> = (input?: FileListInput) => Effect.Effect<FileListOutput, E>;
2013
2063
  export type FileFindInput = {
2014
2064
  readonly location?: {
2015
2065
  readonly directory?: string | undefined;
2016
- readonly workspace?: string | undefined;
2017
2066
  } | undefined;
2018
2067
  readonly query: string;
2019
2068
  readonly type?: "file" | "directory" | undefined;
2020
2069
  readonly limit?: number | undefined;
2021
2070
  };
2022
2071
  export type FileFindOutput = {
2023
- readonly location: Location.Info;
2072
+ readonly location: Location.PublicRef;
2024
2073
  readonly data: ReadonlyArray<FileSystem.Entry>;
2025
2074
  };
2026
2075
  export type FileFindOperation<E = never> = (input: FileFindInput) => Effect.Effect<FileFindOutput, E>;
@@ -2031,11 +2080,10 @@ export interface FileApi<E = never> {
2031
2080
  export type CommandListInput = {
2032
2081
  readonly location?: {
2033
2082
  readonly directory?: string | undefined;
2034
- readonly workspace?: string | undefined;
2035
2083
  } | undefined;
2036
2084
  };
2037
2085
  export type CommandListOutput = {
2038
- readonly location: Location.Info;
2086
+ readonly location: Location.PublicRef;
2039
2087
  readonly data: ReadonlyArray<Command.Info>;
2040
2088
  };
2041
2089
  export type CommandListOperation<E = never> = (input?: CommandListInput) => Effect.Effect<CommandListOutput, E>;
@@ -2045,11 +2093,10 @@ export interface CommandApi<E = never> {
2045
2093
  export type SkillListInput = {
2046
2094
  readonly location?: {
2047
2095
  readonly directory?: string | undefined;
2048
- readonly workspace?: string | undefined;
2049
2096
  } | undefined;
2050
2097
  };
2051
2098
  export type SkillListOutput = {
2052
- readonly location: Location.Info;
2099
+ readonly location: Location.PublicRef;
2053
2100
  readonly data: ReadonlyArray<Skill.Info>;
2054
2101
  };
2055
2102
  export type SkillListOperation<E = never> = (input?: SkillListInput) => Effect.Effect<SkillListOutput, E>;
@@ -2061,7 +2108,6 @@ export type RpcCallInput = {
2061
2108
  readonly method: string;
2062
2109
  readonly location?: {
2063
2110
  readonly directory?: string | undefined;
2064
- readonly workspace?: string | undefined;
2065
2111
  } | undefined;
2066
2112
  readonly input?: unknown | undefined;
2067
2113
  };
@@ -2080,18 +2126,16 @@ export interface EventApi<E = never> {
2080
2126
  export type PtyListInput = {
2081
2127
  readonly location?: {
2082
2128
  readonly directory?: string | undefined;
2083
- readonly workspace?: string | undefined;
2084
2129
  } | undefined;
2085
2130
  };
2086
2131
  export type PtyListOutput = {
2087
- readonly location: Location.Info;
2132
+ readonly location: Location.PublicRef;
2088
2133
  readonly data: ReadonlyArray<Pty.Info>;
2089
2134
  };
2090
2135
  export type PtyListOperation<E = never> = (input?: PtyListInput) => Effect.Effect<PtyListOutput, E>;
2091
2136
  export type PtyCreateInput = {
2092
2137
  readonly location?: {
2093
2138
  readonly directory?: string | undefined;
2094
- readonly workspace?: string | undefined;
2095
2139
  } | undefined;
2096
2140
  readonly command?: string | undefined;
2097
2141
  readonly args?: ReadonlyArray<string> | undefined;
@@ -2102,7 +2146,7 @@ export type PtyCreateInput = {
2102
2146
  } | undefined;
2103
2147
  };
2104
2148
  export type PtyCreateOutput = {
2105
- readonly location: Location.Info;
2149
+ readonly location: Location.PublicRef;
2106
2150
  readonly data: Pty.Info;
2107
2151
  };
2108
2152
  export type PtyCreateOperation<E = never> = (input?: PtyCreateInput) => Effect.Effect<PtyCreateOutput, E>;
@@ -2110,11 +2154,10 @@ export type PtyGetInput = {
2110
2154
  readonly ptyID: Pty.ID;
2111
2155
  readonly location?: {
2112
2156
  readonly directory?: string | undefined;
2113
- readonly workspace?: string | undefined;
2114
2157
  } | undefined;
2115
2158
  };
2116
2159
  export type PtyGetOutput = {
2117
- readonly location: Location.Info;
2160
+ readonly location: Location.PublicRef;
2118
2161
  readonly data: Pty.Info;
2119
2162
  };
2120
2163
  export type PtyGetOperation<E = never> = (input: PtyGetInput) => Effect.Effect<PtyGetOutput, E>;
@@ -2122,7 +2165,6 @@ export type PtyUpdateInput = {
2122
2165
  readonly ptyID: Pty.ID;
2123
2166
  readonly location?: {
2124
2167
  readonly directory?: string | undefined;
2125
- readonly workspace?: string | undefined;
2126
2168
  } | undefined;
2127
2169
  readonly title?: string | undefined;
2128
2170
  readonly size?: {
@@ -2131,7 +2173,7 @@ export type PtyUpdateInput = {
2131
2173
  } | undefined;
2132
2174
  };
2133
2175
  export type PtyUpdateOutput = {
2134
- readonly location: Location.Info;
2176
+ readonly location: Location.PublicRef;
2135
2177
  readonly data: Pty.Info;
2136
2178
  };
2137
2179
  export type PtyUpdateOperation<E = never> = (input: PtyUpdateInput) => Effect.Effect<PtyUpdateOutput, E>;
@@ -2139,7 +2181,6 @@ export type PtyRemoveInput = {
2139
2181
  readonly ptyID: Pty.ID;
2140
2182
  readonly location?: {
2141
2183
  readonly directory?: string | undefined;
2142
- readonly workspace?: string | undefined;
2143
2184
  } | undefined;
2144
2185
  };
2145
2186
  export type PtyRemoveOutput = void;
@@ -2148,12 +2189,11 @@ export type PtyConnectTokenInput = {
2148
2189
  readonly ptyID: Pty.ID;
2149
2190
  readonly location?: {
2150
2191
  readonly directory?: string | undefined;
2151
- readonly workspace?: string | undefined;
2152
2192
  } | undefined;
2153
2193
  readonly "x-opencode-ticket"?: string | undefined;
2154
2194
  };
2155
2195
  export type PtyConnectTokenOutput = {
2156
- readonly location: Location.Info;
2196
+ readonly location: Location.PublicRef;
2157
2197
  readonly data: PtyTicket.ConnectToken;
2158
2198
  };
2159
2199
  export type PtyConnectTokenOperation<E = never> = (input: PtyConnectTokenInput) => Effect.Effect<PtyConnectTokenOutput, E>;
@@ -2370,28 +2410,26 @@ export interface ExperimentalApi<E = never> {
2370
2410
  export type ShellListInput = {
2371
2411
  readonly location?: {
2372
2412
  readonly directory?: string | undefined;
2373
- readonly workspace?: string | undefined;
2374
2413
  } | undefined;
2375
2414
  };
2376
2415
  export type ShellListOutput = {
2377
- readonly location: Location.Info;
2416
+ readonly location: Location.PublicRef;
2378
2417
  readonly data: ReadonlyArray<Shell.Info>;
2379
2418
  };
2380
2419
  export type ShellListOperation<E = never> = (input?: ShellListInput) => Effect.Effect<ShellListOutput, E>;
2381
2420
  export type ShellCreateInput = {
2382
2421
  readonly location?: {
2383
2422
  readonly directory?: string | undefined;
2384
- readonly workspace?: string | undefined;
2385
2423
  } | undefined;
2386
2424
  readonly command: string;
2387
2425
  readonly cwd?: string | undefined;
2388
- readonly timeout: number;
2426
+ readonly timeout?: number | undefined;
2389
2427
  readonly metadata?: {
2390
2428
  readonly [x: string]: unknown;
2391
2429
  } | undefined;
2392
2430
  };
2393
2431
  export type ShellCreateOutput = {
2394
- readonly location: Location.Info;
2432
+ readonly location: Location.PublicRef;
2395
2433
  readonly data: Shell.Info;
2396
2434
  };
2397
2435
  export type ShellCreateOperation<E = never> = (input: ShellCreateInput) => Effect.Effect<ShellCreateOutput, E>;
@@ -2399,38 +2437,23 @@ export type ShellGetInput = {
2399
2437
  readonly id: Shell.ID;
2400
2438
  readonly location?: {
2401
2439
  readonly directory?: string | undefined;
2402
- readonly workspace?: string | undefined;
2403
2440
  } | undefined;
2404
2441
  };
2405
2442
  export type ShellGetOutput = {
2406
- readonly location: Location.Info;
2443
+ readonly location: Location.PublicRef;
2407
2444
  readonly data: Shell.Info;
2408
2445
  };
2409
2446
  export type ShellGetOperation<E = never> = (input: ShellGetInput) => Effect.Effect<ShellGetOutput, E>;
2410
- export type ShellTimeoutInput = {
2411
- readonly id: Shell.ID;
2412
- readonly location?: {
2413
- readonly directory?: string | undefined;
2414
- readonly workspace?: string | undefined;
2415
- } | undefined;
2416
- readonly timeout: number;
2417
- };
2418
- export type ShellTimeoutOutput = {
2419
- readonly location: Location.Info;
2420
- readonly data: Shell.Info;
2421
- };
2422
- export type ShellTimeoutOperation<E = never> = (input: ShellTimeoutInput) => Effect.Effect<ShellTimeoutOutput, E>;
2423
2447
  export type ShellOutputInput = {
2424
2448
  readonly id: Shell.ID;
2425
2449
  readonly location?: {
2426
2450
  readonly directory?: string | undefined;
2427
- readonly workspace?: string | undefined;
2428
2451
  } | undefined;
2429
2452
  readonly cursor?: number | undefined;
2430
2453
  readonly limit?: number | undefined;
2431
2454
  };
2432
2455
  export type ShellOutputOutput = {
2433
- readonly location: Location.Info;
2456
+ readonly location: Location.PublicRef;
2434
2457
  readonly data: {
2435
2458
  readonly output: string;
2436
2459
  readonly cursor: number;
@@ -2443,7 +2466,6 @@ export type ShellRemoveInput = {
2443
2466
  readonly id: Shell.ID;
2444
2467
  readonly location?: {
2445
2468
  readonly directory?: string | undefined;
2446
- readonly workspace?: string | undefined;
2447
2469
  } | undefined;
2448
2470
  };
2449
2471
  export type ShellRemoveOutput = void;
@@ -2452,18 +2474,16 @@ export interface ShellApi<E = never> {
2452
2474
  readonly list: ShellListOperation<E>;
2453
2475
  readonly create: ShellCreateOperation<E>;
2454
2476
  readonly get: ShellGetOperation<E>;
2455
- readonly timeout: ShellTimeoutOperation<E>;
2456
2477
  readonly output: ShellOutputOperation<E>;
2457
2478
  readonly remove: ShellRemoveOperation<E>;
2458
2479
  }
2459
2480
  export type ReferenceListInput = {
2460
2481
  readonly location?: {
2461
2482
  readonly directory?: string | undefined;
2462
- readonly workspace?: string | undefined;
2463
2483
  } | undefined;
2464
2484
  };
2465
2485
  export type ReferenceListOutput = {
2466
- readonly location: Location.Info;
2486
+ readonly location: Location.PublicRef;
2467
2487
  readonly data: ReadonlyArray<Reference.Info>;
2468
2488
  };
2469
2489
  export type ReferenceListOperation<E = never> = (input?: ReferenceListInput) => Effect.Effect<ReferenceListOutput, E>;
@@ -2471,122 +2491,89 @@ export interface ReferenceApi<E = never> {
2471
2491
  readonly list: ReferenceListOperation<E>;
2472
2492
  }
2473
2493
  export type WorktreeListInput = {
2474
- readonly location?: {
2475
- readonly directory?: string | undefined;
2476
- readonly workspace?: string | undefined;
2477
- } | undefined;
2494
+ readonly projectID: Project.ID;
2478
2495
  };
2479
2496
  export type WorktreeListOutput = Worktree.List;
2480
- export type WorktreeListOperation<E = never> = (input?: WorktreeListInput) => Effect.Effect<WorktreeListOutput, E>;
2497
+ export type WorktreeListOperation<E = never> = (input: WorktreeListInput) => Effect.Effect<WorktreeListOutput, E>;
2481
2498
  export type WorktreeCreateInput = {
2482
- readonly location?: {
2483
- readonly directory?: string | undefined;
2484
- readonly workspace?: string | undefined;
2485
- } | undefined;
2486
- readonly strategy?: Worktree.StrategyID | undefined;
2499
+ readonly projectID: Project.ID;
2487
2500
  readonly from?: AbsolutePath | undefined;
2488
2501
  readonly branch?: string | undefined;
2489
2502
  readonly directory?: AbsolutePath | undefined;
2490
2503
  readonly name?: string | undefined;
2491
2504
  };
2492
2505
  export type WorktreeCreateOutput = Worktree.Info;
2493
- export type WorktreeCreateOperation<E = never> = (input?: WorktreeCreateInput) => Effect.Effect<WorktreeCreateOutput, E>;
2506
+ export type WorktreeCreateOperation<E = never> = (input: WorktreeCreateInput) => Effect.Effect<WorktreeCreateOutput, E>;
2494
2507
  export type WorktreeRemoveInput = {
2495
- readonly location?: {
2496
- readonly directory?: string | undefined;
2497
- readonly workspace?: string | undefined;
2498
- } | undefined;
2508
+ readonly projectID: Project.ID;
2499
2509
  readonly directory: AbsolutePath;
2500
2510
  readonly force: boolean;
2501
2511
  };
2502
2512
  export type WorktreeRemoveOutput = void;
2503
2513
  export type WorktreeRemoveOperation<E = never> = (input: WorktreeRemoveInput) => Effect.Effect<WorktreeRemoveOutput, E>;
2504
2514
  export type WorktreeRefreshInput = {
2505
- readonly location?: {
2506
- readonly directory?: string | undefined;
2507
- readonly workspace?: string | undefined;
2508
- } | undefined;
2515
+ readonly projectID: Project.ID;
2509
2516
  };
2510
2517
  export type WorktreeRefreshOutput = void;
2511
- export type WorktreeRefreshOperation<E = never> = (input?: WorktreeRefreshInput) => Effect.Effect<WorktreeRefreshOutput, E>;
2518
+ export type WorktreeRefreshOperation<E = never> = (input: WorktreeRefreshInput) => Effect.Effect<WorktreeRefreshOutput, E>;
2512
2519
  export interface WorktreeApi<E = never> {
2513
2520
  readonly list: WorktreeListOperation<E>;
2514
2521
  readonly create: WorktreeCreateOperation<E>;
2515
2522
  readonly remove: WorktreeRemoveOperation<E>;
2516
2523
  readonly refresh: WorktreeRefreshOperation<E>;
2517
2524
  }
2518
- export type WorkspaceCreateInput = {
2519
- readonly id?: Workspace.ID | undefined;
2520
- readonly provider: string;
2521
- };
2522
- export type WorkspaceCreateOutput = Workspace.ID;
2523
- export type WorkspaceCreateOperation<E = never> = (input: WorkspaceCreateInput) => Effect.Effect<WorkspaceCreateOutput, E>;
2524
- export type WorkspaceDestroyInput = {
2525
- readonly workspaceID: Workspace.ID;
2526
- };
2527
- export type WorkspaceDestroyOutput = Workspace.DestroyResult;
2528
- export type WorkspaceDestroyOperation<E = never> = (input: WorkspaceDestroyInput) => Effect.Effect<WorkspaceDestroyOutput, E>;
2529
- export interface WorkspaceApi<E = never> {
2530
- readonly create: WorkspaceCreateOperation<E>;
2531
- readonly destroy: WorkspaceDestroyOperation<E>;
2532
- }
2533
2525
  export type VcsGetInput = {
2534
2526
  readonly location?: {
2535
2527
  readonly directory?: string | undefined;
2536
- readonly workspace?: string | undefined;
2537
2528
  } | undefined;
2538
2529
  };
2539
2530
  export type VcsGetOutput = {
2540
- readonly location: Location.Info;
2531
+ readonly location: Location.PublicRef;
2541
2532
  readonly data: Vcs.Info;
2542
2533
  };
2543
2534
  export type VcsGetOperation<E = never> = (input?: VcsGetInput) => Effect.Effect<VcsGetOutput, E>;
2544
2535
  export type VcsBaseInput = {
2545
2536
  readonly location?: {
2546
2537
  readonly directory?: string | undefined;
2547
- readonly workspace?: string | undefined;
2548
2538
  } | undefined;
2549
2539
  };
2550
2540
  export type VcsBaseOutput = {
2551
- readonly location: Location.Info;
2541
+ readonly location: Location.PublicRef;
2552
2542
  readonly data: Vcs.Base | null;
2553
2543
  };
2554
2544
  export type VcsBaseOperation<E = never> = (input?: VcsBaseInput) => Effect.Effect<VcsBaseOutput, E>;
2555
2545
  export type VcsStatusInput = {
2556
2546
  readonly location?: {
2557
2547
  readonly directory?: string | undefined;
2558
- readonly workspace?: string | undefined;
2559
2548
  } | undefined;
2560
2549
  };
2561
2550
  export type VcsStatusOutput = {
2562
- readonly location: Location.Info;
2551
+ readonly location: Location.PublicRef;
2563
2552
  readonly data: ReadonlyArray<Vcs.FileStatus>;
2564
2553
  };
2565
2554
  export type VcsStatusOperation<E = never> = (input?: VcsStatusInput) => Effect.Effect<VcsStatusOutput, E>;
2566
- export type VcsBranchesInput = {
2555
+ export type VcsBranchListInput = {
2567
2556
  readonly location?: {
2568
2557
  readonly directory?: string | undefined;
2569
- readonly workspace?: string | undefined;
2570
2558
  } | undefined;
2571
2559
  readonly search?: string | undefined;
2572
2560
  readonly limit?: number | undefined;
2573
2561
  };
2574
- export type VcsBranchesOutput = {
2575
- readonly location: Location.Info;
2562
+ export type VcsBranchListOutput = {
2563
+ readonly location: Location.PublicRef;
2576
2564
  readonly data: Vcs.BranchList;
2577
2565
  };
2578
- export type VcsBranchesOperation<E = never> = (input?: VcsBranchesInput) => Effect.Effect<VcsBranchesOutput, E>;
2566
+ export type VcsBranchListOperation<E = never> = (input?: VcsBranchListInput) => Effect.Effect<VcsBranchListOutput, E>;
2579
2567
  export type VcsDiffInput = {
2580
2568
  readonly location?: {
2581
2569
  readonly directory?: string | undefined;
2582
- readonly workspace?: string | undefined;
2583
2570
  } | undefined;
2584
2571
  readonly mode: Vcs.Mode;
2585
2572
  readonly base?: string | undefined;
2586
2573
  readonly context?: number | undefined;
2587
2574
  };
2588
2575
  export type VcsDiffOutput = {
2589
- readonly location: Location.Info;
2576
+ readonly location: Location.PublicRef;
2590
2577
  readonly data: ReadonlyArray<FileDiff.Info>;
2591
2578
  };
2592
2579
  export type VcsDiffOperation<E = never> = (input: VcsDiffInput) => Effect.Effect<VcsDiffOutput, E>;
@@ -2594,15 +2581,16 @@ export interface VcsApi<E = never> {
2594
2581
  readonly get: VcsGetOperation<E>;
2595
2582
  readonly base: VcsBaseOperation<E>;
2596
2583
  readonly status: VcsStatusOperation<E>;
2597
- readonly branches: VcsBranchesOperation<E>;
2584
+ readonly branch: {
2585
+ readonly list: VcsBranchListOperation<E>;
2586
+ };
2598
2587
  readonly diff: VcsDiffOperation<E>;
2599
2588
  }
2600
- export type DebugLocationListOutput = ReadonlyArray<Location.Ref>;
2589
+ export type DebugLocationListOutput = ReadonlyArray<Location.PublicRef>;
2601
2590
  export type DebugLocationListOperation<E = never> = () => Effect.Effect<DebugLocationListOutput, E>;
2602
2591
  export type DebugLocationEvictInput = {
2603
2592
  readonly location?: {
2604
2593
  readonly directory?: string | undefined;
2605
- readonly workspace?: string | undefined;
2606
2594
  } | undefined;
2607
2595
  };
2608
2596
  export type DebugLocationEvictOutput = void;
@@ -2635,24 +2623,22 @@ export interface MigrationApi<E = never> {
2635
2623
  export type WebsearchProvidersInput = {
2636
2624
  readonly location?: {
2637
2625
  readonly directory?: string | undefined;
2638
- readonly workspace?: string | undefined;
2639
2626
  } | undefined;
2640
2627
  };
2641
2628
  export type WebsearchProvidersOutput = {
2642
- readonly location: Location.Info;
2629
+ readonly location: Location.PublicRef;
2643
2630
  readonly data: ReadonlyArray<WebSearch.Provider>;
2644
2631
  };
2645
2632
  export type WebsearchProvidersOperation<E = never> = (input?: WebsearchProvidersInput) => Effect.Effect<WebsearchProvidersOutput, E>;
2646
2633
  export type WebsearchQueryInput = {
2647
2634
  readonly location?: {
2648
2635
  readonly directory?: string | undefined;
2649
- readonly workspace?: string | undefined;
2650
2636
  } | undefined;
2651
2637
  readonly query: string;
2652
2638
  readonly providerID?: WebSearch.ID | undefined;
2653
2639
  };
2654
2640
  export type WebsearchQueryOutput = {
2655
- readonly location: Location.Info;
2641
+ readonly location: Location.PublicRef;
2656
2642
  readonly data: WebSearch.Response;
2657
2643
  };
2658
2644
  export type WebsearchQueryOperation<E = never> = (input: WebsearchQueryInput) => Effect.Effect<WebsearchQueryOutput, E>;
@@ -2663,35 +2649,27 @@ export interface WebsearchApi<E = never> {
2663
2649
  export type ConfigGetInput = {
2664
2650
  readonly location?: {
2665
2651
  readonly directory?: string | undefined;
2666
- readonly workspace?: string | undefined;
2667
2652
  } | undefined;
2668
2653
  };
2669
2654
  export type ConfigGetOutput = ReadonlyArray<Config.Entry>;
2670
2655
  export type ConfigGetOperation<E = never> = (input?: ConfigGetInput) => Effect.Effect<ConfigGetOutput, E>;
2671
- export type ConfigPreferencesOutput = Config.Preferences;
2672
- export type ConfigPreferencesOperation<E = never> = () => Effect.Effect<ConfigPreferencesOutput, E>;
2673
- export type ConfigUpdatePreferencesInput = {
2674
- readonly shell?: string | null | undefined;
2675
- readonly websearch?: false | {
2676
- readonly provider: "random" | WebSearch.ID;
2677
- } | null | undefined;
2678
- };
2679
- export type ConfigUpdatePreferencesOutput = Config.Preferences;
2680
- export type ConfigUpdatePreferencesOperation<E = never> = (input?: ConfigUpdatePreferencesInput) => Effect.Effect<ConfigUpdatePreferencesOutput, E>;
2681
2656
  export type ConfigShellsOutput = ReadonlyArray<{
2682
2657
  readonly path: string;
2683
2658
  readonly name: string;
2684
2659
  readonly acceptable: boolean;
2685
2660
  }>;
2686
2661
  export type ConfigShellsOperation<E = never> = () => Effect.Effect<ConfigShellsOutput, E>;
2662
+ export type ConfigUpdateInput = {
2663
+ readonly shell: string | null;
2664
+ };
2665
+ export type ConfigUpdateOutput = void;
2666
+ export type ConfigUpdateOperation<E = never> = (input: ConfigUpdateInput) => Effect.Effect<ConfigUpdateOutput, E>;
2687
2667
  export interface ConfigApi<E = never> {
2688
2668
  readonly get: ConfigGetOperation<E>;
2689
- readonly preferences: ConfigPreferencesOperation<E>;
2690
- readonly updatePreferences: ConfigUpdatePreferencesOperation<E>;
2691
2669
  readonly shells: ConfigShellsOperation<E>;
2670
+ readonly update: ConfigUpdateOperation<E>;
2692
2671
  }
2693
2672
  export interface AppApi<E = never> {
2694
- readonly health: HealthApi<E>;
2695
2673
  readonly server: ServerApi<E>;
2696
2674
  readonly location: LocationApi<E>;
2697
2675
  readonly agent: AgentApi<E>;
@@ -2717,7 +2695,6 @@ export interface AppApi<E = never> {
2717
2695
  readonly shell: ShellApi<E>;
2718
2696
  readonly reference: ReferenceApi<E>;
2719
2697
  readonly worktree: WorktreeApi<E>;
2720
- readonly workspace: WorkspaceApi<E>;
2721
2698
  readonly vcs: VcsApi<E>;
2722
2699
  readonly debug: DebugApi<E>;
2723
2700
  readonly migration: MigrationApi<E>;