@saeeol/sdk 7.3.3 → 7.3.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.
Files changed (39) hide show
  1. package/package.json +6 -3
  2. package/src/client.ts +64 -0
  3. package/src/gen/client/client.gen.ts +215 -0
  4. package/src/gen/client/index.ts +25 -0
  5. package/src/gen/client/types.gen.ts +222 -0
  6. package/src/gen/client/utils.gen.ts +287 -0
  7. package/src/gen/client.gen.ts +22 -0
  8. package/src/gen/core/auth.gen.ts +41 -0
  9. package/src/gen/core/bodySerializer.gen.ts +74 -0
  10. package/src/gen/core/params.gen.ts +144 -0
  11. package/src/gen/core/pathSerializer.gen.ts +167 -0
  12. package/src/gen/core/queryKeySerializer.gen.ts +111 -0
  13. package/src/gen/core/serverSentEvents.gen.ts +210 -0
  14. package/src/gen/core/types.gen.ts +91 -0
  15. package/src/gen/core/utils.gen.ts +109 -0
  16. package/src/gen/sdk.gen.ts +1197 -0
  17. package/src/gen/types.gen.ts +3905 -0
  18. package/src/index.ts +21 -0
  19. package/src/process.ts +31 -0
  20. package/src/server.ts +165 -0
  21. package/src/v2/client.ts +97 -0
  22. package/src/v2/data.ts +32 -0
  23. package/src/v2/gen/client/client.gen.ts +285 -0
  24. package/src/v2/gen/client/index.ts +25 -0
  25. package/src/v2/gen/client/types.gen.ts +202 -0
  26. package/src/v2/gen/client/utils.gen.ts +289 -0
  27. package/src/v2/gen/client.gen.ts +18 -0
  28. package/src/v2/gen/core/auth.gen.ts +41 -0
  29. package/src/v2/gen/core/bodySerializer.gen.ts +82 -0
  30. package/src/v2/gen/core/params.gen.ts +169 -0
  31. package/src/v2/gen/core/pathSerializer.gen.ts +167 -0
  32. package/src/v2/gen/core/queryKeySerializer.gen.ts +111 -0
  33. package/src/v2/gen/core/serverSentEvents.gen.ts +239 -0
  34. package/src/v2/gen/core/types.gen.ts +86 -0
  35. package/src/v2/gen/core/utils.gen.ts +137 -0
  36. package/src/v2/gen/sdk.gen.ts +6316 -0
  37. package/src/v2/gen/types.gen.ts +7495 -0
  38. package/src/v2/index.ts +23 -0
  39. package/src/v2/server.ts +163 -0
@@ -0,0 +1,3905 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+
3
+ export type EventServerInstanceDisposed = {
4
+ type: "server.instance.disposed"
5
+ properties: {
6
+ directory: string
7
+ }
8
+ }
9
+
10
+ export type EventInstallationUpdated = {
11
+ type: "installation.updated"
12
+ properties: {
13
+ version: string
14
+ }
15
+ }
16
+
17
+ export type EventInstallationUpdateAvailable = {
18
+ type: "installation.update-available"
19
+ properties: {
20
+ version: string
21
+ }
22
+ }
23
+
24
+ export type EventLspClientDiagnostics = {
25
+ type: "lsp.client.diagnostics"
26
+ properties: {
27
+ serverID: string
28
+ path: string
29
+ }
30
+ }
31
+
32
+ export type EventLspUpdated = {
33
+ type: "lsp.updated"
34
+ properties: {
35
+ [key: string]: unknown
36
+ }
37
+ }
38
+
39
+ export type FileDiff = {
40
+ file: string
41
+ before: string
42
+ after: string
43
+ additions: number
44
+ deletions: number
45
+ }
46
+
47
+ export type UserMessage = {
48
+ id: string
49
+ sessionID: string
50
+ role: "user"
51
+ time: {
52
+ created: number
53
+ }
54
+ summary?: {
55
+ title?: string
56
+ body?: string
57
+ diffs: Array<FileDiff>
58
+ }
59
+ agent: string
60
+ model: {
61
+ providerID: string
62
+ modelID: string
63
+ }
64
+ system?: string
65
+ tools?: {
66
+ [key: string]: boolean
67
+ }
68
+ }
69
+
70
+ export type ProviderAuthError = {
71
+ name: "ProviderAuthError"
72
+ data: {
73
+ providerID: string
74
+ message: string
75
+ }
76
+ }
77
+
78
+ export type UnknownError = {
79
+ name: "UnknownError"
80
+ data: {
81
+ message: string
82
+ }
83
+ }
84
+
85
+ export type MessageOutputLengthError = {
86
+ name: "MessageOutputLengthError"
87
+ data: {
88
+ [key: string]: unknown
89
+ }
90
+ }
91
+
92
+ export type MessageAbortedError = {
93
+ name: "MessageAbortedError"
94
+ data: {
95
+ message: string
96
+ }
97
+ }
98
+
99
+ export type ApiError = {
100
+ name: "APIError"
101
+ data: {
102
+ message: string
103
+ statusCode?: number
104
+ isRetryable: boolean
105
+ responseHeaders?: {
106
+ [key: string]: string
107
+ }
108
+ responseBody?: string
109
+ }
110
+ }
111
+
112
+ export type AssistantMessage = {
113
+ id: string
114
+ sessionID: string
115
+ role: "assistant"
116
+ time: {
117
+ created: number
118
+ completed?: number
119
+ }
120
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | ApiError
121
+ parentID: string
122
+ modelID: string
123
+ providerID: string
124
+ mode: string
125
+ path: {
126
+ cwd: string
127
+ root: string
128
+ }
129
+ summary?: boolean
130
+ cost: number
131
+ tokens: {
132
+ input: number
133
+ output: number
134
+ reasoning: number
135
+ cache: {
136
+ read: number
137
+ write: number
138
+ }
139
+ }
140
+ finish?: string
141
+ }
142
+
143
+ export type Message = UserMessage | AssistantMessage
144
+
145
+ export type EventMessageUpdated = {
146
+ type: "message.updated"
147
+ properties: {
148
+ info: Message
149
+ }
150
+ }
151
+
152
+ export type EventMessageRemoved = {
153
+ type: "message.removed"
154
+ properties: {
155
+ sessionID: string
156
+ messageID: string
157
+ }
158
+ }
159
+
160
+ export type TextPart = {
161
+ id: string
162
+ sessionID: string
163
+ messageID: string
164
+ type: "text"
165
+ text: string
166
+ synthetic?: boolean
167
+ ignored?: boolean
168
+ time?: {
169
+ start: number
170
+ end?: number
171
+ }
172
+ metadata?: {
173
+ [key: string]: unknown
174
+ }
175
+ }
176
+
177
+ export type ReasoningPart = {
178
+ id: string
179
+ sessionID: string
180
+ messageID: string
181
+ type: "reasoning"
182
+ text: string
183
+ metadata?: {
184
+ [key: string]: unknown
185
+ }
186
+ time: {
187
+ start: number
188
+ end?: number
189
+ }
190
+ }
191
+
192
+ export type FilePartSourceText = {
193
+ value: string
194
+ start: number
195
+ end: number
196
+ }
197
+
198
+ export type FileSource = {
199
+ text: FilePartSourceText
200
+ type: "file"
201
+ path: string
202
+ }
203
+
204
+ export type Range = {
205
+ start: {
206
+ line: number
207
+ character: number
208
+ }
209
+ end: {
210
+ line: number
211
+ character: number
212
+ }
213
+ }
214
+
215
+ export type SymbolSource = {
216
+ text: FilePartSourceText
217
+ type: "symbol"
218
+ path: string
219
+ range: Range
220
+ name: string
221
+ kind: number
222
+ }
223
+
224
+ export type FilePartSource = FileSource | SymbolSource
225
+
226
+ export type FilePart = {
227
+ id: string
228
+ sessionID: string
229
+ messageID: string
230
+ type: "file"
231
+ mime: string
232
+ filename?: string
233
+ url: string
234
+ source?: FilePartSource
235
+ }
236
+
237
+ export type ToolStatePending = {
238
+ status: "pending"
239
+ input: {
240
+ [key: string]: unknown
241
+ }
242
+ raw: string
243
+ }
244
+
245
+ export type ToolStateRunning = {
246
+ status: "running"
247
+ input: {
248
+ [key: string]: unknown
249
+ }
250
+ title?: string
251
+ metadata?: {
252
+ [key: string]: unknown
253
+ }
254
+ time: {
255
+ start: number
256
+ }
257
+ }
258
+
259
+ export type ToolStateCompleted = {
260
+ status: "completed"
261
+ input: {
262
+ [key: string]: unknown
263
+ }
264
+ output: string
265
+ title: string
266
+ metadata: {
267
+ [key: string]: unknown
268
+ }
269
+ time: {
270
+ start: number
271
+ end: number
272
+ compacted?: number
273
+ }
274
+ attachments?: Array<FilePart>
275
+ }
276
+
277
+ export type ToolStateError = {
278
+ status: "error"
279
+ input: {
280
+ [key: string]: unknown
281
+ }
282
+ error: string
283
+ metadata?: {
284
+ [key: string]: unknown
285
+ }
286
+ time: {
287
+ start: number
288
+ end: number
289
+ }
290
+ }
291
+
292
+ export type ToolState = ToolStatePending | ToolStateRunning | ToolStateCompleted | ToolStateError
293
+
294
+ export type ToolPart = {
295
+ id: string
296
+ sessionID: string
297
+ messageID: string
298
+ type: "tool"
299
+ callID: string
300
+ tool: string
301
+ state: ToolState
302
+ metadata?: {
303
+ [key: string]: unknown
304
+ }
305
+ }
306
+
307
+ export type StepStartPart = {
308
+ id: string
309
+ sessionID: string
310
+ messageID: string
311
+ type: "step-start"
312
+ snapshot?: string
313
+ }
314
+
315
+ export type StepFinishPart = {
316
+ id: string
317
+ sessionID: string
318
+ messageID: string
319
+ type: "step-finish"
320
+ reason: string
321
+ snapshot?: string
322
+ cost: number
323
+ tokens: {
324
+ input: number
325
+ output: number
326
+ reasoning: number
327
+ cache: {
328
+ read: number
329
+ write: number
330
+ }
331
+ }
332
+ }
333
+
334
+ export type SnapshotPart = {
335
+ id: string
336
+ sessionID: string
337
+ messageID: string
338
+ type: "snapshot"
339
+ snapshot: string
340
+ }
341
+
342
+ export type PatchPart = {
343
+ id: string
344
+ sessionID: string
345
+ messageID: string
346
+ type: "patch"
347
+ hash: string
348
+ files: Array<string>
349
+ }
350
+
351
+ export type AgentPart = {
352
+ id: string
353
+ sessionID: string
354
+ messageID: string
355
+ type: "agent"
356
+ name: string
357
+ source?: {
358
+ value: string
359
+ start: number
360
+ end: number
361
+ }
362
+ }
363
+
364
+ export type RetryPart = {
365
+ id: string
366
+ sessionID: string
367
+ messageID: string
368
+ type: "retry"
369
+ attempt: number
370
+ error: ApiError
371
+ time: {
372
+ created: number
373
+ }
374
+ }
375
+
376
+ export type CompactionPart = {
377
+ id: string
378
+ sessionID: string
379
+ messageID: string
380
+ type: "compaction"
381
+ auto: boolean
382
+ }
383
+
384
+ export type Part =
385
+ | TextPart
386
+ | {
387
+ id: string
388
+ sessionID: string
389
+ messageID: string
390
+ type: "subtask"
391
+ prompt: string
392
+ description: string
393
+ agent: string
394
+ }
395
+ | ReasoningPart
396
+ | FilePart
397
+ | ToolPart
398
+ | StepStartPart
399
+ | StepFinishPart
400
+ | SnapshotPart
401
+ | PatchPart
402
+ | AgentPart
403
+ | RetryPart
404
+ | CompactionPart
405
+
406
+ export type EventMessagePartUpdated = {
407
+ type: "message.part.updated"
408
+ properties: {
409
+ part: Part
410
+ delta?: string
411
+ }
412
+ }
413
+
414
+ export type EventMessagePartRemoved = {
415
+ type: "message.part.removed"
416
+ properties: {
417
+ sessionID: string
418
+ messageID: string
419
+ partID: string
420
+ }
421
+ }
422
+
423
+ export type Permission = {
424
+ id: string
425
+ type: string
426
+ pattern?: string | Array<string>
427
+ sessionID: string
428
+ messageID: string
429
+ callID?: string
430
+ title: string
431
+ metadata: {
432
+ [key: string]: unknown
433
+ }
434
+ time: {
435
+ created: number
436
+ }
437
+ }
438
+
439
+ export type EventPermissionUpdated = {
440
+ type: "permission.updated"
441
+ properties: Permission
442
+ }
443
+
444
+ export type EventPermissionReplied = {
445
+ type: "permission.replied"
446
+ properties: {
447
+ sessionID: string
448
+ permissionID: string
449
+ response: string
450
+ }
451
+ }
452
+
453
+ export type SessionStatus =
454
+ | {
455
+ type: "idle"
456
+ }
457
+ | {
458
+ type: "retry"
459
+ attempt: number
460
+ message: string
461
+ next: number
462
+ }
463
+ | {
464
+ type: "busy"
465
+ }
466
+
467
+ export type EventSessionStatus = {
468
+ type: "session.status"
469
+ properties: {
470
+ sessionID: string
471
+ status: SessionStatus
472
+ }
473
+ }
474
+
475
+ export type EventSessionIdle = {
476
+ type: "session.idle"
477
+ properties: {
478
+ sessionID: string
479
+ }
480
+ }
481
+
482
+ export type EventSessionCompacted = {
483
+ type: "session.compacted"
484
+ properties: {
485
+ sessionID: string
486
+ }
487
+ }
488
+
489
+ export type EventFileEdited = {
490
+ type: "file.edited"
491
+ properties: {
492
+ file: string
493
+ }
494
+ }
495
+
496
+ export type Todo = {
497
+ /**
498
+ * Brief description of the task
499
+ */
500
+ content: string
501
+ /**
502
+ * Current status of the task: pending, in_progress, completed, cancelled
503
+ */
504
+ status: string
505
+ /**
506
+ * Priority level of the task: high, medium, low
507
+ */
508
+ priority: string
509
+ /**
510
+ * Unique identifier for the todo item
511
+ */
512
+ id: string
513
+ }
514
+
515
+ export type EventTodoUpdated = {
516
+ type: "todo.updated"
517
+ properties: {
518
+ sessionID: string
519
+ todos: Array<Todo>
520
+ }
521
+ }
522
+
523
+ export type EventCommandExecuted = {
524
+ type: "command.executed"
525
+ properties: {
526
+ name: string
527
+ sessionID: string
528
+ arguments: string
529
+ messageID: string
530
+ }
531
+ }
532
+
533
+ export type Session = {
534
+ id: string
535
+ projectID: string
536
+ directory: string
537
+ parentID?: string
538
+ summary?: {
539
+ additions: number
540
+ deletions: number
541
+ files: number
542
+ diffs?: Array<FileDiff>
543
+ }
544
+ share?: {
545
+ url: string
546
+ }
547
+ title: string
548
+ version: string
549
+ time: {
550
+ created: number
551
+ updated: number
552
+ compacting?: number
553
+ }
554
+ revert?: {
555
+ messageID: string
556
+ partID?: string
557
+ snapshot?: string
558
+ diff?: string
559
+ }
560
+ }
561
+
562
+ export type EventSessionCreated = {
563
+ type: "session.created"
564
+ properties: {
565
+ info: Session
566
+ }
567
+ }
568
+
569
+ export type EventSessionUpdated = {
570
+ type: "session.updated"
571
+ properties: {
572
+ info: Session
573
+ }
574
+ }
575
+
576
+ export type EventSessionDeleted = {
577
+ type: "session.deleted"
578
+ properties: {
579
+ info: Session
580
+ }
581
+ }
582
+
583
+ export type EventSessionDiff = {
584
+ type: "session.diff"
585
+ properties: {
586
+ sessionID: string
587
+ diff: Array<FileDiff>
588
+ }
589
+ }
590
+
591
+ export type EventSessionError = {
592
+ type: "session.error"
593
+ properties: {
594
+ sessionID?: string
595
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | ApiError
596
+ }
597
+ }
598
+
599
+ export type EventFileWatcherUpdated = {
600
+ type: "file.watcher.updated"
601
+ properties: {
602
+ file: string
603
+ event: "add" | "change" | "unlink"
604
+ }
605
+ }
606
+
607
+ export type EventVcsBranchUpdated = {
608
+ type: "vcs.branch.updated"
609
+ properties: {
610
+ branch?: string
611
+ }
612
+ }
613
+
614
+ export type EventTuiPromptAppend = {
615
+ type: "tui.prompt.append"
616
+ properties: {
617
+ text: string
618
+ }
619
+ }
620
+
621
+ export type EventTuiCommandExecute = {
622
+ type: "tui.command.execute"
623
+ properties: {
624
+ command:
625
+ | (
626
+ | "session.list"
627
+ | "session.new"
628
+ | "session.share"
629
+ | "session.interrupt"
630
+ | "session.compact"
631
+ | "session.page.up"
632
+ | "session.page.down"
633
+ | "session.half.page.up"
634
+ | "session.half.page.down"
635
+ | "session.first"
636
+ | "session.last"
637
+ | "prompt.clear"
638
+ | "prompt.submit"
639
+ | "agent.cycle"
640
+ )
641
+ | string
642
+ }
643
+ }
644
+
645
+ export type EventTuiToastShow = {
646
+ type: "tui.toast.show"
647
+ properties: {
648
+ title?: string
649
+ message: string
650
+ variant: "info" | "success" | "warning" | "error"
651
+ /**
652
+ * Duration in milliseconds
653
+ */
654
+ duration?: number
655
+ }
656
+ }
657
+
658
+ export type Pty = {
659
+ id: string
660
+ title: string
661
+ command: string
662
+ args: Array<string>
663
+ cwd: string
664
+ status: "running" | "exited"
665
+ pid: number
666
+ }
667
+
668
+ export type EventPtyCreated = {
669
+ type: "pty.created"
670
+ properties: {
671
+ info: Pty
672
+ }
673
+ }
674
+
675
+ export type EventPtyUpdated = {
676
+ type: "pty.updated"
677
+ properties: {
678
+ info: Pty
679
+ }
680
+ }
681
+
682
+ export type EventPtyExited = {
683
+ type: "pty.exited"
684
+ properties: {
685
+ id: string
686
+ exitCode: number
687
+ }
688
+ }
689
+
690
+ export type EventPtyDeleted = {
691
+ type: "pty.deleted"
692
+ properties: {
693
+ id: string
694
+ }
695
+ }
696
+
697
+ export type EventServerConnected = {
698
+ type: "server.connected"
699
+ properties: {
700
+ [key: string]: unknown
701
+ }
702
+ }
703
+
704
+ export type Event =
705
+ | EventServerInstanceDisposed
706
+ | EventInstallationUpdated
707
+ | EventInstallationUpdateAvailable
708
+ | EventLspClientDiagnostics
709
+ | EventLspUpdated
710
+ | EventMessageUpdated
711
+ | EventMessageRemoved
712
+ | EventMessagePartUpdated
713
+ | EventMessagePartRemoved
714
+ | EventPermissionUpdated
715
+ | EventPermissionReplied
716
+ | EventSessionStatus
717
+ | EventSessionIdle
718
+ | EventSessionCompacted
719
+ | EventFileEdited
720
+ | EventTodoUpdated
721
+ | EventCommandExecuted
722
+ | EventSessionCreated
723
+ | EventSessionUpdated
724
+ | EventSessionDeleted
725
+ | EventSessionDiff
726
+ | EventSessionError
727
+ | EventFileWatcherUpdated
728
+ | EventVcsBranchUpdated
729
+ | EventTuiPromptAppend
730
+ | EventTuiCommandExecute
731
+ | EventTuiToastShow
732
+ | EventPtyCreated
733
+ | EventPtyUpdated
734
+ | EventPtyExited
735
+ | EventPtyDeleted
736
+ | EventServerConnected
737
+
738
+ export type GlobalEvent = {
739
+ directory: string
740
+ payload: Event
741
+ }
742
+
743
+ export type Project = {
744
+ id: string
745
+ worktree: string
746
+ vcsDir?: string
747
+ vcs?: "git"
748
+ time: {
749
+ created: number
750
+ initialized?: number
751
+ }
752
+ }
753
+
754
+ export type BadRequestError = {
755
+ data: unknown
756
+ errors: Array<{
757
+ [key: string]: unknown
758
+ }>
759
+ success: false
760
+ }
761
+
762
+ export type NotFoundError = {
763
+ name: "NotFoundError"
764
+ data: {
765
+ message: string
766
+ }
767
+ }
768
+
769
+ /**
770
+ * Custom keybind configurations
771
+ */
772
+ export type KeybindsConfig = {
773
+ /**
774
+ * Leader key for keybind combinations
775
+ */
776
+ leader?: string
777
+ /**
778
+ * Exit the application
779
+ */
780
+ app_exit?: string
781
+ /**
782
+ * Open external editor
783
+ */
784
+ editor_open?: string
785
+ /**
786
+ * List available themes
787
+ */
788
+ theme_list?: string
789
+ /**
790
+ * Toggle sidebar
791
+ */
792
+ sidebar_toggle?: string
793
+ /**
794
+ * Toggle session scrollbar
795
+ */
796
+ scrollbar_toggle?: string
797
+ /**
798
+ * Toggle username visibility
799
+ */
800
+ username_toggle?: string
801
+ /**
802
+ * View status
803
+ */
804
+ status_view?: string
805
+ /**
806
+ * Export session to editor
807
+ */
808
+ session_export?: string
809
+ /**
810
+ * Create a new session
811
+ */
812
+ session_new?: string
813
+ /**
814
+ * List all sessions
815
+ */
816
+ session_list?: string
817
+ /**
818
+ * Show session timeline
819
+ */
820
+ session_timeline?: string
821
+ /**
822
+ * Share current session
823
+ */
824
+ session_share?: string
825
+ /**
826
+ * Unshare current session
827
+ */
828
+ session_unshare?: string
829
+ /**
830
+ * Interrupt current session
831
+ */
832
+ session_interrupt?: string
833
+ /**
834
+ * Compact the session
835
+ */
836
+ session_compact?: string
837
+ /**
838
+ * Scroll messages up by one page
839
+ */
840
+ messages_page_up?: string
841
+ /**
842
+ * Scroll messages down by one page
843
+ */
844
+ messages_page_down?: string
845
+ /**
846
+ * Scroll messages up by one line
847
+ */
848
+ messages_line_up?: string
849
+ /**
850
+ * Scroll messages down by one line
851
+ */
852
+ messages_line_down?: string
853
+ /**
854
+ * Scroll messages up by half page
855
+ */
856
+ messages_half_page_up?: string
857
+ /**
858
+ * Scroll messages down by half page
859
+ */
860
+ messages_half_page_down?: string
861
+ /**
862
+ * Navigate to first message
863
+ */
864
+ messages_first?: string
865
+ /**
866
+ * Navigate to last message
867
+ */
868
+ messages_last?: string
869
+ /**
870
+ * Navigate to next message
871
+ */
872
+ messages_next?: string
873
+ /**
874
+ * Navigate to previous message
875
+ */
876
+ messages_previous?: string
877
+ /**
878
+ * Navigate to last user message
879
+ */
880
+ messages_last_user?: string
881
+ /**
882
+ * Copy message
883
+ */
884
+ messages_copy?: string
885
+ /**
886
+ * Undo message
887
+ */
888
+ messages_undo?: string
889
+ /**
890
+ * Redo message
891
+ */
892
+ messages_redo?: string
893
+ /**
894
+ * Toggle code block concealment in messages
895
+ */
896
+ messages_toggle_conceal?: string
897
+ /**
898
+ * Toggle tool details visibility
899
+ */
900
+ tool_details?: string
901
+ /**
902
+ * List available models
903
+ */
904
+ model_list?: string
905
+ /**
906
+ * Next recently used model
907
+ */
908
+ model_cycle_recent?: string
909
+ /**
910
+ * Previous recently used model
911
+ */
912
+ model_cycle_recent_reverse?: string
913
+ /**
914
+ * List available commands
915
+ */
916
+ command_list?: string
917
+ /**
918
+ * List agents
919
+ */
920
+ agent_list?: string
921
+ /**
922
+ * Next agent
923
+ */
924
+ agent_cycle?: string
925
+ /**
926
+ * Previous agent
927
+ */
928
+ agent_cycle_reverse?: string
929
+ /**
930
+ * Clear input field
931
+ */
932
+ input_clear?: string
933
+ /**
934
+ * Forward delete
935
+ */
936
+ input_forward_delete?: string
937
+ /**
938
+ * Paste from clipboard
939
+ */
940
+ input_paste?: string
941
+ /**
942
+ * Submit input
943
+ */
944
+ input_submit?: string
945
+ /**
946
+ * Insert newline in input
947
+ */
948
+ input_newline?: string
949
+ /**
950
+ * Previous history item
951
+ */
952
+ history_previous?: string
953
+ /**
954
+ * Next history item
955
+ */
956
+ history_next?: string
957
+ /**
958
+ * Next child session
959
+ */
960
+ session_child_cycle?: string
961
+ /**
962
+ * Previous child session
963
+ */
964
+ session_child_cycle_reverse?: string
965
+ /**
966
+ * Suspend terminal
967
+ */
968
+ terminal_suspend?: string
969
+ /**
970
+ * Toggle terminal title
971
+ */
972
+ terminal_title_toggle?: string
973
+ }
974
+
975
+ export type AgentConfig = {
976
+ model?: string
977
+ temperature?: number
978
+ top_p?: number
979
+ prompt?: string
980
+ tools?: {
981
+ [key: string]: boolean
982
+ }
983
+ disable?: boolean
984
+ /**
985
+ * Description of when to use the agent
986
+ */
987
+ description?: string
988
+ mode?: "subagent" | "primary" | "all"
989
+ /**
990
+ * Hex color code for the agent (e.g., #FF5733)
991
+ */
992
+ color?: string
993
+ /**
994
+ * Maximum number of agentic iterations before forcing text-only response
995
+ */
996
+ maxSteps?: number
997
+ permission?: {
998
+ edit?: "ask" | "allow" | "deny"
999
+ bash?:
1000
+ | ("ask" | "allow" | "deny")
1001
+ | {
1002
+ [key: string]: "ask" | "allow" | "deny"
1003
+ }
1004
+ webfetch?: "ask" | "allow" | "deny"
1005
+ doom_loop?: "ask" | "allow" | "deny"
1006
+ external_directory?: "ask" | "allow" | "deny"
1007
+ }
1008
+ [key: string]:
1009
+ | unknown
1010
+ | string
1011
+ | number
1012
+ | {
1013
+ [key: string]: boolean
1014
+ }
1015
+ | boolean
1016
+ | ("subagent" | "primary" | "all")
1017
+ | number
1018
+ | {
1019
+ edit?: "ask" | "allow" | "deny"
1020
+ bash?:
1021
+ | ("ask" | "allow" | "deny")
1022
+ | {
1023
+ [key: string]: "ask" | "allow" | "deny"
1024
+ }
1025
+ webfetch?: "ask" | "allow" | "deny"
1026
+ doom_loop?: "ask" | "allow" | "deny"
1027
+ external_directory?: "ask" | "allow" | "deny"
1028
+ }
1029
+ | undefined
1030
+ }
1031
+
1032
+ export type ProviderConfig = {
1033
+ api?: string
1034
+ name?: string
1035
+ env?: Array<string>
1036
+ id?: string
1037
+ npm?: string
1038
+ models?: {
1039
+ [key: string]: {
1040
+ id?: string
1041
+ name?: string
1042
+ release_date?: string
1043
+ attachment?: boolean
1044
+ reasoning?: boolean
1045
+ temperature?: boolean
1046
+ tool_call?: boolean
1047
+ cost?: {
1048
+ input: number
1049
+ output: number
1050
+ cache_read?: number
1051
+ cache_write?: number
1052
+ context_over_200k?: {
1053
+ input: number
1054
+ output: number
1055
+ cache_read?: number
1056
+ cache_write?: number
1057
+ }
1058
+ }
1059
+ limit?: {
1060
+ context: number
1061
+ output: number
1062
+ }
1063
+ modalities?: {
1064
+ input: Array<"text" | "audio" | "image" | "video" | "pdf">
1065
+ output: Array<"text" | "audio" | "image" | "video" | "pdf">
1066
+ }
1067
+ experimental?: boolean
1068
+ status?: "alpha" | "beta" | "deprecated"
1069
+ options?: {
1070
+ [key: string]: unknown
1071
+ }
1072
+ headers?: {
1073
+ [key: string]: string
1074
+ }
1075
+ provider?: {
1076
+ npm: string
1077
+ }
1078
+ }
1079
+ }
1080
+ whitelist?: Array<string>
1081
+ blacklist?: Array<string>
1082
+ options?: {
1083
+ apiKey?: string
1084
+ baseURL?: string
1085
+ /**
1086
+ * GitHub Enterprise URL for copilot authentication
1087
+ */
1088
+ enterpriseUrl?: string
1089
+ /**
1090
+ * Enable promptCacheKey for this provider (default false)
1091
+ */
1092
+ setCacheKey?: boolean
1093
+ /**
1094
+ * Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.
1095
+ */
1096
+ timeout?: number | false
1097
+ [key: string]: unknown | string | boolean | (number | false) | undefined
1098
+ }
1099
+ }
1100
+
1101
+ export type McpLocalConfig = {
1102
+ /**
1103
+ * Type of MCP server connection
1104
+ */
1105
+ type: "local"
1106
+ /**
1107
+ * Command and arguments to run the MCP server
1108
+ */
1109
+ command: Array<string>
1110
+ /**
1111
+ * Environment variables to set when running the MCP server
1112
+ */
1113
+ environment?: {
1114
+ [key: string]: string
1115
+ }
1116
+ /**
1117
+ * Enable or disable the MCP server on startup
1118
+ */
1119
+ enabled?: boolean
1120
+ /**
1121
+ * Timeout in ms for fetching tools from the MCP server. Defaults to 5000 (5 seconds) if not specified.
1122
+ */
1123
+ timeout?: number
1124
+ }
1125
+
1126
+ export type McpOAuthConfig = {
1127
+ /**
1128
+ * OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.
1129
+ */
1130
+ clientId?: string
1131
+ /**
1132
+ * OAuth client secret (if required by the authorization server)
1133
+ */
1134
+ clientSecret?: string
1135
+ /**
1136
+ * OAuth scopes to request during authorization
1137
+ */
1138
+ scope?: string
1139
+ }
1140
+
1141
+ export type McpRemoteConfig = {
1142
+ /**
1143
+ * Type of MCP server connection
1144
+ */
1145
+ type: "remote"
1146
+ /**
1147
+ * URL of the remote MCP server
1148
+ */
1149
+ url: string
1150
+ /**
1151
+ * Enable or disable the MCP server on startup
1152
+ */
1153
+ enabled?: boolean
1154
+ /**
1155
+ * Headers to send with the request
1156
+ */
1157
+ headers?: {
1158
+ [key: string]: string
1159
+ }
1160
+ /**
1161
+ * OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.
1162
+ */
1163
+ oauth?: McpOAuthConfig | false
1164
+ /**
1165
+ * Timeout in ms for fetching tools from the MCP server. Defaults to 5000 (5 seconds) if not specified.
1166
+ */
1167
+ timeout?: number
1168
+ }
1169
+
1170
+ /**
1171
+ * @deprecated Always uses stretch layout.
1172
+ */
1173
+ export type LayoutConfig = "auto" | "stretch"
1174
+
1175
+ export type Config = {
1176
+ /**
1177
+ * JSON schema reference for configuration validation
1178
+ */
1179
+ $schema?: string
1180
+ /**
1181
+ * Theme name to use for the interface
1182
+ */
1183
+ theme?: string
1184
+ keybinds?: KeybindsConfig
1185
+ /**
1186
+ * Log level
1187
+ */
1188
+ logLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR"
1189
+ /**
1190
+ * TUI specific settings
1191
+ */
1192
+ tui?: {
1193
+ /**
1194
+ * TUI scroll speed
1195
+ */
1196
+ scroll_speed?: number
1197
+ /**
1198
+ * Scroll acceleration settings
1199
+ */
1200
+ scroll_acceleration?: {
1201
+ /**
1202
+ * Enable scroll acceleration
1203
+ */
1204
+ enabled: boolean
1205
+ }
1206
+ /**
1207
+ * Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column
1208
+ */
1209
+ diff_style?: "auto" | "stacked"
1210
+ }
1211
+ /**
1212
+ * Command configuration, see https://saeeol.ai/docs/commands
1213
+ */
1214
+ command?: {
1215
+ [key: string]: {
1216
+ template: string
1217
+ description?: string
1218
+ agent?: string
1219
+ model?: string
1220
+ subtask?: boolean
1221
+ }
1222
+ }
1223
+ watcher?: {
1224
+ ignore?: Array<string>
1225
+ }
1226
+ plugin?: Array<string>
1227
+ snapshot?: boolean
1228
+ /**
1229
+ * Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing
1230
+ */
1231
+ share?: "manual" | "auto" | "disabled"
1232
+ /**
1233
+ * @deprecated Use 'share' field instead. Share newly created sessions automatically
1234
+ */
1235
+ autoshare?: boolean
1236
+ /**
1237
+ * Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications
1238
+ */
1239
+ autoupdate?: boolean | "notify"
1240
+ /**
1241
+ * Disable providers that are loaded automatically
1242
+ */
1243
+ disabled_providers?: Array<string>
1244
+ /**
1245
+ * When set, ONLY these providers will be enabled. All other providers will be ignored
1246
+ */
1247
+ enabled_providers?: Array<string>
1248
+ /**
1249
+ * Model to use in the format of provider/model, eg anthropic/claude-2
1250
+ */
1251
+ model?: string
1252
+ /**
1253
+ * Small model to use for tasks like title generation in the format of provider/model
1254
+ */
1255
+ small_model?: string
1256
+ /**
1257
+ * Custom username to display in conversations instead of system username
1258
+ */
1259
+ username?: string
1260
+ /**
1261
+ * @deprecated Use `agent` field instead.
1262
+ */
1263
+ mode?: {
1264
+ build?: AgentConfig
1265
+ plan?: AgentConfig
1266
+ [key: string]: AgentConfig | undefined
1267
+ }
1268
+ /**
1269
+ * Agent configuration, see https://saeeol.ai/docs/agent
1270
+ */
1271
+ agent?: {
1272
+ plan?: AgentConfig
1273
+ build?: AgentConfig
1274
+ general?: AgentConfig
1275
+ explore?: AgentConfig
1276
+ [key: string]: AgentConfig | undefined
1277
+ }
1278
+ /**
1279
+ * Custom provider configurations and model overrides
1280
+ */
1281
+ provider?: {
1282
+ [key: string]: ProviderConfig
1283
+ }
1284
+ /**
1285
+ * MCP (Model Context Protocol) server configurations
1286
+ */
1287
+ mcp?: {
1288
+ [key: string]: McpLocalConfig | McpRemoteConfig
1289
+ }
1290
+ formatter?:
1291
+ | false
1292
+ | {
1293
+ [key: string]: {
1294
+ disabled?: boolean
1295
+ command?: Array<string>
1296
+ environment?: {
1297
+ [key: string]: string
1298
+ }
1299
+ extensions?: Array<string>
1300
+ }
1301
+ }
1302
+ lsp?:
1303
+ | false
1304
+ | {
1305
+ [key: string]:
1306
+ | {
1307
+ disabled: true
1308
+ }
1309
+ | {
1310
+ command: Array<string>
1311
+ extensions?: Array<string>
1312
+ disabled?: boolean
1313
+ env?: {
1314
+ [key: string]: string
1315
+ }
1316
+ initialization?: {
1317
+ [key: string]: unknown
1318
+ }
1319
+ }
1320
+ }
1321
+ /**
1322
+ * Additional instruction files or patterns to include
1323
+ */
1324
+ instructions?: Array<string>
1325
+ layout?: LayoutConfig
1326
+ permission?: {
1327
+ edit?: "ask" | "allow" | "deny"
1328
+ bash?:
1329
+ | ("ask" | "allow" | "deny")
1330
+ | {
1331
+ [key: string]: "ask" | "allow" | "deny"
1332
+ }
1333
+ webfetch?: "ask" | "allow" | "deny"
1334
+ doom_loop?: "ask" | "allow" | "deny"
1335
+ external_directory?: "ask" | "allow" | "deny"
1336
+ }
1337
+ tools?: {
1338
+ [key: string]: boolean
1339
+ }
1340
+ enterprise?: {
1341
+ /**
1342
+ * Enterprise URL
1343
+ */
1344
+ url?: string
1345
+ }
1346
+ experimental?: {
1347
+ hook?: {
1348
+ file_edited?: {
1349
+ [key: string]: Array<{
1350
+ command: Array<string>
1351
+ environment?: {
1352
+ [key: string]: string
1353
+ }
1354
+ }>
1355
+ }
1356
+ session_completed?: Array<{
1357
+ command: Array<string>
1358
+ environment?: {
1359
+ [key: string]: string
1360
+ }
1361
+ }>
1362
+ }
1363
+ /**
1364
+ * Number of retries for chat completions on failure
1365
+ */
1366
+ chatMaxRetries?: number
1367
+ disable_paste_summary?: boolean
1368
+ /**
1369
+ * Enable the batch tool
1370
+ */
1371
+ batch_tool?: boolean
1372
+ /**
1373
+ * Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)
1374
+ */
1375
+ openTelemetry?: boolean
1376
+ /**
1377
+ * Tools that should only be available to primary agents.
1378
+ */
1379
+ primary_tools?: Array<string>
1380
+ }
1381
+ }
1382
+
1383
+ export type ToolIds = Array<string>
1384
+
1385
+ export type ToolListItem = {
1386
+ id: string
1387
+ description: string
1388
+ parameters: unknown
1389
+ }
1390
+
1391
+ export type ToolList = Array<ToolListItem>
1392
+
1393
+ export type Path = {
1394
+ state: string
1395
+ config: string
1396
+ worktree: string
1397
+ directory: string
1398
+ }
1399
+
1400
+ export type VcsInfo = {
1401
+ branch: string
1402
+ }
1403
+
1404
+ export type TextPartInput = {
1405
+ id?: string
1406
+ type: "text"
1407
+ text: string
1408
+ synthetic?: boolean
1409
+ ignored?: boolean
1410
+ time?: {
1411
+ start: number
1412
+ end?: number
1413
+ }
1414
+ metadata?: {
1415
+ [key: string]: unknown
1416
+ }
1417
+ }
1418
+
1419
+ export type FilePartInput = {
1420
+ id?: string
1421
+ type: "file"
1422
+ mime: string
1423
+ filename?: string
1424
+ url: string
1425
+ source?: FilePartSource
1426
+ }
1427
+
1428
+ export type AgentPartInput = {
1429
+ id?: string
1430
+ type: "agent"
1431
+ name: string
1432
+ source?: {
1433
+ value: string
1434
+ start: number
1435
+ end: number
1436
+ }
1437
+ }
1438
+
1439
+ export type SubtaskPartInput = {
1440
+ id?: string
1441
+ type: "subtask"
1442
+ prompt: string
1443
+ description: string
1444
+ agent: string
1445
+ }
1446
+
1447
+ export type Command = {
1448
+ name: string
1449
+ description?: string
1450
+ agent?: string
1451
+ model?: string
1452
+ template: string
1453
+ subtask?: boolean
1454
+ }
1455
+
1456
+ export type Model = {
1457
+ id: string
1458
+ providerID: string
1459
+ api: {
1460
+ id: string
1461
+ url: string
1462
+ npm: string
1463
+ }
1464
+ name: string
1465
+ capabilities: {
1466
+ temperature: boolean
1467
+ reasoning: boolean
1468
+ attachment: boolean
1469
+ toolcall: boolean
1470
+ input: {
1471
+ text: boolean
1472
+ audio: boolean
1473
+ image: boolean
1474
+ video: boolean
1475
+ pdf: boolean
1476
+ }
1477
+ output: {
1478
+ text: boolean
1479
+ audio: boolean
1480
+ image: boolean
1481
+ video: boolean
1482
+ pdf: boolean
1483
+ }
1484
+ }
1485
+ cost: {
1486
+ input: number
1487
+ output: number
1488
+ cache: {
1489
+ read: number
1490
+ write: number
1491
+ }
1492
+ experimentalOver200K?: {
1493
+ input: number
1494
+ output: number
1495
+ cache: {
1496
+ read: number
1497
+ write: number
1498
+ }
1499
+ }
1500
+ }
1501
+ limit: {
1502
+ context: number
1503
+ output: number
1504
+ }
1505
+ status: "alpha" | "beta" | "deprecated" | "active"
1506
+ options: {
1507
+ [key: string]: unknown
1508
+ }
1509
+ headers: {
1510
+ [key: string]: string
1511
+ }
1512
+ }
1513
+
1514
+ export type Provider = {
1515
+ id: string
1516
+ name: string
1517
+ source: "env" | "config" | "custom" | "api"
1518
+ env: Array<string>
1519
+ key?: string
1520
+ options: {
1521
+ [key: string]: unknown
1522
+ }
1523
+ models: {
1524
+ [key: string]: Model
1525
+ }
1526
+ }
1527
+
1528
+ export type ProviderAuthMethod = {
1529
+ type: "oauth" | "api"
1530
+ label: string
1531
+ }
1532
+
1533
+ export type ProviderAuthAuthorization = {
1534
+ url: string
1535
+ method: "auto" | "code"
1536
+ instructions: string
1537
+ }
1538
+
1539
+ export type Symbol = {
1540
+ name: string
1541
+ kind: number
1542
+ location: {
1543
+ uri: string
1544
+ range: Range
1545
+ }
1546
+ }
1547
+
1548
+ export type FileNode = {
1549
+ name: string
1550
+ path: string
1551
+ absolute: string
1552
+ type: "file" | "directory"
1553
+ ignored: boolean
1554
+ }
1555
+
1556
+ export type FileContent = {
1557
+ type: "text" | "binary"
1558
+ content: string
1559
+ diff?: string
1560
+ patch?: {
1561
+ oldFileName: string
1562
+ newFileName: string
1563
+ oldHeader?: string
1564
+ newHeader?: string
1565
+ hunks: Array<{
1566
+ oldStart: number
1567
+ oldLines: number
1568
+ newStart: number
1569
+ newLines: number
1570
+ lines: Array<string>
1571
+ }>
1572
+ index?: string
1573
+ }
1574
+ encoding?: "base64"
1575
+ mimeType?: string
1576
+ }
1577
+
1578
+ export type File = {
1579
+ path: string
1580
+ added: number
1581
+ removed: number
1582
+ status: "added" | "deleted" | "modified"
1583
+ }
1584
+
1585
+ export type Agent = {
1586
+ name: string
1587
+ description?: string
1588
+ mode: "subagent" | "primary" | "all"
1589
+ builtIn: boolean
1590
+ topP?: number
1591
+ temperature?: number
1592
+ color?: string
1593
+ permission: {
1594
+ edit: "ask" | "allow" | "deny"
1595
+ bash: {
1596
+ [key: string]: "ask" | "allow" | "deny"
1597
+ }
1598
+ webfetch?: "ask" | "allow" | "deny"
1599
+ doom_loop?: "ask" | "allow" | "deny"
1600
+ external_directory?: "ask" | "allow" | "deny"
1601
+ }
1602
+ model?: {
1603
+ modelID: string
1604
+ providerID: string
1605
+ }
1606
+ prompt?: string
1607
+ tools: {
1608
+ [key: string]: boolean
1609
+ }
1610
+ options: {
1611
+ [key: string]: unknown
1612
+ }
1613
+ maxSteps?: number
1614
+ }
1615
+
1616
+ export type McpStatusConnected = {
1617
+ status: "connected"
1618
+ }
1619
+
1620
+ export type McpStatusDisabled = {
1621
+ status: "disabled"
1622
+ }
1623
+
1624
+ export type McpStatusFailed = {
1625
+ status: "failed"
1626
+ error: string
1627
+ }
1628
+
1629
+ export type McpStatusNeedsAuth = {
1630
+ status: "needs_auth"
1631
+ }
1632
+
1633
+ export type McpStatusNeedsClientRegistration = {
1634
+ status: "needs_client_registration"
1635
+ error: string
1636
+ }
1637
+
1638
+ export type McpStatus =
1639
+ | McpStatusConnected
1640
+ | McpStatusDisabled
1641
+ | McpStatusFailed
1642
+ | McpStatusNeedsAuth
1643
+ | McpStatusNeedsClientRegistration
1644
+
1645
+ export type LspStatus = {
1646
+ id: string
1647
+ name: string
1648
+ root: string
1649
+ status: "connected" | "error"
1650
+ }
1651
+
1652
+ export type FormatterStatus = {
1653
+ name: string
1654
+ extensions: Array<string>
1655
+ enabled: boolean
1656
+ }
1657
+
1658
+ export type OAuth = {
1659
+ type: "oauth"
1660
+ refresh: string
1661
+ access: string
1662
+ expires: number
1663
+ enterpriseUrl?: string
1664
+ }
1665
+
1666
+ export type ApiAuth = {
1667
+ type: "api"
1668
+ key: string
1669
+ }
1670
+
1671
+ export type WellKnownAuth = {
1672
+ type: "wellknown"
1673
+ key: string
1674
+ token: string
1675
+ }
1676
+
1677
+ export type Auth = OAuth | ApiAuth | WellKnownAuth
1678
+
1679
+ export type GlobalEventData = {
1680
+ body?: never
1681
+ path?: never
1682
+ query?: never
1683
+ url: "/global/event"
1684
+ }
1685
+
1686
+ export type GlobalEventResponses = {
1687
+ /**
1688
+ * Event stream
1689
+ */
1690
+ 200: GlobalEvent
1691
+ }
1692
+
1693
+ export type GlobalEventResponse = GlobalEventResponses[keyof GlobalEventResponses]
1694
+
1695
+ export type ProjectListData = {
1696
+ body?: never
1697
+ path?: never
1698
+ query?: {
1699
+ directory?: string
1700
+ }
1701
+ url: "/project"
1702
+ }
1703
+
1704
+ export type ProjectListResponses = {
1705
+ /**
1706
+ * List of projects
1707
+ */
1708
+ 200: Array<Project>
1709
+ }
1710
+
1711
+ export type ProjectListResponse = ProjectListResponses[keyof ProjectListResponses]
1712
+
1713
+ export type ProjectCurrentData = {
1714
+ body?: never
1715
+ path?: never
1716
+ query?: {
1717
+ directory?: string
1718
+ }
1719
+ url: "/project/current"
1720
+ }
1721
+
1722
+ export type ProjectCurrentResponses = {
1723
+ /**
1724
+ * Current project
1725
+ */
1726
+ 200: Project
1727
+ }
1728
+
1729
+ export type ProjectCurrentResponse = ProjectCurrentResponses[keyof ProjectCurrentResponses]
1730
+
1731
+ export type PtyListData = {
1732
+ body?: never
1733
+ path?: never
1734
+ query?: {
1735
+ directory?: string
1736
+ }
1737
+ url: "/pty"
1738
+ }
1739
+
1740
+ export type PtyListResponses = {
1741
+ /**
1742
+ * List of sessions
1743
+ */
1744
+ 200: Array<Pty>
1745
+ }
1746
+
1747
+ export type PtyListResponse = PtyListResponses[keyof PtyListResponses]
1748
+
1749
+ export type PtyCreateData = {
1750
+ body?: {
1751
+ command?: string
1752
+ args?: Array<string>
1753
+ cwd?: string
1754
+ title?: string
1755
+ env?: {
1756
+ [key: string]: string
1757
+ }
1758
+ }
1759
+ path?: never
1760
+ query?: {
1761
+ directory?: string
1762
+ }
1763
+ url: "/pty"
1764
+ }
1765
+
1766
+ export type PtyCreateErrors = {
1767
+ /**
1768
+ * Bad request
1769
+ */
1770
+ 400: BadRequestError
1771
+ }
1772
+
1773
+ export type PtyCreateError = PtyCreateErrors[keyof PtyCreateErrors]
1774
+
1775
+ export type PtyCreateResponses = {
1776
+ /**
1777
+ * Created session
1778
+ */
1779
+ 200: Pty
1780
+ }
1781
+
1782
+ export type PtyCreateResponse = PtyCreateResponses[keyof PtyCreateResponses]
1783
+
1784
+ export type PtyRemoveData = {
1785
+ body?: never
1786
+ path: {
1787
+ id: string
1788
+ }
1789
+ query?: {
1790
+ directory?: string
1791
+ }
1792
+ url: "/pty/{id}"
1793
+ }
1794
+
1795
+ export type PtyRemoveErrors = {
1796
+ /**
1797
+ * Not found
1798
+ */
1799
+ 404: NotFoundError
1800
+ }
1801
+
1802
+ export type PtyRemoveError = PtyRemoveErrors[keyof PtyRemoveErrors]
1803
+
1804
+ export type PtyRemoveResponses = {
1805
+ /**
1806
+ * Session removed
1807
+ */
1808
+ 200: boolean
1809
+ }
1810
+
1811
+ export type PtyRemoveResponse = PtyRemoveResponses[keyof PtyRemoveResponses]
1812
+
1813
+ export type PtyGetData = {
1814
+ body?: never
1815
+ path: {
1816
+ id: string
1817
+ }
1818
+ query?: {
1819
+ directory?: string
1820
+ }
1821
+ url: "/pty/{id}"
1822
+ }
1823
+
1824
+ export type PtyGetErrors = {
1825
+ /**
1826
+ * Not found
1827
+ */
1828
+ 404: NotFoundError
1829
+ }
1830
+
1831
+ export type PtyGetError = PtyGetErrors[keyof PtyGetErrors]
1832
+
1833
+ export type PtyGetResponses = {
1834
+ /**
1835
+ * Session info
1836
+ */
1837
+ 200: Pty
1838
+ }
1839
+
1840
+ export type PtyGetResponse = PtyGetResponses[keyof PtyGetResponses]
1841
+
1842
+ export type PtyUpdateData = {
1843
+ body?: {
1844
+ title?: string
1845
+ size?: {
1846
+ rows: number
1847
+ cols: number
1848
+ }
1849
+ }
1850
+ path: {
1851
+ id: string
1852
+ }
1853
+ query?: {
1854
+ directory?: string
1855
+ }
1856
+ url: "/pty/{id}"
1857
+ }
1858
+
1859
+ export type PtyUpdateErrors = {
1860
+ /**
1861
+ * Bad request
1862
+ */
1863
+ 400: BadRequestError
1864
+ }
1865
+
1866
+ export type PtyUpdateError = PtyUpdateErrors[keyof PtyUpdateErrors]
1867
+
1868
+ export type PtyUpdateResponses = {
1869
+ /**
1870
+ * Updated session
1871
+ */
1872
+ 200: Pty
1873
+ }
1874
+
1875
+ export type PtyUpdateResponse = PtyUpdateResponses[keyof PtyUpdateResponses]
1876
+
1877
+ export type PtyConnectData = {
1878
+ body?: never
1879
+ path: {
1880
+ id: string
1881
+ }
1882
+ query?: {
1883
+ directory?: string
1884
+ }
1885
+ url: "/pty/{id}/connect"
1886
+ }
1887
+
1888
+ export type PtyConnectErrors = {
1889
+ /**
1890
+ * Not found
1891
+ */
1892
+ 404: NotFoundError
1893
+ }
1894
+
1895
+ export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors]
1896
+
1897
+ export type PtyConnectResponses = {
1898
+ /**
1899
+ * Connected session
1900
+ */
1901
+ 200: boolean
1902
+ }
1903
+
1904
+ export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses]
1905
+
1906
+ export type ConfigGetData = {
1907
+ body?: never
1908
+ path?: never
1909
+ query?: {
1910
+ directory?: string
1911
+ }
1912
+ url: "/config"
1913
+ }
1914
+
1915
+ export type ConfigGetResponses = {
1916
+ /**
1917
+ * Get config info
1918
+ */
1919
+ 200: Config
1920
+ }
1921
+
1922
+ export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses]
1923
+
1924
+ export type ConfigUpdateData = {
1925
+ body?: Config
1926
+ path?: never
1927
+ query?: {
1928
+ directory?: string
1929
+ }
1930
+ url: "/config"
1931
+ }
1932
+
1933
+ export type ConfigUpdateErrors = {
1934
+ /**
1935
+ * Bad request
1936
+ */
1937
+ 400: BadRequestError
1938
+ }
1939
+
1940
+ export type ConfigUpdateError = ConfigUpdateErrors[keyof ConfigUpdateErrors]
1941
+
1942
+ export type ConfigUpdateResponses = {
1943
+ /**
1944
+ * Successfully updated config
1945
+ */
1946
+ 200: Config
1947
+ }
1948
+
1949
+ export type ConfigUpdateResponse = ConfigUpdateResponses[keyof ConfigUpdateResponses]
1950
+
1951
+ export type ToolIdsData = {
1952
+ body?: never
1953
+ path?: never
1954
+ query?: {
1955
+ directory?: string
1956
+ }
1957
+ url: "/experimental/tool/ids"
1958
+ }
1959
+
1960
+ export type ToolIdsErrors = {
1961
+ /**
1962
+ * Bad request
1963
+ */
1964
+ 400: BadRequestError
1965
+ }
1966
+
1967
+ export type ToolIdsError = ToolIdsErrors[keyof ToolIdsErrors]
1968
+
1969
+ export type ToolIdsResponses = {
1970
+ /**
1971
+ * Tool IDs
1972
+ */
1973
+ 200: ToolIds
1974
+ }
1975
+
1976
+ export type ToolIdsResponse = ToolIdsResponses[keyof ToolIdsResponses]
1977
+
1978
+ export type ToolListData = {
1979
+ body?: never
1980
+ path?: never
1981
+ query: {
1982
+ directory?: string
1983
+ provider: string
1984
+ model: string
1985
+ }
1986
+ url: "/experimental/tool"
1987
+ }
1988
+
1989
+ export type ToolListErrors = {
1990
+ /**
1991
+ * Bad request
1992
+ */
1993
+ 400: BadRequestError
1994
+ }
1995
+
1996
+ export type ToolListError = ToolListErrors[keyof ToolListErrors]
1997
+
1998
+ export type ToolListResponses = {
1999
+ /**
2000
+ * Tools
2001
+ */
2002
+ 200: ToolList
2003
+ }
2004
+
2005
+ export type ToolListResponse = ToolListResponses[keyof ToolListResponses]
2006
+
2007
+ export type InstanceDisposeData = {
2008
+ body?: never
2009
+ path?: never
2010
+ query?: {
2011
+ directory?: string
2012
+ }
2013
+ url: "/instance/dispose"
2014
+ }
2015
+
2016
+ export type InstanceDisposeResponses = {
2017
+ /**
2018
+ * Instance disposed
2019
+ */
2020
+ 200: boolean
2021
+ }
2022
+
2023
+ export type InstanceDisposeResponse = InstanceDisposeResponses[keyof InstanceDisposeResponses]
2024
+
2025
+ export type PathGetData = {
2026
+ body?: never
2027
+ path?: never
2028
+ query?: {
2029
+ directory?: string
2030
+ }
2031
+ url: "/path"
2032
+ }
2033
+
2034
+ export type PathGetResponses = {
2035
+ /**
2036
+ * Path
2037
+ */
2038
+ 200: Path
2039
+ }
2040
+
2041
+ export type PathGetResponse = PathGetResponses[keyof PathGetResponses]
2042
+
2043
+ export type VcsGetData = {
2044
+ body?: never
2045
+ path?: never
2046
+ query?: {
2047
+ directory?: string
2048
+ }
2049
+ url: "/vcs"
2050
+ }
2051
+
2052
+ export type VcsGetResponses = {
2053
+ /**
2054
+ * VCS info
2055
+ */
2056
+ 200: VcsInfo
2057
+ }
2058
+
2059
+ export type VcsGetResponse = VcsGetResponses[keyof VcsGetResponses]
2060
+
2061
+ export type SessionListData = {
2062
+ body?: never
2063
+ path?: never
2064
+ query?: {
2065
+ directory?: string
2066
+ }
2067
+ url: "/session"
2068
+ }
2069
+
2070
+ export type SessionListResponses = {
2071
+ /**
2072
+ * List of sessions
2073
+ */
2074
+ 200: Array<Session>
2075
+ }
2076
+
2077
+ export type SessionListResponse = SessionListResponses[keyof SessionListResponses]
2078
+
2079
+ export type SessionCreateData = {
2080
+ body?: {
2081
+ parentID?: string
2082
+ title?: string
2083
+ }
2084
+ path?: never
2085
+ query?: {
2086
+ directory?: string
2087
+ }
2088
+ url: "/session"
2089
+ }
2090
+
2091
+ export type SessionCreateErrors = {
2092
+ /**
2093
+ * Bad request
2094
+ */
2095
+ 400: BadRequestError
2096
+ }
2097
+
2098
+ export type SessionCreateError = SessionCreateErrors[keyof SessionCreateErrors]
2099
+
2100
+ export type SessionCreateResponses = {
2101
+ /**
2102
+ * Successfully created session
2103
+ */
2104
+ 200: Session
2105
+ }
2106
+
2107
+ export type SessionCreateResponse = SessionCreateResponses[keyof SessionCreateResponses]
2108
+
2109
+ export type SessionStatusData = {
2110
+ body?: never
2111
+ path?: never
2112
+ query?: {
2113
+ directory?: string
2114
+ }
2115
+ url: "/session/status"
2116
+ }
2117
+
2118
+ export type SessionStatusErrors = {
2119
+ /**
2120
+ * Bad request
2121
+ */
2122
+ 400: BadRequestError
2123
+ }
2124
+
2125
+ export type SessionStatusError = SessionStatusErrors[keyof SessionStatusErrors]
2126
+
2127
+ export type SessionStatusResponses = {
2128
+ /**
2129
+ * Get session status
2130
+ */
2131
+ 200: {
2132
+ [key: string]: SessionStatus
2133
+ }
2134
+ }
2135
+
2136
+ export type SessionStatusResponse = SessionStatusResponses[keyof SessionStatusResponses]
2137
+
2138
+ export type SessionDeleteData = {
2139
+ body?: never
2140
+ path: {
2141
+ id: string
2142
+ }
2143
+ query?: {
2144
+ directory?: string
2145
+ }
2146
+ url: "/session/{id}"
2147
+ }
2148
+
2149
+ export type SessionDeleteErrors = {
2150
+ /**
2151
+ * Bad request
2152
+ */
2153
+ 400: BadRequestError
2154
+ /**
2155
+ * Not found
2156
+ */
2157
+ 404: NotFoundError
2158
+ }
2159
+
2160
+ export type SessionDeleteError = SessionDeleteErrors[keyof SessionDeleteErrors]
2161
+
2162
+ export type SessionDeleteResponses = {
2163
+ /**
2164
+ * Successfully deleted session
2165
+ */
2166
+ 200: boolean
2167
+ }
2168
+
2169
+ export type SessionDeleteResponse = SessionDeleteResponses[keyof SessionDeleteResponses]
2170
+
2171
+ export type SessionGetData = {
2172
+ body?: never
2173
+ path: {
2174
+ id: string
2175
+ }
2176
+ query?: {
2177
+ directory?: string
2178
+ }
2179
+ url: "/session/{id}"
2180
+ }
2181
+
2182
+ export type SessionGetErrors = {
2183
+ /**
2184
+ * Bad request
2185
+ */
2186
+ 400: BadRequestError
2187
+ /**
2188
+ * Not found
2189
+ */
2190
+ 404: NotFoundError
2191
+ }
2192
+
2193
+ export type SessionGetError = SessionGetErrors[keyof SessionGetErrors]
2194
+
2195
+ export type SessionGetResponses = {
2196
+ /**
2197
+ * Get session
2198
+ */
2199
+ 200: Session
2200
+ }
2201
+
2202
+ export type SessionGetResponse = SessionGetResponses[keyof SessionGetResponses]
2203
+
2204
+ export type SessionUpdateData = {
2205
+ body?: {
2206
+ title?: string
2207
+ }
2208
+ path: {
2209
+ id: string
2210
+ }
2211
+ query?: {
2212
+ directory?: string
2213
+ }
2214
+ url: "/session/{id}"
2215
+ }
2216
+
2217
+ export type SessionUpdateErrors = {
2218
+ /**
2219
+ * Bad request
2220
+ */
2221
+ 400: BadRequestError
2222
+ /**
2223
+ * Not found
2224
+ */
2225
+ 404: NotFoundError
2226
+ }
2227
+
2228
+ export type SessionUpdateError = SessionUpdateErrors[keyof SessionUpdateErrors]
2229
+
2230
+ export type SessionUpdateResponses = {
2231
+ /**
2232
+ * Successfully updated session
2233
+ */
2234
+ 200: Session
2235
+ }
2236
+
2237
+ export type SessionUpdateResponse = SessionUpdateResponses[keyof SessionUpdateResponses]
2238
+
2239
+ export type SessionChildrenData = {
2240
+ body?: never
2241
+ path: {
2242
+ id: string
2243
+ }
2244
+ query?: {
2245
+ directory?: string
2246
+ }
2247
+ url: "/session/{id}/children"
2248
+ }
2249
+
2250
+ export type SessionChildrenErrors = {
2251
+ /**
2252
+ * Bad request
2253
+ */
2254
+ 400: BadRequestError
2255
+ /**
2256
+ * Not found
2257
+ */
2258
+ 404: NotFoundError
2259
+ }
2260
+
2261
+ export type SessionChildrenError = SessionChildrenErrors[keyof SessionChildrenErrors]
2262
+
2263
+ export type SessionChildrenResponses = {
2264
+ /**
2265
+ * List of children
2266
+ */
2267
+ 200: Array<Session>
2268
+ }
2269
+
2270
+ export type SessionChildrenResponse = SessionChildrenResponses[keyof SessionChildrenResponses]
2271
+
2272
+ export type SessionTodoData = {
2273
+ body?: never
2274
+ path: {
2275
+ /**
2276
+ * Session ID
2277
+ */
2278
+ id: string
2279
+ }
2280
+ query?: {
2281
+ directory?: string
2282
+ }
2283
+ url: "/session/{id}/todo"
2284
+ }
2285
+
2286
+ export type SessionTodoErrors = {
2287
+ /**
2288
+ * Bad request
2289
+ */
2290
+ 400: BadRequestError
2291
+ /**
2292
+ * Not found
2293
+ */
2294
+ 404: NotFoundError
2295
+ }
2296
+
2297
+ export type SessionTodoError = SessionTodoErrors[keyof SessionTodoErrors]
2298
+
2299
+ export type SessionTodoResponses = {
2300
+ /**
2301
+ * Todo list
2302
+ */
2303
+ 200: Array<Todo>
2304
+ }
2305
+
2306
+ export type SessionTodoResponse = SessionTodoResponses[keyof SessionTodoResponses]
2307
+
2308
+ export type SessionInitData = {
2309
+ body?: {
2310
+ modelID: string
2311
+ providerID: string
2312
+ messageID: string
2313
+ }
2314
+ path: {
2315
+ /**
2316
+ * Session ID
2317
+ */
2318
+ id: string
2319
+ }
2320
+ query?: {
2321
+ directory?: string
2322
+ }
2323
+ url: "/session/{id}/init"
2324
+ }
2325
+
2326
+ export type SessionInitErrors = {
2327
+ /**
2328
+ * Bad request
2329
+ */
2330
+ 400: BadRequestError
2331
+ /**
2332
+ * Not found
2333
+ */
2334
+ 404: NotFoundError
2335
+ }
2336
+
2337
+ export type SessionInitError = SessionInitErrors[keyof SessionInitErrors]
2338
+
2339
+ export type SessionInitResponses = {
2340
+ /**
2341
+ * 200
2342
+ */
2343
+ 200: boolean
2344
+ }
2345
+
2346
+ export type SessionInitResponse = SessionInitResponses[keyof SessionInitResponses]
2347
+
2348
+ export type SessionForkData = {
2349
+ body?: {
2350
+ messageID?: string
2351
+ }
2352
+ path: {
2353
+ id: string
2354
+ }
2355
+ query?: {
2356
+ directory?: string
2357
+ }
2358
+ url: "/session/{id}/fork"
2359
+ }
2360
+
2361
+ export type SessionForkResponses = {
2362
+ /**
2363
+ * 200
2364
+ */
2365
+ 200: Session
2366
+ }
2367
+
2368
+ export type SessionForkResponse = SessionForkResponses[keyof SessionForkResponses]
2369
+
2370
+ export type SessionAbortData = {
2371
+ body?: never
2372
+ path: {
2373
+ id: string
2374
+ }
2375
+ query?: {
2376
+ directory?: string
2377
+ }
2378
+ url: "/session/{id}/abort"
2379
+ }
2380
+
2381
+ export type SessionAbortErrors = {
2382
+ /**
2383
+ * Bad request
2384
+ */
2385
+ 400: BadRequestError
2386
+ /**
2387
+ * Not found
2388
+ */
2389
+ 404: NotFoundError
2390
+ }
2391
+
2392
+ export type SessionAbortError = SessionAbortErrors[keyof SessionAbortErrors]
2393
+
2394
+ export type SessionAbortResponses = {
2395
+ /**
2396
+ * Aborted session
2397
+ */
2398
+ 200: boolean
2399
+ }
2400
+
2401
+ export type SessionAbortResponse = SessionAbortResponses[keyof SessionAbortResponses]
2402
+
2403
+ export type SessionUnshareData = {
2404
+ body?: never
2405
+ path: {
2406
+ id: string
2407
+ }
2408
+ query?: {
2409
+ directory?: string
2410
+ }
2411
+ url: "/session/{id}/share"
2412
+ }
2413
+
2414
+ export type SessionUnshareErrors = {
2415
+ /**
2416
+ * Bad request
2417
+ */
2418
+ 400: BadRequestError
2419
+ /**
2420
+ * Not found
2421
+ */
2422
+ 404: NotFoundError
2423
+ }
2424
+
2425
+ export type SessionUnshareError = SessionUnshareErrors[keyof SessionUnshareErrors]
2426
+
2427
+ export type SessionUnshareResponses = {
2428
+ /**
2429
+ * Successfully unshared session
2430
+ */
2431
+ 200: Session
2432
+ }
2433
+
2434
+ export type SessionUnshareResponse = SessionUnshareResponses[keyof SessionUnshareResponses]
2435
+
2436
+ export type SessionShareData = {
2437
+ body?: never
2438
+ path: {
2439
+ id: string
2440
+ }
2441
+ query?: {
2442
+ directory?: string
2443
+ }
2444
+ url: "/session/{id}/share"
2445
+ }
2446
+
2447
+ export type SessionShareErrors = {
2448
+ /**
2449
+ * Bad request
2450
+ */
2451
+ 400: BadRequestError
2452
+ /**
2453
+ * Not found
2454
+ */
2455
+ 404: NotFoundError
2456
+ }
2457
+
2458
+ export type SessionShareError = SessionShareErrors[keyof SessionShareErrors]
2459
+
2460
+ export type SessionShareResponses = {
2461
+ /**
2462
+ * Successfully shared session
2463
+ */
2464
+ 200: Session
2465
+ }
2466
+
2467
+ export type SessionShareResponse = SessionShareResponses[keyof SessionShareResponses]
2468
+
2469
+ export type SessionDiffData = {
2470
+ body?: never
2471
+ path: {
2472
+ /**
2473
+ * Session ID
2474
+ */
2475
+ id: string
2476
+ }
2477
+ query?: {
2478
+ directory?: string
2479
+ messageID?: string
2480
+ }
2481
+ url: "/session/{id}/diff"
2482
+ }
2483
+
2484
+ export type SessionDiffErrors = {
2485
+ /**
2486
+ * Bad request
2487
+ */
2488
+ 400: BadRequestError
2489
+ /**
2490
+ * Not found
2491
+ */
2492
+ 404: NotFoundError
2493
+ }
2494
+
2495
+ export type SessionDiffError = SessionDiffErrors[keyof SessionDiffErrors]
2496
+
2497
+ export type SessionDiffResponses = {
2498
+ /**
2499
+ * List of diffs
2500
+ */
2501
+ 200: Array<FileDiff>
2502
+ }
2503
+
2504
+ export type SessionDiffResponse = SessionDiffResponses[keyof SessionDiffResponses]
2505
+
2506
+ export type SessionSummarizeData = {
2507
+ body?: {
2508
+ providerID: string
2509
+ modelID: string
2510
+ }
2511
+ path: {
2512
+ /**
2513
+ * Session ID
2514
+ */
2515
+ id: string
2516
+ }
2517
+ query?: {
2518
+ directory?: string
2519
+ }
2520
+ url: "/session/{id}/summarize"
2521
+ }
2522
+
2523
+ export type SessionSummarizeErrors = {
2524
+ /**
2525
+ * Bad request
2526
+ */
2527
+ 400: BadRequestError
2528
+ /**
2529
+ * Not found
2530
+ */
2531
+ 404: NotFoundError
2532
+ }
2533
+
2534
+ export type SessionSummarizeError = SessionSummarizeErrors[keyof SessionSummarizeErrors]
2535
+
2536
+ export type SessionSummarizeResponses = {
2537
+ /**
2538
+ * Summarized session
2539
+ */
2540
+ 200: boolean
2541
+ }
2542
+
2543
+ export type SessionSummarizeResponse = SessionSummarizeResponses[keyof SessionSummarizeResponses]
2544
+
2545
+ export type SessionMessagesData = {
2546
+ body?: never
2547
+ path: {
2548
+ /**
2549
+ * Session ID
2550
+ */
2551
+ id: string
2552
+ }
2553
+ query?: {
2554
+ directory?: string
2555
+ limit?: number
2556
+ }
2557
+ url: "/session/{id}/message"
2558
+ }
2559
+
2560
+ export type SessionMessagesErrors = {
2561
+ /**
2562
+ * Bad request
2563
+ */
2564
+ 400: BadRequestError
2565
+ /**
2566
+ * Not found
2567
+ */
2568
+ 404: NotFoundError
2569
+ }
2570
+
2571
+ export type SessionMessagesError = SessionMessagesErrors[keyof SessionMessagesErrors]
2572
+
2573
+ export type SessionMessagesResponses = {
2574
+ /**
2575
+ * List of messages
2576
+ */
2577
+ 200: Array<{
2578
+ info: Message
2579
+ parts: Array<Part>
2580
+ }>
2581
+ }
2582
+
2583
+ export type SessionMessagesResponse = SessionMessagesResponses[keyof SessionMessagesResponses]
2584
+
2585
+ export type SessionPromptData = {
2586
+ body?: {
2587
+ messageID?: string
2588
+ model?: {
2589
+ providerID: string
2590
+ modelID: string
2591
+ }
2592
+ agent?: string
2593
+ noReply?: boolean
2594
+ system?: string
2595
+ tools?: {
2596
+ [key: string]: boolean
2597
+ }
2598
+ parts: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>
2599
+ }
2600
+ path: {
2601
+ /**
2602
+ * Session ID
2603
+ */
2604
+ id: string
2605
+ }
2606
+ query?: {
2607
+ directory?: string
2608
+ }
2609
+ url: "/session/{id}/message"
2610
+ }
2611
+
2612
+ export type SessionPromptErrors = {
2613
+ /**
2614
+ * Bad request
2615
+ */
2616
+ 400: BadRequestError
2617
+ /**
2618
+ * Not found
2619
+ */
2620
+ 404: NotFoundError
2621
+ }
2622
+
2623
+ export type SessionPromptError = SessionPromptErrors[keyof SessionPromptErrors]
2624
+
2625
+ export type SessionPromptResponses = {
2626
+ /**
2627
+ * Created message
2628
+ */
2629
+ 200: {
2630
+ info: AssistantMessage
2631
+ parts: Array<Part>
2632
+ }
2633
+ }
2634
+
2635
+ export type SessionPromptResponse = SessionPromptResponses[keyof SessionPromptResponses]
2636
+
2637
+ export type SessionMessageData = {
2638
+ body?: never
2639
+ path: {
2640
+ /**
2641
+ * Session ID
2642
+ */
2643
+ id: string
2644
+ /**
2645
+ * Message ID
2646
+ */
2647
+ messageID: string
2648
+ }
2649
+ query?: {
2650
+ directory?: string
2651
+ }
2652
+ url: "/session/{id}/message/{messageID}"
2653
+ }
2654
+
2655
+ export type SessionMessageErrors = {
2656
+ /**
2657
+ * Bad request
2658
+ */
2659
+ 400: BadRequestError
2660
+ /**
2661
+ * Not found
2662
+ */
2663
+ 404: NotFoundError
2664
+ }
2665
+
2666
+ export type SessionMessageError = SessionMessageErrors[keyof SessionMessageErrors]
2667
+
2668
+ export type SessionMessageResponses = {
2669
+ /**
2670
+ * Message
2671
+ */
2672
+ 200: {
2673
+ info: Message
2674
+ parts: Array<Part>
2675
+ }
2676
+ }
2677
+
2678
+ export type SessionMessageResponse = SessionMessageResponses[keyof SessionMessageResponses]
2679
+
2680
+ export type SessionPromptAsyncData = {
2681
+ body?: {
2682
+ messageID?: string
2683
+ model?: {
2684
+ providerID: string
2685
+ modelID: string
2686
+ }
2687
+ agent?: string
2688
+ noReply?: boolean
2689
+ system?: string
2690
+ tools?: {
2691
+ [key: string]: boolean
2692
+ }
2693
+ parts: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>
2694
+ }
2695
+ path: {
2696
+ /**
2697
+ * Session ID
2698
+ */
2699
+ id: string
2700
+ }
2701
+ query?: {
2702
+ directory?: string
2703
+ }
2704
+ url: "/session/{id}/prompt_async"
2705
+ }
2706
+
2707
+ export type SessionPromptAsyncErrors = {
2708
+ /**
2709
+ * Bad request
2710
+ */
2711
+ 400: BadRequestError
2712
+ /**
2713
+ * Not found
2714
+ */
2715
+ 404: NotFoundError
2716
+ }
2717
+
2718
+ export type SessionPromptAsyncError = SessionPromptAsyncErrors[keyof SessionPromptAsyncErrors]
2719
+
2720
+ export type SessionPromptAsyncResponses = {
2721
+ /**
2722
+ * Prompt accepted
2723
+ */
2724
+ 204: void
2725
+ }
2726
+
2727
+ export type SessionPromptAsyncResponse = SessionPromptAsyncResponses[keyof SessionPromptAsyncResponses]
2728
+
2729
+ export type SessionCommandData = {
2730
+ body?: {
2731
+ messageID?: string
2732
+ agent?: string
2733
+ model?: string
2734
+ arguments: string
2735
+ command: string
2736
+ }
2737
+ path: {
2738
+ /**
2739
+ * Session ID
2740
+ */
2741
+ id: string
2742
+ }
2743
+ query?: {
2744
+ directory?: string
2745
+ }
2746
+ url: "/session/{id}/command"
2747
+ }
2748
+
2749
+ export type SessionCommandErrors = {
2750
+ /**
2751
+ * Bad request
2752
+ */
2753
+ 400: BadRequestError
2754
+ /**
2755
+ * Not found
2756
+ */
2757
+ 404: NotFoundError
2758
+ }
2759
+
2760
+ export type SessionCommandError = SessionCommandErrors[keyof SessionCommandErrors]
2761
+
2762
+ export type SessionCommandResponses = {
2763
+ /**
2764
+ * Created message
2765
+ */
2766
+ 200: {
2767
+ info: AssistantMessage
2768
+ parts: Array<Part>
2769
+ }
2770
+ }
2771
+
2772
+ export type SessionCommandResponse = SessionCommandResponses[keyof SessionCommandResponses]
2773
+
2774
+ export type SessionShellData = {
2775
+ body?: {
2776
+ agent: string
2777
+ model?: {
2778
+ providerID: string
2779
+ modelID: string
2780
+ }
2781
+ command: string
2782
+ }
2783
+ path: {
2784
+ /**
2785
+ * Session ID
2786
+ */
2787
+ id: string
2788
+ }
2789
+ query?: {
2790
+ directory?: string
2791
+ }
2792
+ url: "/session/{id}/shell"
2793
+ }
2794
+
2795
+ export type SessionShellErrors = {
2796
+ /**
2797
+ * Bad request
2798
+ */
2799
+ 400: BadRequestError
2800
+ /**
2801
+ * Not found
2802
+ */
2803
+ 404: NotFoundError
2804
+ }
2805
+
2806
+ export type SessionShellError = SessionShellErrors[keyof SessionShellErrors]
2807
+
2808
+ export type SessionShellResponses = {
2809
+ /**
2810
+ * Created message
2811
+ */
2812
+ 200: AssistantMessage
2813
+ }
2814
+
2815
+ export type SessionShellResponse = SessionShellResponses[keyof SessionShellResponses]
2816
+
2817
+ export type SessionRevertData = {
2818
+ body?: {
2819
+ messageID: string
2820
+ partID?: string
2821
+ }
2822
+ path: {
2823
+ id: string
2824
+ }
2825
+ query?: {
2826
+ directory?: string
2827
+ }
2828
+ url: "/session/{id}/revert"
2829
+ }
2830
+
2831
+ export type SessionRevertErrors = {
2832
+ /**
2833
+ * Bad request
2834
+ */
2835
+ 400: BadRequestError
2836
+ /**
2837
+ * Not found
2838
+ */
2839
+ 404: NotFoundError
2840
+ }
2841
+
2842
+ export type SessionRevertError = SessionRevertErrors[keyof SessionRevertErrors]
2843
+
2844
+ export type SessionRevertResponses = {
2845
+ /**
2846
+ * Updated session
2847
+ */
2848
+ 200: Session
2849
+ }
2850
+
2851
+ export type SessionRevertResponse = SessionRevertResponses[keyof SessionRevertResponses]
2852
+
2853
+ export type SessionUnrevertData = {
2854
+ body?: never
2855
+ path: {
2856
+ id: string
2857
+ }
2858
+ query?: {
2859
+ directory?: string
2860
+ }
2861
+ url: "/session/{id}/unrevert"
2862
+ }
2863
+
2864
+ export type SessionUnrevertErrors = {
2865
+ /**
2866
+ * Bad request
2867
+ */
2868
+ 400: BadRequestError
2869
+ /**
2870
+ * Not found
2871
+ */
2872
+ 404: NotFoundError
2873
+ }
2874
+
2875
+ export type SessionUnrevertError = SessionUnrevertErrors[keyof SessionUnrevertErrors]
2876
+
2877
+ export type SessionUnrevertResponses = {
2878
+ /**
2879
+ * Updated session
2880
+ */
2881
+ 200: Session
2882
+ }
2883
+
2884
+ export type SessionUnrevertResponse = SessionUnrevertResponses[keyof SessionUnrevertResponses]
2885
+
2886
+ export type PostSessionIdPermissionsPermissionIdData = {
2887
+ body?: {
2888
+ response: "once" | "always" | "reject"
2889
+ }
2890
+ path: {
2891
+ id: string
2892
+ permissionID: string
2893
+ }
2894
+ query?: {
2895
+ directory?: string
2896
+ }
2897
+ url: "/session/{id}/permissions/{permissionID}"
2898
+ }
2899
+
2900
+ export type PostSessionIdPermissionsPermissionIdErrors = {
2901
+ /**
2902
+ * Bad request
2903
+ */
2904
+ 400: BadRequestError
2905
+ /**
2906
+ * Not found
2907
+ */
2908
+ 404: NotFoundError
2909
+ }
2910
+
2911
+ export type PostSessionIdPermissionsPermissionIdError =
2912
+ PostSessionIdPermissionsPermissionIdErrors[keyof PostSessionIdPermissionsPermissionIdErrors]
2913
+
2914
+ export type PostSessionIdPermissionsPermissionIdResponses = {
2915
+ /**
2916
+ * Permission processed successfully
2917
+ */
2918
+ 200: boolean
2919
+ }
2920
+
2921
+ export type PostSessionIdPermissionsPermissionIdResponse =
2922
+ PostSessionIdPermissionsPermissionIdResponses[keyof PostSessionIdPermissionsPermissionIdResponses]
2923
+
2924
+ export type CommandListData = {
2925
+ body?: never
2926
+ path?: never
2927
+ query?: {
2928
+ directory?: string
2929
+ }
2930
+ url: "/command"
2931
+ }
2932
+
2933
+ export type CommandListResponses = {
2934
+ /**
2935
+ * List of commands
2936
+ */
2937
+ 200: Array<Command>
2938
+ }
2939
+
2940
+ export type CommandListResponse = CommandListResponses[keyof CommandListResponses]
2941
+
2942
+ export type ConfigProvidersData = {
2943
+ body?: never
2944
+ path?: never
2945
+ query?: {
2946
+ directory?: string
2947
+ }
2948
+ url: "/config/providers"
2949
+ }
2950
+
2951
+ export type ConfigProvidersResponses = {
2952
+ /**
2953
+ * List of providers
2954
+ */
2955
+ 200: {
2956
+ providers: Array<Provider>
2957
+ default: {
2958
+ [key: string]: string
2959
+ }
2960
+ }
2961
+ }
2962
+
2963
+ export type ConfigProvidersResponse = ConfigProvidersResponses[keyof ConfigProvidersResponses]
2964
+
2965
+ export type ProviderListData = {
2966
+ body?: never
2967
+ path?: never
2968
+ query?: {
2969
+ directory?: string
2970
+ }
2971
+ url: "/provider"
2972
+ }
2973
+
2974
+ export type ProviderListResponses = {
2975
+ /**
2976
+ * List of providers
2977
+ */
2978
+ 200: {
2979
+ all: Array<{
2980
+ api?: string
2981
+ name: string
2982
+ env: Array<string>
2983
+ id: string
2984
+ npm?: string
2985
+ models: {
2986
+ [key: string]: {
2987
+ id: string
2988
+ name: string
2989
+ release_date: string
2990
+ attachment: boolean
2991
+ reasoning: boolean
2992
+ temperature: boolean
2993
+ tool_call: boolean
2994
+ cost?: {
2995
+ input: number
2996
+ output: number
2997
+ cache_read?: number
2998
+ cache_write?: number
2999
+ context_over_200k?: {
3000
+ input: number
3001
+ output: number
3002
+ cache_read?: number
3003
+ cache_write?: number
3004
+ }
3005
+ }
3006
+ limit: {
3007
+ context: number
3008
+ output: number
3009
+ }
3010
+ modalities?: {
3011
+ input: Array<"text" | "audio" | "image" | "video" | "pdf">
3012
+ output: Array<"text" | "audio" | "image" | "video" | "pdf">
3013
+ }
3014
+ experimental?: boolean
3015
+ status?: "alpha" | "beta" | "deprecated"
3016
+ options: {
3017
+ [key: string]: unknown
3018
+ }
3019
+ headers?: {
3020
+ [key: string]: string
3021
+ }
3022
+ provider?: {
3023
+ npm: string
3024
+ }
3025
+ }
3026
+ }
3027
+ }>
3028
+ default: {
3029
+ [key: string]: string
3030
+ }
3031
+ connected: Array<string>
3032
+ failed: Array<string>
3033
+ }
3034
+ }
3035
+
3036
+ export type ProviderListResponse = ProviderListResponses[keyof ProviderListResponses]
3037
+
3038
+ export type ProviderAuthData = {
3039
+ body?: never
3040
+ path?: never
3041
+ query?: {
3042
+ directory?: string
3043
+ }
3044
+ url: "/provider/auth"
3045
+ }
3046
+
3047
+ export type ProviderAuthResponses = {
3048
+ /**
3049
+ * Provider auth methods
3050
+ */
3051
+ 200: {
3052
+ [key: string]: Array<ProviderAuthMethod>
3053
+ }
3054
+ }
3055
+
3056
+ export type ProviderAuthResponse = ProviderAuthResponses[keyof ProviderAuthResponses]
3057
+
3058
+ export type ProviderOauthAuthorizeData = {
3059
+ body?: {
3060
+ /**
3061
+ * Auth method index
3062
+ */
3063
+ method: number
3064
+ }
3065
+ path: {
3066
+ /**
3067
+ * Provider ID
3068
+ */
3069
+ id: string
3070
+ }
3071
+ query?: {
3072
+ directory?: string
3073
+ }
3074
+ url: "/provider/{id}/oauth/authorize"
3075
+ }
3076
+
3077
+ export type ProviderOauthAuthorizeErrors = {
3078
+ /**
3079
+ * Bad request
3080
+ */
3081
+ 400: BadRequestError
3082
+ }
3083
+
3084
+ export type ProviderOauthAuthorizeError = ProviderOauthAuthorizeErrors[keyof ProviderOauthAuthorizeErrors]
3085
+
3086
+ export type ProviderOauthAuthorizeResponses = {
3087
+ /**
3088
+ * Authorization URL and method
3089
+ */
3090
+ 200: ProviderAuthAuthorization
3091
+ }
3092
+
3093
+ export type ProviderOauthAuthorizeResponse = ProviderOauthAuthorizeResponses[keyof ProviderOauthAuthorizeResponses]
3094
+
3095
+ export type ProviderOauthCallbackData = {
3096
+ body?: {
3097
+ /**
3098
+ * Auth method index
3099
+ */
3100
+ method: number
3101
+ /**
3102
+ * OAuth authorization code
3103
+ */
3104
+ code?: string
3105
+ }
3106
+ path: {
3107
+ /**
3108
+ * Provider ID
3109
+ */
3110
+ id: string
3111
+ }
3112
+ query?: {
3113
+ directory?: string
3114
+ }
3115
+ url: "/provider/{id}/oauth/callback"
3116
+ }
3117
+
3118
+ export type ProviderOauthCallbackErrors = {
3119
+ /**
3120
+ * Bad request
3121
+ */
3122
+ 400: BadRequestError
3123
+ }
3124
+
3125
+ export type ProviderOauthCallbackError = ProviderOauthCallbackErrors[keyof ProviderOauthCallbackErrors]
3126
+
3127
+ export type ProviderOauthCallbackResponses = {
3128
+ /**
3129
+ * OAuth callback processed successfully
3130
+ */
3131
+ 200: boolean
3132
+ }
3133
+
3134
+ export type ProviderOauthCallbackResponse = ProviderOauthCallbackResponses[keyof ProviderOauthCallbackResponses]
3135
+
3136
+ export type FindTextData = {
3137
+ body?: never
3138
+ path?: never
3139
+ query: {
3140
+ directory?: string
3141
+ pattern: string
3142
+ }
3143
+ url: "/find"
3144
+ }
3145
+
3146
+ export type FindTextResponses = {
3147
+ /**
3148
+ * Matches
3149
+ */
3150
+ 200: Array<{
3151
+ path: {
3152
+ text: string
3153
+ }
3154
+ lines: {
3155
+ text: string
3156
+ }
3157
+ line_number: number
3158
+ absolute_offset: number
3159
+ submatches: Array<{
3160
+ match: {
3161
+ text: string
3162
+ }
3163
+ start: number
3164
+ end: number
3165
+ }>
3166
+ }>
3167
+ }
3168
+
3169
+ export type FindTextResponse = FindTextResponses[keyof FindTextResponses]
3170
+
3171
+ export type FindFilesData = {
3172
+ body?: never
3173
+ path?: never
3174
+ query: {
3175
+ directory?: string
3176
+ query: string
3177
+ dirs?: "true" | "false"
3178
+ }
3179
+ url: "/find/file"
3180
+ }
3181
+
3182
+ export type FindFilesResponses = {
3183
+ /**
3184
+ * File paths
3185
+ */
3186
+ 200: Array<string>
3187
+ }
3188
+
3189
+ export type FindFilesResponse = FindFilesResponses[keyof FindFilesResponses]
3190
+
3191
+ export type FindSymbolsData = {
3192
+ body?: never
3193
+ path?: never
3194
+ query: {
3195
+ directory?: string
3196
+ query: string
3197
+ }
3198
+ url: "/find/symbol"
3199
+ }
3200
+
3201
+ export type FindSymbolsResponses = {
3202
+ /**
3203
+ * Symbols
3204
+ */
3205
+ 200: Array<Symbol>
3206
+ }
3207
+
3208
+ export type FindSymbolsResponse = FindSymbolsResponses[keyof FindSymbolsResponses]
3209
+
3210
+ export type FileListData = {
3211
+ body?: never
3212
+ path?: never
3213
+ query: {
3214
+ directory?: string
3215
+ path: string
3216
+ }
3217
+ url: "/file"
3218
+ }
3219
+
3220
+ export type FileListResponses = {
3221
+ /**
3222
+ * Files and directories
3223
+ */
3224
+ 200: Array<FileNode>
3225
+ }
3226
+
3227
+ export type FileListResponse = FileListResponses[keyof FileListResponses]
3228
+
3229
+ export type FileReadData = {
3230
+ body?: never
3231
+ path?: never
3232
+ query: {
3233
+ directory?: string
3234
+ path: string
3235
+ }
3236
+ url: "/file/content"
3237
+ }
3238
+
3239
+ export type FileReadResponses = {
3240
+ /**
3241
+ * File content
3242
+ */
3243
+ 200: FileContent
3244
+ }
3245
+
3246
+ export type FileReadResponse = FileReadResponses[keyof FileReadResponses]
3247
+
3248
+ export type FileStatusData = {
3249
+ body?: never
3250
+ path?: never
3251
+ query?: {
3252
+ directory?: string
3253
+ }
3254
+ url: "/file/status"
3255
+ }
3256
+
3257
+ export type FileStatusResponses = {
3258
+ /**
3259
+ * File status
3260
+ */
3261
+ 200: Array<File>
3262
+ }
3263
+
3264
+ export type FileStatusResponse = FileStatusResponses[keyof FileStatusResponses]
3265
+
3266
+ export type AppLogData = {
3267
+ body?: {
3268
+ /**
3269
+ * Service name for the log entry
3270
+ */
3271
+ service: string
3272
+ /**
3273
+ * Log level
3274
+ */
3275
+ level: "debug" | "info" | "error" | "warn"
3276
+ /**
3277
+ * Log message
3278
+ */
3279
+ message: string
3280
+ /**
3281
+ * Additional metadata for the log entry
3282
+ */
3283
+ extra?: {
3284
+ [key: string]: unknown
3285
+ }
3286
+ }
3287
+ path?: never
3288
+ query?: {
3289
+ directory?: string
3290
+ }
3291
+ url: "/log"
3292
+ }
3293
+
3294
+ export type AppLogErrors = {
3295
+ /**
3296
+ * Bad request
3297
+ */
3298
+ 400: BadRequestError
3299
+ }
3300
+
3301
+ export type AppLogError = AppLogErrors[keyof AppLogErrors]
3302
+
3303
+ export type AppLogResponses = {
3304
+ /**
3305
+ * Log entry written successfully
3306
+ */
3307
+ 200: boolean
3308
+ }
3309
+
3310
+ export type AppLogResponse = AppLogResponses[keyof AppLogResponses]
3311
+
3312
+ export type AppAgentsData = {
3313
+ body?: never
3314
+ path?: never
3315
+ query?: {
3316
+ directory?: string
3317
+ }
3318
+ url: "/agent"
3319
+ }
3320
+
3321
+ export type AppAgentsResponses = {
3322
+ /**
3323
+ * List of agents
3324
+ */
3325
+ 200: Array<Agent>
3326
+ }
3327
+
3328
+ export type AppAgentsResponse = AppAgentsResponses[keyof AppAgentsResponses]
3329
+
3330
+ export type McpStatusData = {
3331
+ body?: never
3332
+ path?: never
3333
+ query?: {
3334
+ directory?: string
3335
+ }
3336
+ url: "/mcp"
3337
+ }
3338
+
3339
+ export type McpStatusResponses = {
3340
+ /**
3341
+ * MCP server status
3342
+ */
3343
+ 200: {
3344
+ [key: string]: McpStatus
3345
+ }
3346
+ }
3347
+
3348
+ export type McpStatusResponse = McpStatusResponses[keyof McpStatusResponses]
3349
+
3350
+ export type McpAddData = {
3351
+ body?: {
3352
+ name: string
3353
+ config: McpLocalConfig | McpRemoteConfig
3354
+ }
3355
+ path?: never
3356
+ query?: {
3357
+ directory?: string
3358
+ }
3359
+ url: "/mcp"
3360
+ }
3361
+
3362
+ export type McpAddErrors = {
3363
+ /**
3364
+ * Bad request
3365
+ */
3366
+ 400: BadRequestError
3367
+ }
3368
+
3369
+ export type McpAddError = McpAddErrors[keyof McpAddErrors]
3370
+
3371
+ export type McpAddResponses = {
3372
+ /**
3373
+ * MCP server added successfully
3374
+ */
3375
+ 200: {
3376
+ [key: string]: McpStatus
3377
+ }
3378
+ }
3379
+
3380
+ export type McpAddResponse = McpAddResponses[keyof McpAddResponses]
3381
+
3382
+ export type McpAuthRemoveData = {
3383
+ body?: never
3384
+ path: {
3385
+ name: string
3386
+ }
3387
+ query?: {
3388
+ directory?: string
3389
+ }
3390
+ url: "/mcp/{name}/auth"
3391
+ }
3392
+
3393
+ export type McpAuthRemoveErrors = {
3394
+ /**
3395
+ * Not found
3396
+ */
3397
+ 404: NotFoundError
3398
+ }
3399
+
3400
+ export type McpAuthRemoveError = McpAuthRemoveErrors[keyof McpAuthRemoveErrors]
3401
+
3402
+ export type McpAuthRemoveResponses = {
3403
+ /**
3404
+ * OAuth credentials removed
3405
+ */
3406
+ 200: {
3407
+ success: true
3408
+ }
3409
+ }
3410
+
3411
+ export type McpAuthRemoveResponse = McpAuthRemoveResponses[keyof McpAuthRemoveResponses]
3412
+
3413
+ export type McpAuthStartData = {
3414
+ body?: never
3415
+ path: {
3416
+ name: string
3417
+ }
3418
+ query?: {
3419
+ directory?: string
3420
+ }
3421
+ url: "/mcp/{name}/auth"
3422
+ }
3423
+
3424
+ export type McpAuthStartErrors = {
3425
+ /**
3426
+ * Bad request
3427
+ */
3428
+ 400: BadRequestError
3429
+ /**
3430
+ * Not found
3431
+ */
3432
+ 404: NotFoundError
3433
+ }
3434
+
3435
+ export type McpAuthStartError = McpAuthStartErrors[keyof McpAuthStartErrors]
3436
+
3437
+ export type McpAuthStartResponses = {
3438
+ /**
3439
+ * OAuth flow started
3440
+ */
3441
+ 200: {
3442
+ /**
3443
+ * URL to open in browser for authorization
3444
+ */
3445
+ authorizationUrl: string
3446
+ }
3447
+ }
3448
+
3449
+ export type McpAuthStartResponse = McpAuthStartResponses[keyof McpAuthStartResponses]
3450
+
3451
+ export type McpAuthCallbackData = {
3452
+ body?: {
3453
+ /**
3454
+ * Authorization code from OAuth callback
3455
+ */
3456
+ code: string
3457
+ }
3458
+ path: {
3459
+ name: string
3460
+ }
3461
+ query?: {
3462
+ directory?: string
3463
+ }
3464
+ url: "/mcp/{name}/auth/callback"
3465
+ }
3466
+
3467
+ export type McpAuthCallbackErrors = {
3468
+ /**
3469
+ * Bad request
3470
+ */
3471
+ 400: BadRequestError
3472
+ /**
3473
+ * Not found
3474
+ */
3475
+ 404: NotFoundError
3476
+ }
3477
+
3478
+ export type McpAuthCallbackError = McpAuthCallbackErrors[keyof McpAuthCallbackErrors]
3479
+
3480
+ export type McpAuthCallbackResponses = {
3481
+ /**
3482
+ * OAuth authentication completed
3483
+ */
3484
+ 200: McpStatus
3485
+ }
3486
+
3487
+ export type McpAuthCallbackResponse = McpAuthCallbackResponses[keyof McpAuthCallbackResponses]
3488
+
3489
+ export type McpAuthAuthenticateData = {
3490
+ body?: never
3491
+ path: {
3492
+ name: string
3493
+ }
3494
+ query?: {
3495
+ directory?: string
3496
+ }
3497
+ url: "/mcp/{name}/auth/authenticate"
3498
+ }
3499
+
3500
+ export type McpAuthAuthenticateErrors = {
3501
+ /**
3502
+ * Bad request
3503
+ */
3504
+ 400: BadRequestError
3505
+ /**
3506
+ * Not found
3507
+ */
3508
+ 404: NotFoundError
3509
+ }
3510
+
3511
+ export type McpAuthAuthenticateError = McpAuthAuthenticateErrors[keyof McpAuthAuthenticateErrors]
3512
+
3513
+ export type McpAuthAuthenticateResponses = {
3514
+ /**
3515
+ * OAuth authentication completed
3516
+ */
3517
+ 200: McpStatus
3518
+ }
3519
+
3520
+ export type McpAuthAuthenticateResponse = McpAuthAuthenticateResponses[keyof McpAuthAuthenticateResponses]
3521
+
3522
+ export type McpConnectData = {
3523
+ body?: never
3524
+ path: {
3525
+ name: string
3526
+ }
3527
+ query?: {
3528
+ directory?: string
3529
+ }
3530
+ url: "/mcp/{name}/connect"
3531
+ }
3532
+
3533
+ export type McpConnectResponses = {
3534
+ /**
3535
+ * MCP server connected successfully
3536
+ */
3537
+ 200: boolean
3538
+ }
3539
+
3540
+ export type McpConnectResponse = McpConnectResponses[keyof McpConnectResponses]
3541
+
3542
+ export type McpDisconnectData = {
3543
+ body?: never
3544
+ path: {
3545
+ name: string
3546
+ }
3547
+ query?: {
3548
+ directory?: string
3549
+ }
3550
+ url: "/mcp/{name}/disconnect"
3551
+ }
3552
+
3553
+ export type McpDisconnectResponses = {
3554
+ /**
3555
+ * MCP server disconnected successfully
3556
+ */
3557
+ 200: boolean
3558
+ }
3559
+
3560
+ export type McpDisconnectResponse = McpDisconnectResponses[keyof McpDisconnectResponses]
3561
+
3562
+ export type LspStatusData = {
3563
+ body?: never
3564
+ path?: never
3565
+ query?: {
3566
+ directory?: string
3567
+ }
3568
+ url: "/lsp"
3569
+ }
3570
+
3571
+ export type LspStatusResponses = {
3572
+ /**
3573
+ * LSP server status
3574
+ */
3575
+ 200: Array<LspStatus>
3576
+ }
3577
+
3578
+ export type LspStatusResponse = LspStatusResponses[keyof LspStatusResponses]
3579
+
3580
+ export type FormatterStatusData = {
3581
+ body?: never
3582
+ path?: never
3583
+ query?: {
3584
+ directory?: string
3585
+ }
3586
+ url: "/formatter"
3587
+ }
3588
+
3589
+ export type FormatterStatusResponses = {
3590
+ /**
3591
+ * Formatter status
3592
+ */
3593
+ 200: Array<FormatterStatus>
3594
+ }
3595
+
3596
+ export type FormatterStatusResponse = FormatterStatusResponses[keyof FormatterStatusResponses]
3597
+
3598
+ export type TuiAppendPromptData = {
3599
+ body?: {
3600
+ text: string
3601
+ }
3602
+ path?: never
3603
+ query?: {
3604
+ directory?: string
3605
+ }
3606
+ url: "/tui/append-prompt"
3607
+ }
3608
+
3609
+ export type TuiAppendPromptErrors = {
3610
+ /**
3611
+ * Bad request
3612
+ */
3613
+ 400: BadRequestError
3614
+ }
3615
+
3616
+ export type TuiAppendPromptError = TuiAppendPromptErrors[keyof TuiAppendPromptErrors]
3617
+
3618
+ export type TuiAppendPromptResponses = {
3619
+ /**
3620
+ * Prompt processed successfully
3621
+ */
3622
+ 200: boolean
3623
+ }
3624
+
3625
+ export type TuiAppendPromptResponse = TuiAppendPromptResponses[keyof TuiAppendPromptResponses]
3626
+
3627
+ export type TuiOpenHelpData = {
3628
+ body?: never
3629
+ path?: never
3630
+ query?: {
3631
+ directory?: string
3632
+ }
3633
+ url: "/tui/open-help"
3634
+ }
3635
+
3636
+ export type TuiOpenHelpResponses = {
3637
+ /**
3638
+ * Help dialog opened successfully
3639
+ */
3640
+ 200: boolean
3641
+ }
3642
+
3643
+ export type TuiOpenHelpResponse = TuiOpenHelpResponses[keyof TuiOpenHelpResponses]
3644
+
3645
+ export type TuiOpenSessionsData = {
3646
+ body?: never
3647
+ path?: never
3648
+ query?: {
3649
+ directory?: string
3650
+ }
3651
+ url: "/tui/open-sessions"
3652
+ }
3653
+
3654
+ export type TuiOpenSessionsResponses = {
3655
+ /**
3656
+ * Session dialog opened successfully
3657
+ */
3658
+ 200: boolean
3659
+ }
3660
+
3661
+ export type TuiOpenSessionsResponse = TuiOpenSessionsResponses[keyof TuiOpenSessionsResponses]
3662
+
3663
+ export type TuiOpenThemesData = {
3664
+ body?: never
3665
+ path?: never
3666
+ query?: {
3667
+ directory?: string
3668
+ }
3669
+ url: "/tui/open-themes"
3670
+ }
3671
+
3672
+ export type TuiOpenThemesResponses = {
3673
+ /**
3674
+ * Theme dialog opened successfully
3675
+ */
3676
+ 200: boolean
3677
+ }
3678
+
3679
+ export type TuiOpenThemesResponse = TuiOpenThemesResponses[keyof TuiOpenThemesResponses]
3680
+
3681
+ export type TuiOpenModelsData = {
3682
+ body?: never
3683
+ path?: never
3684
+ query?: {
3685
+ directory?: string
3686
+ }
3687
+ url: "/tui/open-models"
3688
+ }
3689
+
3690
+ export type TuiOpenModelsResponses = {
3691
+ /**
3692
+ * Model dialog opened successfully
3693
+ */
3694
+ 200: boolean
3695
+ }
3696
+
3697
+ export type TuiOpenModelsResponse = TuiOpenModelsResponses[keyof TuiOpenModelsResponses]
3698
+
3699
+ export type TuiSubmitPromptData = {
3700
+ body?: never
3701
+ path?: never
3702
+ query?: {
3703
+ directory?: string
3704
+ }
3705
+ url: "/tui/submit-prompt"
3706
+ }
3707
+
3708
+ export type TuiSubmitPromptResponses = {
3709
+ /**
3710
+ * Prompt submitted successfully
3711
+ */
3712
+ 200: boolean
3713
+ }
3714
+
3715
+ export type TuiSubmitPromptResponse = TuiSubmitPromptResponses[keyof TuiSubmitPromptResponses]
3716
+
3717
+ export type TuiClearPromptData = {
3718
+ body?: never
3719
+ path?: never
3720
+ query?: {
3721
+ directory?: string
3722
+ }
3723
+ url: "/tui/clear-prompt"
3724
+ }
3725
+
3726
+ export type TuiClearPromptResponses = {
3727
+ /**
3728
+ * Prompt cleared successfully
3729
+ */
3730
+ 200: boolean
3731
+ }
3732
+
3733
+ export type TuiClearPromptResponse = TuiClearPromptResponses[keyof TuiClearPromptResponses]
3734
+
3735
+ export type TuiExecuteCommandData = {
3736
+ body?: {
3737
+ command: string
3738
+ }
3739
+ path?: never
3740
+ query?: {
3741
+ directory?: string
3742
+ }
3743
+ url: "/tui/execute-command"
3744
+ }
3745
+
3746
+ export type TuiExecuteCommandErrors = {
3747
+ /**
3748
+ * Bad request
3749
+ */
3750
+ 400: BadRequestError
3751
+ }
3752
+
3753
+ export type TuiExecuteCommandError = TuiExecuteCommandErrors[keyof TuiExecuteCommandErrors]
3754
+
3755
+ export type TuiExecuteCommandResponses = {
3756
+ /**
3757
+ * Command executed successfully
3758
+ */
3759
+ 200: boolean
3760
+ }
3761
+
3762
+ export type TuiExecuteCommandResponse = TuiExecuteCommandResponses[keyof TuiExecuteCommandResponses]
3763
+
3764
+ export type TuiShowToastData = {
3765
+ body?: {
3766
+ title?: string
3767
+ message: string
3768
+ variant: "info" | "success" | "warning" | "error"
3769
+ /**
3770
+ * Duration in milliseconds
3771
+ */
3772
+ duration?: number
3773
+ }
3774
+ path?: never
3775
+ query?: {
3776
+ directory?: string
3777
+ }
3778
+ url: "/tui/show-toast"
3779
+ }
3780
+
3781
+ export type TuiShowToastResponses = {
3782
+ /**
3783
+ * Toast notification shown successfully
3784
+ */
3785
+ 200: boolean
3786
+ }
3787
+
3788
+ export type TuiShowToastResponse = TuiShowToastResponses[keyof TuiShowToastResponses]
3789
+
3790
+ export type TuiPublishData = {
3791
+ body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow
3792
+ path?: never
3793
+ query?: {
3794
+ directory?: string
3795
+ }
3796
+ url: "/tui/publish"
3797
+ }
3798
+
3799
+ export type TuiPublishErrors = {
3800
+ /**
3801
+ * Bad request
3802
+ */
3803
+ 400: BadRequestError
3804
+ }
3805
+
3806
+ export type TuiPublishError = TuiPublishErrors[keyof TuiPublishErrors]
3807
+
3808
+ export type TuiPublishResponses = {
3809
+ /**
3810
+ * Event published successfully
3811
+ */
3812
+ 200: boolean
3813
+ }
3814
+
3815
+ export type TuiPublishResponse = TuiPublishResponses[keyof TuiPublishResponses]
3816
+
3817
+ export type TuiControlNextData = {
3818
+ body?: never
3819
+ path?: never
3820
+ query?: {
3821
+ directory?: string
3822
+ }
3823
+ url: "/tui/control/next"
3824
+ }
3825
+
3826
+ export type TuiControlNextResponses = {
3827
+ /**
3828
+ * Next TUI request
3829
+ */
3830
+ 200: {
3831
+ path: string
3832
+ body: unknown
3833
+ }
3834
+ }
3835
+
3836
+ export type TuiControlNextResponse = TuiControlNextResponses[keyof TuiControlNextResponses]
3837
+
3838
+ export type TuiControlResponseData = {
3839
+ body?: unknown
3840
+ path?: never
3841
+ query?: {
3842
+ directory?: string
3843
+ }
3844
+ url: "/tui/control/response"
3845
+ }
3846
+
3847
+ export type TuiControlResponseResponses = {
3848
+ /**
3849
+ * Response submitted successfully
3850
+ */
3851
+ 200: boolean
3852
+ }
3853
+
3854
+ export type TuiControlResponseResponse = TuiControlResponseResponses[keyof TuiControlResponseResponses]
3855
+
3856
+ export type AuthSetData = {
3857
+ body?: Auth
3858
+ path: {
3859
+ id: string
3860
+ }
3861
+ query?: {
3862
+ directory?: string
3863
+ }
3864
+ url: "/auth/{id}"
3865
+ }
3866
+
3867
+ export type AuthSetErrors = {
3868
+ /**
3869
+ * Bad request
3870
+ */
3871
+ 400: BadRequestError
3872
+ }
3873
+
3874
+ export type AuthSetError = AuthSetErrors[keyof AuthSetErrors]
3875
+
3876
+ export type AuthSetResponses = {
3877
+ /**
3878
+ * Successfully set authentication credentials
3879
+ */
3880
+ 200: boolean
3881
+ }
3882
+
3883
+ export type AuthSetResponse = AuthSetResponses[keyof AuthSetResponses]
3884
+
3885
+ export type EventSubscribeData = {
3886
+ body?: never
3887
+ path?: never
3888
+ query?: {
3889
+ directory?: string
3890
+ }
3891
+ url: "/event"
3892
+ }
3893
+
3894
+ export type EventSubscribeResponses = {
3895
+ /**
3896
+ * Event stream
3897
+ */
3898
+ 200: Event
3899
+ }
3900
+
3901
+ export type EventSubscribeResponse = EventSubscribeResponses[keyof EventSubscribeResponses]
3902
+
3903
+ export type ClientOptions = {
3904
+ baseUrl: `${string}://${string}` | (string & {})
3905
+ }