@cyberstrike-io/sdk 0.0.0-dev-202603171927

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/dist/client.d.ts +7 -0
  2. package/dist/client.js +25 -0
  3. package/dist/gen/client/client.gen.d.ts +2 -0
  4. package/dist/gen/client/client.gen.js +165 -0
  5. package/dist/gen/client/index.d.ts +7 -0
  6. package/dist/gen/client/index.js +5 -0
  7. package/dist/gen/client/types.gen.d.ts +127 -0
  8. package/dist/gen/client/types.gen.js +2 -0
  9. package/dist/gen/client/utils.gen.d.ts +38 -0
  10. package/dist/gen/client/utils.gen.js +226 -0
  11. package/dist/gen/client.gen.d.ts +12 -0
  12. package/dist/gen/client.gen.js +5 -0
  13. package/dist/gen/core/auth.gen.d.ts +18 -0
  14. package/dist/gen/core/auth.gen.js +14 -0
  15. package/dist/gen/core/bodySerializer.gen.d.ts +17 -0
  16. package/dist/gen/core/bodySerializer.gen.js +57 -0
  17. package/dist/gen/core/params.gen.d.ts +33 -0
  18. package/dist/gen/core/params.gen.js +89 -0
  19. package/dist/gen/core/pathSerializer.gen.d.ts +33 -0
  20. package/dist/gen/core/pathSerializer.gen.js +106 -0
  21. package/dist/gen/core/serverSentEvents.gen.d.ts +59 -0
  22. package/dist/gen/core/serverSentEvents.gen.js +117 -0
  23. package/dist/gen/core/types.gen.d.ts +78 -0
  24. package/dist/gen/core/types.gen.js +2 -0
  25. package/dist/gen/core/utils.gen.d.ts +14 -0
  26. package/dist/gen/core/utils.gen.js +69 -0
  27. package/dist/gen/sdk.gen.d.ts +403 -0
  28. package/dist/gen/sdk.gen.js +881 -0
  29. package/dist/gen/types.gen.d.ts +3380 -0
  30. package/dist/gen/types.gen.js +2 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.js +16 -0
  33. package/dist/server.d.ts +23 -0
  34. package/dist/server.js +94 -0
  35. package/dist/v2/client.d.ts +7 -0
  36. package/dist/v2/client.js +27 -0
  37. package/dist/v2/gen/client/client.gen.d.ts +2 -0
  38. package/dist/v2/gen/client/client.gen.js +232 -0
  39. package/dist/v2/gen/client/index.d.ts +8 -0
  40. package/dist/v2/gen/client/index.js +6 -0
  41. package/dist/v2/gen/client/types.gen.d.ts +117 -0
  42. package/dist/v2/gen/client/types.gen.js +2 -0
  43. package/dist/v2/gen/client/utils.gen.d.ts +33 -0
  44. package/dist/v2/gen/client/utils.gen.js +226 -0
  45. package/dist/v2/gen/client.gen.d.ts +12 -0
  46. package/dist/v2/gen/client.gen.js +3 -0
  47. package/dist/v2/gen/core/auth.gen.d.ts +18 -0
  48. package/dist/v2/gen/core/auth.gen.js +14 -0
  49. package/dist/v2/gen/core/bodySerializer.gen.d.ts +25 -0
  50. package/dist/v2/gen/core/bodySerializer.gen.js +57 -0
  51. package/dist/v2/gen/core/params.gen.d.ts +43 -0
  52. package/dist/v2/gen/core/params.gen.js +102 -0
  53. package/dist/v2/gen/core/pathSerializer.gen.d.ts +33 -0
  54. package/dist/v2/gen/core/pathSerializer.gen.js +106 -0
  55. package/dist/v2/gen/core/queryKeySerializer.gen.d.ts +18 -0
  56. package/dist/v2/gen/core/queryKeySerializer.gen.js +93 -0
  57. package/dist/v2/gen/core/serverSentEvents.gen.d.ts +71 -0
  58. package/dist/v2/gen/core/serverSentEvents.gen.js +133 -0
  59. package/dist/v2/gen/core/types.gen.d.ts +78 -0
  60. package/dist/v2/gen/core/types.gen.js +2 -0
  61. package/dist/v2/gen/core/utils.gen.d.ts +19 -0
  62. package/dist/v2/gen/core/utils.gen.js +87 -0
  63. package/dist/v2/gen/sdk.gen.d.ts +1312 -0
  64. package/dist/v2/gen/sdk.gen.js +2546 -0
  65. package/dist/v2/gen/types.gen.d.ts +5149 -0
  66. package/dist/v2/gen/types.gen.js +2 -0
  67. package/dist/v2/index.d.ts +10 -0
  68. package/dist/v2/index.js +16 -0
  69. package/dist/v2/server.d.ts +23 -0
  70. package/dist/v2/server.js +94 -0
  71. package/package.json +51 -0
@@ -0,0 +1,5149 @@
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
+ override?: string;
24
+ color?: string;
25
+ };
26
+ commands?: {
27
+ /**
28
+ * Startup script to run when creating a new workspace (worktree)
29
+ */
30
+ start?: string;
31
+ };
32
+ time: {
33
+ created: number;
34
+ updated: number;
35
+ initialized?: number;
36
+ };
37
+ sandboxes: Array<string>;
38
+ };
39
+ export type EventProjectUpdated = {
40
+ type: "project.updated";
41
+ properties: Project;
42
+ };
43
+ export type EventServerInstanceDisposed = {
44
+ type: "server.instance.disposed";
45
+ properties: {
46
+ directory: string;
47
+ };
48
+ };
49
+ export type EventServerConnected = {
50
+ type: "server.connected";
51
+ properties: {
52
+ [key: string]: unknown;
53
+ };
54
+ };
55
+ export type EventGlobalDisposed = {
56
+ type: "global.disposed";
57
+ properties: {
58
+ [key: string]: unknown;
59
+ };
60
+ };
61
+ export type EventLspClientDiagnostics = {
62
+ type: "lsp.client.diagnostics";
63
+ properties: {
64
+ serverID: string;
65
+ path: string;
66
+ };
67
+ };
68
+ export type EventLspUpdated = {
69
+ type: "lsp.updated";
70
+ properties: {
71
+ [key: string]: unknown;
72
+ };
73
+ };
74
+ export type EventFileEdited = {
75
+ type: "file.edited";
76
+ properties: {
77
+ file: string;
78
+ };
79
+ };
80
+ export type OutputFormatText = {
81
+ type: "text";
82
+ };
83
+ export type JsonSchema = {
84
+ [key: string]: unknown;
85
+ };
86
+ export type OutputFormatJsonSchema = {
87
+ type: "json_schema";
88
+ schema: JsonSchema;
89
+ retryCount?: number;
90
+ };
91
+ export type OutputFormat = OutputFormatText | OutputFormatJsonSchema;
92
+ export type FileDiff = {
93
+ file: string;
94
+ before: string;
95
+ after: string;
96
+ additions: number;
97
+ deletions: number;
98
+ status?: "added" | "deleted" | "modified";
99
+ };
100
+ export type UserMessage = {
101
+ id: string;
102
+ sessionID: string;
103
+ role: "user";
104
+ time: {
105
+ created: number;
106
+ };
107
+ format?: OutputFormat;
108
+ summary?: {
109
+ title?: string;
110
+ body?: string;
111
+ diffs: Array<FileDiff>;
112
+ };
113
+ agent: string;
114
+ model: {
115
+ providerID: string;
116
+ modelID: string;
117
+ };
118
+ system?: string;
119
+ tools?: {
120
+ [key: string]: boolean;
121
+ };
122
+ variant?: string;
123
+ };
124
+ export type ProviderAuthError = {
125
+ name: "ProviderAuthError";
126
+ data: {
127
+ providerID: string;
128
+ message: string;
129
+ };
130
+ };
131
+ export type UnknownError = {
132
+ name: "UnknownError";
133
+ data: {
134
+ message: string;
135
+ };
136
+ };
137
+ export type MessageOutputLengthError = {
138
+ name: "MessageOutputLengthError";
139
+ data: {
140
+ [key: string]: unknown;
141
+ };
142
+ };
143
+ export type MessageAbortedError = {
144
+ name: "MessageAbortedError";
145
+ data: {
146
+ message: string;
147
+ };
148
+ };
149
+ export type StructuredOutputError = {
150
+ name: "StructuredOutputError";
151
+ data: {
152
+ message: string;
153
+ retries: number;
154
+ };
155
+ };
156
+ export type ContextOverflowError = {
157
+ name: "ContextOverflowError";
158
+ data: {
159
+ message: string;
160
+ responseBody?: string;
161
+ };
162
+ };
163
+ export type ApiError = {
164
+ name: "APIError";
165
+ data: {
166
+ message: string;
167
+ statusCode?: number;
168
+ isRetryable: boolean;
169
+ responseHeaders?: {
170
+ [key: string]: string;
171
+ };
172
+ responseBody?: string;
173
+ metadata?: {
174
+ [key: string]: string;
175
+ };
176
+ };
177
+ };
178
+ export type AssistantMessage = {
179
+ id: string;
180
+ sessionID: string;
181
+ role: "assistant";
182
+ time: {
183
+ created: number;
184
+ completed?: number;
185
+ };
186
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | StructuredOutputError | ContextOverflowError | ApiError;
187
+ parentID: string;
188
+ modelID: string;
189
+ providerID: string;
190
+ mode: string;
191
+ agent: string;
192
+ path: {
193
+ cwd: string;
194
+ root: string;
195
+ };
196
+ summary?: boolean;
197
+ cost: number;
198
+ tokens: {
199
+ total?: number;
200
+ input: number;
201
+ output: number;
202
+ reasoning: number;
203
+ cache: {
204
+ read: number;
205
+ write: number;
206
+ };
207
+ };
208
+ structured?: unknown;
209
+ variant?: string;
210
+ finish?: string;
211
+ };
212
+ export type Message = UserMessage | AssistantMessage;
213
+ export type EventMessageUpdated = {
214
+ type: "message.updated";
215
+ properties: {
216
+ info: Message;
217
+ };
218
+ };
219
+ export type EventMessageRemoved = {
220
+ type: "message.removed";
221
+ properties: {
222
+ sessionID: string;
223
+ messageID: string;
224
+ };
225
+ };
226
+ export type TextPart = {
227
+ id: string;
228
+ sessionID: string;
229
+ messageID: string;
230
+ type: "text";
231
+ text: string;
232
+ synthetic?: boolean;
233
+ ignored?: boolean;
234
+ time?: {
235
+ start: number;
236
+ end?: number;
237
+ };
238
+ metadata?: {
239
+ [key: string]: unknown;
240
+ };
241
+ };
242
+ export type SubtaskPart = {
243
+ id: string;
244
+ sessionID: string;
245
+ messageID: string;
246
+ type: "subtask";
247
+ prompt: string;
248
+ description: string;
249
+ agent: string;
250
+ model?: {
251
+ providerID: string;
252
+ modelID: string;
253
+ };
254
+ command?: string;
255
+ };
256
+ export type ReasoningPart = {
257
+ id: string;
258
+ sessionID: string;
259
+ messageID: string;
260
+ type: "reasoning";
261
+ text: string;
262
+ metadata?: {
263
+ [key: string]: unknown;
264
+ };
265
+ time: {
266
+ start: number;
267
+ end?: number;
268
+ };
269
+ };
270
+ export type FilePartSourceText = {
271
+ value: string;
272
+ start: number;
273
+ end: number;
274
+ };
275
+ export type FileSource = {
276
+ text: FilePartSourceText;
277
+ type: "file";
278
+ path: string;
279
+ };
280
+ export type Range = {
281
+ start: {
282
+ line: number;
283
+ character: number;
284
+ };
285
+ end: {
286
+ line: number;
287
+ character: number;
288
+ };
289
+ };
290
+ export type SymbolSource = {
291
+ text: FilePartSourceText;
292
+ type: "symbol";
293
+ path: string;
294
+ range: Range;
295
+ name: string;
296
+ kind: number;
297
+ };
298
+ export type ResourceSource = {
299
+ text: FilePartSourceText;
300
+ type: "resource";
301
+ clientName: string;
302
+ uri: string;
303
+ };
304
+ export type FilePartSource = FileSource | SymbolSource | ResourceSource;
305
+ export type FilePart = {
306
+ id: string;
307
+ sessionID: string;
308
+ messageID: string;
309
+ type: "file";
310
+ mime: string;
311
+ filename?: string;
312
+ url: string;
313
+ source?: FilePartSource;
314
+ };
315
+ export type ToolStatePending = {
316
+ status: "pending";
317
+ input: {
318
+ [key: string]: unknown;
319
+ };
320
+ raw: string;
321
+ };
322
+ export type ToolStateRunning = {
323
+ status: "running";
324
+ input: {
325
+ [key: string]: unknown;
326
+ };
327
+ title?: string;
328
+ metadata?: {
329
+ [key: string]: unknown;
330
+ };
331
+ time: {
332
+ start: number;
333
+ };
334
+ };
335
+ export type ToolStateCompleted = {
336
+ status: "completed";
337
+ input: {
338
+ [key: string]: unknown;
339
+ };
340
+ output: string;
341
+ title: string;
342
+ metadata: {
343
+ [key: string]: unknown;
344
+ };
345
+ time: {
346
+ start: number;
347
+ end: number;
348
+ compacted?: number;
349
+ };
350
+ attachments?: Array<FilePart>;
351
+ };
352
+ export type ToolStateError = {
353
+ status: "error";
354
+ input: {
355
+ [key: string]: unknown;
356
+ };
357
+ error: string;
358
+ metadata?: {
359
+ [key: string]: unknown;
360
+ };
361
+ time: {
362
+ start: number;
363
+ end: number;
364
+ };
365
+ };
366
+ export type ToolState = ToolStatePending | ToolStateRunning | ToolStateCompleted | ToolStateError;
367
+ export type ToolPart = {
368
+ id: string;
369
+ sessionID: string;
370
+ messageID: string;
371
+ type: "tool";
372
+ callID: string;
373
+ tool: string;
374
+ state: ToolState;
375
+ metadata?: {
376
+ [key: string]: unknown;
377
+ };
378
+ };
379
+ export type StepStartPart = {
380
+ id: string;
381
+ sessionID: string;
382
+ messageID: string;
383
+ type: "step-start";
384
+ snapshot?: string;
385
+ };
386
+ export type StepFinishPart = {
387
+ id: string;
388
+ sessionID: string;
389
+ messageID: string;
390
+ type: "step-finish";
391
+ reason: string;
392
+ snapshot?: string;
393
+ cost: number;
394
+ tokens: {
395
+ total?: number;
396
+ input: number;
397
+ output: number;
398
+ reasoning: number;
399
+ cache: {
400
+ read: number;
401
+ write: number;
402
+ };
403
+ };
404
+ };
405
+ export type SnapshotPart = {
406
+ id: string;
407
+ sessionID: string;
408
+ messageID: string;
409
+ type: "snapshot";
410
+ snapshot: string;
411
+ };
412
+ export type PatchPart = {
413
+ id: string;
414
+ sessionID: string;
415
+ messageID: string;
416
+ type: "patch";
417
+ hash: string;
418
+ files: Array<string>;
419
+ };
420
+ export type AgentPart = {
421
+ id: string;
422
+ sessionID: string;
423
+ messageID: string;
424
+ type: "agent";
425
+ name: string;
426
+ source?: {
427
+ value: string;
428
+ start: number;
429
+ end: number;
430
+ };
431
+ };
432
+ export type RetryPart = {
433
+ id: string;
434
+ sessionID: string;
435
+ messageID: string;
436
+ type: "retry";
437
+ attempt: number;
438
+ error: ApiError;
439
+ time: {
440
+ created: number;
441
+ };
442
+ };
443
+ export type CompactionPart = {
444
+ id: string;
445
+ sessionID: string;
446
+ messageID: string;
447
+ type: "compaction";
448
+ auto: boolean;
449
+ };
450
+ export type Part = TextPart | SubtaskPart | ReasoningPart | FilePart | ToolPart | StepStartPart | StepFinishPart | SnapshotPart | PatchPart | AgentPart | RetryPart | CompactionPart;
451
+ export type EventMessagePartUpdated = {
452
+ type: "message.part.updated";
453
+ properties: {
454
+ part: Part;
455
+ };
456
+ };
457
+ export type EventMessagePartDelta = {
458
+ type: "message.part.delta";
459
+ properties: {
460
+ sessionID: string;
461
+ messageID: string;
462
+ partID: string;
463
+ field: string;
464
+ delta: string;
465
+ };
466
+ };
467
+ export type EventMessagePartRemoved = {
468
+ type: "message.part.removed";
469
+ properties: {
470
+ sessionID: string;
471
+ messageID: string;
472
+ partID: string;
473
+ };
474
+ };
475
+ export type PermissionRequest = {
476
+ id: string;
477
+ sessionID: string;
478
+ permission: string;
479
+ patterns: Array<string>;
480
+ metadata: {
481
+ [key: string]: unknown;
482
+ };
483
+ always: Array<string>;
484
+ tool?: {
485
+ messageID: string;
486
+ callID: string;
487
+ };
488
+ };
489
+ export type EventPermissionAsked = {
490
+ type: "permission.asked";
491
+ properties: PermissionRequest;
492
+ };
493
+ export type EventPermissionReplied = {
494
+ type: "permission.replied";
495
+ properties: {
496
+ sessionID: string;
497
+ requestID: string;
498
+ reply: "once" | "always" | "reject";
499
+ };
500
+ };
501
+ export type SessionStatus = {
502
+ type: "idle";
503
+ } | {
504
+ type: "retry";
505
+ attempt: number;
506
+ message: string;
507
+ next: number;
508
+ } | {
509
+ type: "busy";
510
+ };
511
+ export type EventSessionStatus = {
512
+ type: "session.status";
513
+ properties: {
514
+ sessionID: string;
515
+ status: SessionStatus;
516
+ };
517
+ };
518
+ export type EventSessionIdle = {
519
+ type: "session.idle";
520
+ properties: {
521
+ sessionID: string;
522
+ };
523
+ };
524
+ export type QuestionOption = {
525
+ /**
526
+ * Display text (1-5 words, concise)
527
+ */
528
+ label: string;
529
+ /**
530
+ * Explanation of choice
531
+ */
532
+ description: string;
533
+ };
534
+ export type QuestionInfo = {
535
+ /**
536
+ * Complete question
537
+ */
538
+ question: string;
539
+ /**
540
+ * Very short label (max 30 chars)
541
+ */
542
+ header: string;
543
+ /**
544
+ * Available choices
545
+ */
546
+ options: Array<QuestionOption>;
547
+ /**
548
+ * Allow selecting multiple choices
549
+ */
550
+ multiple?: boolean;
551
+ /**
552
+ * Allow typing a custom answer (default: true)
553
+ */
554
+ custom?: boolean;
555
+ };
556
+ export type QuestionRequest = {
557
+ id: string;
558
+ sessionID: string;
559
+ /**
560
+ * Questions to ask
561
+ */
562
+ questions: Array<QuestionInfo>;
563
+ tool?: {
564
+ messageID: string;
565
+ callID: string;
566
+ };
567
+ };
568
+ export type EventQuestionAsked = {
569
+ type: "question.asked";
570
+ properties: QuestionRequest;
571
+ };
572
+ export type QuestionAnswer = Array<string>;
573
+ export type EventQuestionReplied = {
574
+ type: "question.replied";
575
+ properties: {
576
+ sessionID: string;
577
+ requestID: string;
578
+ answers: Array<QuestionAnswer>;
579
+ };
580
+ };
581
+ export type EventQuestionRejected = {
582
+ type: "question.rejected";
583
+ properties: {
584
+ sessionID: string;
585
+ requestID: string;
586
+ };
587
+ };
588
+ export type EventSessionCompacted = {
589
+ type: "session.compacted";
590
+ properties: {
591
+ sessionID: string;
592
+ };
593
+ };
594
+ export type EventFileWatcherUpdated = {
595
+ type: "file.watcher.updated";
596
+ properties: {
597
+ file: string;
598
+ event: "add" | "change" | "unlink";
599
+ };
600
+ };
601
+ export type Request = {
602
+ id: string;
603
+ session_id: string;
604
+ credential_id?: string;
605
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
606
+ normalized_path: string;
607
+ raw_request?: string;
608
+ body_hash?: string;
609
+ query_hash?: string;
610
+ status: "queued" | "processing" | "processed";
611
+ response_status?: number;
612
+ response_headers?: {
613
+ [key: string]: string;
614
+ };
615
+ response_content_type?: string;
616
+ response_size?: number;
617
+ processed_response?: string;
618
+ time: {
619
+ created: number;
620
+ updated: number;
621
+ };
622
+ };
623
+ export type EventRequestUpdated = {
624
+ type: "request.updated";
625
+ properties: {
626
+ sessionID: string;
627
+ requests: Array<Request>;
628
+ };
629
+ };
630
+ export type WebCredential = {
631
+ id: string;
632
+ session_id: string;
633
+ label: string;
634
+ headers: {
635
+ [key: string]: string;
636
+ };
637
+ container_id?: string;
638
+ role_id?: string;
639
+ time: {
640
+ created: number;
641
+ updated: number;
642
+ };
643
+ };
644
+ export type EventWebCredentialUpdated = {
645
+ type: "web_credential.updated";
646
+ properties: {
647
+ sessionID: string;
648
+ credentials: Array<WebCredential>;
649
+ };
650
+ };
651
+ export type Todo = {
652
+ /**
653
+ * Brief description of the task
654
+ */
655
+ content: string;
656
+ /**
657
+ * Current status of the task: pending, in_progress, completed, cancelled
658
+ */
659
+ status: string;
660
+ /**
661
+ * Priority level of the task: high, medium, low
662
+ */
663
+ priority: string;
664
+ };
665
+ export type EventTodoUpdated = {
666
+ type: "todo.updated";
667
+ properties: {
668
+ sessionID: string;
669
+ todos: Array<Todo>;
670
+ };
671
+ };
672
+ export type Vulnerability = {
673
+ id?: string;
674
+ severity: "critical" | "high" | "medium" | "low" | "info";
675
+ title: string;
676
+ description: string;
677
+ cwe_id?: string;
678
+ file?: string;
679
+ line_start?: number;
680
+ line_end?: number;
681
+ steps_to_reproduce?: string;
682
+ business_impact?: string;
683
+ recommendation?: string;
684
+ poc?: string;
685
+ status?: "open" | "fixed" | "ignored";
686
+ message_id?: string;
687
+ time?: {
688
+ created: number;
689
+ updated: number;
690
+ };
691
+ };
692
+ export type EventVulnerabilityUpdated = {
693
+ type: "vulnerability.updated";
694
+ properties: {
695
+ sessionID: string;
696
+ vulnerabilities: Array<Vulnerability>;
697
+ };
698
+ };
699
+ export type EventTuiPromptAppend = {
700
+ type: "tui.prompt.append";
701
+ properties: {
702
+ text: string;
703
+ };
704
+ };
705
+ export type EventTuiCommandExecute = {
706
+ type: "tui.command.execute";
707
+ properties: {
708
+ command: "session.list" | "session.new" | "session.share" | "session.interrupt" | "session.compact" | "session.page.up" | "session.page.down" | "session.line.up" | "session.line.down" | "session.half.page.up" | "session.half.page.down" | "session.first" | "session.last" | "prompt.clear" | "prompt.submit" | "agent.cycle" | string;
709
+ };
710
+ };
711
+ export type EventTuiToastShow = {
712
+ type: "tui.toast.show";
713
+ properties: {
714
+ title?: string;
715
+ message: string;
716
+ variant: "info" | "success" | "warning" | "error";
717
+ /**
718
+ * Duration in milliseconds
719
+ */
720
+ duration?: number;
721
+ };
722
+ };
723
+ export type EventTuiSessionSelect = {
724
+ type: "tui.session.select";
725
+ properties: {
726
+ /**
727
+ * Session ID to navigate to
728
+ */
729
+ sessionID: string;
730
+ };
731
+ };
732
+ export type EventMcpToolsChanged = {
733
+ type: "mcp.tools.changed";
734
+ properties: {
735
+ server: string;
736
+ };
737
+ };
738
+ export type EventMcpBrowserOpenFailed = {
739
+ type: "mcp.browser.open.failed";
740
+ properties: {
741
+ mcpName: string;
742
+ url: string;
743
+ };
744
+ };
745
+ export type WebRole = {
746
+ id: string;
747
+ session_id: string;
748
+ name: string;
749
+ level?: number;
750
+ discovered_from?: string;
751
+ time: {
752
+ created: number;
753
+ updated: number;
754
+ };
755
+ };
756
+ export type EventWebRoleUpdated = {
757
+ type: "web_role.updated";
758
+ properties: {
759
+ sessionID: string;
760
+ roles: Array<WebRole>;
761
+ };
762
+ };
763
+ export type WebRetest = {
764
+ id: string;
765
+ session_id: string;
766
+ request_id: string;
767
+ trigger_type: "new_role" | "new_object_value" | "new_credential";
768
+ trigger_source: string;
769
+ status: "pending" | "processing" | "completed";
770
+ priority: "high" | "medium" | "low";
771
+ time: {
772
+ created: number;
773
+ updated: number;
774
+ };
775
+ };
776
+ export type EventWebRetestUpdated = {
777
+ type: "web_retest.updated";
778
+ properties: {
779
+ sessionID: string;
780
+ queue: Array<WebRetest>;
781
+ };
782
+ };
783
+ export type WebObject = {
784
+ id: string;
785
+ session_id: string;
786
+ name: string;
787
+ fields?: Array<string>;
788
+ sensitive_fields?: Array<string>;
789
+ id_fields?: Array<string>;
790
+ discovered_from?: string;
791
+ time: {
792
+ created: number;
793
+ updated: number;
794
+ };
795
+ };
796
+ export type EventWebObjectUpdated = {
797
+ type: "web_object.updated";
798
+ properties: {
799
+ sessionID: string;
800
+ objects: Array<WebObject>;
801
+ };
802
+ };
803
+ export type WebObjectValue = {
804
+ id: string;
805
+ session_id: string;
806
+ object_id: string;
807
+ field_name: string;
808
+ value: string;
809
+ credential_id?: string;
810
+ discovered_from?: string;
811
+ time: {
812
+ created: number;
813
+ updated: number;
814
+ };
815
+ };
816
+ export type EventWebObjectValueUpdated = {
817
+ type: "web_object_value.updated";
818
+ properties: {
819
+ sessionID: string;
820
+ objectID: string;
821
+ values: Array<WebObjectValue>;
822
+ };
823
+ };
824
+ export type WebFunction = {
825
+ id: string;
826
+ session_id: string;
827
+ name: string;
828
+ action_type: "create" | "read" | "update" | "delete";
829
+ request_id: string;
830
+ role_id?: string;
831
+ objects?: Array<string>;
832
+ time: {
833
+ created: number;
834
+ updated: number;
835
+ };
836
+ };
837
+ export type EventWebFunctionUpdated = {
838
+ type: "web_function.updated";
839
+ properties: {
840
+ sessionID: string;
841
+ functions: Array<WebFunction>;
842
+ };
843
+ };
844
+ export type EventCommandExecuted = {
845
+ type: "command.executed";
846
+ properties: {
847
+ name: string;
848
+ sessionID: string;
849
+ arguments: string;
850
+ messageID: string;
851
+ };
852
+ };
853
+ export type PermissionAction = "allow" | "deny" | "ask";
854
+ export type PermissionRule = {
855
+ permission: string;
856
+ pattern: string;
857
+ action: PermissionAction;
858
+ };
859
+ export type PermissionRuleset = Array<PermissionRule>;
860
+ export type Session = {
861
+ id: string;
862
+ slug: string;
863
+ projectID: string;
864
+ directory: string;
865
+ parentID?: string;
866
+ summary?: {
867
+ additions: number;
868
+ deletions: number;
869
+ files: number;
870
+ diffs?: Array<FileDiff>;
871
+ };
872
+ share?: {
873
+ url: string;
874
+ };
875
+ title: string;
876
+ version: string;
877
+ time: {
878
+ created: number;
879
+ updated: number;
880
+ compacting?: number;
881
+ archived?: number;
882
+ };
883
+ permission?: PermissionRuleset;
884
+ revert?: {
885
+ messageID: string;
886
+ partID?: string;
887
+ snapshot?: string;
888
+ diff?: string;
889
+ };
890
+ };
891
+ export type EventSessionCreated = {
892
+ type: "session.created";
893
+ properties: {
894
+ info: Session;
895
+ };
896
+ };
897
+ export type EventSessionUpdated = {
898
+ type: "session.updated";
899
+ properties: {
900
+ info: Session;
901
+ };
902
+ };
903
+ export type EventSessionDeleted = {
904
+ type: "session.deleted";
905
+ properties: {
906
+ info: Session;
907
+ };
908
+ };
909
+ export type EventSessionDiff = {
910
+ type: "session.diff";
911
+ properties: {
912
+ sessionID: string;
913
+ diff: Array<FileDiff>;
914
+ };
915
+ };
916
+ export type EventSessionError = {
917
+ type: "session.error";
918
+ properties: {
919
+ sessionID?: string;
920
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | StructuredOutputError | ContextOverflowError | ApiError;
921
+ };
922
+ };
923
+ export type EventVcsBranchUpdated = {
924
+ type: "vcs.branch.updated";
925
+ properties: {
926
+ branch?: string;
927
+ };
928
+ };
929
+ export type Pty = {
930
+ id: string;
931
+ title: string;
932
+ command: string;
933
+ args: Array<string>;
934
+ cwd: string;
935
+ status: "running" | "exited";
936
+ pid: number;
937
+ };
938
+ export type EventPtyCreated = {
939
+ type: "pty.created";
940
+ properties: {
941
+ info: Pty;
942
+ };
943
+ };
944
+ export type EventPtyUpdated = {
945
+ type: "pty.updated";
946
+ properties: {
947
+ info: Pty;
948
+ };
949
+ };
950
+ export type EventPtyExited = {
951
+ type: "pty.exited";
952
+ properties: {
953
+ id: string;
954
+ exitCode: number;
955
+ };
956
+ };
957
+ export type EventPtyDeleted = {
958
+ type: "pty.deleted";
959
+ properties: {
960
+ id: string;
961
+ };
962
+ };
963
+ export type EventWorktreeReady = {
964
+ type: "worktree.ready";
965
+ properties: {
966
+ name: string;
967
+ branch: string;
968
+ };
969
+ };
970
+ export type EventWorktreeFailed = {
971
+ type: "worktree.failed";
972
+ properties: {
973
+ message: string;
974
+ };
975
+ };
976
+ export type Event = EventInstallationUpdated | EventInstallationUpdateAvailable | EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventLspClientDiagnostics | EventLspUpdated | EventFileEdited | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartDelta | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventSessionStatus | EventSessionIdle | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventSessionCompacted | EventFileWatcherUpdated | EventRequestUpdated | EventWebCredentialUpdated | EventTodoUpdated | EventVulnerabilityUpdated | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventWebRoleUpdated | EventWebRetestUpdated | EventWebObjectUpdated | EventWebObjectValueUpdated | EventWebFunctionUpdated | EventCommandExecuted | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventVcsBranchUpdated | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorktreeReady | EventWorktreeFailed;
977
+ export type GlobalEvent = {
978
+ directory: string;
979
+ payload: Event;
980
+ };
981
+ /**
982
+ * Custom keybind configurations
983
+ */
984
+ export type KeybindsConfig = {
985
+ /**
986
+ * Leader key for keybind combinations
987
+ */
988
+ leader?: string;
989
+ /**
990
+ * Exit the application
991
+ */
992
+ app_exit?: string;
993
+ /**
994
+ * Open external editor
995
+ */
996
+ editor_open?: string;
997
+ /**
998
+ * List available themes
999
+ */
1000
+ theme_list?: string;
1001
+ /**
1002
+ * Toggle sidebar
1003
+ */
1004
+ sidebar_toggle?: string;
1005
+ /**
1006
+ * Toggle session scrollbar
1007
+ */
1008
+ scrollbar_toggle?: string;
1009
+ /**
1010
+ * Toggle username visibility
1011
+ */
1012
+ username_toggle?: string;
1013
+ /**
1014
+ * View status
1015
+ */
1016
+ status_view?: string;
1017
+ /**
1018
+ * Export session to editor
1019
+ */
1020
+ session_export?: string;
1021
+ /**
1022
+ * Create a new session
1023
+ */
1024
+ session_new?: string;
1025
+ /**
1026
+ * List all sessions
1027
+ */
1028
+ session_list?: string;
1029
+ /**
1030
+ * Show session timeline
1031
+ */
1032
+ session_timeline?: string;
1033
+ /**
1034
+ * Fork session from message
1035
+ */
1036
+ session_fork?: string;
1037
+ /**
1038
+ * Rename session
1039
+ */
1040
+ session_rename?: string;
1041
+ /**
1042
+ * Delete session
1043
+ */
1044
+ session_delete?: string;
1045
+ /**
1046
+ * Delete stash entry
1047
+ */
1048
+ stash_delete?: string;
1049
+ /**
1050
+ * Open provider list from model dialog
1051
+ */
1052
+ model_provider_list?: string;
1053
+ /**
1054
+ * Toggle model favorite status
1055
+ */
1056
+ model_favorite_toggle?: string;
1057
+ /**
1058
+ * Share current session
1059
+ */
1060
+ session_share?: string;
1061
+ /**
1062
+ * Unshare current session
1063
+ */
1064
+ session_unshare?: string;
1065
+ /**
1066
+ * Interrupt current session
1067
+ */
1068
+ session_interrupt?: string;
1069
+ /**
1070
+ * Compact the session
1071
+ */
1072
+ session_compact?: string;
1073
+ /**
1074
+ * Scroll messages up by one page
1075
+ */
1076
+ messages_page_up?: string;
1077
+ /**
1078
+ * Scroll messages down by one page
1079
+ */
1080
+ messages_page_down?: string;
1081
+ /**
1082
+ * Scroll messages up by one line
1083
+ */
1084
+ messages_line_up?: string;
1085
+ /**
1086
+ * Scroll messages down by one line
1087
+ */
1088
+ messages_line_down?: string;
1089
+ /**
1090
+ * Scroll messages up by half page
1091
+ */
1092
+ messages_half_page_up?: string;
1093
+ /**
1094
+ * Scroll messages down by half page
1095
+ */
1096
+ messages_half_page_down?: string;
1097
+ /**
1098
+ * Navigate to first message
1099
+ */
1100
+ messages_first?: string;
1101
+ /**
1102
+ * Navigate to last message
1103
+ */
1104
+ messages_last?: string;
1105
+ /**
1106
+ * Navigate to next message
1107
+ */
1108
+ messages_next?: string;
1109
+ /**
1110
+ * Navigate to previous message
1111
+ */
1112
+ messages_previous?: string;
1113
+ /**
1114
+ * Navigate to last user message
1115
+ */
1116
+ messages_last_user?: string;
1117
+ /**
1118
+ * Copy message
1119
+ */
1120
+ messages_copy?: string;
1121
+ /**
1122
+ * Undo message
1123
+ */
1124
+ messages_undo?: string;
1125
+ /**
1126
+ * Redo message
1127
+ */
1128
+ messages_redo?: string;
1129
+ /**
1130
+ * Toggle code block concealment in messages
1131
+ */
1132
+ messages_toggle_conceal?: string;
1133
+ /**
1134
+ * Toggle tool details visibility
1135
+ */
1136
+ tool_details?: string;
1137
+ /**
1138
+ * List available models
1139
+ */
1140
+ model_list?: string;
1141
+ /**
1142
+ * Next recently used model
1143
+ */
1144
+ model_cycle_recent?: string;
1145
+ /**
1146
+ * Previous recently used model
1147
+ */
1148
+ model_cycle_recent_reverse?: string;
1149
+ /**
1150
+ * Next favorite model
1151
+ */
1152
+ model_cycle_favorite?: string;
1153
+ /**
1154
+ * Previous favorite model
1155
+ */
1156
+ model_cycle_favorite_reverse?: string;
1157
+ /**
1158
+ * List available commands
1159
+ */
1160
+ command_list?: string;
1161
+ /**
1162
+ * List agents
1163
+ */
1164
+ agent_list?: string;
1165
+ /**
1166
+ * Next agent
1167
+ */
1168
+ agent_cycle?: string;
1169
+ /**
1170
+ * Previous agent
1171
+ */
1172
+ agent_cycle_reverse?: string;
1173
+ /**
1174
+ * Cycle model variants
1175
+ */
1176
+ variant_cycle?: string;
1177
+ /**
1178
+ * Clear input field
1179
+ */
1180
+ input_clear?: string;
1181
+ /**
1182
+ * Paste from clipboard
1183
+ */
1184
+ input_paste?: string;
1185
+ /**
1186
+ * Submit input
1187
+ */
1188
+ input_submit?: string;
1189
+ /**
1190
+ * Insert newline in input
1191
+ */
1192
+ input_newline?: string;
1193
+ /**
1194
+ * Move cursor left in input
1195
+ */
1196
+ input_move_left?: string;
1197
+ /**
1198
+ * Move cursor right in input
1199
+ */
1200
+ input_move_right?: string;
1201
+ /**
1202
+ * Move cursor up in input
1203
+ */
1204
+ input_move_up?: string;
1205
+ /**
1206
+ * Move cursor down in input
1207
+ */
1208
+ input_move_down?: string;
1209
+ /**
1210
+ * Select left in input
1211
+ */
1212
+ input_select_left?: string;
1213
+ /**
1214
+ * Select right in input
1215
+ */
1216
+ input_select_right?: string;
1217
+ /**
1218
+ * Select up in input
1219
+ */
1220
+ input_select_up?: string;
1221
+ /**
1222
+ * Select down in input
1223
+ */
1224
+ input_select_down?: string;
1225
+ /**
1226
+ * Move to start of line in input
1227
+ */
1228
+ input_line_home?: string;
1229
+ /**
1230
+ * Move to end of line in input
1231
+ */
1232
+ input_line_end?: string;
1233
+ /**
1234
+ * Select to start of line in input
1235
+ */
1236
+ input_select_line_home?: string;
1237
+ /**
1238
+ * Select to end of line in input
1239
+ */
1240
+ input_select_line_end?: string;
1241
+ /**
1242
+ * Move to start of visual line in input
1243
+ */
1244
+ input_visual_line_home?: string;
1245
+ /**
1246
+ * Move to end of visual line in input
1247
+ */
1248
+ input_visual_line_end?: string;
1249
+ /**
1250
+ * Select to start of visual line in input
1251
+ */
1252
+ input_select_visual_line_home?: string;
1253
+ /**
1254
+ * Select to end of visual line in input
1255
+ */
1256
+ input_select_visual_line_end?: string;
1257
+ /**
1258
+ * Move to start of buffer in input
1259
+ */
1260
+ input_buffer_home?: string;
1261
+ /**
1262
+ * Move to end of buffer in input
1263
+ */
1264
+ input_buffer_end?: string;
1265
+ /**
1266
+ * Select to start of buffer in input
1267
+ */
1268
+ input_select_buffer_home?: string;
1269
+ /**
1270
+ * Select to end of buffer in input
1271
+ */
1272
+ input_select_buffer_end?: string;
1273
+ /**
1274
+ * Delete line in input
1275
+ */
1276
+ input_delete_line?: string;
1277
+ /**
1278
+ * Delete to end of line in input
1279
+ */
1280
+ input_delete_to_line_end?: string;
1281
+ /**
1282
+ * Delete to start of line in input
1283
+ */
1284
+ input_delete_to_line_start?: string;
1285
+ /**
1286
+ * Backspace in input
1287
+ */
1288
+ input_backspace?: string;
1289
+ /**
1290
+ * Delete character in input
1291
+ */
1292
+ input_delete?: string;
1293
+ /**
1294
+ * Undo in input
1295
+ */
1296
+ input_undo?: string;
1297
+ /**
1298
+ * Redo in input
1299
+ */
1300
+ input_redo?: string;
1301
+ /**
1302
+ * Move word forward in input
1303
+ */
1304
+ input_word_forward?: string;
1305
+ /**
1306
+ * Move word backward in input
1307
+ */
1308
+ input_word_backward?: string;
1309
+ /**
1310
+ * Select word forward in input
1311
+ */
1312
+ input_select_word_forward?: string;
1313
+ /**
1314
+ * Select word backward in input
1315
+ */
1316
+ input_select_word_backward?: string;
1317
+ /**
1318
+ * Delete word forward in input
1319
+ */
1320
+ input_delete_word_forward?: string;
1321
+ /**
1322
+ * Delete word backward in input
1323
+ */
1324
+ input_delete_word_backward?: string;
1325
+ /**
1326
+ * Previous history item
1327
+ */
1328
+ history_previous?: string;
1329
+ /**
1330
+ * Next history item
1331
+ */
1332
+ history_next?: string;
1333
+ /**
1334
+ * Next child session
1335
+ */
1336
+ session_child_cycle?: string;
1337
+ /**
1338
+ * Previous child session
1339
+ */
1340
+ session_child_cycle_reverse?: string;
1341
+ /**
1342
+ * Go to parent session
1343
+ */
1344
+ session_parent?: string;
1345
+ /**
1346
+ * Suspend terminal
1347
+ */
1348
+ terminal_suspend?: string;
1349
+ /**
1350
+ * Toggle terminal title
1351
+ */
1352
+ terminal_title_toggle?: string;
1353
+ /**
1354
+ * Toggle tips on home screen
1355
+ */
1356
+ tips_toggle?: string;
1357
+ /**
1358
+ * Toggle thinking blocks visibility
1359
+ */
1360
+ display_thinking?: string;
1361
+ };
1362
+ /**
1363
+ * Log level
1364
+ */
1365
+ export type LogLevel = "DEBUG" | "INFO" | "WARN" | "ERROR";
1366
+ /**
1367
+ * Server configuration for cyberstrike serve and web commands
1368
+ */
1369
+ export type ServerConfig = {
1370
+ /**
1371
+ * Port to listen on
1372
+ */
1373
+ port?: number;
1374
+ /**
1375
+ * Hostname to listen on
1376
+ */
1377
+ hostname?: string;
1378
+ /**
1379
+ * Enable mDNS service discovery
1380
+ */
1381
+ mdns?: boolean;
1382
+ /**
1383
+ * Custom domain name for mDNS service (default: cyberstrike.local)
1384
+ */
1385
+ mdnsDomain?: string;
1386
+ /**
1387
+ * Additional domains to allow for CORS
1388
+ */
1389
+ cors?: Array<string>;
1390
+ };
1391
+ export type PermissionActionConfig = "ask" | "allow" | "deny";
1392
+ export type PermissionObjectConfig = {
1393
+ [key: string]: PermissionActionConfig;
1394
+ };
1395
+ export type PermissionRuleConfig = PermissionActionConfig | PermissionObjectConfig;
1396
+ export type PermissionConfig = {
1397
+ __originalKeys?: Array<string>;
1398
+ read?: PermissionRuleConfig;
1399
+ edit?: PermissionRuleConfig;
1400
+ glob?: PermissionRuleConfig;
1401
+ grep?: PermissionRuleConfig;
1402
+ list?: PermissionRuleConfig;
1403
+ bash?: PermissionRuleConfig;
1404
+ task?: PermissionRuleConfig;
1405
+ external_directory?: PermissionRuleConfig;
1406
+ todowrite?: PermissionActionConfig;
1407
+ todoread?: PermissionActionConfig;
1408
+ report_vulnerability?: PermissionActionConfig;
1409
+ question?: PermissionActionConfig;
1410
+ webfetch?: PermissionActionConfig;
1411
+ websearch?: PermissionActionConfig;
1412
+ codesearch?: PermissionActionConfig;
1413
+ lsp?: PermissionRuleConfig;
1414
+ doom_loop?: PermissionActionConfig;
1415
+ skill?: PermissionRuleConfig;
1416
+ [key: string]: PermissionRuleConfig | Array<string> | PermissionActionConfig | undefined;
1417
+ } | PermissionActionConfig;
1418
+ export type AgentConfig = {
1419
+ model?: string;
1420
+ /**
1421
+ * Default model variant for this agent (applies only when using the agent's configured model).
1422
+ */
1423
+ variant?: string;
1424
+ temperature?: number;
1425
+ top_p?: number;
1426
+ prompt?: string;
1427
+ /**
1428
+ * @deprecated Use 'permission' field instead
1429
+ */
1430
+ tools?: {
1431
+ [key: string]: boolean;
1432
+ };
1433
+ disable?: boolean;
1434
+ /**
1435
+ * Description of when to use the agent
1436
+ */
1437
+ description?: string;
1438
+ mode?: "subagent" | "primary" | "all";
1439
+ /**
1440
+ * Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)
1441
+ */
1442
+ hidden?: boolean;
1443
+ options?: {
1444
+ [key: string]: unknown;
1445
+ };
1446
+ /**
1447
+ * Hex color code (e.g., #FF5733) or theme color (e.g., primary)
1448
+ */
1449
+ color?: string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info";
1450
+ /**
1451
+ * Maximum number of agentic iterations before forcing text-only response
1452
+ */
1453
+ steps?: number;
1454
+ /**
1455
+ * @deprecated Use 'steps' field instead.
1456
+ */
1457
+ maxSteps?: number;
1458
+ permission?: PermissionConfig;
1459
+ [key: string]: unknown | string | number | {
1460
+ [key: string]: boolean;
1461
+ } | boolean | "subagent" | "primary" | "all" | {
1462
+ [key: string]: unknown;
1463
+ } | string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info" | number | PermissionConfig | undefined;
1464
+ };
1465
+ export type ProviderConfig = {
1466
+ api?: string;
1467
+ name?: string;
1468
+ env?: Array<string>;
1469
+ id?: string;
1470
+ npm?: string;
1471
+ models?: {
1472
+ [key: string]: {
1473
+ id?: string;
1474
+ name?: string;
1475
+ family?: string;
1476
+ release_date?: string;
1477
+ attachment?: boolean;
1478
+ reasoning?: boolean;
1479
+ temperature?: boolean;
1480
+ tool_call?: boolean;
1481
+ interleaved?: true | {
1482
+ field: "reasoning_content" | "reasoning_details";
1483
+ };
1484
+ cost?: {
1485
+ input: number;
1486
+ output: number;
1487
+ cache_read?: number;
1488
+ cache_write?: number;
1489
+ context_over_200k?: {
1490
+ input: number;
1491
+ output: number;
1492
+ cache_read?: number;
1493
+ cache_write?: number;
1494
+ };
1495
+ };
1496
+ limit?: {
1497
+ context: number;
1498
+ input?: number;
1499
+ output: number;
1500
+ };
1501
+ modalities?: {
1502
+ input: Array<"text" | "audio" | "image" | "video" | "pdf">;
1503
+ output: Array<"text" | "audio" | "image" | "video" | "pdf">;
1504
+ };
1505
+ experimental?: boolean;
1506
+ status?: "alpha" | "beta" | "deprecated";
1507
+ options?: {
1508
+ [key: string]: unknown;
1509
+ };
1510
+ headers?: {
1511
+ [key: string]: string;
1512
+ };
1513
+ provider?: {
1514
+ npm?: string;
1515
+ api?: string;
1516
+ };
1517
+ /**
1518
+ * Variant-specific configuration
1519
+ */
1520
+ variants?: {
1521
+ [key: string]: {
1522
+ /**
1523
+ * Disable this variant for the model
1524
+ */
1525
+ disabled?: boolean;
1526
+ [key: string]: unknown | boolean | undefined;
1527
+ };
1528
+ };
1529
+ };
1530
+ };
1531
+ whitelist?: Array<string>;
1532
+ blacklist?: Array<string>;
1533
+ options?: {
1534
+ apiKey?: string;
1535
+ baseURL?: string;
1536
+ /**
1537
+ * GitHub Enterprise URL for copilot authentication
1538
+ */
1539
+ enterpriseUrl?: string;
1540
+ /**
1541
+ * Enable promptCacheKey for this provider (default false)
1542
+ */
1543
+ setCacheKey?: boolean;
1544
+ /**
1545
+ * Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.
1546
+ */
1547
+ timeout?: number | false;
1548
+ [key: string]: unknown | string | boolean | number | false | undefined;
1549
+ };
1550
+ };
1551
+ export type McpLocalConfig = {
1552
+ /**
1553
+ * Type of MCP server connection
1554
+ */
1555
+ type: "local";
1556
+ /**
1557
+ * Command and arguments to run the MCP server
1558
+ */
1559
+ command: Array<string>;
1560
+ /**
1561
+ * Environment variables to set when running the MCP server
1562
+ */
1563
+ environment?: {
1564
+ [key: string]: string;
1565
+ };
1566
+ /**
1567
+ * Enable or disable the MCP server on startup
1568
+ */
1569
+ enabled?: boolean;
1570
+ /**
1571
+ * Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.
1572
+ */
1573
+ timeout?: number;
1574
+ };
1575
+ export type McpOAuthConfig = {
1576
+ /**
1577
+ * OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.
1578
+ */
1579
+ clientId?: string;
1580
+ /**
1581
+ * OAuth client secret (if required by the authorization server)
1582
+ */
1583
+ clientSecret?: string;
1584
+ /**
1585
+ * OAuth scopes to request during authorization
1586
+ */
1587
+ scope?: string;
1588
+ };
1589
+ export type McpRemoteConfig = {
1590
+ /**
1591
+ * Type of MCP server connection
1592
+ */
1593
+ type: "remote";
1594
+ /**
1595
+ * URL of the remote MCP server
1596
+ */
1597
+ url: string;
1598
+ /**
1599
+ * Enable or disable the MCP server on startup
1600
+ */
1601
+ enabled?: boolean;
1602
+ /**
1603
+ * Headers to send with the request
1604
+ */
1605
+ headers?: {
1606
+ [key: string]: string;
1607
+ };
1608
+ /**
1609
+ * OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.
1610
+ */
1611
+ oauth?: McpOAuthConfig | false;
1612
+ /**
1613
+ * Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.
1614
+ */
1615
+ timeout?: number;
1616
+ };
1617
+ export type BoltConfig = {
1618
+ /**
1619
+ * Bolt server URL (e.g. http://myserver:3001)
1620
+ */
1621
+ url: string;
1622
+ /**
1623
+ * Enable or disable the Bolt server on startup
1624
+ */
1625
+ enabled?: boolean;
1626
+ /**
1627
+ * Timeout in ms for Bolt server requests. Defaults to 30000 (30 seconds) if not specified.
1628
+ */
1629
+ timeout?: number;
1630
+ };
1631
+ /**
1632
+ * @deprecated Always uses stretch layout.
1633
+ */
1634
+ export type LayoutConfig = "auto" | "stretch";
1635
+ export type Config = {
1636
+ /**
1637
+ * JSON schema reference for configuration validation
1638
+ */
1639
+ $schema?: string;
1640
+ /**
1641
+ * Theme name to use for the interface
1642
+ */
1643
+ theme?: string;
1644
+ keybinds?: KeybindsConfig;
1645
+ logLevel?: LogLevel;
1646
+ /**
1647
+ * TUI specific settings
1648
+ */
1649
+ tui?: {
1650
+ /**
1651
+ * TUI scroll speed
1652
+ */
1653
+ scroll_speed?: number;
1654
+ /**
1655
+ * Scroll acceleration settings
1656
+ */
1657
+ scroll_acceleration?: {
1658
+ /**
1659
+ * Enable scroll acceleration
1660
+ */
1661
+ enabled: boolean;
1662
+ };
1663
+ /**
1664
+ * Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column
1665
+ */
1666
+ diff_style?: "auto" | "stacked";
1667
+ };
1668
+ server?: ServerConfig;
1669
+ /**
1670
+ * Command configuration, see https://cyberstrike.io/docs/commands
1671
+ */
1672
+ command?: {
1673
+ [key: string]: {
1674
+ template: string;
1675
+ description?: string;
1676
+ agent?: string;
1677
+ model?: string;
1678
+ subtask?: boolean;
1679
+ };
1680
+ };
1681
+ /**
1682
+ * Additional skill folder paths
1683
+ */
1684
+ skills?: {
1685
+ /**
1686
+ * Additional paths to skill folders
1687
+ */
1688
+ paths?: Array<string>;
1689
+ /**
1690
+ * URLs to fetch skills from (e.g., https://example.com/.well-known/skills/)
1691
+ */
1692
+ urls?: Array<string>;
1693
+ };
1694
+ watcher?: {
1695
+ ignore?: Array<string>;
1696
+ };
1697
+ plugin?: Array<string>;
1698
+ snapshot?: boolean;
1699
+ /**
1700
+ * Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing
1701
+ */
1702
+ share?: "manual" | "auto" | "disabled";
1703
+ /**
1704
+ * @deprecated Use 'share' field instead. Share newly created sessions automatically
1705
+ */
1706
+ autoshare?: boolean;
1707
+ /**
1708
+ * Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications
1709
+ */
1710
+ autoupdate?: boolean | "notify";
1711
+ /**
1712
+ * Disable providers that are loaded automatically
1713
+ */
1714
+ disabled_providers?: Array<string>;
1715
+ /**
1716
+ * When set, ONLY these providers will be enabled. All other providers will be ignored
1717
+ */
1718
+ enabled_providers?: Array<string>;
1719
+ /**
1720
+ * Model to use in the format of provider/model, eg anthropic/claude-2
1721
+ */
1722
+ model?: string;
1723
+ /**
1724
+ * Small model to use for tasks like title generation in the format of provider/model
1725
+ */
1726
+ small_model?: string;
1727
+ /**
1728
+ * Default agent to use when none is specified. Must be a primary agent. Falls back to 'cyberstrike' if not set or if the specified agent is invalid.
1729
+ */
1730
+ default_agent?: string;
1731
+ /**
1732
+ * Custom username to display in conversations instead of system username
1733
+ */
1734
+ username?: string;
1735
+ /**
1736
+ * @deprecated Use `agent` field instead.
1737
+ */
1738
+ mode?: {
1739
+ cyberstrike?: AgentConfig;
1740
+ [key: string]: AgentConfig | undefined;
1741
+ };
1742
+ /**
1743
+ * Agent configuration, see https://cyberstrike.io/docs/agents
1744
+ */
1745
+ agent?: {
1746
+ cyberstrike?: AgentConfig;
1747
+ general?: AgentConfig;
1748
+ explore?: AgentConfig;
1749
+ title?: AgentConfig;
1750
+ summary?: AgentConfig;
1751
+ compaction?: AgentConfig;
1752
+ [key: string]: AgentConfig | undefined;
1753
+ };
1754
+ /**
1755
+ * Custom provider configurations and model overrides
1756
+ */
1757
+ provider?: {
1758
+ [key: string]: ProviderConfig;
1759
+ };
1760
+ /**
1761
+ * MCP (Model Context Protocol) server configurations
1762
+ */
1763
+ mcp?: {
1764
+ [key: string]: McpLocalConfig | McpRemoteConfig | {
1765
+ enabled: boolean;
1766
+ };
1767
+ };
1768
+ /**
1769
+ * Bolt server configurations (Docker Kali containers)
1770
+ */
1771
+ bolt?: {
1772
+ [key: string]: BoltConfig;
1773
+ };
1774
+ formatter?: false | {
1775
+ [key: string]: {
1776
+ disabled?: boolean;
1777
+ command?: Array<string>;
1778
+ environment?: {
1779
+ [key: string]: string;
1780
+ };
1781
+ extensions?: Array<string>;
1782
+ };
1783
+ };
1784
+ lsp?: false | {
1785
+ [key: string]: {
1786
+ disabled: true;
1787
+ } | {
1788
+ command: Array<string>;
1789
+ extensions?: Array<string>;
1790
+ disabled?: boolean;
1791
+ env?: {
1792
+ [key: string]: string;
1793
+ };
1794
+ initialization?: {
1795
+ [key: string]: unknown;
1796
+ };
1797
+ };
1798
+ };
1799
+ /**
1800
+ * Additional instruction files or patterns to include
1801
+ */
1802
+ instructions?: Array<string>;
1803
+ layout?: LayoutConfig;
1804
+ permission?: PermissionConfig;
1805
+ tools?: {
1806
+ [key: string]: boolean;
1807
+ };
1808
+ enterprise?: {
1809
+ /**
1810
+ * Enterprise URL
1811
+ */
1812
+ url?: string;
1813
+ };
1814
+ compaction?: {
1815
+ /**
1816
+ * Enable automatic compaction when context is full (default: true)
1817
+ */
1818
+ auto?: boolean;
1819
+ /**
1820
+ * Enable pruning of old tool outputs (default: true)
1821
+ */
1822
+ prune?: boolean;
1823
+ /**
1824
+ * Token buffer for compaction. Leaves enough window to avoid overflow during compaction.
1825
+ */
1826
+ reserved?: number;
1827
+ };
1828
+ experimental?: {
1829
+ disable_paste_summary?: boolean;
1830
+ /**
1831
+ * Enable the batch tool
1832
+ */
1833
+ batch_tool?: boolean;
1834
+ /**
1835
+ * Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)
1836
+ */
1837
+ openTelemetry?: boolean;
1838
+ /**
1839
+ * Tools that should only be available to primary agents.
1840
+ */
1841
+ primary_tools?: Array<string>;
1842
+ /**
1843
+ * Continue the agent loop when a tool call is denied
1844
+ */
1845
+ continue_loop_on_deny?: boolean;
1846
+ /**
1847
+ * Timeout in milliseconds for model context protocol (MCP) requests
1848
+ */
1849
+ mcp_timeout?: number;
1850
+ };
1851
+ };
1852
+ export type BadRequestError = {
1853
+ data: unknown;
1854
+ errors: Array<{
1855
+ [key: string]: unknown;
1856
+ }>;
1857
+ success: false;
1858
+ };
1859
+ export type OAuth = {
1860
+ type: "oauth";
1861
+ refresh: string;
1862
+ access: string;
1863
+ expires: number;
1864
+ accountId?: string;
1865
+ enterpriseUrl?: string;
1866
+ };
1867
+ export type ApiAuth = {
1868
+ type: "api";
1869
+ key: string;
1870
+ };
1871
+ export type WellKnownAuth = {
1872
+ type: "wellknown";
1873
+ key: string;
1874
+ token: string;
1875
+ };
1876
+ export type Auth = OAuth | ApiAuth | WellKnownAuth;
1877
+ export type NotFoundError = {
1878
+ name: "NotFoundError";
1879
+ data: {
1880
+ message: string;
1881
+ };
1882
+ };
1883
+ export type Model = {
1884
+ id: string;
1885
+ providerID: string;
1886
+ api: {
1887
+ id: string;
1888
+ url: string;
1889
+ npm: string;
1890
+ };
1891
+ name: string;
1892
+ family?: string;
1893
+ capabilities: {
1894
+ temperature: boolean;
1895
+ reasoning: boolean;
1896
+ attachment: boolean;
1897
+ toolcall: boolean;
1898
+ input: {
1899
+ text: boolean;
1900
+ audio: boolean;
1901
+ image: boolean;
1902
+ video: boolean;
1903
+ pdf: boolean;
1904
+ };
1905
+ output: {
1906
+ text: boolean;
1907
+ audio: boolean;
1908
+ image: boolean;
1909
+ video: boolean;
1910
+ pdf: boolean;
1911
+ };
1912
+ interleaved: boolean | {
1913
+ field: "reasoning_content" | "reasoning_details";
1914
+ };
1915
+ };
1916
+ cost: {
1917
+ input: number;
1918
+ output: number;
1919
+ cache: {
1920
+ read: number;
1921
+ write: number;
1922
+ };
1923
+ experimentalOver200K?: {
1924
+ input: number;
1925
+ output: number;
1926
+ cache: {
1927
+ read: number;
1928
+ write: number;
1929
+ };
1930
+ };
1931
+ };
1932
+ limit: {
1933
+ context: number;
1934
+ input?: number;
1935
+ output: number;
1936
+ };
1937
+ status: "alpha" | "beta" | "deprecated" | "active";
1938
+ options: {
1939
+ [key: string]: unknown;
1940
+ };
1941
+ headers: {
1942
+ [key: string]: string;
1943
+ };
1944
+ release_date: string;
1945
+ variants?: {
1946
+ [key: string]: {
1947
+ [key: string]: unknown;
1948
+ };
1949
+ };
1950
+ };
1951
+ export type Provider = {
1952
+ id: string;
1953
+ name: string;
1954
+ source: "env" | "config" | "custom" | "api";
1955
+ env: Array<string>;
1956
+ key?: string;
1957
+ options: {
1958
+ [key: string]: unknown;
1959
+ };
1960
+ models: {
1961
+ [key: string]: Model;
1962
+ };
1963
+ };
1964
+ export type ToolIds = Array<string>;
1965
+ export type ToolListItem = {
1966
+ id: string;
1967
+ description: string;
1968
+ parameters: unknown;
1969
+ };
1970
+ export type ToolList = Array<ToolListItem>;
1971
+ export type Worktree = {
1972
+ name: string;
1973
+ branch: string;
1974
+ directory: string;
1975
+ };
1976
+ export type WorktreeCreateInput = {
1977
+ name?: string;
1978
+ /**
1979
+ * Additional startup script to run after the project's start command
1980
+ */
1981
+ startCommand?: string;
1982
+ };
1983
+ export type WorktreeRemoveInput = {
1984
+ directory: string;
1985
+ };
1986
+ export type WorktreeResetInput = {
1987
+ directory: string;
1988
+ };
1989
+ export type McpResource = {
1990
+ name: string;
1991
+ uri: string;
1992
+ description?: string;
1993
+ mimeType?: string;
1994
+ client: string;
1995
+ };
1996
+ export type TextPartInput = {
1997
+ id?: string;
1998
+ type: "text";
1999
+ text: string;
2000
+ synthetic?: boolean;
2001
+ ignored?: boolean;
2002
+ time?: {
2003
+ start: number;
2004
+ end?: number;
2005
+ };
2006
+ metadata?: {
2007
+ [key: string]: unknown;
2008
+ };
2009
+ };
2010
+ export type FilePartInput = {
2011
+ id?: string;
2012
+ type: "file";
2013
+ mime: string;
2014
+ filename?: string;
2015
+ url: string;
2016
+ source?: FilePartSource;
2017
+ };
2018
+ export type AgentPartInput = {
2019
+ id?: string;
2020
+ type: "agent";
2021
+ name: string;
2022
+ source?: {
2023
+ value: string;
2024
+ start: number;
2025
+ end: number;
2026
+ };
2027
+ };
2028
+ export type SubtaskPartInput = {
2029
+ id?: string;
2030
+ type: "subtask";
2031
+ prompt: string;
2032
+ description: string;
2033
+ agent: string;
2034
+ model?: {
2035
+ providerID: string;
2036
+ modelID: string;
2037
+ };
2038
+ command?: string;
2039
+ };
2040
+ export type ProviderAuthMethod = {
2041
+ type: "oauth" | "api";
2042
+ label: string;
2043
+ };
2044
+ export type ProviderAuthAuthorization = {
2045
+ url: string;
2046
+ method: "auto" | "code";
2047
+ instructions: string;
2048
+ };
2049
+ export type Symbol = {
2050
+ name: string;
2051
+ kind: number;
2052
+ location: {
2053
+ uri: string;
2054
+ range: Range;
2055
+ };
2056
+ };
2057
+ export type FileNode = {
2058
+ name: string;
2059
+ path: string;
2060
+ absolute: string;
2061
+ type: "file" | "directory";
2062
+ ignored: boolean;
2063
+ };
2064
+ export type FileContent = {
2065
+ type: "text" | "binary";
2066
+ content: string;
2067
+ diff?: string;
2068
+ patch?: {
2069
+ oldFileName: string;
2070
+ newFileName: string;
2071
+ oldHeader?: string;
2072
+ newHeader?: string;
2073
+ hunks: Array<{
2074
+ oldStart: number;
2075
+ oldLines: number;
2076
+ newStart: number;
2077
+ newLines: number;
2078
+ lines: Array<string>;
2079
+ }>;
2080
+ index?: string;
2081
+ };
2082
+ encoding?: "base64";
2083
+ mimeType?: string;
2084
+ };
2085
+ export type File = {
2086
+ path: string;
2087
+ added: number;
2088
+ removed: number;
2089
+ status: "added" | "deleted" | "modified";
2090
+ };
2091
+ export type McpStatusConnected = {
2092
+ status: "connected";
2093
+ };
2094
+ export type McpStatusDisabled = {
2095
+ status: "disabled";
2096
+ };
2097
+ export type McpStatusFailed = {
2098
+ status: "failed";
2099
+ error: string;
2100
+ };
2101
+ export type McpStatusNeedsAuth = {
2102
+ status: "needs_auth";
2103
+ };
2104
+ export type McpStatusNeedsClientRegistration = {
2105
+ status: "needs_client_registration";
2106
+ error: string;
2107
+ };
2108
+ export type McpStatus = McpStatusConnected | McpStatusDisabled | McpStatusFailed | McpStatusNeedsAuth | McpStatusNeedsClientRegistration;
2109
+ export type Path = {
2110
+ home: string;
2111
+ state: string;
2112
+ config: string;
2113
+ worktree: string;
2114
+ directory: string;
2115
+ };
2116
+ export type VcsInfo = {
2117
+ branch: string;
2118
+ };
2119
+ export type Command = {
2120
+ name: string;
2121
+ description?: string;
2122
+ agent?: string;
2123
+ model?: string;
2124
+ source?: "command" | "mcp" | "skill";
2125
+ template: string;
2126
+ subtask?: boolean;
2127
+ hints: Array<string>;
2128
+ };
2129
+ export type Agent = {
2130
+ name: string;
2131
+ description?: string;
2132
+ mode: "subagent" | "primary" | "all";
2133
+ native?: boolean;
2134
+ hidden?: boolean;
2135
+ topP?: number;
2136
+ temperature?: number;
2137
+ color?: string;
2138
+ permission: PermissionRuleset;
2139
+ model?: {
2140
+ modelID: string;
2141
+ providerID: string;
2142
+ };
2143
+ variant?: string;
2144
+ prompt?: string;
2145
+ skills?: Array<string>;
2146
+ options: {
2147
+ [key: string]: unknown;
2148
+ };
2149
+ steps?: number;
2150
+ prependRequestContext?: boolean;
2151
+ };
2152
+ export type LspStatus = {
2153
+ id: string;
2154
+ name: string;
2155
+ root: string;
2156
+ status: "connected" | "error";
2157
+ };
2158
+ export type FormatterStatus = {
2159
+ name: string;
2160
+ extensions: Array<string>;
2161
+ enabled: boolean;
2162
+ };
2163
+ export type GlobalHealthData = {
2164
+ body?: never;
2165
+ path?: never;
2166
+ query?: never;
2167
+ url: "/global/health";
2168
+ };
2169
+ export type GlobalHealthResponses = {
2170
+ /**
2171
+ * Health information
2172
+ */
2173
+ 200: {
2174
+ healthy: true;
2175
+ version: string;
2176
+ };
2177
+ };
2178
+ export type GlobalHealthResponse = GlobalHealthResponses[keyof GlobalHealthResponses];
2179
+ export type GlobalEventData = {
2180
+ body?: never;
2181
+ path?: never;
2182
+ query?: never;
2183
+ url: "/global/event";
2184
+ };
2185
+ export type GlobalEventResponses = {
2186
+ /**
2187
+ * Event stream
2188
+ */
2189
+ 200: GlobalEvent;
2190
+ };
2191
+ export type GlobalEventResponse = GlobalEventResponses[keyof GlobalEventResponses];
2192
+ export type GlobalConfigGetData = {
2193
+ body?: never;
2194
+ path?: never;
2195
+ query?: never;
2196
+ url: "/global/config";
2197
+ };
2198
+ export type GlobalConfigGetResponses = {
2199
+ /**
2200
+ * Get global config info
2201
+ */
2202
+ 200: Config;
2203
+ };
2204
+ export type GlobalConfigGetResponse = GlobalConfigGetResponses[keyof GlobalConfigGetResponses];
2205
+ export type GlobalConfigUpdateData = {
2206
+ body?: Config;
2207
+ path?: never;
2208
+ query?: never;
2209
+ url: "/global/config";
2210
+ };
2211
+ export type GlobalConfigUpdateErrors = {
2212
+ /**
2213
+ * Bad request
2214
+ */
2215
+ 400: BadRequestError;
2216
+ };
2217
+ export type GlobalConfigUpdateError = GlobalConfigUpdateErrors[keyof GlobalConfigUpdateErrors];
2218
+ export type GlobalConfigUpdateResponses = {
2219
+ /**
2220
+ * Successfully updated global config
2221
+ */
2222
+ 200: Config;
2223
+ };
2224
+ export type GlobalConfigUpdateResponse = GlobalConfigUpdateResponses[keyof GlobalConfigUpdateResponses];
2225
+ export type GlobalDisposeData = {
2226
+ body?: never;
2227
+ path?: never;
2228
+ query?: never;
2229
+ url: "/global/dispose";
2230
+ };
2231
+ export type GlobalDisposeResponses = {
2232
+ /**
2233
+ * Global disposed
2234
+ */
2235
+ 200: boolean;
2236
+ };
2237
+ export type GlobalDisposeResponse = GlobalDisposeResponses[keyof GlobalDisposeResponses];
2238
+ export type AuthRemoveData = {
2239
+ body?: never;
2240
+ path: {
2241
+ providerID: string;
2242
+ };
2243
+ query?: never;
2244
+ url: "/auth/{providerID}";
2245
+ };
2246
+ export type AuthRemoveErrors = {
2247
+ /**
2248
+ * Bad request
2249
+ */
2250
+ 400: BadRequestError;
2251
+ };
2252
+ export type AuthRemoveError = AuthRemoveErrors[keyof AuthRemoveErrors];
2253
+ export type AuthRemoveResponses = {
2254
+ /**
2255
+ * Successfully removed authentication credentials
2256
+ */
2257
+ 200: boolean;
2258
+ };
2259
+ export type AuthRemoveResponse = AuthRemoveResponses[keyof AuthRemoveResponses];
2260
+ export type AuthSetData = {
2261
+ body?: Auth;
2262
+ path: {
2263
+ providerID: string;
2264
+ };
2265
+ query?: never;
2266
+ url: "/auth/{providerID}";
2267
+ };
2268
+ export type AuthSetErrors = {
2269
+ /**
2270
+ * Bad request
2271
+ */
2272
+ 400: BadRequestError;
2273
+ };
2274
+ export type AuthSetError = AuthSetErrors[keyof AuthSetErrors];
2275
+ export type AuthSetResponses = {
2276
+ /**
2277
+ * Successfully set authentication credentials
2278
+ */
2279
+ 200: boolean;
2280
+ };
2281
+ export type AuthSetResponse = AuthSetResponses[keyof AuthSetResponses];
2282
+ export type ProjectListData = {
2283
+ body?: never;
2284
+ path?: never;
2285
+ query?: {
2286
+ directory?: string;
2287
+ };
2288
+ url: "/project";
2289
+ };
2290
+ export type ProjectListResponses = {
2291
+ /**
2292
+ * List of projects
2293
+ */
2294
+ 200: Array<Project>;
2295
+ };
2296
+ export type ProjectListResponse = ProjectListResponses[keyof ProjectListResponses];
2297
+ export type ProjectCurrentData = {
2298
+ body?: never;
2299
+ path?: never;
2300
+ query?: {
2301
+ directory?: string;
2302
+ };
2303
+ url: "/project/current";
2304
+ };
2305
+ export type ProjectCurrentResponses = {
2306
+ /**
2307
+ * Current project information
2308
+ */
2309
+ 200: Project;
2310
+ };
2311
+ export type ProjectCurrentResponse = ProjectCurrentResponses[keyof ProjectCurrentResponses];
2312
+ export type ProjectUpdateData = {
2313
+ body?: {
2314
+ name?: string;
2315
+ icon?: {
2316
+ url?: string;
2317
+ override?: string;
2318
+ color?: string;
2319
+ };
2320
+ commands?: {
2321
+ /**
2322
+ * Startup script to run when creating a new workspace (worktree)
2323
+ */
2324
+ start?: string;
2325
+ };
2326
+ };
2327
+ path: {
2328
+ projectID: string;
2329
+ };
2330
+ query?: {
2331
+ directory?: string;
2332
+ };
2333
+ url: "/project/{projectID}";
2334
+ };
2335
+ export type ProjectUpdateErrors = {
2336
+ /**
2337
+ * Bad request
2338
+ */
2339
+ 400: BadRequestError;
2340
+ /**
2341
+ * Not found
2342
+ */
2343
+ 404: NotFoundError;
2344
+ };
2345
+ export type ProjectUpdateError = ProjectUpdateErrors[keyof ProjectUpdateErrors];
2346
+ export type ProjectUpdateResponses = {
2347
+ /**
2348
+ * Updated project information
2349
+ */
2350
+ 200: Project;
2351
+ };
2352
+ export type ProjectUpdateResponse = ProjectUpdateResponses[keyof ProjectUpdateResponses];
2353
+ export type PtyListData = {
2354
+ body?: never;
2355
+ path?: never;
2356
+ query?: {
2357
+ directory?: string;
2358
+ };
2359
+ url: "/pty";
2360
+ };
2361
+ export type PtyListResponses = {
2362
+ /**
2363
+ * List of sessions
2364
+ */
2365
+ 200: Array<Pty>;
2366
+ };
2367
+ export type PtyListResponse = PtyListResponses[keyof PtyListResponses];
2368
+ export type PtyCreateData = {
2369
+ body?: {
2370
+ command?: string;
2371
+ args?: Array<string>;
2372
+ cwd?: string;
2373
+ title?: string;
2374
+ env?: {
2375
+ [key: string]: string;
2376
+ };
2377
+ };
2378
+ path?: never;
2379
+ query?: {
2380
+ directory?: string;
2381
+ };
2382
+ url: "/pty";
2383
+ };
2384
+ export type PtyCreateErrors = {
2385
+ /**
2386
+ * Bad request
2387
+ */
2388
+ 400: BadRequestError;
2389
+ };
2390
+ export type PtyCreateError = PtyCreateErrors[keyof PtyCreateErrors];
2391
+ export type PtyCreateResponses = {
2392
+ /**
2393
+ * Created session
2394
+ */
2395
+ 200: Pty;
2396
+ };
2397
+ export type PtyCreateResponse = PtyCreateResponses[keyof PtyCreateResponses];
2398
+ export type PtyRemoveData = {
2399
+ body?: never;
2400
+ path: {
2401
+ ptyID: string;
2402
+ };
2403
+ query?: {
2404
+ directory?: string;
2405
+ };
2406
+ url: "/pty/{ptyID}";
2407
+ };
2408
+ export type PtyRemoveErrors = {
2409
+ /**
2410
+ * Not found
2411
+ */
2412
+ 404: NotFoundError;
2413
+ };
2414
+ export type PtyRemoveError = PtyRemoveErrors[keyof PtyRemoveErrors];
2415
+ export type PtyRemoveResponses = {
2416
+ /**
2417
+ * Session removed
2418
+ */
2419
+ 200: boolean;
2420
+ };
2421
+ export type PtyRemoveResponse = PtyRemoveResponses[keyof PtyRemoveResponses];
2422
+ export type PtyGetData = {
2423
+ body?: never;
2424
+ path: {
2425
+ ptyID: string;
2426
+ };
2427
+ query?: {
2428
+ directory?: string;
2429
+ };
2430
+ url: "/pty/{ptyID}";
2431
+ };
2432
+ export type PtyGetErrors = {
2433
+ /**
2434
+ * Not found
2435
+ */
2436
+ 404: NotFoundError;
2437
+ };
2438
+ export type PtyGetError = PtyGetErrors[keyof PtyGetErrors];
2439
+ export type PtyGetResponses = {
2440
+ /**
2441
+ * Session info
2442
+ */
2443
+ 200: Pty;
2444
+ };
2445
+ export type PtyGetResponse = PtyGetResponses[keyof PtyGetResponses];
2446
+ export type PtyUpdateData = {
2447
+ body?: {
2448
+ title?: string;
2449
+ size?: {
2450
+ rows: number;
2451
+ cols: number;
2452
+ };
2453
+ };
2454
+ path: {
2455
+ ptyID: string;
2456
+ };
2457
+ query?: {
2458
+ directory?: string;
2459
+ };
2460
+ url: "/pty/{ptyID}";
2461
+ };
2462
+ export type PtyUpdateErrors = {
2463
+ /**
2464
+ * Bad request
2465
+ */
2466
+ 400: BadRequestError;
2467
+ };
2468
+ export type PtyUpdateError = PtyUpdateErrors[keyof PtyUpdateErrors];
2469
+ export type PtyUpdateResponses = {
2470
+ /**
2471
+ * Updated session
2472
+ */
2473
+ 200: Pty;
2474
+ };
2475
+ export type PtyUpdateResponse = PtyUpdateResponses[keyof PtyUpdateResponses];
2476
+ export type PtyConnectData = {
2477
+ body?: never;
2478
+ path: {
2479
+ ptyID: string;
2480
+ };
2481
+ query?: {
2482
+ directory?: string;
2483
+ };
2484
+ url: "/pty/{ptyID}/connect";
2485
+ };
2486
+ export type PtyConnectErrors = {
2487
+ /**
2488
+ * Not found
2489
+ */
2490
+ 404: NotFoundError;
2491
+ };
2492
+ export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors];
2493
+ export type PtyConnectResponses = {
2494
+ /**
2495
+ * Connected session
2496
+ */
2497
+ 200: boolean;
2498
+ };
2499
+ export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses];
2500
+ export type ConfigGetData = {
2501
+ body?: never;
2502
+ path?: never;
2503
+ query?: {
2504
+ directory?: string;
2505
+ };
2506
+ url: "/config";
2507
+ };
2508
+ export type ConfigGetResponses = {
2509
+ /**
2510
+ * Get config info
2511
+ */
2512
+ 200: Config;
2513
+ };
2514
+ export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses];
2515
+ export type ConfigUpdateData = {
2516
+ body?: Config;
2517
+ path?: never;
2518
+ query?: {
2519
+ directory?: string;
2520
+ };
2521
+ url: "/config";
2522
+ };
2523
+ export type ConfigUpdateErrors = {
2524
+ /**
2525
+ * Bad request
2526
+ */
2527
+ 400: BadRequestError;
2528
+ };
2529
+ export type ConfigUpdateError = ConfigUpdateErrors[keyof ConfigUpdateErrors];
2530
+ export type ConfigUpdateResponses = {
2531
+ /**
2532
+ * Successfully updated config
2533
+ */
2534
+ 200: Config;
2535
+ };
2536
+ export type ConfigUpdateResponse = ConfigUpdateResponses[keyof ConfigUpdateResponses];
2537
+ export type ConfigProvidersData = {
2538
+ body?: never;
2539
+ path?: never;
2540
+ query?: {
2541
+ directory?: string;
2542
+ };
2543
+ url: "/config/providers";
2544
+ };
2545
+ export type ConfigProvidersResponses = {
2546
+ /**
2547
+ * List of providers
2548
+ */
2549
+ 200: {
2550
+ providers: Array<Provider>;
2551
+ default: {
2552
+ [key: string]: string;
2553
+ };
2554
+ };
2555
+ };
2556
+ export type ConfigProvidersResponse = ConfigProvidersResponses[keyof ConfigProvidersResponses];
2557
+ export type ToolIdsData = {
2558
+ body?: never;
2559
+ path?: never;
2560
+ query?: {
2561
+ directory?: string;
2562
+ };
2563
+ url: "/experimental/tool/ids";
2564
+ };
2565
+ export type ToolIdsErrors = {
2566
+ /**
2567
+ * Bad request
2568
+ */
2569
+ 400: BadRequestError;
2570
+ };
2571
+ export type ToolIdsError = ToolIdsErrors[keyof ToolIdsErrors];
2572
+ export type ToolIdsResponses = {
2573
+ /**
2574
+ * Tool IDs
2575
+ */
2576
+ 200: ToolIds;
2577
+ };
2578
+ export type ToolIdsResponse = ToolIdsResponses[keyof ToolIdsResponses];
2579
+ export type ToolListData = {
2580
+ body?: never;
2581
+ path?: never;
2582
+ query: {
2583
+ directory?: string;
2584
+ provider: string;
2585
+ model: string;
2586
+ };
2587
+ url: "/experimental/tool";
2588
+ };
2589
+ export type ToolListErrors = {
2590
+ /**
2591
+ * Bad request
2592
+ */
2593
+ 400: BadRequestError;
2594
+ };
2595
+ export type ToolListError = ToolListErrors[keyof ToolListErrors];
2596
+ export type ToolListResponses = {
2597
+ /**
2598
+ * Tools
2599
+ */
2600
+ 200: ToolList;
2601
+ };
2602
+ export type ToolListResponse = ToolListResponses[keyof ToolListResponses];
2603
+ export type WorktreeRemoveData = {
2604
+ body?: WorktreeRemoveInput;
2605
+ path?: never;
2606
+ query?: {
2607
+ directory?: string;
2608
+ };
2609
+ url: "/experimental/worktree";
2610
+ };
2611
+ export type WorktreeRemoveErrors = {
2612
+ /**
2613
+ * Bad request
2614
+ */
2615
+ 400: BadRequestError;
2616
+ };
2617
+ export type WorktreeRemoveError = WorktreeRemoveErrors[keyof WorktreeRemoveErrors];
2618
+ export type WorktreeRemoveResponses = {
2619
+ /**
2620
+ * Worktree removed
2621
+ */
2622
+ 200: boolean;
2623
+ };
2624
+ export type WorktreeRemoveResponse = WorktreeRemoveResponses[keyof WorktreeRemoveResponses];
2625
+ export type WorktreeListData = {
2626
+ body?: never;
2627
+ path?: never;
2628
+ query?: {
2629
+ directory?: string;
2630
+ };
2631
+ url: "/experimental/worktree";
2632
+ };
2633
+ export type WorktreeListResponses = {
2634
+ /**
2635
+ * List of worktree directories
2636
+ */
2637
+ 200: Array<string>;
2638
+ };
2639
+ export type WorktreeListResponse = WorktreeListResponses[keyof WorktreeListResponses];
2640
+ export type WorktreeCreateData = {
2641
+ body?: WorktreeCreateInput;
2642
+ path?: never;
2643
+ query?: {
2644
+ directory?: string;
2645
+ };
2646
+ url: "/experimental/worktree";
2647
+ };
2648
+ export type WorktreeCreateErrors = {
2649
+ /**
2650
+ * Bad request
2651
+ */
2652
+ 400: BadRequestError;
2653
+ };
2654
+ export type WorktreeCreateError = WorktreeCreateErrors[keyof WorktreeCreateErrors];
2655
+ export type WorktreeCreateResponses = {
2656
+ /**
2657
+ * Worktree created
2658
+ */
2659
+ 200: Worktree;
2660
+ };
2661
+ export type WorktreeCreateResponse = WorktreeCreateResponses[keyof WorktreeCreateResponses];
2662
+ export type WorktreeResetData = {
2663
+ body?: WorktreeResetInput;
2664
+ path?: never;
2665
+ query?: {
2666
+ directory?: string;
2667
+ };
2668
+ url: "/experimental/worktree/reset";
2669
+ };
2670
+ export type WorktreeResetErrors = {
2671
+ /**
2672
+ * Bad request
2673
+ */
2674
+ 400: BadRequestError;
2675
+ };
2676
+ export type WorktreeResetError = WorktreeResetErrors[keyof WorktreeResetErrors];
2677
+ export type WorktreeResetResponses = {
2678
+ /**
2679
+ * Worktree reset
2680
+ */
2681
+ 200: boolean;
2682
+ };
2683
+ export type WorktreeResetResponse = WorktreeResetResponses[keyof WorktreeResetResponses];
2684
+ export type ExperimentalResourceListData = {
2685
+ body?: never;
2686
+ path?: never;
2687
+ query?: {
2688
+ directory?: string;
2689
+ };
2690
+ url: "/experimental/resource";
2691
+ };
2692
+ export type ExperimentalResourceListResponses = {
2693
+ /**
2694
+ * MCP resources
2695
+ */
2696
+ 200: {
2697
+ [key: string]: McpResource;
2698
+ };
2699
+ };
2700
+ export type ExperimentalResourceListResponse = ExperimentalResourceListResponses[keyof ExperimentalResourceListResponses];
2701
+ export type SessionListData = {
2702
+ body?: never;
2703
+ path?: never;
2704
+ query?: {
2705
+ /**
2706
+ * Filter sessions by project directory
2707
+ */
2708
+ directory?: string;
2709
+ /**
2710
+ * Only return root sessions (no parentID)
2711
+ */
2712
+ roots?: boolean;
2713
+ /**
2714
+ * Filter sessions updated on or after this timestamp (milliseconds since epoch)
2715
+ */
2716
+ start?: number;
2717
+ /**
2718
+ * Filter sessions by title (case-insensitive)
2719
+ */
2720
+ search?: string;
2721
+ /**
2722
+ * Maximum number of sessions to return
2723
+ */
2724
+ limit?: number;
2725
+ };
2726
+ url: "/session";
2727
+ };
2728
+ export type SessionListResponses = {
2729
+ /**
2730
+ * List of sessions
2731
+ */
2732
+ 200: Array<Session>;
2733
+ };
2734
+ export type SessionListResponse = SessionListResponses[keyof SessionListResponses];
2735
+ export type SessionCreateData = {
2736
+ body?: {
2737
+ parentID?: string;
2738
+ title?: string;
2739
+ permission?: PermissionRuleset;
2740
+ };
2741
+ path?: never;
2742
+ query?: {
2743
+ directory?: string;
2744
+ };
2745
+ url: "/session";
2746
+ };
2747
+ export type SessionCreateErrors = {
2748
+ /**
2749
+ * Bad request
2750
+ */
2751
+ 400: BadRequestError;
2752
+ };
2753
+ export type SessionCreateError = SessionCreateErrors[keyof SessionCreateErrors];
2754
+ export type SessionCreateResponses = {
2755
+ /**
2756
+ * Successfully created session
2757
+ */
2758
+ 200: Session;
2759
+ };
2760
+ export type SessionCreateResponse = SessionCreateResponses[keyof SessionCreateResponses];
2761
+ export type SessionStatusData = {
2762
+ body?: never;
2763
+ path?: never;
2764
+ query?: {
2765
+ directory?: string;
2766
+ };
2767
+ url: "/session/status";
2768
+ };
2769
+ export type SessionStatusErrors = {
2770
+ /**
2771
+ * Bad request
2772
+ */
2773
+ 400: BadRequestError;
2774
+ };
2775
+ export type SessionStatusError = SessionStatusErrors[keyof SessionStatusErrors];
2776
+ export type SessionStatusResponses = {
2777
+ /**
2778
+ * Get session status
2779
+ */
2780
+ 200: {
2781
+ [key: string]: SessionStatus;
2782
+ };
2783
+ };
2784
+ export type SessionStatusResponse = SessionStatusResponses[keyof SessionStatusResponses];
2785
+ export type SessionDeleteData = {
2786
+ body?: never;
2787
+ path: {
2788
+ sessionID: string;
2789
+ };
2790
+ query?: {
2791
+ directory?: string;
2792
+ };
2793
+ url: "/session/{sessionID}";
2794
+ };
2795
+ export type SessionDeleteErrors = {
2796
+ /**
2797
+ * Bad request
2798
+ */
2799
+ 400: BadRequestError;
2800
+ /**
2801
+ * Not found
2802
+ */
2803
+ 404: NotFoundError;
2804
+ };
2805
+ export type SessionDeleteError = SessionDeleteErrors[keyof SessionDeleteErrors];
2806
+ export type SessionDeleteResponses = {
2807
+ /**
2808
+ * Successfully deleted session
2809
+ */
2810
+ 200: boolean;
2811
+ };
2812
+ export type SessionDeleteResponse = SessionDeleteResponses[keyof SessionDeleteResponses];
2813
+ export type SessionGetData = {
2814
+ body?: never;
2815
+ path: {
2816
+ sessionID: string;
2817
+ };
2818
+ query?: {
2819
+ directory?: string;
2820
+ };
2821
+ url: "/session/{sessionID}";
2822
+ };
2823
+ export type SessionGetErrors = {
2824
+ /**
2825
+ * Bad request
2826
+ */
2827
+ 400: BadRequestError;
2828
+ /**
2829
+ * Not found
2830
+ */
2831
+ 404: NotFoundError;
2832
+ };
2833
+ export type SessionGetError = SessionGetErrors[keyof SessionGetErrors];
2834
+ export type SessionGetResponses = {
2835
+ /**
2836
+ * Get session
2837
+ */
2838
+ 200: Session;
2839
+ };
2840
+ export type SessionGetResponse = SessionGetResponses[keyof SessionGetResponses];
2841
+ export type SessionUpdateData = {
2842
+ body?: {
2843
+ title?: string;
2844
+ time?: {
2845
+ archived?: number;
2846
+ };
2847
+ };
2848
+ path: {
2849
+ sessionID: string;
2850
+ };
2851
+ query?: {
2852
+ directory?: string;
2853
+ };
2854
+ url: "/session/{sessionID}";
2855
+ };
2856
+ export type SessionUpdateErrors = {
2857
+ /**
2858
+ * Bad request
2859
+ */
2860
+ 400: BadRequestError;
2861
+ /**
2862
+ * Not found
2863
+ */
2864
+ 404: NotFoundError;
2865
+ };
2866
+ export type SessionUpdateError = SessionUpdateErrors[keyof SessionUpdateErrors];
2867
+ export type SessionUpdateResponses = {
2868
+ /**
2869
+ * Successfully updated session
2870
+ */
2871
+ 200: Session;
2872
+ };
2873
+ export type SessionUpdateResponse = SessionUpdateResponses[keyof SessionUpdateResponses];
2874
+ export type SessionChildrenData = {
2875
+ body?: never;
2876
+ path: {
2877
+ sessionID: string;
2878
+ };
2879
+ query?: {
2880
+ directory?: string;
2881
+ };
2882
+ url: "/session/{sessionID}/children";
2883
+ };
2884
+ export type SessionChildrenErrors = {
2885
+ /**
2886
+ * Bad request
2887
+ */
2888
+ 400: BadRequestError;
2889
+ /**
2890
+ * Not found
2891
+ */
2892
+ 404: NotFoundError;
2893
+ };
2894
+ export type SessionChildrenError = SessionChildrenErrors[keyof SessionChildrenErrors];
2895
+ export type SessionChildrenResponses = {
2896
+ /**
2897
+ * List of children
2898
+ */
2899
+ 200: Array<Session>;
2900
+ };
2901
+ export type SessionChildrenResponse = SessionChildrenResponses[keyof SessionChildrenResponses];
2902
+ export type SessionTodoData = {
2903
+ body?: never;
2904
+ path: {
2905
+ /**
2906
+ * Session ID
2907
+ */
2908
+ sessionID: string;
2909
+ };
2910
+ query?: {
2911
+ directory?: string;
2912
+ };
2913
+ url: "/session/{sessionID}/todo";
2914
+ };
2915
+ export type SessionTodoErrors = {
2916
+ /**
2917
+ * Bad request
2918
+ */
2919
+ 400: BadRequestError;
2920
+ /**
2921
+ * Not found
2922
+ */
2923
+ 404: NotFoundError;
2924
+ };
2925
+ export type SessionTodoError = SessionTodoErrors[keyof SessionTodoErrors];
2926
+ export type SessionTodoResponses = {
2927
+ /**
2928
+ * Todo list
2929
+ */
2930
+ 200: Array<Todo>;
2931
+ };
2932
+ export type SessionTodoResponse = SessionTodoResponses[keyof SessionTodoResponses];
2933
+ export type SessionVulnerabilityData = {
2934
+ body?: never;
2935
+ path: {
2936
+ /**
2937
+ * Session ID
2938
+ */
2939
+ sessionID: string;
2940
+ };
2941
+ query?: {
2942
+ directory?: string;
2943
+ };
2944
+ url: "/session/{sessionID}/vulnerability";
2945
+ };
2946
+ export type SessionVulnerabilityErrors = {
2947
+ /**
2948
+ * Bad request
2949
+ */
2950
+ 400: BadRequestError;
2951
+ /**
2952
+ * Not found
2953
+ */
2954
+ 404: NotFoundError;
2955
+ };
2956
+ export type SessionVulnerabilityError = SessionVulnerabilityErrors[keyof SessionVulnerabilityErrors];
2957
+ export type SessionVulnerabilityResponses = {
2958
+ /**
2959
+ * Vulnerability list
2960
+ */
2961
+ 200: Array<Vulnerability>;
2962
+ };
2963
+ export type SessionVulnerabilityResponse = SessionVulnerabilityResponses[keyof SessionVulnerabilityResponses];
2964
+ export type SessionRequestData = {
2965
+ body?: never;
2966
+ path: {
2967
+ /**
2968
+ * Session ID
2969
+ */
2970
+ sessionID: string;
2971
+ };
2972
+ query?: {
2973
+ directory?: string;
2974
+ };
2975
+ url: "/session/{sessionID}/request";
2976
+ };
2977
+ export type SessionRequestErrors = {
2978
+ /**
2979
+ * Bad request
2980
+ */
2981
+ 400: BadRequestError;
2982
+ /**
2983
+ * Not found
2984
+ */
2985
+ 404: NotFoundError;
2986
+ };
2987
+ export type SessionRequestError = SessionRequestErrors[keyof SessionRequestErrors];
2988
+ export type SessionRequestResponses = {
2989
+ /**
2990
+ * Request list
2991
+ */
2992
+ 200: Array<Request>;
2993
+ };
2994
+ export type SessionRequestResponse = SessionRequestResponses[keyof SessionRequestResponses];
2995
+ export type SessionWebCredentialsData = {
2996
+ body?: never;
2997
+ path: {
2998
+ /**
2999
+ * Session ID
3000
+ */
3001
+ sessionID: string;
3002
+ };
3003
+ query?: {
3004
+ directory?: string;
3005
+ };
3006
+ url: "/session/{sessionID}/web/credentials";
3007
+ };
3008
+ export type SessionWebCredentialsErrors = {
3009
+ /**
3010
+ * Bad request
3011
+ */
3012
+ 400: BadRequestError;
3013
+ /**
3014
+ * Not found
3015
+ */
3016
+ 404: NotFoundError;
3017
+ };
3018
+ export type SessionWebCredentialsError = SessionWebCredentialsErrors[keyof SessionWebCredentialsErrors];
3019
+ export type SessionWebCredentialsResponses = {
3020
+ /**
3021
+ * Credential list
3022
+ */
3023
+ 200: Array<WebCredential>;
3024
+ };
3025
+ export type SessionWebCredentialsResponse = SessionWebCredentialsResponses[keyof SessionWebCredentialsResponses];
3026
+ export type SessionAddWebCredentialData = {
3027
+ body?: {
3028
+ label: string;
3029
+ headers?: {
3030
+ [key: string]: string;
3031
+ };
3032
+ container_id?: string;
3033
+ };
3034
+ path: {
3035
+ /**
3036
+ * Session ID
3037
+ */
3038
+ sessionID: string;
3039
+ };
3040
+ query?: {
3041
+ directory?: string;
3042
+ };
3043
+ url: "/session/{sessionID}/web/credentials";
3044
+ };
3045
+ export type SessionAddWebCredentialErrors = {
3046
+ /**
3047
+ * Bad request
3048
+ */
3049
+ 400: BadRequestError;
3050
+ /**
3051
+ * Not found
3052
+ */
3053
+ 404: NotFoundError;
3054
+ };
3055
+ export type SessionAddWebCredentialError = SessionAddWebCredentialErrors[keyof SessionAddWebCredentialErrors];
3056
+ export type SessionAddWebCredentialResponses = {
3057
+ /**
3058
+ * Created credential
3059
+ */
3060
+ 200: WebCredential;
3061
+ };
3062
+ export type SessionAddWebCredentialResponse = SessionAddWebCredentialResponses[keyof SessionAddWebCredentialResponses];
3063
+ export type SessionDeleteWebCredentialData = {
3064
+ body?: never;
3065
+ path: {
3066
+ /**
3067
+ * Session ID
3068
+ */
3069
+ sessionID: string;
3070
+ /**
3071
+ * Credential ID
3072
+ */
3073
+ credentialID: string;
3074
+ };
3075
+ query?: {
3076
+ directory?: string;
3077
+ };
3078
+ url: "/session/{sessionID}/web/credentials/{credentialID}";
3079
+ };
3080
+ export type SessionDeleteWebCredentialErrors = {
3081
+ /**
3082
+ * Bad request
3083
+ */
3084
+ 400: BadRequestError;
3085
+ /**
3086
+ * Not found
3087
+ */
3088
+ 404: NotFoundError;
3089
+ };
3090
+ export type SessionDeleteWebCredentialError = SessionDeleteWebCredentialErrors[keyof SessionDeleteWebCredentialErrors];
3091
+ export type SessionDeleteWebCredentialResponses = {
3092
+ /**
3093
+ * Successfully deleted
3094
+ */
3095
+ 200: boolean;
3096
+ };
3097
+ export type SessionDeleteWebCredentialResponse = SessionDeleteWebCredentialResponses[keyof SessionDeleteWebCredentialResponses];
3098
+ export type SessionUpdateWebCredentialData = {
3099
+ body?: {
3100
+ /**
3101
+ * Auth headers
3102
+ */
3103
+ headers?: {
3104
+ [key: string]: string;
3105
+ };
3106
+ /**
3107
+ * New label
3108
+ */
3109
+ label?: string;
3110
+ /**
3111
+ * Container ID
3112
+ */
3113
+ container_id?: string;
3114
+ /**
3115
+ * Role ID to link
3116
+ */
3117
+ role_id?: string;
3118
+ };
3119
+ path: {
3120
+ /**
3121
+ * Session ID
3122
+ */
3123
+ sessionID: string;
3124
+ /**
3125
+ * Credential ID
3126
+ */
3127
+ credentialID: string;
3128
+ };
3129
+ query?: {
3130
+ directory?: string;
3131
+ };
3132
+ url: "/session/{sessionID}/web/credentials/{credentialID}";
3133
+ };
3134
+ export type SessionUpdateWebCredentialErrors = {
3135
+ /**
3136
+ * Bad request
3137
+ */
3138
+ 400: BadRequestError;
3139
+ /**
3140
+ * Not found
3141
+ */
3142
+ 404: NotFoundError;
3143
+ };
3144
+ export type SessionUpdateWebCredentialError = SessionUpdateWebCredentialErrors[keyof SessionUpdateWebCredentialErrors];
3145
+ export type SessionUpdateWebCredentialResponses = {
3146
+ /**
3147
+ * Updated credential
3148
+ */
3149
+ 200: WebCredential;
3150
+ };
3151
+ export type SessionUpdateWebCredentialResponse = SessionUpdateWebCredentialResponses[keyof SessionUpdateWebCredentialResponses];
3152
+ export type SessionWebRolesData = {
3153
+ body?: never;
3154
+ path: {
3155
+ sessionID: string;
3156
+ };
3157
+ query?: {
3158
+ directory?: string;
3159
+ };
3160
+ url: "/session/{sessionID}/web/roles";
3161
+ };
3162
+ export type SessionWebRolesErrors = {
3163
+ /**
3164
+ * Bad request
3165
+ */
3166
+ 400: BadRequestError;
3167
+ /**
3168
+ * Not found
3169
+ */
3170
+ 404: NotFoundError;
3171
+ };
3172
+ export type SessionWebRolesError = SessionWebRolesErrors[keyof SessionWebRolesErrors];
3173
+ export type SessionWebRolesResponses = {
3174
+ /**
3175
+ * Role list
3176
+ */
3177
+ 200: Array<WebRole>;
3178
+ };
3179
+ export type SessionWebRolesResponse = SessionWebRolesResponses[keyof SessionWebRolesResponses];
3180
+ export type SessionWebObjectsData = {
3181
+ body?: never;
3182
+ path: {
3183
+ sessionID: string;
3184
+ };
3185
+ query?: {
3186
+ directory?: string;
3187
+ };
3188
+ url: "/session/{sessionID}/web/objects";
3189
+ };
3190
+ export type SessionWebObjectsErrors = {
3191
+ /**
3192
+ * Bad request
3193
+ */
3194
+ 400: BadRequestError;
3195
+ /**
3196
+ * Not found
3197
+ */
3198
+ 404: NotFoundError;
3199
+ };
3200
+ export type SessionWebObjectsError = SessionWebObjectsErrors[keyof SessionWebObjectsErrors];
3201
+ export type SessionWebObjectsResponses = {
3202
+ /**
3203
+ * Object list
3204
+ */
3205
+ 200: Array<WebObject>;
3206
+ };
3207
+ export type SessionWebObjectsResponse = SessionWebObjectsResponses[keyof SessionWebObjectsResponses];
3208
+ export type SessionWebFunctionsData = {
3209
+ body?: never;
3210
+ path: {
3211
+ sessionID: string;
3212
+ };
3213
+ query?: {
3214
+ directory?: string;
3215
+ };
3216
+ url: "/session/{sessionID}/web/functions";
3217
+ };
3218
+ export type SessionWebFunctionsErrors = {
3219
+ /**
3220
+ * Bad request
3221
+ */
3222
+ 400: BadRequestError;
3223
+ /**
3224
+ * Not found
3225
+ */
3226
+ 404: NotFoundError;
3227
+ };
3228
+ export type SessionWebFunctionsError = SessionWebFunctionsErrors[keyof SessionWebFunctionsErrors];
3229
+ export type SessionWebFunctionsResponses = {
3230
+ /**
3231
+ * Function list
3232
+ */
3233
+ 200: Array<WebFunction>;
3234
+ };
3235
+ export type SessionWebFunctionsResponse = SessionWebFunctionsResponses[keyof SessionWebFunctionsResponses];
3236
+ export type SessionWebRetestQueueData = {
3237
+ body?: never;
3238
+ path: {
3239
+ sessionID: string;
3240
+ };
3241
+ query?: {
3242
+ directory?: string;
3243
+ };
3244
+ url: "/session/{sessionID}/web/retest-queue";
3245
+ };
3246
+ export type SessionWebRetestQueueErrors = {
3247
+ /**
3248
+ * Bad request
3249
+ */
3250
+ 400: BadRequestError;
3251
+ /**
3252
+ * Not found
3253
+ */
3254
+ 404: NotFoundError;
3255
+ };
3256
+ export type SessionWebRetestQueueError = SessionWebRetestQueueErrors[keyof SessionWebRetestQueueErrors];
3257
+ export type SessionWebRetestQueueResponses = {
3258
+ /**
3259
+ * Retest queue
3260
+ */
3261
+ 200: {
3262
+ pending: Array<WebRetest>;
3263
+ counts: {
3264
+ pending: number;
3265
+ processing: number;
3266
+ completed: number;
3267
+ };
3268
+ };
3269
+ };
3270
+ export type SessionWebRetestQueueResponse = SessionWebRetestQueueResponses[keyof SessionWebRetestQueueResponses];
3271
+ export type SessionIngestData = {
3272
+ body?: {
3273
+ /**
3274
+ * Message text (treated as user input)
3275
+ */
3276
+ text: string;
3277
+ /**
3278
+ * Existing session id; omit or leave invalid to create a new session
3279
+ */
3280
+ sessionID?: string;
3281
+ /**
3282
+ * Agent to use (default if omitted)
3283
+ */
3284
+ agent?: string;
3285
+ /**
3286
+ * Model to use (optional)
3287
+ */
3288
+ model?: {
3289
+ providerID: string;
3290
+ modelID: string;
3291
+ };
3292
+ /**
3293
+ * Existing credential ID to use for this request
3294
+ */
3295
+ credential_id?: string;
3296
+ /**
3297
+ * New credential to register with this request
3298
+ */
3299
+ credential?: {
3300
+ label: string;
3301
+ headers?: {
3302
+ [key: string]: string;
3303
+ };
3304
+ container_id?: string;
3305
+ };
3306
+ /**
3307
+ * HTTP response data
3308
+ */
3309
+ response?: {
3310
+ /**
3311
+ * HTTP status code
3312
+ */
3313
+ status: number;
3314
+ /**
3315
+ * Response headers
3316
+ */
3317
+ headers: {
3318
+ [key: string]: string;
3319
+ };
3320
+ /**
3321
+ * Response body
3322
+ */
3323
+ body: string;
3324
+ };
3325
+ };
3326
+ path?: never;
3327
+ query?: {
3328
+ directory?: string;
3329
+ };
3330
+ url: "/session/ingest";
3331
+ };
3332
+ export type SessionIngestErrors = {
3333
+ /**
3334
+ * Bad request
3335
+ */
3336
+ 400: BadRequestError;
3337
+ /**
3338
+ * Not found
3339
+ */
3340
+ 404: NotFoundError;
3341
+ };
3342
+ export type SessionIngestError = SessionIngestErrors[keyof SessionIngestErrors];
3343
+ export type SessionIngestResponses = {
3344
+ /**
3345
+ * Message accepted
3346
+ */
3347
+ 202: {
3348
+ /**
3349
+ * Session id (new or existing); use for follow-up ingest requests
3350
+ */
3351
+ sessionID: string;
3352
+ };
3353
+ };
3354
+ export type SessionIngestResponse = SessionIngestResponses[keyof SessionIngestResponses];
3355
+ export type SessionInitData = {
3356
+ body?: {
3357
+ modelID: string;
3358
+ providerID: string;
3359
+ messageID: string;
3360
+ };
3361
+ path: {
3362
+ /**
3363
+ * Session ID
3364
+ */
3365
+ sessionID: string;
3366
+ };
3367
+ query?: {
3368
+ directory?: string;
3369
+ };
3370
+ url: "/session/{sessionID}/init";
3371
+ };
3372
+ export type SessionInitErrors = {
3373
+ /**
3374
+ * Bad request
3375
+ */
3376
+ 400: BadRequestError;
3377
+ /**
3378
+ * Not found
3379
+ */
3380
+ 404: NotFoundError;
3381
+ };
3382
+ export type SessionInitError = SessionInitErrors[keyof SessionInitErrors];
3383
+ export type SessionInitResponses = {
3384
+ /**
3385
+ * 200
3386
+ */
3387
+ 200: boolean;
3388
+ };
3389
+ export type SessionInitResponse = SessionInitResponses[keyof SessionInitResponses];
3390
+ export type SessionForkData = {
3391
+ body?: {
3392
+ messageID?: string;
3393
+ };
3394
+ path: {
3395
+ sessionID: string;
3396
+ };
3397
+ query?: {
3398
+ directory?: string;
3399
+ };
3400
+ url: "/session/{sessionID}/fork";
3401
+ };
3402
+ export type SessionForkResponses = {
3403
+ /**
3404
+ * 200
3405
+ */
3406
+ 200: Session;
3407
+ };
3408
+ export type SessionForkResponse = SessionForkResponses[keyof SessionForkResponses];
3409
+ export type SessionAbortData = {
3410
+ body?: never;
3411
+ path: {
3412
+ sessionID: string;
3413
+ };
3414
+ query?: {
3415
+ directory?: string;
3416
+ };
3417
+ url: "/session/{sessionID}/abort";
3418
+ };
3419
+ export type SessionAbortErrors = {
3420
+ /**
3421
+ * Bad request
3422
+ */
3423
+ 400: BadRequestError;
3424
+ /**
3425
+ * Not found
3426
+ */
3427
+ 404: NotFoundError;
3428
+ };
3429
+ export type SessionAbortError = SessionAbortErrors[keyof SessionAbortErrors];
3430
+ export type SessionAbortResponses = {
3431
+ /**
3432
+ * Aborted session
3433
+ */
3434
+ 200: boolean;
3435
+ };
3436
+ export type SessionAbortResponse = SessionAbortResponses[keyof SessionAbortResponses];
3437
+ export type SessionUnshareData = {
3438
+ body?: never;
3439
+ path: {
3440
+ sessionID: string;
3441
+ };
3442
+ query?: {
3443
+ directory?: string;
3444
+ };
3445
+ url: "/session/{sessionID}/share";
3446
+ };
3447
+ export type SessionUnshareErrors = {
3448
+ /**
3449
+ * Bad request
3450
+ */
3451
+ 400: BadRequestError;
3452
+ /**
3453
+ * Not found
3454
+ */
3455
+ 404: NotFoundError;
3456
+ };
3457
+ export type SessionUnshareError = SessionUnshareErrors[keyof SessionUnshareErrors];
3458
+ export type SessionUnshareResponses = {
3459
+ /**
3460
+ * Successfully unshared session
3461
+ */
3462
+ 200: Session;
3463
+ };
3464
+ export type SessionUnshareResponse = SessionUnshareResponses[keyof SessionUnshareResponses];
3465
+ export type SessionShareData = {
3466
+ body?: never;
3467
+ path: {
3468
+ sessionID: string;
3469
+ };
3470
+ query?: {
3471
+ directory?: string;
3472
+ };
3473
+ url: "/session/{sessionID}/share";
3474
+ };
3475
+ export type SessionShareErrors = {
3476
+ /**
3477
+ * Bad request
3478
+ */
3479
+ 400: BadRequestError;
3480
+ /**
3481
+ * Not found
3482
+ */
3483
+ 404: NotFoundError;
3484
+ };
3485
+ export type SessionShareError = SessionShareErrors[keyof SessionShareErrors];
3486
+ export type SessionShareResponses = {
3487
+ /**
3488
+ * Successfully shared session
3489
+ */
3490
+ 200: Session;
3491
+ };
3492
+ export type SessionShareResponse = SessionShareResponses[keyof SessionShareResponses];
3493
+ export type SessionDiffData = {
3494
+ body?: never;
3495
+ path: {
3496
+ sessionID: string;
3497
+ };
3498
+ query?: {
3499
+ directory?: string;
3500
+ messageID?: string;
3501
+ };
3502
+ url: "/session/{sessionID}/diff";
3503
+ };
3504
+ export type SessionDiffResponses = {
3505
+ /**
3506
+ * Successfully retrieved diff
3507
+ */
3508
+ 200: Array<FileDiff>;
3509
+ };
3510
+ export type SessionDiffResponse = SessionDiffResponses[keyof SessionDiffResponses];
3511
+ export type SessionSummarizeData = {
3512
+ body?: {
3513
+ providerID: string;
3514
+ modelID: string;
3515
+ auto?: boolean;
3516
+ };
3517
+ path: {
3518
+ /**
3519
+ * Session ID
3520
+ */
3521
+ sessionID: string;
3522
+ };
3523
+ query?: {
3524
+ directory?: string;
3525
+ };
3526
+ url: "/session/{sessionID}/summarize";
3527
+ };
3528
+ export type SessionSummarizeErrors = {
3529
+ /**
3530
+ * Bad request
3531
+ */
3532
+ 400: BadRequestError;
3533
+ /**
3534
+ * Not found
3535
+ */
3536
+ 404: NotFoundError;
3537
+ };
3538
+ export type SessionSummarizeError = SessionSummarizeErrors[keyof SessionSummarizeErrors];
3539
+ export type SessionSummarizeResponses = {
3540
+ /**
3541
+ * Summarized session
3542
+ */
3543
+ 200: boolean;
3544
+ };
3545
+ export type SessionSummarizeResponse = SessionSummarizeResponses[keyof SessionSummarizeResponses];
3546
+ export type SessionMessagesData = {
3547
+ body?: never;
3548
+ path: {
3549
+ /**
3550
+ * Session ID
3551
+ */
3552
+ sessionID: string;
3553
+ };
3554
+ query?: {
3555
+ directory?: string;
3556
+ limit?: number;
3557
+ };
3558
+ url: "/session/{sessionID}/message";
3559
+ };
3560
+ export type SessionMessagesErrors = {
3561
+ /**
3562
+ * Bad request
3563
+ */
3564
+ 400: BadRequestError;
3565
+ /**
3566
+ * Not found
3567
+ */
3568
+ 404: NotFoundError;
3569
+ };
3570
+ export type SessionMessagesError = SessionMessagesErrors[keyof SessionMessagesErrors];
3571
+ export type SessionMessagesResponses = {
3572
+ /**
3573
+ * List of messages
3574
+ */
3575
+ 200: Array<{
3576
+ info: Message;
3577
+ parts: Array<Part>;
3578
+ }>;
3579
+ };
3580
+ export type SessionMessagesResponse = SessionMessagesResponses[keyof SessionMessagesResponses];
3581
+ export type SessionPromptData = {
3582
+ body?: {
3583
+ messageID?: string;
3584
+ model?: {
3585
+ providerID: string;
3586
+ modelID: string;
3587
+ };
3588
+ agent?: string;
3589
+ noReply?: boolean;
3590
+ /**
3591
+ * @deprecated tools and permissions have been merged, you can set permissions on the session itself now
3592
+ */
3593
+ tools?: {
3594
+ [key: string]: boolean;
3595
+ };
3596
+ format?: OutputFormat;
3597
+ system?: string;
3598
+ variant?: string;
3599
+ parts: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>;
3600
+ };
3601
+ path: {
3602
+ /**
3603
+ * Session ID
3604
+ */
3605
+ sessionID: string;
3606
+ };
3607
+ query?: {
3608
+ directory?: string;
3609
+ };
3610
+ url: "/session/{sessionID}/message";
3611
+ };
3612
+ export type SessionPromptErrors = {
3613
+ /**
3614
+ * Bad request
3615
+ */
3616
+ 400: BadRequestError;
3617
+ /**
3618
+ * Not found
3619
+ */
3620
+ 404: NotFoundError;
3621
+ };
3622
+ export type SessionPromptError = SessionPromptErrors[keyof SessionPromptErrors];
3623
+ export type SessionPromptResponses = {
3624
+ /**
3625
+ * Created message
3626
+ */
3627
+ 200: {
3628
+ info: AssistantMessage;
3629
+ parts: Array<Part>;
3630
+ };
3631
+ };
3632
+ export type SessionPromptResponse = SessionPromptResponses[keyof SessionPromptResponses];
3633
+ export type SessionMessageData = {
3634
+ body?: never;
3635
+ path: {
3636
+ /**
3637
+ * Session ID
3638
+ */
3639
+ sessionID: string;
3640
+ /**
3641
+ * Message ID
3642
+ */
3643
+ messageID: string;
3644
+ };
3645
+ query?: {
3646
+ directory?: string;
3647
+ };
3648
+ url: "/session/{sessionID}/message/{messageID}";
3649
+ };
3650
+ export type SessionMessageErrors = {
3651
+ /**
3652
+ * Bad request
3653
+ */
3654
+ 400: BadRequestError;
3655
+ /**
3656
+ * Not found
3657
+ */
3658
+ 404: NotFoundError;
3659
+ };
3660
+ export type SessionMessageError = SessionMessageErrors[keyof SessionMessageErrors];
3661
+ export type SessionMessageResponses = {
3662
+ /**
3663
+ * Message
3664
+ */
3665
+ 200: {
3666
+ info: Message;
3667
+ parts: Array<Part>;
3668
+ };
3669
+ };
3670
+ export type SessionMessageResponse = SessionMessageResponses[keyof SessionMessageResponses];
3671
+ export type PartDeleteData = {
3672
+ body?: never;
3673
+ path: {
3674
+ /**
3675
+ * Session ID
3676
+ */
3677
+ sessionID: string;
3678
+ /**
3679
+ * Message ID
3680
+ */
3681
+ messageID: string;
3682
+ /**
3683
+ * Part ID
3684
+ */
3685
+ partID: string;
3686
+ };
3687
+ query?: {
3688
+ directory?: string;
3689
+ };
3690
+ url: "/session/{sessionID}/message/{messageID}/part/{partID}";
3691
+ };
3692
+ export type PartDeleteErrors = {
3693
+ /**
3694
+ * Bad request
3695
+ */
3696
+ 400: BadRequestError;
3697
+ /**
3698
+ * Not found
3699
+ */
3700
+ 404: NotFoundError;
3701
+ };
3702
+ export type PartDeleteError = PartDeleteErrors[keyof PartDeleteErrors];
3703
+ export type PartDeleteResponses = {
3704
+ /**
3705
+ * Successfully deleted part
3706
+ */
3707
+ 200: boolean;
3708
+ };
3709
+ export type PartDeleteResponse = PartDeleteResponses[keyof PartDeleteResponses];
3710
+ export type PartUpdateData = {
3711
+ body?: Part;
3712
+ path: {
3713
+ /**
3714
+ * Session ID
3715
+ */
3716
+ sessionID: string;
3717
+ /**
3718
+ * Message ID
3719
+ */
3720
+ messageID: string;
3721
+ /**
3722
+ * Part ID
3723
+ */
3724
+ partID: string;
3725
+ };
3726
+ query?: {
3727
+ directory?: string;
3728
+ };
3729
+ url: "/session/{sessionID}/message/{messageID}/part/{partID}";
3730
+ };
3731
+ export type PartUpdateErrors = {
3732
+ /**
3733
+ * Bad request
3734
+ */
3735
+ 400: BadRequestError;
3736
+ /**
3737
+ * Not found
3738
+ */
3739
+ 404: NotFoundError;
3740
+ };
3741
+ export type PartUpdateError = PartUpdateErrors[keyof PartUpdateErrors];
3742
+ export type PartUpdateResponses = {
3743
+ /**
3744
+ * Successfully updated part
3745
+ */
3746
+ 200: Part;
3747
+ };
3748
+ export type PartUpdateResponse = PartUpdateResponses[keyof PartUpdateResponses];
3749
+ export type SessionPromptAsyncData = {
3750
+ body?: {
3751
+ messageID?: string;
3752
+ model?: {
3753
+ providerID: string;
3754
+ modelID: string;
3755
+ };
3756
+ agent?: string;
3757
+ noReply?: boolean;
3758
+ /**
3759
+ * @deprecated tools and permissions have been merged, you can set permissions on the session itself now
3760
+ */
3761
+ tools?: {
3762
+ [key: string]: boolean;
3763
+ };
3764
+ format?: OutputFormat;
3765
+ system?: string;
3766
+ variant?: string;
3767
+ parts: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>;
3768
+ };
3769
+ path: {
3770
+ /**
3771
+ * Session ID
3772
+ */
3773
+ sessionID: string;
3774
+ };
3775
+ query?: {
3776
+ directory?: string;
3777
+ };
3778
+ url: "/session/{sessionID}/prompt_async";
3779
+ };
3780
+ export type SessionPromptAsyncErrors = {
3781
+ /**
3782
+ * Bad request
3783
+ */
3784
+ 400: BadRequestError;
3785
+ /**
3786
+ * Not found
3787
+ */
3788
+ 404: NotFoundError;
3789
+ };
3790
+ export type SessionPromptAsyncError = SessionPromptAsyncErrors[keyof SessionPromptAsyncErrors];
3791
+ export type SessionPromptAsyncResponses = {
3792
+ /**
3793
+ * Prompt accepted
3794
+ */
3795
+ 204: void;
3796
+ };
3797
+ export type SessionPromptAsyncResponse = SessionPromptAsyncResponses[keyof SessionPromptAsyncResponses];
3798
+ export type SessionCommandData = {
3799
+ body?: {
3800
+ messageID?: string;
3801
+ agent?: string;
3802
+ model?: string;
3803
+ arguments: string;
3804
+ command: string;
3805
+ variant?: string;
3806
+ parts?: Array<{
3807
+ id?: string;
3808
+ type: "file";
3809
+ mime: string;
3810
+ filename?: string;
3811
+ url: string;
3812
+ source?: FilePartSource;
3813
+ }>;
3814
+ };
3815
+ path: {
3816
+ /**
3817
+ * Session ID
3818
+ */
3819
+ sessionID: string;
3820
+ };
3821
+ query?: {
3822
+ directory?: string;
3823
+ };
3824
+ url: "/session/{sessionID}/command";
3825
+ };
3826
+ export type SessionCommandErrors = {
3827
+ /**
3828
+ * Bad request
3829
+ */
3830
+ 400: BadRequestError;
3831
+ /**
3832
+ * Not found
3833
+ */
3834
+ 404: NotFoundError;
3835
+ };
3836
+ export type SessionCommandError = SessionCommandErrors[keyof SessionCommandErrors];
3837
+ export type SessionCommandResponses = {
3838
+ /**
3839
+ * Created message
3840
+ */
3841
+ 200: {
3842
+ info: AssistantMessage;
3843
+ parts: Array<Part>;
3844
+ };
3845
+ };
3846
+ export type SessionCommandResponse = SessionCommandResponses[keyof SessionCommandResponses];
3847
+ export type SessionShellData = {
3848
+ body?: {
3849
+ agent: string;
3850
+ model?: {
3851
+ providerID: string;
3852
+ modelID: string;
3853
+ };
3854
+ command: string;
3855
+ };
3856
+ path: {
3857
+ /**
3858
+ * Session ID
3859
+ */
3860
+ sessionID: string;
3861
+ };
3862
+ query?: {
3863
+ directory?: string;
3864
+ };
3865
+ url: "/session/{sessionID}/shell";
3866
+ };
3867
+ export type SessionShellErrors = {
3868
+ /**
3869
+ * Bad request
3870
+ */
3871
+ 400: BadRequestError;
3872
+ /**
3873
+ * Not found
3874
+ */
3875
+ 404: NotFoundError;
3876
+ };
3877
+ export type SessionShellError = SessionShellErrors[keyof SessionShellErrors];
3878
+ export type SessionShellResponses = {
3879
+ /**
3880
+ * Created message
3881
+ */
3882
+ 200: AssistantMessage;
3883
+ };
3884
+ export type SessionShellResponse = SessionShellResponses[keyof SessionShellResponses];
3885
+ export type SessionRevertData = {
3886
+ body?: {
3887
+ messageID: string;
3888
+ partID?: string;
3889
+ };
3890
+ path: {
3891
+ sessionID: string;
3892
+ };
3893
+ query?: {
3894
+ directory?: string;
3895
+ };
3896
+ url: "/session/{sessionID}/revert";
3897
+ };
3898
+ export type SessionRevertErrors = {
3899
+ /**
3900
+ * Bad request
3901
+ */
3902
+ 400: BadRequestError;
3903
+ /**
3904
+ * Not found
3905
+ */
3906
+ 404: NotFoundError;
3907
+ };
3908
+ export type SessionRevertError = SessionRevertErrors[keyof SessionRevertErrors];
3909
+ export type SessionRevertResponses = {
3910
+ /**
3911
+ * Updated session
3912
+ */
3913
+ 200: Session;
3914
+ };
3915
+ export type SessionRevertResponse = SessionRevertResponses[keyof SessionRevertResponses];
3916
+ export type SessionUnrevertData = {
3917
+ body?: never;
3918
+ path: {
3919
+ sessionID: string;
3920
+ };
3921
+ query?: {
3922
+ directory?: string;
3923
+ };
3924
+ url: "/session/{sessionID}/unrevert";
3925
+ };
3926
+ export type SessionUnrevertErrors = {
3927
+ /**
3928
+ * Bad request
3929
+ */
3930
+ 400: BadRequestError;
3931
+ /**
3932
+ * Not found
3933
+ */
3934
+ 404: NotFoundError;
3935
+ };
3936
+ export type SessionUnrevertError = SessionUnrevertErrors[keyof SessionUnrevertErrors];
3937
+ export type SessionUnrevertResponses = {
3938
+ /**
3939
+ * Updated session
3940
+ */
3941
+ 200: Session;
3942
+ };
3943
+ export type SessionUnrevertResponse = SessionUnrevertResponses[keyof SessionUnrevertResponses];
3944
+ export type PermissionRespondData = {
3945
+ body?: {
3946
+ response: "once" | "always" | "reject";
3947
+ };
3948
+ path: {
3949
+ sessionID: string;
3950
+ permissionID: string;
3951
+ };
3952
+ query?: {
3953
+ directory?: string;
3954
+ };
3955
+ url: "/session/{sessionID}/permissions/{permissionID}";
3956
+ };
3957
+ export type PermissionRespondErrors = {
3958
+ /**
3959
+ * Bad request
3960
+ */
3961
+ 400: BadRequestError;
3962
+ /**
3963
+ * Not found
3964
+ */
3965
+ 404: NotFoundError;
3966
+ };
3967
+ export type PermissionRespondError = PermissionRespondErrors[keyof PermissionRespondErrors];
3968
+ export type PermissionRespondResponses = {
3969
+ /**
3970
+ * Permission processed successfully
3971
+ */
3972
+ 200: boolean;
3973
+ };
3974
+ export type PermissionRespondResponse = PermissionRespondResponses[keyof PermissionRespondResponses];
3975
+ export type PermissionReplyData = {
3976
+ body?: {
3977
+ reply: "once" | "always" | "reject";
3978
+ message?: string;
3979
+ };
3980
+ path: {
3981
+ requestID: string;
3982
+ };
3983
+ query?: {
3984
+ directory?: string;
3985
+ };
3986
+ url: "/permission/{requestID}/reply";
3987
+ };
3988
+ export type PermissionReplyErrors = {
3989
+ /**
3990
+ * Bad request
3991
+ */
3992
+ 400: BadRequestError;
3993
+ /**
3994
+ * Not found
3995
+ */
3996
+ 404: NotFoundError;
3997
+ };
3998
+ export type PermissionReplyError = PermissionReplyErrors[keyof PermissionReplyErrors];
3999
+ export type PermissionReplyResponses = {
4000
+ /**
4001
+ * Permission processed successfully
4002
+ */
4003
+ 200: boolean;
4004
+ };
4005
+ export type PermissionReplyResponse = PermissionReplyResponses[keyof PermissionReplyResponses];
4006
+ export type PermissionListData = {
4007
+ body?: never;
4008
+ path?: never;
4009
+ query?: {
4010
+ directory?: string;
4011
+ };
4012
+ url: "/permission";
4013
+ };
4014
+ export type PermissionListResponses = {
4015
+ /**
4016
+ * List of pending permissions
4017
+ */
4018
+ 200: Array<PermissionRequest>;
4019
+ };
4020
+ export type PermissionListResponse = PermissionListResponses[keyof PermissionListResponses];
4021
+ export type QuestionListData = {
4022
+ body?: never;
4023
+ path?: never;
4024
+ query?: {
4025
+ directory?: string;
4026
+ };
4027
+ url: "/question";
4028
+ };
4029
+ export type QuestionListResponses = {
4030
+ /**
4031
+ * List of pending questions
4032
+ */
4033
+ 200: Array<QuestionRequest>;
4034
+ };
4035
+ export type QuestionListResponse = QuestionListResponses[keyof QuestionListResponses];
4036
+ export type QuestionReplyData = {
4037
+ body?: {
4038
+ /**
4039
+ * User answers in order of questions (each answer is an array of selected labels)
4040
+ */
4041
+ answers: Array<QuestionAnswer>;
4042
+ };
4043
+ path: {
4044
+ requestID: string;
4045
+ };
4046
+ query?: {
4047
+ directory?: string;
4048
+ };
4049
+ url: "/question/{requestID}/reply";
4050
+ };
4051
+ export type QuestionReplyErrors = {
4052
+ /**
4053
+ * Bad request
4054
+ */
4055
+ 400: BadRequestError;
4056
+ /**
4057
+ * Not found
4058
+ */
4059
+ 404: NotFoundError;
4060
+ };
4061
+ export type QuestionReplyError = QuestionReplyErrors[keyof QuestionReplyErrors];
4062
+ export type QuestionReplyResponses = {
4063
+ /**
4064
+ * Question answered successfully
4065
+ */
4066
+ 200: boolean;
4067
+ };
4068
+ export type QuestionReplyResponse = QuestionReplyResponses[keyof QuestionReplyResponses];
4069
+ export type QuestionRejectData = {
4070
+ body?: never;
4071
+ path: {
4072
+ requestID: string;
4073
+ };
4074
+ query?: {
4075
+ directory?: string;
4076
+ };
4077
+ url: "/question/{requestID}/reject";
4078
+ };
4079
+ export type QuestionRejectErrors = {
4080
+ /**
4081
+ * Bad request
4082
+ */
4083
+ 400: BadRequestError;
4084
+ /**
4085
+ * Not found
4086
+ */
4087
+ 404: NotFoundError;
4088
+ };
4089
+ export type QuestionRejectError = QuestionRejectErrors[keyof QuestionRejectErrors];
4090
+ export type QuestionRejectResponses = {
4091
+ /**
4092
+ * Question rejected successfully
4093
+ */
4094
+ 200: boolean;
4095
+ };
4096
+ export type QuestionRejectResponse = QuestionRejectResponses[keyof QuestionRejectResponses];
4097
+ export type ProviderListData = {
4098
+ body?: never;
4099
+ path?: never;
4100
+ query?: {
4101
+ directory?: string;
4102
+ };
4103
+ url: "/provider";
4104
+ };
4105
+ export type ProviderListResponses = {
4106
+ /**
4107
+ * List of providers
4108
+ */
4109
+ 200: {
4110
+ all: Array<{
4111
+ api?: string;
4112
+ name: string;
4113
+ env: Array<string>;
4114
+ id: string;
4115
+ npm?: string;
4116
+ models: {
4117
+ [key: string]: {
4118
+ id: string;
4119
+ name: string;
4120
+ family?: string;
4121
+ release_date: string;
4122
+ attachment: boolean;
4123
+ reasoning: boolean;
4124
+ temperature: boolean;
4125
+ tool_call: boolean;
4126
+ interleaved?: true | {
4127
+ field: "reasoning_content" | "reasoning_details";
4128
+ };
4129
+ cost?: {
4130
+ input: number;
4131
+ output: number;
4132
+ cache_read?: number;
4133
+ cache_write?: number;
4134
+ context_over_200k?: {
4135
+ input: number;
4136
+ output: number;
4137
+ cache_read?: number;
4138
+ cache_write?: number;
4139
+ };
4140
+ };
4141
+ limit: {
4142
+ context: number;
4143
+ input?: number;
4144
+ output: number;
4145
+ };
4146
+ modalities?: {
4147
+ input: Array<"text" | "audio" | "image" | "video" | "pdf">;
4148
+ output: Array<"text" | "audio" | "image" | "video" | "pdf">;
4149
+ };
4150
+ experimental?: boolean;
4151
+ status?: "alpha" | "beta" | "deprecated";
4152
+ options: {
4153
+ [key: string]: unknown;
4154
+ };
4155
+ headers?: {
4156
+ [key: string]: string;
4157
+ };
4158
+ provider?: {
4159
+ npm?: string;
4160
+ api?: string;
4161
+ };
4162
+ variants?: {
4163
+ [key: string]: {
4164
+ [key: string]: unknown;
4165
+ };
4166
+ };
4167
+ };
4168
+ };
4169
+ }>;
4170
+ default: {
4171
+ [key: string]: string;
4172
+ };
4173
+ connected: Array<string>;
4174
+ };
4175
+ };
4176
+ export type ProviderListResponse = ProviderListResponses[keyof ProviderListResponses];
4177
+ export type ProviderAuthData = {
4178
+ body?: never;
4179
+ path?: never;
4180
+ query?: {
4181
+ directory?: string;
4182
+ };
4183
+ url: "/provider/auth";
4184
+ };
4185
+ export type ProviderAuthResponses = {
4186
+ /**
4187
+ * Provider auth methods
4188
+ */
4189
+ 200: {
4190
+ [key: string]: Array<ProviderAuthMethod>;
4191
+ };
4192
+ };
4193
+ export type ProviderAuthResponse = ProviderAuthResponses[keyof ProviderAuthResponses];
4194
+ export type ProviderOauthAuthorizeData = {
4195
+ body?: {
4196
+ /**
4197
+ * Auth method index
4198
+ */
4199
+ method: number;
4200
+ };
4201
+ path: {
4202
+ /**
4203
+ * Provider ID
4204
+ */
4205
+ providerID: string;
4206
+ };
4207
+ query?: {
4208
+ directory?: string;
4209
+ };
4210
+ url: "/provider/{providerID}/oauth/authorize";
4211
+ };
4212
+ export type ProviderOauthAuthorizeErrors = {
4213
+ /**
4214
+ * Bad request
4215
+ */
4216
+ 400: BadRequestError;
4217
+ };
4218
+ export type ProviderOauthAuthorizeError = ProviderOauthAuthorizeErrors[keyof ProviderOauthAuthorizeErrors];
4219
+ export type ProviderOauthAuthorizeResponses = {
4220
+ /**
4221
+ * Authorization URL and method
4222
+ */
4223
+ 200: ProviderAuthAuthorization;
4224
+ };
4225
+ export type ProviderOauthAuthorizeResponse = ProviderOauthAuthorizeResponses[keyof ProviderOauthAuthorizeResponses];
4226
+ export type ProviderOauthCallbackData = {
4227
+ body?: {
4228
+ /**
4229
+ * Auth method index
4230
+ */
4231
+ method: number;
4232
+ /**
4233
+ * OAuth authorization code
4234
+ */
4235
+ code?: string;
4236
+ };
4237
+ path: {
4238
+ /**
4239
+ * Provider ID
4240
+ */
4241
+ providerID: string;
4242
+ };
4243
+ query?: {
4244
+ directory?: string;
4245
+ };
4246
+ url: "/provider/{providerID}/oauth/callback";
4247
+ };
4248
+ export type ProviderOauthCallbackErrors = {
4249
+ /**
4250
+ * Bad request
4251
+ */
4252
+ 400: BadRequestError;
4253
+ };
4254
+ export type ProviderOauthCallbackError = ProviderOauthCallbackErrors[keyof ProviderOauthCallbackErrors];
4255
+ export type ProviderOauthCallbackResponses = {
4256
+ /**
4257
+ * OAuth callback processed successfully
4258
+ */
4259
+ 200: boolean;
4260
+ };
4261
+ export type ProviderOauthCallbackResponse = ProviderOauthCallbackResponses[keyof ProviderOauthCallbackResponses];
4262
+ export type FindTextData = {
4263
+ body?: never;
4264
+ path?: never;
4265
+ query: {
4266
+ directory?: string;
4267
+ pattern: string;
4268
+ };
4269
+ url: "/find";
4270
+ };
4271
+ export type FindTextResponses = {
4272
+ /**
4273
+ * Matches
4274
+ */
4275
+ 200: Array<{
4276
+ path: {
4277
+ text: string;
4278
+ };
4279
+ lines: {
4280
+ text: string;
4281
+ };
4282
+ line_number: number;
4283
+ absolute_offset: number;
4284
+ submatches: Array<{
4285
+ match: {
4286
+ text: string;
4287
+ };
4288
+ start: number;
4289
+ end: number;
4290
+ }>;
4291
+ }>;
4292
+ };
4293
+ export type FindTextResponse = FindTextResponses[keyof FindTextResponses];
4294
+ export type FindFilesData = {
4295
+ body?: never;
4296
+ path?: never;
4297
+ query: {
4298
+ directory?: string;
4299
+ query: string;
4300
+ dirs?: "true" | "false";
4301
+ type?: "file" | "directory";
4302
+ limit?: number;
4303
+ };
4304
+ url: "/find/file";
4305
+ };
4306
+ export type FindFilesResponses = {
4307
+ /**
4308
+ * File paths
4309
+ */
4310
+ 200: Array<string>;
4311
+ };
4312
+ export type FindFilesResponse = FindFilesResponses[keyof FindFilesResponses];
4313
+ export type FindSymbolsData = {
4314
+ body?: never;
4315
+ path?: never;
4316
+ query: {
4317
+ directory?: string;
4318
+ query: string;
4319
+ };
4320
+ url: "/find/symbol";
4321
+ };
4322
+ export type FindSymbolsResponses = {
4323
+ /**
4324
+ * Symbols
4325
+ */
4326
+ 200: Array<Symbol>;
4327
+ };
4328
+ export type FindSymbolsResponse = FindSymbolsResponses[keyof FindSymbolsResponses];
4329
+ export type FileListData = {
4330
+ body?: never;
4331
+ path?: never;
4332
+ query: {
4333
+ directory?: string;
4334
+ path: string;
4335
+ };
4336
+ url: "/file";
4337
+ };
4338
+ export type FileListResponses = {
4339
+ /**
4340
+ * Files and directories
4341
+ */
4342
+ 200: Array<FileNode>;
4343
+ };
4344
+ export type FileListResponse = FileListResponses[keyof FileListResponses];
4345
+ export type FileReadData = {
4346
+ body?: never;
4347
+ path?: never;
4348
+ query: {
4349
+ directory?: string;
4350
+ path: string;
4351
+ };
4352
+ url: "/file/content";
4353
+ };
4354
+ export type FileReadResponses = {
4355
+ /**
4356
+ * File content
4357
+ */
4358
+ 200: FileContent;
4359
+ };
4360
+ export type FileReadResponse = FileReadResponses[keyof FileReadResponses];
4361
+ export type FileStatusData = {
4362
+ body?: never;
4363
+ path?: never;
4364
+ query?: {
4365
+ directory?: string;
4366
+ };
4367
+ url: "/file/status";
4368
+ };
4369
+ export type FileStatusResponses = {
4370
+ /**
4371
+ * File status
4372
+ */
4373
+ 200: Array<File>;
4374
+ };
4375
+ export type FileStatusResponse = FileStatusResponses[keyof FileStatusResponses];
4376
+ export type McpStatusData = {
4377
+ body?: never;
4378
+ path?: never;
4379
+ query?: {
4380
+ directory?: string;
4381
+ };
4382
+ url: "/mcp";
4383
+ };
4384
+ export type McpStatusResponses = {
4385
+ /**
4386
+ * MCP server status
4387
+ */
4388
+ 200: {
4389
+ [key: string]: McpStatus;
4390
+ };
4391
+ };
4392
+ export type McpStatusResponse = McpStatusResponses[keyof McpStatusResponses];
4393
+ export type McpAddData = {
4394
+ body?: {
4395
+ name: string;
4396
+ config: McpLocalConfig | McpRemoteConfig;
4397
+ };
4398
+ path?: never;
4399
+ query?: {
4400
+ directory?: string;
4401
+ };
4402
+ url: "/mcp";
4403
+ };
4404
+ export type McpAddErrors = {
4405
+ /**
4406
+ * Bad request
4407
+ */
4408
+ 400: BadRequestError;
4409
+ };
4410
+ export type McpAddError = McpAddErrors[keyof McpAddErrors];
4411
+ export type McpAddResponses = {
4412
+ /**
4413
+ * MCP server added successfully
4414
+ */
4415
+ 200: {
4416
+ [key: string]: McpStatus;
4417
+ };
4418
+ };
4419
+ export type McpAddResponse = McpAddResponses[keyof McpAddResponses];
4420
+ export type McpRemoveData = {
4421
+ body?: never;
4422
+ path: {
4423
+ name: string;
4424
+ };
4425
+ query?: {
4426
+ directory?: string;
4427
+ };
4428
+ url: "/mcp/{name}";
4429
+ };
4430
+ export type McpRemoveResponses = {
4431
+ /**
4432
+ * MCP server removed
4433
+ */
4434
+ 200: boolean;
4435
+ };
4436
+ export type McpRemoveResponse = McpRemoveResponses[keyof McpRemoveResponses];
4437
+ export type McpAuthRemoveData = {
4438
+ body?: never;
4439
+ path: {
4440
+ name: string;
4441
+ };
4442
+ query?: {
4443
+ directory?: string;
4444
+ };
4445
+ url: "/mcp/{name}/auth";
4446
+ };
4447
+ export type McpAuthRemoveErrors = {
4448
+ /**
4449
+ * Not found
4450
+ */
4451
+ 404: NotFoundError;
4452
+ };
4453
+ export type McpAuthRemoveError = McpAuthRemoveErrors[keyof McpAuthRemoveErrors];
4454
+ export type McpAuthRemoveResponses = {
4455
+ /**
4456
+ * OAuth credentials removed
4457
+ */
4458
+ 200: {
4459
+ success: true;
4460
+ };
4461
+ };
4462
+ export type McpAuthRemoveResponse = McpAuthRemoveResponses[keyof McpAuthRemoveResponses];
4463
+ export type McpAuthStartData = {
4464
+ body?: never;
4465
+ path: {
4466
+ name: string;
4467
+ };
4468
+ query?: {
4469
+ directory?: string;
4470
+ };
4471
+ url: "/mcp/{name}/auth";
4472
+ };
4473
+ export type McpAuthStartErrors = {
4474
+ /**
4475
+ * Bad request
4476
+ */
4477
+ 400: BadRequestError;
4478
+ /**
4479
+ * Not found
4480
+ */
4481
+ 404: NotFoundError;
4482
+ };
4483
+ export type McpAuthStartError = McpAuthStartErrors[keyof McpAuthStartErrors];
4484
+ export type McpAuthStartResponses = {
4485
+ /**
4486
+ * OAuth flow started
4487
+ */
4488
+ 200: {
4489
+ /**
4490
+ * URL to open in browser for authorization
4491
+ */
4492
+ authorizationUrl: string;
4493
+ };
4494
+ };
4495
+ export type McpAuthStartResponse = McpAuthStartResponses[keyof McpAuthStartResponses];
4496
+ export type McpAuthCallbackData = {
4497
+ body?: {
4498
+ /**
4499
+ * Authorization code from OAuth callback
4500
+ */
4501
+ code: string;
4502
+ };
4503
+ path: {
4504
+ name: string;
4505
+ };
4506
+ query?: {
4507
+ directory?: string;
4508
+ };
4509
+ url: "/mcp/{name}/auth/callback";
4510
+ };
4511
+ export type McpAuthCallbackErrors = {
4512
+ /**
4513
+ * Bad request
4514
+ */
4515
+ 400: BadRequestError;
4516
+ /**
4517
+ * Not found
4518
+ */
4519
+ 404: NotFoundError;
4520
+ };
4521
+ export type McpAuthCallbackError = McpAuthCallbackErrors[keyof McpAuthCallbackErrors];
4522
+ export type McpAuthCallbackResponses = {
4523
+ /**
4524
+ * OAuth authentication completed
4525
+ */
4526
+ 200: McpStatus;
4527
+ };
4528
+ export type McpAuthCallbackResponse = McpAuthCallbackResponses[keyof McpAuthCallbackResponses];
4529
+ export type McpAuthAuthenticateData = {
4530
+ body?: never;
4531
+ path: {
4532
+ name: string;
4533
+ };
4534
+ query?: {
4535
+ directory?: string;
4536
+ };
4537
+ url: "/mcp/{name}/auth/authenticate";
4538
+ };
4539
+ export type McpAuthAuthenticateErrors = {
4540
+ /**
4541
+ * Bad request
4542
+ */
4543
+ 400: BadRequestError;
4544
+ /**
4545
+ * Not found
4546
+ */
4547
+ 404: NotFoundError;
4548
+ };
4549
+ export type McpAuthAuthenticateError = McpAuthAuthenticateErrors[keyof McpAuthAuthenticateErrors];
4550
+ export type McpAuthAuthenticateResponses = {
4551
+ /**
4552
+ * OAuth authentication completed
4553
+ */
4554
+ 200: McpStatus;
4555
+ };
4556
+ export type McpAuthAuthenticateResponse = McpAuthAuthenticateResponses[keyof McpAuthAuthenticateResponses];
4557
+ export type McpConnectData = {
4558
+ body?: never;
4559
+ path: {
4560
+ name: string;
4561
+ };
4562
+ query?: {
4563
+ directory?: string;
4564
+ };
4565
+ url: "/mcp/{name}/connect";
4566
+ };
4567
+ export type McpConnectResponses = {
4568
+ /**
4569
+ * MCP server connected successfully
4570
+ */
4571
+ 200: boolean;
4572
+ };
4573
+ export type McpConnectResponse = McpConnectResponses[keyof McpConnectResponses];
4574
+ export type McpDisconnectData = {
4575
+ body?: never;
4576
+ path: {
4577
+ name: string;
4578
+ };
4579
+ query?: {
4580
+ directory?: string;
4581
+ };
4582
+ url: "/mcp/{name}/disconnect";
4583
+ };
4584
+ export type McpDisconnectResponses = {
4585
+ /**
4586
+ * MCP server disconnected successfully
4587
+ */
4588
+ 200: boolean;
4589
+ };
4590
+ export type McpDisconnectResponse = McpDisconnectResponses[keyof McpDisconnectResponses];
4591
+ export type BoltStatusData = {
4592
+ body?: never;
4593
+ path?: never;
4594
+ query?: {
4595
+ directory?: string;
4596
+ };
4597
+ url: "/bolt";
4598
+ };
4599
+ export type BoltStatusResponses = {
4600
+ /**
4601
+ * Bolt server status
4602
+ */
4603
+ 200: {
4604
+ [key: string]: McpStatus;
4605
+ };
4606
+ };
4607
+ export type BoltStatusResponse = BoltStatusResponses[keyof BoltStatusResponses];
4608
+ export type BoltAddData = {
4609
+ body?: {
4610
+ name: string;
4611
+ config: BoltConfig;
4612
+ };
4613
+ path?: never;
4614
+ query?: {
4615
+ directory?: string;
4616
+ };
4617
+ url: "/bolt";
4618
+ };
4619
+ export type BoltAddErrors = {
4620
+ /**
4621
+ * Bad request
4622
+ */
4623
+ 400: BadRequestError;
4624
+ };
4625
+ export type BoltAddError = BoltAddErrors[keyof BoltAddErrors];
4626
+ export type BoltAddResponses = {
4627
+ /**
4628
+ * Bolt server added successfully
4629
+ */
4630
+ 200: {
4631
+ [key: string]: McpStatus;
4632
+ };
4633
+ };
4634
+ export type BoltAddResponse = BoltAddResponses[keyof BoltAddResponses];
4635
+ export type BoltPairData = {
4636
+ body?: {
4637
+ /**
4638
+ * Bolt server URL
4639
+ */
4640
+ url: string;
4641
+ /**
4642
+ * Admin token for pairing authorization
4643
+ */
4644
+ adminToken: string;
4645
+ };
4646
+ path: {
4647
+ name: string;
4648
+ };
4649
+ query?: {
4650
+ directory?: string;
4651
+ };
4652
+ url: "/bolt/{name}/pair";
4653
+ };
4654
+ export type BoltPairErrors = {
4655
+ /**
4656
+ * Bad request
4657
+ */
4658
+ 400: BadRequestError;
4659
+ };
4660
+ export type BoltPairError = BoltPairErrors[keyof BoltPairErrors];
4661
+ export type BoltPairResponses = {
4662
+ /**
4663
+ * Bolt pairing successful
4664
+ */
4665
+ 200: {
4666
+ clientId: string;
4667
+ serverFingerprint: string;
4668
+ };
4669
+ };
4670
+ export type BoltPairResponse = BoltPairResponses[keyof BoltPairResponses];
4671
+ export type BoltConnectData = {
4672
+ body?: never;
4673
+ path: {
4674
+ name: string;
4675
+ };
4676
+ query?: {
4677
+ directory?: string;
4678
+ };
4679
+ url: "/bolt/{name}/connect";
4680
+ };
4681
+ export type BoltConnectResponses = {
4682
+ /**
4683
+ * Bolt server connected
4684
+ */
4685
+ 200: boolean;
4686
+ };
4687
+ export type BoltConnectResponse = BoltConnectResponses[keyof BoltConnectResponses];
4688
+ export type BoltDisconnectData = {
4689
+ body?: never;
4690
+ path: {
4691
+ name: string;
4692
+ };
4693
+ query?: {
4694
+ directory?: string;
4695
+ };
4696
+ url: "/bolt/{name}/disconnect";
4697
+ };
4698
+ export type BoltDisconnectResponses = {
4699
+ /**
4700
+ * Bolt server disconnected
4701
+ */
4702
+ 200: boolean;
4703
+ };
4704
+ export type BoltDisconnectResponse = BoltDisconnectResponses[keyof BoltDisconnectResponses];
4705
+ export type BoltRemoveData = {
4706
+ body?: never;
4707
+ path: {
4708
+ name: string;
4709
+ };
4710
+ query?: {
4711
+ directory?: string;
4712
+ };
4713
+ url: "/bolt/{name}";
4714
+ };
4715
+ export type BoltRemoveResponses = {
4716
+ /**
4717
+ * Bolt server removed
4718
+ */
4719
+ 200: boolean;
4720
+ };
4721
+ export type BoltRemoveResponse = BoltRemoveResponses[keyof BoltRemoveResponses];
4722
+ export type TuiAppendPromptData = {
4723
+ body?: {
4724
+ text: string;
4725
+ };
4726
+ path?: never;
4727
+ query?: {
4728
+ directory?: string;
4729
+ };
4730
+ url: "/tui/append-prompt";
4731
+ };
4732
+ export type TuiAppendPromptErrors = {
4733
+ /**
4734
+ * Bad request
4735
+ */
4736
+ 400: BadRequestError;
4737
+ };
4738
+ export type TuiAppendPromptError = TuiAppendPromptErrors[keyof TuiAppendPromptErrors];
4739
+ export type TuiAppendPromptResponses = {
4740
+ /**
4741
+ * Prompt processed successfully
4742
+ */
4743
+ 200: boolean;
4744
+ };
4745
+ export type TuiAppendPromptResponse = TuiAppendPromptResponses[keyof TuiAppendPromptResponses];
4746
+ export type TuiOpenHelpData = {
4747
+ body?: never;
4748
+ path?: never;
4749
+ query?: {
4750
+ directory?: string;
4751
+ };
4752
+ url: "/tui/open-help";
4753
+ };
4754
+ export type TuiOpenHelpResponses = {
4755
+ /**
4756
+ * Help dialog opened successfully
4757
+ */
4758
+ 200: boolean;
4759
+ };
4760
+ export type TuiOpenHelpResponse = TuiOpenHelpResponses[keyof TuiOpenHelpResponses];
4761
+ export type TuiOpenSessionsData = {
4762
+ body?: never;
4763
+ path?: never;
4764
+ query?: {
4765
+ directory?: string;
4766
+ };
4767
+ url: "/tui/open-sessions";
4768
+ };
4769
+ export type TuiOpenSessionsResponses = {
4770
+ /**
4771
+ * Session dialog opened successfully
4772
+ */
4773
+ 200: boolean;
4774
+ };
4775
+ export type TuiOpenSessionsResponse = TuiOpenSessionsResponses[keyof TuiOpenSessionsResponses];
4776
+ export type TuiOpenThemesData = {
4777
+ body?: never;
4778
+ path?: never;
4779
+ query?: {
4780
+ directory?: string;
4781
+ };
4782
+ url: "/tui/open-themes";
4783
+ };
4784
+ export type TuiOpenThemesResponses = {
4785
+ /**
4786
+ * Theme dialog opened successfully
4787
+ */
4788
+ 200: boolean;
4789
+ };
4790
+ export type TuiOpenThemesResponse = TuiOpenThemesResponses[keyof TuiOpenThemesResponses];
4791
+ export type TuiOpenModelsData = {
4792
+ body?: never;
4793
+ path?: never;
4794
+ query?: {
4795
+ directory?: string;
4796
+ };
4797
+ url: "/tui/open-models";
4798
+ };
4799
+ export type TuiOpenModelsResponses = {
4800
+ /**
4801
+ * Model dialog opened successfully
4802
+ */
4803
+ 200: boolean;
4804
+ };
4805
+ export type TuiOpenModelsResponse = TuiOpenModelsResponses[keyof TuiOpenModelsResponses];
4806
+ export type TuiSubmitPromptData = {
4807
+ body?: never;
4808
+ path?: never;
4809
+ query?: {
4810
+ directory?: string;
4811
+ };
4812
+ url: "/tui/submit-prompt";
4813
+ };
4814
+ export type TuiSubmitPromptResponses = {
4815
+ /**
4816
+ * Prompt submitted successfully
4817
+ */
4818
+ 200: boolean;
4819
+ };
4820
+ export type TuiSubmitPromptResponse = TuiSubmitPromptResponses[keyof TuiSubmitPromptResponses];
4821
+ export type TuiClearPromptData = {
4822
+ body?: never;
4823
+ path?: never;
4824
+ query?: {
4825
+ directory?: string;
4826
+ };
4827
+ url: "/tui/clear-prompt";
4828
+ };
4829
+ export type TuiClearPromptResponses = {
4830
+ /**
4831
+ * Prompt cleared successfully
4832
+ */
4833
+ 200: boolean;
4834
+ };
4835
+ export type TuiClearPromptResponse = TuiClearPromptResponses[keyof TuiClearPromptResponses];
4836
+ export type TuiExecuteCommandData = {
4837
+ body?: {
4838
+ command: string;
4839
+ };
4840
+ path?: never;
4841
+ query?: {
4842
+ directory?: string;
4843
+ };
4844
+ url: "/tui/execute-command";
4845
+ };
4846
+ export type TuiExecuteCommandErrors = {
4847
+ /**
4848
+ * Bad request
4849
+ */
4850
+ 400: BadRequestError;
4851
+ };
4852
+ export type TuiExecuteCommandError = TuiExecuteCommandErrors[keyof TuiExecuteCommandErrors];
4853
+ export type TuiExecuteCommandResponses = {
4854
+ /**
4855
+ * Command executed successfully
4856
+ */
4857
+ 200: boolean;
4858
+ };
4859
+ export type TuiExecuteCommandResponse = TuiExecuteCommandResponses[keyof TuiExecuteCommandResponses];
4860
+ export type TuiShowToastData = {
4861
+ body?: {
4862
+ title?: string;
4863
+ message: string;
4864
+ variant: "info" | "success" | "warning" | "error";
4865
+ /**
4866
+ * Duration in milliseconds
4867
+ */
4868
+ duration?: number;
4869
+ };
4870
+ path?: never;
4871
+ query?: {
4872
+ directory?: string;
4873
+ };
4874
+ url: "/tui/show-toast";
4875
+ };
4876
+ export type TuiShowToastResponses = {
4877
+ /**
4878
+ * Toast notification shown successfully
4879
+ */
4880
+ 200: boolean;
4881
+ };
4882
+ export type TuiShowToastResponse = TuiShowToastResponses[keyof TuiShowToastResponses];
4883
+ export type TuiPublishData = {
4884
+ body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect;
4885
+ path?: never;
4886
+ query?: {
4887
+ directory?: string;
4888
+ };
4889
+ url: "/tui/publish";
4890
+ };
4891
+ export type TuiPublishErrors = {
4892
+ /**
4893
+ * Bad request
4894
+ */
4895
+ 400: BadRequestError;
4896
+ };
4897
+ export type TuiPublishError = TuiPublishErrors[keyof TuiPublishErrors];
4898
+ export type TuiPublishResponses = {
4899
+ /**
4900
+ * Event published successfully
4901
+ */
4902
+ 200: boolean;
4903
+ };
4904
+ export type TuiPublishResponse = TuiPublishResponses[keyof TuiPublishResponses];
4905
+ export type TuiSelectSessionData = {
4906
+ body?: {
4907
+ /**
4908
+ * Session ID to navigate to
4909
+ */
4910
+ sessionID: string;
4911
+ };
4912
+ path?: never;
4913
+ query?: {
4914
+ directory?: string;
4915
+ };
4916
+ url: "/tui/select-session";
4917
+ };
4918
+ export type TuiSelectSessionErrors = {
4919
+ /**
4920
+ * Bad request
4921
+ */
4922
+ 400: BadRequestError;
4923
+ /**
4924
+ * Not found
4925
+ */
4926
+ 404: NotFoundError;
4927
+ };
4928
+ export type TuiSelectSessionError = TuiSelectSessionErrors[keyof TuiSelectSessionErrors];
4929
+ export type TuiSelectSessionResponses = {
4930
+ /**
4931
+ * Session selected successfully
4932
+ */
4933
+ 200: boolean;
4934
+ };
4935
+ export type TuiSelectSessionResponse = TuiSelectSessionResponses[keyof TuiSelectSessionResponses];
4936
+ export type TuiControlNextData = {
4937
+ body?: never;
4938
+ path?: never;
4939
+ query?: {
4940
+ directory?: string;
4941
+ };
4942
+ url: "/tui/control/next";
4943
+ };
4944
+ export type TuiControlNextResponses = {
4945
+ /**
4946
+ * Next TUI request
4947
+ */
4948
+ 200: {
4949
+ path: string;
4950
+ body: unknown;
4951
+ };
4952
+ };
4953
+ export type TuiControlNextResponse = TuiControlNextResponses[keyof TuiControlNextResponses];
4954
+ export type TuiControlResponseData = {
4955
+ body?: unknown;
4956
+ path?: never;
4957
+ query?: {
4958
+ directory?: string;
4959
+ };
4960
+ url: "/tui/control/response";
4961
+ };
4962
+ export type TuiControlResponseResponses = {
4963
+ /**
4964
+ * Response submitted successfully
4965
+ */
4966
+ 200: boolean;
4967
+ };
4968
+ export type TuiControlResponseResponse = TuiControlResponseResponses[keyof TuiControlResponseResponses];
4969
+ export type InstanceDisposeData = {
4970
+ body?: never;
4971
+ path?: never;
4972
+ query?: {
4973
+ directory?: string;
4974
+ };
4975
+ url: "/instance/dispose";
4976
+ };
4977
+ export type InstanceDisposeResponses = {
4978
+ /**
4979
+ * Instance disposed
4980
+ */
4981
+ 200: boolean;
4982
+ };
4983
+ export type InstanceDisposeResponse = InstanceDisposeResponses[keyof InstanceDisposeResponses];
4984
+ export type PathGetData = {
4985
+ body?: never;
4986
+ path?: never;
4987
+ query?: {
4988
+ directory?: string;
4989
+ };
4990
+ url: "/path";
4991
+ };
4992
+ export type PathGetResponses = {
4993
+ /**
4994
+ * Path
4995
+ */
4996
+ 200: Path;
4997
+ };
4998
+ export type PathGetResponse = PathGetResponses[keyof PathGetResponses];
4999
+ export type VcsGetData = {
5000
+ body?: never;
5001
+ path?: never;
5002
+ query?: {
5003
+ directory?: string;
5004
+ };
5005
+ url: "/vcs";
5006
+ };
5007
+ export type VcsGetResponses = {
5008
+ /**
5009
+ * VCS info
5010
+ */
5011
+ 200: VcsInfo;
5012
+ };
5013
+ export type VcsGetResponse = VcsGetResponses[keyof VcsGetResponses];
5014
+ export type CommandListData = {
5015
+ body?: never;
5016
+ path?: never;
5017
+ query?: {
5018
+ directory?: string;
5019
+ };
5020
+ url: "/command";
5021
+ };
5022
+ export type CommandListResponses = {
5023
+ /**
5024
+ * List of commands
5025
+ */
5026
+ 200: Array<Command>;
5027
+ };
5028
+ export type CommandListResponse = CommandListResponses[keyof CommandListResponses];
5029
+ export type AppLogData = {
5030
+ body?: {
5031
+ /**
5032
+ * Service name for the log entry
5033
+ */
5034
+ service: string;
5035
+ /**
5036
+ * Log level
5037
+ */
5038
+ level: "debug" | "info" | "error" | "warn";
5039
+ /**
5040
+ * Log message
5041
+ */
5042
+ message: string;
5043
+ /**
5044
+ * Additional metadata for the log entry
5045
+ */
5046
+ extra?: {
5047
+ [key: string]: unknown;
5048
+ };
5049
+ };
5050
+ path?: never;
5051
+ query?: {
5052
+ directory?: string;
5053
+ };
5054
+ url: "/log";
5055
+ };
5056
+ export type AppLogErrors = {
5057
+ /**
5058
+ * Bad request
5059
+ */
5060
+ 400: BadRequestError;
5061
+ };
5062
+ export type AppLogError = AppLogErrors[keyof AppLogErrors];
5063
+ export type AppLogResponses = {
5064
+ /**
5065
+ * Log entry written successfully
5066
+ */
5067
+ 200: boolean;
5068
+ };
5069
+ export type AppLogResponse = AppLogResponses[keyof AppLogResponses];
5070
+ export type AppAgentsData = {
5071
+ body?: never;
5072
+ path?: never;
5073
+ query?: {
5074
+ directory?: string;
5075
+ };
5076
+ url: "/agent";
5077
+ };
5078
+ export type AppAgentsResponses = {
5079
+ /**
5080
+ * List of agents
5081
+ */
5082
+ 200: Array<Agent>;
5083
+ };
5084
+ export type AppAgentsResponse = AppAgentsResponses[keyof AppAgentsResponses];
5085
+ export type AppSkillsData = {
5086
+ body?: never;
5087
+ path?: never;
5088
+ query?: {
5089
+ directory?: string;
5090
+ };
5091
+ url: "/skill";
5092
+ };
5093
+ export type AppSkillsResponses = {
5094
+ /**
5095
+ * List of skills
5096
+ */
5097
+ 200: Array<{
5098
+ name: string;
5099
+ description: string;
5100
+ location: string;
5101
+ content: string;
5102
+ }>;
5103
+ };
5104
+ export type AppSkillsResponse = AppSkillsResponses[keyof AppSkillsResponses];
5105
+ export type LspStatusData = {
5106
+ body?: never;
5107
+ path?: never;
5108
+ query?: {
5109
+ directory?: string;
5110
+ };
5111
+ url: "/lsp";
5112
+ };
5113
+ export type LspStatusResponses = {
5114
+ /**
5115
+ * LSP server status
5116
+ */
5117
+ 200: Array<LspStatus>;
5118
+ };
5119
+ export type LspStatusResponse = LspStatusResponses[keyof LspStatusResponses];
5120
+ export type FormatterStatusData = {
5121
+ body?: never;
5122
+ path?: never;
5123
+ query?: {
5124
+ directory?: string;
5125
+ };
5126
+ url: "/formatter";
5127
+ };
5128
+ export type FormatterStatusResponses = {
5129
+ /**
5130
+ * Formatter status
5131
+ */
5132
+ 200: Array<FormatterStatus>;
5133
+ };
5134
+ export type FormatterStatusResponse = FormatterStatusResponses[keyof FormatterStatusResponses];
5135
+ export type EventSubscribeData = {
5136
+ body?: never;
5137
+ path?: never;
5138
+ query?: {
5139
+ directory?: string;
5140
+ };
5141
+ url: "/event";
5142
+ };
5143
+ export type EventSubscribeResponses = {
5144
+ /**
5145
+ * Event stream
5146
+ */
5147
+ 200: Event;
5148
+ };
5149
+ export type EventSubscribeResponse = EventSubscribeResponses[keyof EventSubscribeResponses];