@pinnacle-cli/sdk 1.0.200

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