@ottocode/api 0.1.260 → 0.1.262

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.
@@ -207,132 +207,81 @@ export type McpServer = {
207
207
  scope?: 'global' | 'project';
208
208
  authType?: string;
209
209
  };
210
- export type AskData = {
211
- body: {
212
- /**
213
- * User prompt to send to the assistant.
214
- */
215
- prompt: string;
216
- /**
217
- * Optional agent name to use for this request.
218
- */
219
- agent?: string;
220
- provider?: Provider;
221
- /**
222
- * Optional model override for the selected provider.
223
- */
224
- model?: string;
225
- /**
226
- * Enable extended thinking / reasoning for models that support it.
227
- */
228
- reasoningText?: boolean;
229
- /**
230
- * Optional reasoning intensity override for supported providers/models.
231
- */
232
- reasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';
233
- /**
234
- * Send the prompt to a specific session.
235
- */
236
- sessionId?: string;
237
- /**
238
- * If true, reuse the most recent session for the project.
239
- */
240
- last?: boolean;
241
- /**
242
- * Request structured JSON output when supported by the agent.
243
- */
244
- jsonMode?: boolean;
245
- };
210
+ export type GetRootData = {
211
+ body?: never;
246
212
  path?: never;
247
- query?: {
248
- /**
249
- * Project root override (defaults to current working directory).
250
- */
251
- project?: string;
252
- };
253
- url: '/v1/ask';
254
- };
255
- export type AskErrors = {
256
- /**
257
- * Bad Request
258
- */
259
- 400: {
260
- error: string;
261
- };
213
+ query?: never;
214
+ url: '/';
262
215
  };
263
- export type AskError = AskErrors[keyof AskErrors];
264
- export type AskResponses = {
216
+ export type GetRootResponses = {
265
217
  /**
266
- * Accepted
218
+ * Server is running
267
219
  */
268
- 202: AskResponse;
220
+ 200: string;
269
221
  };
270
- export type AskResponse2 = AskResponses[keyof AskResponses];
271
- export type GetAuthStatusData = {
222
+ export type GetRootResponse = GetRootResponses[keyof GetRootResponses];
223
+ export type GetServerInfoData = {
272
224
  body?: never;
273
225
  path?: never;
274
226
  query?: never;
275
- url: '/v1/auth/status';
227
+ url: '/v1/server/info';
276
228
  };
277
- export type GetAuthStatusResponses = {
229
+ export type GetServerInfoResponses = {
278
230
  /**
279
- * OK
231
+ * Server runtime metadata
280
232
  */
281
233
  200: {
282
- onboardingComplete: boolean;
283
- ottorouter: {
284
- configured: boolean;
285
- publicKey?: string;
286
- };
287
- providers: {
288
- [key: string]: {
289
- configured: boolean;
290
- type?: 'api' | 'oauth' | 'wallet';
291
- label: string;
292
- supportsOAuth: boolean;
293
- supportsToken?: boolean;
294
- supportsGhImport?: boolean;
295
- modelCount: number;
296
- costRange?: {
297
- min: number;
298
- max: number;
299
- } | null;
300
- };
301
- };
302
- defaults?: {
303
- agent?: string;
304
- provider?: string;
305
- model?: string;
306
- };
234
+ [key: string]: unknown;
307
235
  };
308
236
  };
309
- export type GetAuthStatusResponse = GetAuthStatusResponses[keyof GetAuthStatusResponses];
310
- export type SetupOttoRouterWalletData = {
237
+ export type GetServerInfoResponse = GetServerInfoResponses[keyof GetServerInfoResponses];
238
+ export type ListSessionsData = {
311
239
  body?: never;
312
240
  path?: never;
313
- query?: never;
314
- url: '/v1/auth/ottorouter/setup';
241
+ query?: {
242
+ /**
243
+ * Project root override (defaults to current working directory).
244
+ */
245
+ project?: string;
246
+ /**
247
+ * Maximum number of sessions to return
248
+ */
249
+ limit?: number;
250
+ /**
251
+ * Offset for pagination
252
+ */
253
+ offset?: number;
254
+ };
255
+ url: '/v1/sessions';
315
256
  };
316
- export type SetupOttoRouterWalletResponses = {
257
+ export type ListSessionsResponses = {
317
258
  /**
318
259
  * OK
319
260
  */
320
261
  200: {
321
- success: boolean;
322
- publicKey: string;
323
- isNew: boolean;
262
+ items: Array<Session>;
263
+ hasMore: boolean;
264
+ nextOffset: number | null;
324
265
  };
325
266
  };
326
- export type SetupOttoRouterWalletResponse = SetupOttoRouterWalletResponses[keyof SetupOttoRouterWalletResponses];
327
- export type ImportOttoRouterWalletData = {
328
- body: {
329
- privateKey: string;
267
+ export type ListSessionsResponse = ListSessionsResponses[keyof ListSessionsResponses];
268
+ export type CreateSessionData = {
269
+ body?: {
270
+ title?: string | null;
271
+ agent?: string;
272
+ provider?: Provider;
273
+ model?: string;
330
274
  };
331
275
  path?: never;
332
- query?: never;
333
- url: '/v1/auth/ottorouter/import';
276
+ query?: {
277
+ /**
278
+ * Project root override (defaults to current working directory).
279
+ */
280
+ project?: string;
281
+ };
282
+ url: '/v1/sessions';
334
283
  };
335
- export type ImportOttoRouterWalletErrors = {
284
+ export type CreateSessionErrors = {
336
285
  /**
337
286
  * Bad Request
338
287
  */
@@ -340,24 +289,28 @@ export type ImportOttoRouterWalletErrors = {
340
289
  error: string;
341
290
  };
342
291
  };
343
- export type ImportOttoRouterWalletError = ImportOttoRouterWalletErrors[keyof ImportOttoRouterWalletErrors];
344
- export type ImportOttoRouterWalletResponses = {
292
+ export type CreateSessionError = CreateSessionErrors[keyof CreateSessionErrors];
293
+ export type CreateSessionResponses = {
345
294
  /**
346
- * OK
295
+ * Created
347
296
  */
348
- 200: {
349
- success: boolean;
350
- publicKey: string;
351
- };
297
+ 201: Session;
352
298
  };
353
- export type ImportOttoRouterWalletResponse = ImportOttoRouterWalletResponses[keyof ImportOttoRouterWalletResponses];
354
- export type ExportOttoRouterWalletData = {
299
+ export type CreateSessionResponse = CreateSessionResponses[keyof CreateSessionResponses];
300
+ export type DeleteSessionData = {
355
301
  body?: never;
356
- path?: never;
357
- query?: never;
358
- url: '/v1/auth/ottorouter/export';
302
+ path: {
303
+ sessionId: string;
304
+ };
305
+ query?: {
306
+ /**
307
+ * Project root override (defaults to current working directory).
308
+ */
309
+ project?: string;
310
+ };
311
+ url: '/v1/sessions/{sessionId}';
359
312
  };
360
- export type ExportOttoRouterWalletErrors = {
313
+ export type DeleteSessionErrors = {
361
314
  /**
362
315
  * Bad Request
363
316
  */
@@ -365,275 +318,283 @@ export type ExportOttoRouterWalletErrors = {
365
318
  error: string;
366
319
  };
367
320
  };
368
- export type ExportOttoRouterWalletError = ExportOttoRouterWalletErrors[keyof ExportOttoRouterWalletErrors];
369
- export type ExportOttoRouterWalletResponses = {
321
+ export type DeleteSessionError = DeleteSessionErrors[keyof DeleteSessionErrors];
322
+ export type DeleteSessionResponses = {
370
323
  /**
371
324
  * OK
372
325
  */
373
326
  200: {
374
327
  success: boolean;
375
- publicKey: string;
376
- privateKey: string;
377
328
  };
378
329
  };
379
- export type ExportOttoRouterWalletResponse = ExportOttoRouterWalletResponses[keyof ExportOttoRouterWalletResponses];
380
- export type RemoveProviderData = {
330
+ export type DeleteSessionResponse = DeleteSessionResponses[keyof DeleteSessionResponses];
331
+ export type GetSessionData = {
381
332
  body?: never;
382
333
  path: {
383
- provider: string;
334
+ sessionId: string;
384
335
  };
385
- query?: never;
386
- url: '/v1/auth/{provider}';
336
+ query?: {
337
+ /**
338
+ * Project root override (defaults to current working directory).
339
+ */
340
+ project?: string;
341
+ };
342
+ url: '/v1/sessions/{sessionId}';
387
343
  };
388
- export type RemoveProviderErrors = {
344
+ export type GetSessionErrors = {
389
345
  /**
390
346
  * Bad Request
391
347
  */
392
- 400: {
348
+ 404: {
393
349
  error: string;
394
350
  };
395
351
  };
396
- export type RemoveProviderError = RemoveProviderErrors[keyof RemoveProviderErrors];
397
- export type RemoveProviderResponses = {
352
+ export type GetSessionError = GetSessionErrors[keyof GetSessionErrors];
353
+ export type GetSessionResponses = {
398
354
  /**
399
355
  * OK
400
356
  */
401
- 200: {
402
- success: boolean;
403
- provider: string;
404
- };
357
+ 200: Session;
405
358
  };
406
- export type RemoveProviderResponse = RemoveProviderResponses[keyof RemoveProviderResponses];
407
- export type AddProviderApiKeyData = {
359
+ export type GetSessionResponse = GetSessionResponses[keyof GetSessionResponses];
360
+ export type UpdateSessionData = {
408
361
  body: {
409
- apiKey: string;
362
+ title?: string;
363
+ agent?: string;
364
+ provider?: Provider;
365
+ model?: string;
410
366
  };
411
367
  path: {
412
- provider: string;
368
+ sessionId: string;
413
369
  };
414
- query?: never;
415
- url: '/v1/auth/{provider}';
370
+ query?: {
371
+ /**
372
+ * Project root override (defaults to current working directory).
373
+ */
374
+ project?: string;
375
+ };
376
+ url: '/v1/sessions/{sessionId}';
416
377
  };
417
- export type AddProviderApiKeyErrors = {
378
+ export type UpdateSessionErrors = {
418
379
  /**
419
380
  * Bad Request
420
381
  */
421
382
  400: {
422
383
  error: string;
423
384
  };
424
- };
425
- export type AddProviderApiKeyError = AddProviderApiKeyErrors[keyof AddProviderApiKeyErrors];
426
- export type AddProviderApiKeyResponses = {
427
- /**
428
- * OK
429
- */
430
- 200: {
431
- success: boolean;
432
- provider: string;
433
- };
434
- };
435
- export type AddProviderApiKeyResponse = AddProviderApiKeyResponses[keyof AddProviderApiKeyResponses];
436
- export type GetOAuthUrlData = {
437
- body?: {
438
- mode?: 'max' | 'console';
439
- };
440
- path: {
441
- provider: string;
442
- };
443
- query?: never;
444
- url: '/v1/auth/{provider}/oauth/url';
445
- };
446
- export type GetOAuthUrlErrors = {
447
385
  /**
448
386
  * Bad Request
449
387
  */
450
- 400: {
388
+ 404: {
451
389
  error: string;
452
390
  };
453
391
  };
454
- export type GetOAuthUrlError = GetOAuthUrlErrors[keyof GetOAuthUrlErrors];
455
- export type GetOAuthUrlResponses = {
392
+ export type UpdateSessionError = UpdateSessionErrors[keyof UpdateSessionErrors];
393
+ export type UpdateSessionResponses = {
456
394
  /**
457
395
  * OK
458
396
  */
459
- 200: {
460
- url: string;
461
- sessionId: string;
462
- provider: string;
463
- };
397
+ 200: Session;
464
398
  };
465
- export type GetOAuthUrlResponse = GetOAuthUrlResponses[keyof GetOAuthUrlResponses];
466
- export type ExchangeOAuthCodeData = {
467
- body: {
468
- code: string;
469
- sessionId: string;
470
- };
399
+ export type UpdateSessionResponse = UpdateSessionResponses[keyof UpdateSessionResponses];
400
+ export type AbortSessionData = {
401
+ body?: never;
471
402
  path: {
472
- provider: string;
403
+ /**
404
+ * Session ID to abort
405
+ */
406
+ sessionId: string;
473
407
  };
474
408
  query?: never;
475
- url: '/v1/auth/{provider}/oauth/exchange';
476
- };
477
- export type ExchangeOAuthCodeErrors = {
478
- /**
479
- * Bad Request
480
- */
481
- 400: {
482
- error: string;
483
- };
409
+ url: '/v1/sessions/{sessionId}/abort';
484
410
  };
485
- export type ExchangeOAuthCodeError = ExchangeOAuthCodeErrors[keyof ExchangeOAuthCodeErrors];
486
- export type ExchangeOAuthCodeResponses = {
411
+ export type AbortSessionResponses = {
487
412
  /**
488
413
  * OK
489
414
  */
490
415
  200: {
491
416
  success: boolean;
492
- provider: string;
493
417
  };
494
418
  };
495
- export type ExchangeOAuthCodeResponse = ExchangeOAuthCodeResponses[keyof ExchangeOAuthCodeResponses];
496
- export type StartOAuthData = {
419
+ export type AbortSessionResponse = AbortSessionResponses[keyof AbortSessionResponses];
420
+ export type GetSessionQueueData = {
497
421
  body?: never;
498
422
  path: {
499
- provider: string;
500
- };
501
- query?: {
502
- mode?: 'max' | 'console';
423
+ sessionId: string;
503
424
  };
504
- url: '/v1/auth/{provider}/oauth/start';
425
+ query?: never;
426
+ url: '/v1/sessions/{sessionId}/queue';
505
427
  };
506
- export type StartOAuthErrors = {
428
+ export type GetSessionQueueResponses = {
507
429
  /**
508
- * Bad Request
430
+ * OK
509
431
  */
510
- 400: {
511
- error: string;
432
+ 200: {
433
+ currentMessageId: string | null;
434
+ queuedMessages: Array<{
435
+ assistantMessageId?: string;
436
+ agent?: string;
437
+ provider?: string;
438
+ model?: string;
439
+ }>;
440
+ isRunning: boolean;
512
441
  };
513
442
  };
514
- export type StartOAuthError = StartOAuthErrors[keyof StartOAuthErrors];
515
- export type OauthCallbackData = {
443
+ export type GetSessionQueueResponse = GetSessionQueueResponses[keyof GetSessionQueueResponses];
444
+ export type RemoveFromQueueData = {
516
445
  body?: never;
517
446
  path: {
518
- provider: string;
447
+ sessionId: string;
448
+ messageId: string;
519
449
  };
520
450
  query?: {
521
- code?: string;
522
- fragment?: string;
451
+ /**
452
+ * Project root override (defaults to current working directory).
453
+ */
454
+ project?: string;
523
455
  };
524
- url: '/v1/auth/{provider}/oauth/callback';
456
+ url: '/v1/sessions/{sessionId}/queue/{messageId}';
525
457
  };
526
- export type OauthCallbackResponses = {
458
+ export type RemoveFromQueueErrors = {
527
459
  /**
528
- * HTML response
460
+ * Bad Request
529
461
  */
530
- 200: string;
531
- };
532
- export type OauthCallbackResponse = OauthCallbackResponses[keyof OauthCallbackResponses];
533
- export type StartCopilotDeviceFlowData = {
534
- body?: never;
535
- path?: never;
536
- query?: never;
537
- url: '/v1/auth/copilot/device/start';
462
+ 404: {
463
+ error: string;
464
+ };
538
465
  };
539
- export type StartCopilotDeviceFlowResponses = {
466
+ export type RemoveFromQueueError = RemoveFromQueueErrors[keyof RemoveFromQueueErrors];
467
+ export type RemoveFromQueueResponses = {
540
468
  /**
541
469
  * OK
542
470
  */
543
471
  200: {
544
- sessionId: string;
545
- userCode: string;
546
- verificationUri: string;
547
- interval: number;
472
+ success: boolean;
473
+ removed?: boolean;
474
+ wasQueued?: boolean;
475
+ wasRunning?: boolean;
476
+ wasStored?: boolean;
548
477
  };
549
478
  };
550
- export type StartCopilotDeviceFlowResponse = StartCopilotDeviceFlowResponses[keyof StartCopilotDeviceFlowResponses];
551
- export type PollCopilotDeviceFlowData = {
552
- body: {
479
+ export type RemoveFromQueueResponse = RemoveFromQueueResponses[keyof RemoveFromQueueResponses];
480
+ export type DeleteShareData = {
481
+ body?: never;
482
+ path: {
553
483
  sessionId: string;
554
484
  };
555
- path?: never;
556
- query?: never;
557
- url: '/v1/auth/copilot/device/poll';
485
+ query?: {
486
+ /**
487
+ * Project root override (defaults to current working directory).
488
+ */
489
+ project?: string;
490
+ };
491
+ url: '/v1/sessions/{sessionId}/share';
558
492
  };
559
- export type PollCopilotDeviceFlowErrors = {
493
+ export type DeleteShareErrors = {
560
494
  /**
561
495
  * Bad Request
562
496
  */
563
- 400: {
497
+ 404: {
564
498
  error: string;
565
499
  };
566
500
  };
567
- export type PollCopilotDeviceFlowError = PollCopilotDeviceFlowErrors[keyof PollCopilotDeviceFlowErrors];
568
- export type PollCopilotDeviceFlowResponses = {
501
+ export type DeleteShareError = DeleteShareErrors[keyof DeleteShareErrors];
502
+ export type DeleteShareResponses = {
569
503
  /**
570
504
  * OK
571
505
  */
572
506
  200: {
573
- status: 'complete' | 'pending' | 'error';
574
- error?: string;
507
+ deleted: boolean;
508
+ sessionId: string;
575
509
  };
576
510
  };
577
- export type PollCopilotDeviceFlowResponse = PollCopilotDeviceFlowResponses[keyof PollCopilotDeviceFlowResponses];
578
- export type GetCopilotAuthMethodsData = {
511
+ export type DeleteShareResponse = DeleteShareResponses[keyof DeleteShareResponses];
512
+ export type GetShareStatusData = {
579
513
  body?: never;
580
- path?: never;
581
- query?: never;
582
- url: '/v1/auth/copilot/methods';
514
+ path: {
515
+ sessionId: string;
516
+ };
517
+ query?: {
518
+ /**
519
+ * Project root override (defaults to current working directory).
520
+ */
521
+ project?: string;
522
+ };
523
+ url: '/v1/sessions/{sessionId}/share';
583
524
  };
584
- export type GetCopilotAuthMethodsResponses = {
525
+ export type GetShareStatusResponses = {
585
526
  /**
586
527
  * OK
587
528
  */
588
529
  200: {
589
- oauth: boolean;
590
- token: boolean;
591
- ghImport: {
592
- available: boolean;
593
- authenticated: boolean;
594
- reason?: string;
595
- };
530
+ shared: boolean;
531
+ shareId?: string;
532
+ url?: string;
533
+ title?: string | null;
534
+ createdAt?: number;
535
+ lastSyncedAt?: number;
536
+ lastSyncedMessageId?: string;
537
+ syncedMessages?: number;
538
+ totalMessages?: number;
539
+ pendingMessages?: number;
540
+ isSynced?: boolean;
596
541
  };
597
542
  };
598
- export type GetCopilotAuthMethodsResponse = GetCopilotAuthMethodsResponses[keyof GetCopilotAuthMethodsResponses];
599
- export type SaveCopilotTokenData = {
600
- body: {
601
- token: string;
543
+ export type GetShareStatusResponse = GetShareStatusResponses[keyof GetShareStatusResponses];
544
+ export type ShareSessionData = {
545
+ body?: never;
546
+ path: {
547
+ sessionId: string;
602
548
  };
603
- path?: never;
604
- query?: never;
605
- url: '/v1/auth/copilot/token';
549
+ query?: {
550
+ /**
551
+ * Project root override (defaults to current working directory).
552
+ */
553
+ project?: string;
554
+ };
555
+ url: '/v1/sessions/{sessionId}/share';
606
556
  };
607
- export type SaveCopilotTokenErrors = {
557
+ export type ShareSessionErrors = {
608
558
  /**
609
559
  * Bad Request
610
560
  */
611
561
  400: {
612
562
  error: string;
613
563
  };
564
+ /**
565
+ * Bad Request
566
+ */
567
+ 404: {
568
+ error: string;
569
+ };
614
570
  };
615
- export type SaveCopilotTokenError = SaveCopilotTokenErrors[keyof SaveCopilotTokenErrors];
616
- export type SaveCopilotTokenResponses = {
571
+ export type ShareSessionError = ShareSessionErrors[keyof ShareSessionErrors];
572
+ export type ShareSessionResponses = {
617
573
  /**
618
574
  * OK
619
575
  */
620
576
  200: {
621
- success: boolean;
622
- provider: string;
623
- source: 'token';
624
- modelCount: number;
625
- hasGpt52Codex: boolean;
626
- sampleModels: Array<string>;
577
+ shared: boolean;
578
+ shareId?: string;
579
+ url?: string;
580
+ message?: string;
627
581
  };
628
582
  };
629
- export type SaveCopilotTokenResponse = SaveCopilotTokenResponses[keyof SaveCopilotTokenResponses];
630
- export type ImportCopilotTokenFromGhData = {
583
+ export type ShareSessionResponse = ShareSessionResponses[keyof ShareSessionResponses];
584
+ export type SyncShareData = {
631
585
  body?: never;
632
- path?: never;
633
- query?: never;
634
- url: '/v1/auth/copilot/gh/import';
586
+ path: {
587
+ sessionId: string;
588
+ };
589
+ query?: {
590
+ /**
591
+ * Project root override (defaults to current working directory).
592
+ */
593
+ project?: string;
594
+ };
595
+ url: '/v1/sessions/{sessionId}/share';
635
596
  };
636
- export type ImportCopilotTokenFromGhErrors = {
597
+ export type SyncShareErrors = {
637
598
  /**
638
599
  * Bad Request
639
600
  */
@@ -641,80 +602,51 @@ export type ImportCopilotTokenFromGhErrors = {
641
602
  error: string;
642
603
  };
643
604
  };
644
- export type ImportCopilotTokenFromGhError = ImportCopilotTokenFromGhErrors[keyof ImportCopilotTokenFromGhErrors];
645
- export type ImportCopilotTokenFromGhResponses = {
605
+ export type SyncShareError = SyncShareErrors[keyof SyncShareErrors];
606
+ export type SyncShareResponses = {
646
607
  /**
647
608
  * OK
648
609
  */
649
610
  200: {
650
- success: boolean;
651
- provider: string;
652
- source: 'gh';
653
- modelCount: number;
654
- hasGpt52Codex: boolean;
655
- sampleModels: Array<string>;
611
+ synced: boolean;
612
+ url?: string;
613
+ newMessages?: number;
614
+ message?: string;
656
615
  };
657
616
  };
658
- export type ImportCopilotTokenFromGhResponse = ImportCopilotTokenFromGhResponses[keyof ImportCopilotTokenFromGhResponses];
659
- export type GetCopilotDiagnosticsData = {
617
+ export type SyncShareResponse = SyncShareResponses[keyof SyncShareResponses];
618
+ export type ListSharesData = {
660
619
  body?: never;
661
620
  path?: never;
662
- query?: never;
663
- url: '/v1/auth/copilot/diagnostics';
621
+ query?: {
622
+ /**
623
+ * Project root override (defaults to current working directory).
624
+ */
625
+ project?: string;
626
+ };
627
+ url: '/v1/shares';
664
628
  };
665
- export type GetCopilotDiagnosticsResponses = {
629
+ export type ListSharesResponses = {
666
630
  /**
667
631
  * OK
668
632
  */
669
633
  200: {
670
- tokenSources: Array<{
671
- source: 'env' | 'stored';
672
- configured: boolean;
673
- modelCount?: number;
674
- hasGpt52Codex?: boolean;
675
- sampleModels?: Array<string>;
676
- restrictedByOrgPolicy?: boolean;
677
- restrictedOrg?: string;
678
- restrictionMessage?: string;
679
- error?: string;
634
+ shares: Array<{
635
+ sessionId: string;
636
+ shareId: string;
637
+ url: string;
638
+ title?: string | null;
639
+ createdAt: number;
640
+ lastSyncedAt: number;
680
641
  }>;
681
- methods: {
682
- oauth: boolean;
683
- token: boolean;
684
- ghImport: {
685
- available: boolean;
686
- authenticated: boolean;
687
- reason?: string;
688
- };
689
- };
690
642
  };
691
643
  };
692
- export type GetCopilotDiagnosticsResponse = GetCopilotDiagnosticsResponses[keyof GetCopilotDiagnosticsResponses];
693
- export type CompleteOnboardingData = {
644
+ export type ListSharesResponse = ListSharesResponses[keyof ListSharesResponses];
645
+ export type RetryMessageData = {
694
646
  body?: never;
695
- path?: never;
696
- query?: never;
697
- url: '/v1/auth/onboarding/complete';
698
- };
699
- export type CompleteOnboardingResponses = {
700
- /**
701
- * OK
702
- */
703
- 200: {
704
- success: boolean;
705
- };
706
- };
707
- export type CompleteOnboardingResponse = CompleteOnboardingResponses[keyof CompleteOnboardingResponses];
708
- export type CreateBranchData = {
709
- body: {
710
- fromMessageId: string;
711
- provider?: string;
712
- model?: string;
713
- agent?: string;
714
- title?: string;
715
- };
716
647
  path: {
717
648
  sessionId: string;
649
+ messageId: string;
718
650
  };
719
651
  query?: {
720
652
  /**
@@ -722,149 +654,203 @@ export type CreateBranchData = {
722
654
  */
723
655
  project?: string;
724
656
  };
725
- url: '/v1/sessions/{sessionId}/branch';
657
+ url: '/v1/sessions/{sessionId}/messages/{messageId}/retry';
726
658
  };
727
- export type CreateBranchErrors = {
659
+ export type RetryMessageErrors = {
728
660
  /**
729
661
  * Bad Request
730
662
  */
731
663
  400: {
732
664
  error: string;
733
665
  };
666
+ /**
667
+ * Bad Request
668
+ */
669
+ 404: {
670
+ error: string;
671
+ };
734
672
  };
735
- export type CreateBranchError = CreateBranchErrors[keyof CreateBranchErrors];
736
- export type CreateBranchResponses = {
673
+ export type RetryMessageError = RetryMessageErrors[keyof RetryMessageErrors];
674
+ export type RetryMessageResponses = {
737
675
  /**
738
- * Created
676
+ * OK
739
677
  */
740
- 201: Session;
678
+ 200: {
679
+ success: boolean;
680
+ messageId: string;
681
+ };
741
682
  };
742
- export type CreateBranchResponse = CreateBranchResponses[keyof CreateBranchResponses];
743
- export type ListBranchesData = {
744
- body?: never;
683
+ export type RetryMessageResponse = RetryMessageResponses[keyof RetryMessageResponses];
684
+ export type ResolveApprovalData = {
685
+ body: {
686
+ callId: string;
687
+ approved: boolean;
688
+ };
745
689
  path: {
746
- sessionId: string;
690
+ id: string;
747
691
  };
748
- query?: {
749
- /**
750
- * Project root override (defaults to current working directory).
751
- */
752
- project?: string;
692
+ query?: never;
693
+ url: '/v1/sessions/{id}/approval';
694
+ };
695
+ export type ResolveApprovalErrors = {
696
+ /**
697
+ * Bad Request
698
+ */
699
+ 400: {
700
+ error: string;
701
+ };
702
+ /**
703
+ * Bad Request
704
+ */
705
+ 403: {
706
+ error: string;
707
+ };
708
+ /**
709
+ * Bad Request
710
+ */
711
+ 404: {
712
+ error: string;
753
713
  };
754
- url: '/v1/sessions/{sessionId}/branches';
755
714
  };
756
- export type ListBranchesResponses = {
715
+ export type ResolveApprovalError = ResolveApprovalErrors[keyof ResolveApprovalErrors];
716
+ export type ResolveApprovalResponses = {
757
717
  /**
758
718
  * OK
759
719
  */
760
720
  200: {
761
- branches: Array<Session>;
721
+ ok: boolean;
722
+ callId: string;
723
+ approved: boolean;
762
724
  };
763
725
  };
764
- export type ListBranchesResponse = ListBranchesResponses[keyof ListBranchesResponses];
765
- export type GetParentSessionData = {
726
+ export type ResolveApprovalResponse = ResolveApprovalResponses[keyof ResolveApprovalResponses];
727
+ export type GetPendingApprovalsData = {
766
728
  body?: never;
767
729
  path: {
768
- sessionId: string;
769
- };
770
- query?: {
771
- /**
772
- * Project root override (defaults to current working directory).
773
- */
774
- project?: string;
730
+ id: string;
775
731
  };
776
- url: '/v1/sessions/{sessionId}/parent';
732
+ query?: never;
733
+ url: '/v1/sessions/{id}/approval/pending';
777
734
  };
778
- export type GetParentSessionResponses = {
735
+ export type GetPendingApprovalsResponses = {
779
736
  /**
780
737
  * OK
781
738
  */
782
739
  200: {
783
- parent: Session | null;
740
+ ok: boolean;
741
+ pending: Array<{
742
+ callId: string;
743
+ toolName: string;
744
+ args?: {
745
+ [key: string]: unknown;
746
+ };
747
+ messageId?: string;
748
+ createdAt: number;
749
+ }>;
784
750
  };
785
751
  };
786
- export type GetParentSessionResponse = GetParentSessionResponses[keyof GetParentSessionResponses];
787
- export type GetConfigData = {
752
+ export type GetPendingApprovalsResponse = GetPendingApprovalsResponses[keyof GetPendingApprovalsResponses];
753
+ export type ListMessagesData = {
788
754
  body?: never;
789
- path?: never;
755
+ path: {
756
+ id: string;
757
+ };
790
758
  query?: {
791
759
  /**
792
760
  * Project root override (defaults to current working directory).
793
761
  */
794
762
  project?: string;
763
+ /**
764
+ * Exclude parts from the response. By default, parts are included.
765
+ */
766
+ without?: 'parts';
795
767
  };
796
- url: '/v1/config';
768
+ url: '/v1/sessions/{id}/messages';
797
769
  };
798
- export type GetConfigResponses = {
770
+ export type ListMessagesResponses = {
799
771
  /**
800
772
  * OK
801
773
  */
802
- 200: Config;
803
- };
804
- export type GetConfigResponse = GetConfigResponses[keyof GetConfigResponses];
805
- export type GetCwdData = {
806
- body?: never;
807
- path?: never;
808
- query?: never;
809
- url: '/v1/config/cwd';
774
+ 200: Array<Message & {
775
+ parts?: Array<MessagePart>;
776
+ }>;
810
777
  };
811
- export type GetCwdResponses = {
812
- /**
813
- * OK
814
- */
815
- 200: {
816
- cwd: string;
817
- dirName: string;
778
+ export type ListMessagesResponse = ListMessagesResponses[keyof ListMessagesResponses];
779
+ export type CreateMessageData = {
780
+ body: {
781
+ content: string;
782
+ /**
783
+ * Agent name. Defaults to config if omitted.
784
+ */
785
+ agent?: string;
786
+ provider?: Provider;
787
+ model?: string;
788
+ /**
789
+ * Optional user-provided context to include in the system prompt.
790
+ */
791
+ userContext?: string;
792
+ /**
793
+ * Enable extended thinking / reasoning for models that support it.
794
+ */
795
+ reasoningText?: boolean;
796
+ /**
797
+ * Reasoning intensity level for providers/models that support it.
798
+ */
799
+ reasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';
800
+ };
801
+ path: {
802
+ id: string;
818
803
  };
819
- };
820
- export type GetCwdResponse = GetCwdResponses[keyof GetCwdResponses];
821
- export type GetAgentsData = {
822
- body?: never;
823
- path?: never;
824
804
  query?: {
825
805
  /**
826
806
  * Project root override (defaults to current working directory).
827
807
  */
828
808
  project?: string;
829
809
  };
830
- url: '/v1/config/agents';
810
+ url: '/v1/sessions/{id}/messages';
831
811
  };
832
- export type GetAgentsResponses = {
812
+ export type CreateMessageErrors = {
833
813
  /**
834
- * OK
814
+ * Bad Request
835
815
  */
836
- 200: {
837
- agents: Array<string>;
838
- default: string;
816
+ 400: {
817
+ error: string;
839
818
  };
840
819
  };
841
- export type GetAgentsResponse = GetAgentsResponses[keyof GetAgentsResponses];
842
- export type GetProvidersData = {
820
+ export type CreateMessageError = CreateMessageErrors[keyof CreateMessageErrors];
821
+ export type CreateMessageResponses = {
822
+ /**
823
+ * Accepted
824
+ */
825
+ 202: {
826
+ messageId: string;
827
+ };
828
+ };
829
+ export type CreateMessageResponse = CreateMessageResponses[keyof CreateMessageResponses];
830
+ export type SubscribeSessionStreamData = {
843
831
  body?: never;
844
- path?: never;
832
+ path: {
833
+ id: string;
834
+ };
845
835
  query?: {
846
836
  /**
847
837
  * Project root override (defaults to current working directory).
848
838
  */
849
839
  project?: string;
850
840
  };
851
- url: '/v1/config/providers';
841
+ url: '/v1/sessions/{id}/stream';
852
842
  };
853
- export type GetProvidersResponses = {
843
+ export type SubscribeSessionStreamResponses = {
854
844
  /**
855
- * OK
845
+ * SSE event stream. Events include session.created, message.created, message.part.delta, tool.call, tool.delta, tool.result, message.completed, error.
856
846
  */
857
- 200: {
858
- providers: Array<Provider>;
859
- details: Array<ProviderDetail>;
860
- default: Provider;
861
- };
847
+ 200: string;
862
848
  };
863
- export type GetProvidersResponse = GetProvidersResponses[keyof GetProvidersResponses];
864
- export type DeleteProviderSettingsData = {
849
+ export type SubscribeSessionStreamResponse = SubscribeSessionStreamResponses[keyof SubscribeSessionStreamResponses];
850
+ export type SubscribeSessionStreamPostData = {
865
851
  body?: never;
866
852
  path: {
867
- provider: Provider;
853
+ id: string;
868
854
  };
869
855
  query?: {
870
856
  /**
@@ -872,7 +858,211 @@ export type DeleteProviderSettingsData = {
872
858
  */
873
859
  project?: string;
874
860
  };
875
- url: '/v1/config/providers/{provider}';
861
+ url: '/v1/sessions/{id}/stream';
862
+ };
863
+ export type SubscribeSessionStreamPostResponses = {
864
+ /**
865
+ * text/event-stream
866
+ */
867
+ 200: string;
868
+ };
869
+ export type SubscribeSessionStreamPostResponse = SubscribeSessionStreamPostResponses[keyof SubscribeSessionStreamPostResponses];
870
+ export type AskData = {
871
+ body: {
872
+ /**
873
+ * User prompt to send to the assistant.
874
+ */
875
+ prompt: string;
876
+ /**
877
+ * Optional agent name to use for this request.
878
+ */
879
+ agent?: string;
880
+ provider?: Provider;
881
+ /**
882
+ * Optional model override for the selected provider.
883
+ */
884
+ model?: string;
885
+ /**
886
+ * Enable extended thinking / reasoning for models that support it.
887
+ */
888
+ reasoningText?: boolean;
889
+ /**
890
+ * Optional reasoning intensity override for supported providers/models.
891
+ */
892
+ reasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';
893
+ /**
894
+ * Send the prompt to a specific session.
895
+ */
896
+ sessionId?: string;
897
+ /**
898
+ * If true, reuse the most recent session for the project.
899
+ */
900
+ last?: boolean;
901
+ /**
902
+ * Request structured JSON output when supported by the agent.
903
+ */
904
+ jsonMode?: boolean;
905
+ };
906
+ path?: never;
907
+ query?: {
908
+ /**
909
+ * Project root override (defaults to current working directory).
910
+ */
911
+ project?: string;
912
+ };
913
+ url: '/v1/ask';
914
+ };
915
+ export type AskErrors = {
916
+ /**
917
+ * Bad Request
918
+ */
919
+ 400: {
920
+ error: string;
921
+ };
922
+ };
923
+ export type AskError = AskErrors[keyof AskErrors];
924
+ export type AskResponses = {
925
+ /**
926
+ * Accepted
927
+ */
928
+ 202: AskResponse;
929
+ };
930
+ export type AskResponse2 = AskResponses[keyof AskResponses];
931
+ export type GetCwdData = {
932
+ body?: never;
933
+ path?: never;
934
+ query?: never;
935
+ url: '/v1/config/cwd';
936
+ };
937
+ export type GetCwdResponses = {
938
+ /**
939
+ * OK
940
+ */
941
+ 200: {
942
+ cwd: string;
943
+ dirName: string;
944
+ };
945
+ };
946
+ export type GetCwdResponse = GetCwdResponses[keyof GetCwdResponses];
947
+ export type GetConfigData = {
948
+ body?: never;
949
+ path?: never;
950
+ query?: {
951
+ /**
952
+ * Project root override (defaults to current working directory).
953
+ */
954
+ project?: string;
955
+ };
956
+ url: '/v1/config';
957
+ };
958
+ export type GetConfigResponses = {
959
+ /**
960
+ * OK
961
+ */
962
+ 200: Config;
963
+ };
964
+ export type GetConfigResponse = GetConfigResponses[keyof GetConfigResponses];
965
+ export type GetAgentsData = {
966
+ body?: never;
967
+ path?: never;
968
+ query?: {
969
+ /**
970
+ * Project root override (defaults to current working directory).
971
+ */
972
+ project?: string;
973
+ };
974
+ url: '/v1/config/agents';
975
+ };
976
+ export type GetAgentsResponses = {
977
+ /**
978
+ * OK
979
+ */
980
+ 200: {
981
+ agents: Array<string>;
982
+ default: string;
983
+ };
984
+ };
985
+ export type GetAgentsResponse = GetAgentsResponses[keyof GetAgentsResponses];
986
+ export type GetProvidersData = {
987
+ body?: never;
988
+ path?: never;
989
+ query?: {
990
+ /**
991
+ * Project root override (defaults to current working directory).
992
+ */
993
+ project?: string;
994
+ };
995
+ url: '/v1/config/providers';
996
+ };
997
+ export type GetProvidersResponses = {
998
+ /**
999
+ * OK
1000
+ */
1001
+ 200: {
1002
+ providers: Array<Provider>;
1003
+ details: Array<ProviderDetail>;
1004
+ default: Provider;
1005
+ };
1006
+ };
1007
+ export type GetProvidersResponse = GetProvidersResponses[keyof GetProvidersResponses];
1008
+ export type DiscoverProviderModelsData = {
1009
+ body: {
1010
+ /**
1011
+ * Provider compatibility mode. Model discovery currently supports ollama.
1012
+ */
1013
+ compatibility?: string;
1014
+ /**
1015
+ * Provider base URL to inspect.
1016
+ */
1017
+ baseURL: string;
1018
+ /**
1019
+ * Optional API key for the provider.
1020
+ */
1021
+ apiKey?: string;
1022
+ };
1023
+ path?: never;
1024
+ query?: never;
1025
+ url: '/v1/config/providers/discover-models';
1026
+ };
1027
+ export type DiscoverProviderModelsErrors = {
1028
+ /**
1029
+ * Invalid discovery request
1030
+ */
1031
+ 400: unknown;
1032
+ };
1033
+ export type DiscoverProviderModelsResponses = {
1034
+ /**
1035
+ * Discovered provider models
1036
+ */
1037
+ 200: {
1038
+ baseURL?: string;
1039
+ models: Array<{
1040
+ id: string;
1041
+ label: string;
1042
+ toolCall?: boolean;
1043
+ reasoningText?: boolean;
1044
+ vision?: boolean;
1045
+ attachment?: boolean;
1046
+ contextWindow?: number;
1047
+ maxOutputTokens?: number;
1048
+ }>;
1049
+ unsupported?: boolean;
1050
+ message?: string;
1051
+ };
1052
+ };
1053
+ export type DiscoverProviderModelsResponse = DiscoverProviderModelsResponses[keyof DiscoverProviderModelsResponses];
1054
+ export type DeleteProviderSettingsData = {
1055
+ body?: never;
1056
+ path: {
1057
+ provider: Provider;
1058
+ };
1059
+ query?: {
1060
+ /**
1061
+ * Project root override (defaults to current working directory).
1062
+ */
1063
+ project?: string;
1064
+ };
1065
+ url: '/v1/config/providers/{provider}';
876
1066
  };
877
1067
  export type DeleteProviderSettingsResponses = {
878
1068
  /**
@@ -960,6 +1150,37 @@ export type GetProviderModelsResponses = {
960
1150
  };
961
1151
  };
962
1152
  export type GetProviderModelsResponse = GetProviderModelsResponses[keyof GetProviderModelsResponses];
1153
+ export type GetAllModelsData = {
1154
+ body?: never;
1155
+ path?: never;
1156
+ query?: {
1157
+ /**
1158
+ * Project root override (defaults to current working directory).
1159
+ */
1160
+ project?: string;
1161
+ };
1162
+ url: '/v1/config/models';
1163
+ };
1164
+ export type GetAllModelsResponses = {
1165
+ /**
1166
+ * OK
1167
+ */
1168
+ 200: {
1169
+ [key: string]: {
1170
+ label: string;
1171
+ authType?: string;
1172
+ models: Array<{
1173
+ id: string;
1174
+ label: string;
1175
+ toolCall?: boolean;
1176
+ reasoningText?: boolean;
1177
+ vision?: boolean;
1178
+ attachment?: boolean;
1179
+ }>;
1180
+ };
1181
+ };
1182
+ };
1183
+ export type GetAllModelsResponse = GetAllModelsResponses[keyof GetAllModelsResponses];
963
1184
  export type UpdateDefaultsData = {
964
1185
  body: {
965
1186
  agent?: string;
@@ -1042,7 +1263,7 @@ export type UpdateDebugConfigResponses = {
1042
1263
  };
1043
1264
  };
1044
1265
  export type UpdateDebugConfigResponse = UpdateDebugConfigResponses[keyof UpdateDebugConfigResponses];
1045
- export type GetAllModelsData = {
1266
+ export type ListFilesData = {
1046
1267
  body?: never;
1047
1268
  path?: never;
1048
1269
  query?: {
@@ -1050,129 +1271,35 @@ export type GetAllModelsData = {
1050
1271
  * Project root override (defaults to current working directory).
1051
1272
  */
1052
1273
  project?: string;
1274
+ /**
1275
+ * Maximum directory depth to traverse
1276
+ */
1277
+ maxDepth?: number;
1278
+ /**
1279
+ * Maximum number of files to return
1280
+ */
1281
+ limit?: number;
1053
1282
  };
1054
- url: '/v1/config/models';
1283
+ url: '/v1/files';
1055
1284
  };
1056
- export type GetAllModelsResponses = {
1285
+ export type ListFilesResponses = {
1057
1286
  /**
1058
1287
  * OK
1059
1288
  */
1060
1289
  200: {
1061
- [key: string]: {
1062
- label: string;
1063
- authType?: string;
1064
- models: Array<{
1065
- id: string;
1066
- label: string;
1067
- toolCall?: boolean;
1068
- reasoningText?: boolean;
1069
- vision?: boolean;
1070
- attachment?: boolean;
1071
- }>;
1072
- };
1290
+ files: Array<string>;
1291
+ /**
1292
+ * List of files with uncommitted changes (from git status)
1293
+ */
1294
+ changedFiles: Array<{
1295
+ path: string;
1296
+ status: 'added' | 'modified' | 'deleted' | 'renamed' | 'untracked';
1297
+ }>;
1298
+ truncated: boolean;
1073
1299
  };
1074
1300
  };
1075
- export type GetAllModelsResponse = GetAllModelsResponses[keyof GetAllModelsResponses];
1076
- export type RunDoctorData = {
1077
- body?: never;
1078
- path?: never;
1079
- query?: {
1080
- /**
1081
- * Project root override (defaults to current working directory).
1082
- */
1083
- project?: string;
1084
- };
1085
- url: '/v1/doctor';
1086
- };
1087
- export type RunDoctorErrors = {
1088
- /**
1089
- * Bad Request
1090
- */
1091
- 500: {
1092
- error: string;
1093
- };
1094
- };
1095
- export type RunDoctorError = RunDoctorErrors[keyof RunDoctorErrors];
1096
- export type RunDoctorResponses = {
1097
- /**
1098
- * OK
1099
- */
1100
- 200: {
1101
- providers: Array<{
1102
- id: string;
1103
- ok: boolean;
1104
- configured: boolean;
1105
- sources: Array<string>;
1106
- }>;
1107
- defaults: {
1108
- agent: string;
1109
- provider: string;
1110
- model: string;
1111
- providerAuthorized: boolean;
1112
- };
1113
- agents: {
1114
- globalPath: string | null;
1115
- localPath: string | null;
1116
- globalNames: Array<string>;
1117
- localNames: Array<string>;
1118
- };
1119
- tools: {
1120
- defaultNames: Array<string>;
1121
- globalPath?: string | null;
1122
- globalNames: Array<string>;
1123
- localPath?: string | null;
1124
- localNames: Array<string>;
1125
- effectiveNames: Array<string>;
1126
- };
1127
- commands: {
1128
- globalPath?: string | null;
1129
- globalNames: Array<string>;
1130
- localPath?: string | null;
1131
- localNames: Array<string>;
1132
- };
1133
- issues: Array<string>;
1134
- suggestions: Array<string>;
1135
- globalAuthPath?: string | null;
1136
- };
1137
- };
1138
- export type RunDoctorResponse = RunDoctorResponses[keyof RunDoctorResponses];
1139
- export type ListFilesData = {
1140
- body?: never;
1141
- path?: never;
1142
- query?: {
1143
- /**
1144
- * Project root override (defaults to current working directory).
1145
- */
1146
- project?: string;
1147
- /**
1148
- * Maximum directory depth to traverse
1149
- */
1150
- maxDepth?: number;
1151
- /**
1152
- * Maximum number of files to return
1153
- */
1154
- limit?: number;
1155
- };
1156
- url: '/v1/files';
1157
- };
1158
- export type ListFilesResponses = {
1159
- /**
1160
- * OK
1161
- */
1162
- 200: {
1163
- files: Array<string>;
1164
- /**
1165
- * List of files with uncommitted changes (from git status)
1166
- */
1167
- changedFiles: Array<{
1168
- path: string;
1169
- status: 'added' | 'modified' | 'deleted' | 'renamed' | 'untracked';
1170
- }>;
1171
- truncated: boolean;
1172
- };
1173
- };
1174
- export type ListFilesResponse = ListFilesResponses[keyof ListFilesResponses];
1175
- export type SearchFilesData = {
1301
+ export type ListFilesResponse = ListFilesResponses[keyof ListFilesResponses];
1302
+ export type SearchFilesData = {
1176
1303
  body?: never;
1177
1304
  path?: never;
1178
1305
  query?: {
@@ -1278,15 +1405,58 @@ export type ReadFileResponses = {
1278
1405
  };
1279
1406
  };
1280
1407
  export type ReadFileResponse = ReadFileResponses[keyof ReadFileResponses];
1281
- export type InitGitRepoData = {
1282
- body?: {
1408
+ export type GetFileRawData = {
1409
+ body?: never;
1410
+ path?: never;
1411
+ query: {
1412
+ /**
1413
+ * Project root override (defaults to current working directory).
1414
+ */
1283
1415
  project?: string;
1416
+ /**
1417
+ * Relative file path to read.
1418
+ */
1419
+ path: string;
1284
1420
  };
1421
+ url: '/v1/files/raw';
1422
+ };
1423
+ export type GetFileRawErrors = {
1424
+ /**
1425
+ * Missing path parameter
1426
+ */
1427
+ 400: unknown;
1428
+ /**
1429
+ * Path traversal not allowed
1430
+ */
1431
+ 403: unknown;
1432
+ };
1433
+ export type GetFileRawResponses = {
1434
+ /**
1435
+ * Raw file content
1436
+ */
1437
+ 200: Blob | File;
1438
+ };
1439
+ export type GetFileRawResponse = GetFileRawResponses[keyof GetFileRawResponses];
1440
+ export type GetGitStatusData = {
1441
+ body?: never;
1285
1442
  path?: never;
1286
- query?: never;
1287
- url: '/v1/git/init';
1443
+ query?: {
1444
+ /**
1445
+ * Project root override (defaults to current working directory).
1446
+ */
1447
+ project?: string;
1448
+ };
1449
+ url: '/v1/git/status';
1288
1450
  };
1289
- export type InitGitRepoErrors = {
1451
+ export type GetGitStatusErrors = {
1452
+ /**
1453
+ * Error
1454
+ */
1455
+ 400: {
1456
+ status: 'error';
1457
+ error: string;
1458
+ code?: string;
1459
+ };
1290
1460
  /**
1291
1461
  * Error
1292
1462
  */
@@ -1296,21 +1466,18 @@ export type InitGitRepoErrors = {
1296
1466
  code?: string;
1297
1467
  };
1298
1468
  };
1299
- export type InitGitRepoError = InitGitRepoErrors[keyof InitGitRepoErrors];
1300
- export type InitGitRepoResponses = {
1469
+ export type GetGitStatusError = GetGitStatusErrors[keyof GetGitStatusErrors];
1470
+ export type GetGitStatusResponses = {
1301
1471
  /**
1302
1472
  * OK
1303
1473
  */
1304
1474
  200: {
1305
1475
  status: 'ok';
1306
- data: {
1307
- initialized: boolean;
1308
- path: string;
1309
- };
1476
+ data: GitStatus;
1310
1477
  };
1311
1478
  };
1312
- export type InitGitRepoResponse = InitGitRepoResponses[keyof InitGitRepoResponses];
1313
- export type GetGitStatusData = {
1479
+ export type GetGitStatusResponse = GetGitStatusResponses[keyof GetGitStatusResponses];
1480
+ export type GetGitBranchData = {
1314
1481
  body?: never;
1315
1482
  path?: never;
1316
1483
  query?: {
@@ -1319,9 +1486,9 @@ export type GetGitStatusData = {
1319
1486
  */
1320
1487
  project?: string;
1321
1488
  };
1322
- url: '/v1/git/status';
1489
+ url: '/v1/git/branch';
1323
1490
  };
1324
- export type GetGitStatusErrors = {
1491
+ export type GetGitBranchErrors = {
1325
1492
  /**
1326
1493
  * Error
1327
1494
  */
@@ -1339,17 +1506,17 @@ export type GetGitStatusErrors = {
1339
1506
  code?: string;
1340
1507
  };
1341
1508
  };
1342
- export type GetGitStatusError = GetGitStatusErrors[keyof GetGitStatusErrors];
1343
- export type GetGitStatusResponses = {
1509
+ export type GetGitBranchError = GetGitBranchErrors[keyof GetGitBranchErrors];
1510
+ export type GetGitBranchResponses = {
1344
1511
  /**
1345
1512
  * OK
1346
1513
  */
1347
1514
  200: {
1348
1515
  status: 'ok';
1349
- data: GitStatus;
1516
+ data: GitBranch;
1350
1517
  };
1351
1518
  };
1352
- export type GetGitStatusResponse = GetGitStatusResponses[keyof GetGitStatusResponses];
1519
+ export type GetGitBranchResponse = GetGitBranchResponses[keyof GetGitBranchResponses];
1353
1520
  export type GetGitDiffData = {
1354
1521
  body?: never;
1355
1522
  path?: never;
@@ -1402,26 +1569,49 @@ export type GetGitDiffResponses = {
1402
1569
  };
1403
1570
  };
1404
1571
  export type GetGitDiffResponse = GetGitDiffResponses[keyof GetGitDiffResponses];
1405
- export type GetGitBranchData = {
1406
- body?: never;
1407
- path?: never;
1408
- query?: {
1409
- /**
1410
- * Project root override (defaults to current working directory).
1411
- */
1572
+ export type StageFilesData = {
1573
+ body: {
1412
1574
  project?: string;
1575
+ files: Array<string>;
1413
1576
  };
1414
- url: '/v1/git/branch';
1577
+ path?: never;
1578
+ query?: never;
1579
+ url: '/v1/git/stage';
1415
1580
  };
1416
- export type GetGitBranchErrors = {
1581
+ export type StageFilesErrors = {
1417
1582
  /**
1418
1583
  * Error
1419
1584
  */
1420
- 400: {
1585
+ 500: {
1421
1586
  status: 'error';
1422
1587
  error: string;
1423
1588
  code?: string;
1424
1589
  };
1590
+ };
1591
+ export type StageFilesError = StageFilesErrors[keyof StageFilesErrors];
1592
+ export type StageFilesResponses = {
1593
+ /**
1594
+ * OK
1595
+ */
1596
+ 200: {
1597
+ status: 'ok';
1598
+ data: {
1599
+ staged: Array<string>;
1600
+ failed: Array<string>;
1601
+ };
1602
+ };
1603
+ };
1604
+ export type StageFilesResponse = StageFilesResponses[keyof StageFilesResponses];
1605
+ export type UnstageFilesData = {
1606
+ body: {
1607
+ project?: string;
1608
+ files: Array<string>;
1609
+ };
1610
+ path?: never;
1611
+ query?: never;
1612
+ url: '/v1/git/unstage';
1613
+ };
1614
+ export type UnstageFilesErrors = {
1425
1615
  /**
1426
1616
  * Error
1427
1617
  */
@@ -1431,27 +1621,30 @@ export type GetGitBranchErrors = {
1431
1621
  code?: string;
1432
1622
  };
1433
1623
  };
1434
- export type GetGitBranchError = GetGitBranchErrors[keyof GetGitBranchErrors];
1435
- export type GetGitBranchResponses = {
1624
+ export type UnstageFilesError = UnstageFilesErrors[keyof UnstageFilesErrors];
1625
+ export type UnstageFilesResponses = {
1436
1626
  /**
1437
1627
  * OK
1438
1628
  */
1439
1629
  200: {
1440
1630
  status: 'ok';
1441
- data: GitBranch;
1631
+ data: {
1632
+ unstaged: Array<string>;
1633
+ failed: Array<string>;
1634
+ };
1442
1635
  };
1443
1636
  };
1444
- export type GetGitBranchResponse = GetGitBranchResponses[keyof GetGitBranchResponses];
1445
- export type StageFilesData = {
1637
+ export type UnstageFilesResponse = UnstageFilesResponses[keyof UnstageFilesResponses];
1638
+ export type RestoreFilesData = {
1446
1639
  body: {
1447
1640
  project?: string;
1448
1641
  files: Array<string>;
1449
1642
  };
1450
1643
  path?: never;
1451
1644
  query?: never;
1452
- url: '/v1/git/stage';
1645
+ url: '/v1/git/restore';
1453
1646
  };
1454
- export type StageFilesErrors = {
1647
+ export type RestoreFilesErrors = {
1455
1648
  /**
1456
1649
  * Error
1457
1650
  */
@@ -1461,30 +1654,29 @@ export type StageFilesErrors = {
1461
1654
  code?: string;
1462
1655
  };
1463
1656
  };
1464
- export type StageFilesError = StageFilesErrors[keyof StageFilesErrors];
1465
- export type StageFilesResponses = {
1657
+ export type RestoreFilesError = RestoreFilesErrors[keyof RestoreFilesErrors];
1658
+ export type RestoreFilesResponses = {
1466
1659
  /**
1467
1660
  * OK
1468
1661
  */
1469
1662
  200: {
1470
1663
  status: 'ok';
1471
1664
  data: {
1472
- staged: Array<string>;
1473
- failed: Array<string>;
1665
+ restored: Array<string>;
1474
1666
  };
1475
1667
  };
1476
1668
  };
1477
- export type StageFilesResponse = StageFilesResponses[keyof StageFilesResponses];
1478
- export type UnstageFilesData = {
1669
+ export type RestoreFilesResponse = RestoreFilesResponses[keyof RestoreFilesResponses];
1670
+ export type DeleteFilesData = {
1479
1671
  body: {
1480
1672
  project?: string;
1481
1673
  files: Array<string>;
1482
1674
  };
1483
1675
  path?: never;
1484
1676
  query?: never;
1485
- url: '/v1/git/unstage';
1677
+ url: '/v1/git/delete';
1486
1678
  };
1487
- export type UnstageFilesErrors = {
1679
+ export type DeleteFilesErrors = {
1488
1680
  /**
1489
1681
  * Error
1490
1682
  */
@@ -1494,20 +1686,19 @@ export type UnstageFilesErrors = {
1494
1686
  code?: string;
1495
1687
  };
1496
1688
  };
1497
- export type UnstageFilesError = UnstageFilesErrors[keyof UnstageFilesErrors];
1498
- export type UnstageFilesResponses = {
1689
+ export type DeleteFilesError = DeleteFilesErrors[keyof DeleteFilesErrors];
1690
+ export type DeleteFilesResponses = {
1499
1691
  /**
1500
1692
  * OK
1501
1693
  */
1502
1694
  200: {
1503
1695
  status: 'ok';
1504
1696
  data: {
1505
- unstaged: Array<string>;
1506
- failed: Array<string>;
1697
+ deleted: Array<string>;
1507
1698
  };
1508
1699
  };
1509
1700
  };
1510
- export type UnstageFilesResponse = UnstageFilesResponses[keyof UnstageFilesResponses];
1701
+ export type DeleteFilesResponse = DeleteFilesResponses[keyof DeleteFilesResponses];
1511
1702
  export type CommitChangesData = {
1512
1703
  body: {
1513
1704
  project?: string;
@@ -1667,16 +1858,15 @@ export type PullChangesResponses = {
1667
1858
  };
1668
1859
  };
1669
1860
  export type PullChangesResponse = PullChangesResponses[keyof PullChangesResponses];
1670
- export type RestoreFilesData = {
1671
- body: {
1861
+ export type InitGitRepoData = {
1862
+ body?: {
1672
1863
  project?: string;
1673
- files: Array<string>;
1674
1864
  };
1675
1865
  path?: never;
1676
1866
  query?: never;
1677
- url: '/v1/git/restore';
1867
+ url: '/v1/git/init';
1678
1868
  };
1679
- export type RestoreFilesErrors = {
1869
+ export type InitGitRepoErrors = {
1680
1870
  /**
1681
1871
  * Error
1682
1872
  */
@@ -1686,51 +1876,20 @@ export type RestoreFilesErrors = {
1686
1876
  code?: string;
1687
1877
  };
1688
1878
  };
1689
- export type RestoreFilesError = RestoreFilesErrors[keyof RestoreFilesErrors];
1690
- export type RestoreFilesResponses = {
1691
- /**
1692
- * OK
1693
- */
1694
- 200: {
1695
- status: 'ok';
1696
- data: {
1697
- restored: Array<string>;
1698
- };
1699
- };
1700
- };
1701
- export type RestoreFilesResponse = RestoreFilesResponses[keyof RestoreFilesResponses];
1702
- export type DeleteFilesData = {
1703
- body: {
1704
- project?: string;
1705
- files: Array<string>;
1706
- };
1707
- path?: never;
1708
- query?: never;
1709
- url: '/v1/git/delete';
1710
- };
1711
- export type DeleteFilesErrors = {
1712
- /**
1713
- * Error
1714
- */
1715
- 500: {
1716
- status: 'error';
1717
- error: string;
1718
- code?: string;
1719
- };
1720
- };
1721
- export type DeleteFilesError = DeleteFilesErrors[keyof DeleteFilesErrors];
1722
- export type DeleteFilesResponses = {
1879
+ export type InitGitRepoError = InitGitRepoErrors[keyof InitGitRepoErrors];
1880
+ export type InitGitRepoResponses = {
1723
1881
  /**
1724
1882
  * OK
1725
1883
  */
1726
1884
  200: {
1727
1885
  status: 'ok';
1728
1886
  data: {
1729
- deleted: Array<string>;
1887
+ initialized: boolean;
1888
+ path: string;
1730
1889
  };
1731
1890
  };
1732
1891
  };
1733
- export type DeleteFilesResponse = DeleteFilesResponses[keyof DeleteFilesResponses];
1892
+ export type InitGitRepoResponse = InitGitRepoResponses[keyof InitGitRepoResponses];
1734
1893
  export type RemoveGitRemoteData = {
1735
1894
  body: {
1736
1895
  project?: string;
@@ -1851,380 +2010,303 @@ export type AddGitRemoteResponses = {
1851
2010
  };
1852
2011
  };
1853
2012
  export type AddGitRemoteResponse = AddGitRemoteResponses[keyof AddGitRemoteResponses];
1854
- export type ListMcpServersData = {
2013
+ export type GetTerminalsData = {
1855
2014
  body?: never;
1856
2015
  path?: never;
1857
2016
  query?: never;
1858
- url: '/v1/mcp/servers';
2017
+ url: '/v1/terminals';
1859
2018
  };
1860
- export type ListMcpServersResponses = {
2019
+ export type GetTerminalsResponses = {
1861
2020
  /**
1862
- * OK
2021
+ * List of terminals
1863
2022
  */
1864
2023
  200: {
1865
- servers: Array<McpServer>;
2024
+ terminals?: Array<Terminal>;
2025
+ count?: number;
1866
2026
  };
1867
2027
  };
1868
- export type ListMcpServersResponse = ListMcpServersResponses[keyof ListMcpServersResponses];
1869
- export type AddMcpServerData = {
2028
+ export type GetTerminalsResponse = GetTerminalsResponses[keyof GetTerminalsResponses];
2029
+ export type PostTerminalsData = {
1870
2030
  body: {
1871
- name: string;
1872
- transport?: 'stdio' | 'http' | 'sse';
1873
- command?: string;
2031
+ /**
2032
+ * Command to execute
2033
+ */
2034
+ command: string;
2035
+ /**
2036
+ * Command arguments
2037
+ */
1874
2038
  args?: Array<string>;
1875
- env?: {
1876
- [key: string]: string;
1877
- };
1878
- url?: string;
1879
- headers?: {
1880
- [key: string]: string;
1881
- };
1882
- oauth?: {
1883
- [key: string]: unknown;
1884
- };
1885
- scope?: 'global' | 'project';
2039
+ /**
2040
+ * Description of terminal purpose
2041
+ */
2042
+ purpose: string;
2043
+ /**
2044
+ * Working directory
2045
+ */
2046
+ cwd?: string;
2047
+ /**
2048
+ * Terminal title
2049
+ */
2050
+ title?: string;
1886
2051
  };
1887
2052
  path?: never;
1888
2053
  query?: never;
1889
- url: '/v1/mcp/servers';
2054
+ url: '/v1/terminals';
1890
2055
  };
1891
- export type AddMcpServerErrors = {
2056
+ export type PostTerminalsResponses = {
1892
2057
  /**
1893
- * Bad Request
2058
+ * Terminal created
1894
2059
  */
1895
- 400: {
1896
- error: string;
2060
+ 200: {
2061
+ terminalId?: string;
2062
+ pid?: number;
2063
+ purpose?: string;
2064
+ command?: string;
1897
2065
  };
1898
2066
  };
1899
- export type AddMcpServerError = AddMcpServerErrors[keyof AddMcpServerErrors];
1900
- export type AddMcpServerResponses = {
2067
+ export type PostTerminalsResponse = PostTerminalsResponses[keyof PostTerminalsResponses];
2068
+ export type DeleteTerminalsByIdData = {
2069
+ body?: never;
2070
+ path: {
2071
+ id: string;
2072
+ };
2073
+ query?: never;
2074
+ url: '/v1/terminals/{id}';
2075
+ };
2076
+ export type DeleteTerminalsByIdResponses = {
1901
2077
  /**
1902
- * OK
2078
+ * Terminal killed
1903
2079
  */
1904
2080
  200: {
1905
- ok: boolean;
1906
- error?: string;
2081
+ success?: boolean;
1907
2082
  };
1908
2083
  };
1909
- export type AddMcpServerResponse = AddMcpServerResponses[keyof AddMcpServerResponses];
1910
- export type RemoveMcpServerData = {
2084
+ export type DeleteTerminalsByIdResponse = DeleteTerminalsByIdResponses[keyof DeleteTerminalsByIdResponses];
2085
+ export type GetTerminalsByIdData = {
1911
2086
  body?: never;
1912
2087
  path: {
1913
- /**
1914
- * MCP server name
1915
- */
1916
- name: string;
2088
+ id: string;
1917
2089
  };
1918
2090
  query?: never;
1919
- url: '/v1/mcp/servers/{name}';
2091
+ url: '/v1/terminals/{id}';
1920
2092
  };
1921
- export type RemoveMcpServerErrors = {
2093
+ export type GetTerminalsByIdErrors = {
1922
2094
  /**
1923
- * Bad Request
2095
+ * Terminal not found
1924
2096
  */
1925
- 404: {
1926
- error: string;
1927
- };
2097
+ 404: unknown;
1928
2098
  };
1929
- export type RemoveMcpServerError = RemoveMcpServerErrors[keyof RemoveMcpServerErrors];
1930
- export type RemoveMcpServerResponses = {
2099
+ export type GetTerminalsByIdResponses = {
1931
2100
  /**
1932
- * OK
2101
+ * Terminal details
1933
2102
  */
1934
2103
  200: {
1935
- ok: boolean;
1936
- error?: string;
2104
+ terminal?: Terminal;
1937
2105
  };
1938
2106
  };
1939
- export type RemoveMcpServerResponse = RemoveMcpServerResponses[keyof RemoveMcpServerResponses];
1940
- export type StartMcpServerData = {
2107
+ export type GetTerminalsByIdResponse = GetTerminalsByIdResponses[keyof GetTerminalsByIdResponses];
2108
+ export type ConnectTerminalWebSocketData = {
1941
2109
  body?: never;
1942
2110
  path: {
1943
- /**
1944
- * MCP server name
1945
- */
1946
- name: string;
2111
+ id: string;
1947
2112
  };
1948
2113
  query?: never;
1949
- url: '/v1/mcp/servers/{name}/start';
2114
+ url: '/v1/terminals/{id}/ws';
1950
2115
  };
1951
- export type StartMcpServerErrors = {
2116
+ export type ConnectTerminalWebSocketErrors = {
1952
2117
  /**
1953
- * Bad Request
2118
+ * Terminal not found
1954
2119
  */
1955
- 404: {
1956
- error: string;
2120
+ 404: unknown;
2121
+ };
2122
+ export type GetTerminalsByIdOutputData = {
2123
+ body?: never;
2124
+ path: {
2125
+ id: string;
1957
2126
  };
2127
+ query?: never;
2128
+ url: '/v1/terminals/{id}/output';
1958
2129
  };
1959
- export type StartMcpServerError = StartMcpServerErrors[keyof StartMcpServerErrors];
1960
- export type StartMcpServerResponses = {
2130
+ export type GetTerminalsByIdOutputResponses = {
1961
2131
  /**
1962
- * OK
2132
+ * SSE stream of terminal output
1963
2133
  */
1964
- 200: {
1965
- ok: boolean;
1966
- name?: string;
1967
- connected?: boolean;
1968
- tools?: Array<{
1969
- name?: string;
1970
- description?: string;
1971
- }>;
1972
- authRequired?: boolean;
1973
- authType?: string;
1974
- sessionId?: string;
1975
- userCode?: string;
1976
- verificationUri?: string;
1977
- interval?: number;
1978
- authUrl?: string;
1979
- error?: string;
1980
- };
2134
+ 200: string;
1981
2135
  };
1982
- export type StartMcpServerResponse = StartMcpServerResponses[keyof StartMcpServerResponses];
1983
- export type StopMcpServerData = {
2136
+ export type GetTerminalsByIdOutputResponse = GetTerminalsByIdOutputResponses[keyof GetTerminalsByIdOutputResponses];
2137
+ export type PostTerminalsByIdOutputData = {
1984
2138
  body?: never;
1985
2139
  path: {
1986
- /**
1987
- * MCP server name
1988
- */
1989
- name: string;
2140
+ id: string;
1990
2141
  };
1991
2142
  query?: never;
1992
- url: '/v1/mcp/servers/{name}/stop';
2143
+ url: '/v1/terminals/{id}/output';
1993
2144
  };
1994
- export type StopMcpServerErrors = {
2145
+ export type PostTerminalsByIdOutputResponses = {
1995
2146
  /**
1996
- * Bad Request
2147
+ * SSE stream of terminal output
1997
2148
  */
1998
- 400: {
1999
- error: string;
2149
+ 200: string;
2150
+ };
2151
+ export type PostTerminalsByIdOutputResponse = PostTerminalsByIdOutputResponses[keyof PostTerminalsByIdOutputResponses];
2152
+ export type PostTerminalsByIdInputData = {
2153
+ body: {
2154
+ /**
2155
+ * Input to send to terminal
2156
+ */
2157
+ input: string;
2158
+ };
2159
+ path: {
2160
+ id: string;
2000
2161
  };
2162
+ query?: never;
2163
+ url: '/v1/terminals/{id}/input';
2001
2164
  };
2002
- export type StopMcpServerError = StopMcpServerErrors[keyof StopMcpServerErrors];
2003
- export type StopMcpServerResponses = {
2165
+ export type PostTerminalsByIdInputResponses = {
2004
2166
  /**
2005
- * OK
2167
+ * Input sent
2006
2168
  */
2007
2169
  200: {
2008
- ok: boolean;
2009
- error?: string;
2170
+ success?: boolean;
2010
2171
  };
2011
2172
  };
2012
- export type StopMcpServerResponse = StopMcpServerResponses[keyof StopMcpServerResponses];
2013
- export type RevokeMcpAuthData = {
2014
- body?: never;
2173
+ export type PostTerminalsByIdInputResponse = PostTerminalsByIdInputResponses[keyof PostTerminalsByIdInputResponses];
2174
+ export type ResizeTerminalData = {
2175
+ body: {
2176
+ cols: number;
2177
+ rows: number;
2178
+ };
2015
2179
  path: {
2016
- /**
2017
- * MCP server name
2018
- */
2019
- name: string;
2180
+ id: string;
2020
2181
  };
2021
2182
  query?: never;
2022
- url: '/v1/mcp/servers/{name}/auth';
2183
+ url: '/v1/terminals/{id}/resize';
2023
2184
  };
2024
- export type RevokeMcpAuthErrors = {
2185
+ export type ResizeTerminalErrors = {
2025
2186
  /**
2026
- * Bad Request
2187
+ * Invalid terminal size
2027
2188
  */
2028
- 400: {
2029
- error: string;
2030
- };
2189
+ 400: unknown;
2190
+ /**
2191
+ * Terminal not found
2192
+ */
2193
+ 404: unknown;
2031
2194
  };
2032
- export type RevokeMcpAuthError = RevokeMcpAuthErrors[keyof RevokeMcpAuthErrors];
2033
- export type RevokeMcpAuthResponses = {
2195
+ export type ResizeTerminalResponses = {
2034
2196
  /**
2035
- * OK
2197
+ * Terminal resized
2036
2198
  */
2037
2199
  200: {
2038
- ok: boolean;
2039
- error?: string;
2200
+ success: boolean;
2040
2201
  };
2041
2202
  };
2042
- export type RevokeMcpAuthResponse = RevokeMcpAuthResponses[keyof RevokeMcpAuthResponses];
2043
- export type InitiateMcpAuthData = {
2203
+ export type ResizeTerminalResponse = ResizeTerminalResponses[keyof ResizeTerminalResponses];
2204
+ export type GetSessionFilesData = {
2044
2205
  body?: never;
2045
2206
  path: {
2046
- /**
2047
- * MCP server name
2048
- */
2049
- name: string;
2050
- };
2051
- query?: never;
2052
- url: '/v1/mcp/servers/{name}/auth';
2053
- };
2054
- export type InitiateMcpAuthErrors = {
2055
- /**
2056
- * Bad Request
2057
- */
2058
- 404: {
2059
- error: string;
2060
- };
2061
- };
2062
- export type InitiateMcpAuthError = InitiateMcpAuthErrors[keyof InitiateMcpAuthErrors];
2063
- export type InitiateMcpAuthResponses = {
2064
- /**
2065
- * OK
2066
- */
2067
- 200: {
2068
- ok: boolean;
2069
- name?: string;
2070
- authUrl?: string;
2071
- authType?: string;
2072
- authenticated?: boolean;
2073
- sessionId?: string;
2074
- userCode?: string;
2075
- verificationUri?: string;
2076
- interval?: number;
2077
- message?: string;
2078
- error?: string;
2079
- };
2080
- };
2081
- export type InitiateMcpAuthResponse = InitiateMcpAuthResponses[keyof InitiateMcpAuthResponses];
2082
- export type CompleteMcpAuthData = {
2083
- body: {
2084
- code?: string;
2085
- sessionId?: string;
2207
+ sessionId: string;
2086
2208
  };
2087
- path: {
2209
+ query?: {
2088
2210
  /**
2089
- * MCP server name
2211
+ * Project root override (defaults to current working directory).
2090
2212
  */
2091
- name: string;
2213
+ project?: string;
2092
2214
  };
2093
- query?: never;
2094
- url: '/v1/mcp/servers/{name}/auth/callback';
2215
+ url: '/v1/sessions/{sessionId}/files';
2095
2216
  };
2096
- export type CompleteMcpAuthErrors = {
2217
+ export type GetSessionFilesErrors = {
2097
2218
  /**
2098
- * Bad Request
2219
+ * Session not found
2099
2220
  */
2100
- 400: {
2221
+ 404: {
2101
2222
  error: string;
2102
2223
  };
2103
2224
  };
2104
- export type CompleteMcpAuthError = CompleteMcpAuthErrors[keyof CompleteMcpAuthErrors];
2105
- export type CompleteMcpAuthResponses = {
2225
+ export type GetSessionFilesError = GetSessionFilesErrors[keyof GetSessionFilesErrors];
2226
+ export type GetSessionFilesResponses = {
2106
2227
  /**
2107
2228
  * OK
2108
2229
  */
2109
2230
  200: {
2110
- ok: boolean;
2111
- status?: 'complete' | 'pending' | 'error';
2112
- name?: string;
2113
- connected?: boolean;
2114
- tools?: Array<{
2115
- name?: string;
2116
- description?: string;
2231
+ files: Array<{
2232
+ path: string;
2233
+ operationCount: number;
2234
+ firstModified: number;
2235
+ lastModified: number;
2236
+ operations: Array<{
2237
+ path: string;
2238
+ operation: 'write' | 'patch' | 'create';
2239
+ timestamp: number;
2240
+ toolCallId: string;
2241
+ toolName: string;
2242
+ }>;
2117
2243
  }>;
2118
- error?: string;
2119
- };
2120
- };
2121
- export type CompleteMcpAuthResponse = CompleteMcpAuthResponses[keyof CompleteMcpAuthResponses];
2122
- export type GetMcpAuthStatusData = {
2123
- body?: never;
2124
- path: {
2125
- /**
2126
- * MCP server name
2127
- */
2128
- name: string;
2244
+ totalFiles: number;
2245
+ totalOperations: number;
2129
2246
  };
2130
- query?: never;
2131
- url: '/v1/mcp/servers/{name}/auth/status';
2132
2247
  };
2133
- export type GetMcpAuthStatusResponses = {
2134
- /**
2135
- * OK
2136
- */
2137
- 200: {
2138
- authenticated: boolean;
2139
- authType?: string;
2248
+ export type GetSessionFilesResponse = GetSessionFilesResponses[keyof GetSessionFilesResponses];
2249
+ export type CreateBranchData = {
2250
+ body: {
2251
+ fromMessageId: string;
2252
+ provider?: string;
2253
+ model?: string;
2254
+ agent?: string;
2255
+ title?: string;
2140
2256
  };
2141
- };
2142
- export type GetMcpAuthStatusResponse = GetMcpAuthStatusResponses[keyof GetMcpAuthStatusResponses];
2143
- export type TestMcpServerData = {
2144
- body?: never;
2145
2257
  path: {
2258
+ sessionId: string;
2259
+ };
2260
+ query?: {
2146
2261
  /**
2147
- * MCP server name
2262
+ * Project root override (defaults to current working directory).
2148
2263
  */
2149
- name: string;
2264
+ project?: string;
2150
2265
  };
2151
- query?: never;
2152
- url: '/v1/mcp/servers/{name}/test';
2266
+ url: '/v1/sessions/{sessionId}/branch';
2153
2267
  };
2154
- export type TestMcpServerErrors = {
2268
+ export type CreateBranchErrors = {
2155
2269
  /**
2156
2270
  * Bad Request
2157
2271
  */
2158
- 404: {
2272
+ 400: {
2159
2273
  error: string;
2160
2274
  };
2161
2275
  };
2162
- export type TestMcpServerError = TestMcpServerErrors[keyof TestMcpServerErrors];
2163
- export type TestMcpServerResponses = {
2276
+ export type CreateBranchError = CreateBranchErrors[keyof CreateBranchErrors];
2277
+ export type CreateBranchResponses = {
2164
2278
  /**
2165
- * OK
2279
+ * Created
2166
2280
  */
2167
- 200: {
2168
- ok: boolean;
2169
- name?: string;
2170
- tools?: Array<{
2171
- name?: string;
2172
- description?: string;
2173
- }>;
2174
- error?: string;
2175
- };
2281
+ 201: Session;
2176
2282
  };
2177
- export type TestMcpServerResponse = TestMcpServerResponses[keyof TestMcpServerResponses];
2178
- export type ListMessagesData = {
2283
+ export type CreateBranchResponse = CreateBranchResponses[keyof CreateBranchResponses];
2284
+ export type ListBranchesData = {
2179
2285
  body?: never;
2180
2286
  path: {
2181
- id: string;
2287
+ sessionId: string;
2182
2288
  };
2183
2289
  query?: {
2184
2290
  /**
2185
2291
  * Project root override (defaults to current working directory).
2186
2292
  */
2187
2293
  project?: string;
2188
- /**
2189
- * Exclude parts from the response. By default, parts are included.
2190
- */
2191
- without?: 'parts';
2192
2294
  };
2193
- url: '/v1/sessions/{id}/messages';
2295
+ url: '/v1/sessions/{sessionId}/branches';
2194
2296
  };
2195
- export type ListMessagesResponses = {
2297
+ export type ListBranchesResponses = {
2196
2298
  /**
2197
2299
  * OK
2198
2300
  */
2199
- 200: Array<Message & {
2200
- parts?: Array<MessagePart>;
2201
- }>;
2202
- };
2203
- export type ListMessagesResponse = ListMessagesResponses[keyof ListMessagesResponses];
2204
- export type CreateMessageData = {
2205
- body: {
2206
- content: string;
2207
- /**
2208
- * Agent name. Defaults to config if omitted.
2209
- */
2210
- agent?: string;
2211
- provider?: Provider;
2212
- model?: string;
2213
- /**
2214
- * Optional user-provided context to include in the system prompt.
2215
- */
2216
- userContext?: string;
2217
- /**
2218
- * Enable extended thinking / reasoning for models that support it.
2219
- */
2220
- reasoningText?: boolean;
2221
- /**
2222
- * Reasoning intensity level for providers/models that support it.
2223
- */
2224
- reasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';
2301
+ 200: {
2302
+ branches: Array<Session>;
2225
2303
  };
2304
+ };
2305
+ export type ListBranchesResponse = ListBranchesResponses[keyof ListBranchesResponses];
2306
+ export type GetParentSessionData = {
2307
+ body?: never;
2226
2308
  path: {
2227
- id: string;
2309
+ sessionId: string;
2228
2310
  };
2229
2311
  query?: {
2230
2312
  /**
@@ -2232,72 +2314,17 @@ export type CreateMessageData = {
2232
2314
  */
2233
2315
  project?: string;
2234
2316
  };
2235
- url: '/v1/sessions/{id}/messages';
2236
- };
2237
- export type CreateMessageErrors = {
2238
- /**
2239
- * Bad Request
2240
- */
2241
- 400: {
2242
- error: string;
2243
- };
2244
- };
2245
- export type CreateMessageError = CreateMessageErrors[keyof CreateMessageErrors];
2246
- export type CreateMessageResponses = {
2247
- /**
2248
- * Accepted
2249
- */
2250
- 202: {
2251
- messageId: string;
2252
- };
2253
- };
2254
- export type CreateMessageResponse = CreateMessageResponses[keyof CreateMessageResponses];
2255
- export type GetProviderUsageData = {
2256
- body?: never;
2257
- path: {
2258
- provider: 'anthropic' | 'openai';
2259
- };
2260
- query?: never;
2261
- url: '/v1/provider-usage/{provider}';
2262
- };
2263
- export type GetProviderUsageErrors = {
2264
- /**
2265
- * Bad Request
2266
- */
2267
- 400: {
2268
- error: string;
2269
- };
2270
- /**
2271
- * Bad Request
2272
- */
2273
- 404: {
2274
- error: string;
2275
- };
2317
+ url: '/v1/sessions/{sessionId}/parent';
2276
2318
  };
2277
- export type GetProviderUsageError = GetProviderUsageErrors[keyof GetProviderUsageErrors];
2278
- export type GetProviderUsageResponses = {
2319
+ export type GetParentSessionResponses = {
2279
2320
  /**
2280
2321
  * OK
2281
2322
  */
2282
2323
  200: {
2283
- provider: string;
2284
- primaryWindow?: {
2285
- usedPercent?: number;
2286
- windowSeconds?: number;
2287
- resetsAt?: string | null;
2288
- resetAfterSeconds?: number;
2289
- } | null;
2290
- secondaryWindow?: {
2291
- usedPercent?: number;
2292
- windowSeconds?: number;
2293
- resetsAt?: string | null;
2294
- resetAfterSeconds?: number;
2295
- } | null;
2296
- limitReached: boolean;
2297
- planType?: string | null;
2324
+ parent: Session | null;
2298
2325
  };
2299
2326
  };
2300
- export type GetProviderUsageResponse = GetProviderUsageResponses[keyof GetProviderUsageResponses];
2327
+ export type GetParentSessionResponse = GetParentSessionResponses[keyof GetParentSessionResponses];
2301
2328
  export type ListResearchSessionsData = {
2302
2329
  body?: never;
2303
2330
  path: {
@@ -2482,358 +2509,447 @@ export type ExportResearchSessionResponses = {
2482
2509
  };
2483
2510
  };
2484
2511
  export type ExportResearchSessionResponse = ExportResearchSessionResponses[keyof ExportResearchSessionResponses];
2485
- export type ResolveApprovalData = {
2486
- body: {
2487
- callId: string;
2488
- approved: boolean;
2489
- };
2490
- path: {
2491
- id: string;
2492
- };
2512
+ export type GetOttoRouterBalanceData = {
2513
+ body?: never;
2514
+ path?: never;
2493
2515
  query?: never;
2494
- url: '/v1/sessions/{id}/approval';
2516
+ url: '/v1/ottorouter/balance';
2495
2517
  };
2496
- export type ResolveApprovalErrors = {
2497
- /**
2498
- * Bad Request
2499
- */
2500
- 400: {
2501
- error: string;
2502
- };
2518
+ export type GetOttoRouterBalanceErrors = {
2503
2519
  /**
2504
- * Bad Request
2520
+ * Wallet not configured
2505
2521
  */
2506
- 403: {
2522
+ 401: {
2507
2523
  error: string;
2508
2524
  };
2509
2525
  /**
2510
- * Bad Request
2526
+ * Failed to fetch balance from OttoRouter
2511
2527
  */
2512
- 404: {
2528
+ 502: {
2513
2529
  error: string;
2514
2530
  };
2515
2531
  };
2516
- export type ResolveApprovalError = ResolveApprovalErrors[keyof ResolveApprovalErrors];
2517
- export type ResolveApprovalResponses = {
2532
+ export type GetOttoRouterBalanceError = GetOttoRouterBalanceErrors[keyof GetOttoRouterBalanceErrors];
2533
+ export type GetOttoRouterBalanceResponses = {
2518
2534
  /**
2519
2535
  * OK
2520
2536
  */
2521
2537
  200: {
2522
- ok: boolean;
2523
- callId: string;
2524
- approved: boolean;
2538
+ walletAddress: string;
2539
+ balance: number;
2540
+ totalSpent: number;
2541
+ totalTopups: number;
2542
+ requestCount: number;
2543
+ scope?: 'wallet' | 'account';
2544
+ payg?: {
2545
+ walletBalanceUsd?: number;
2546
+ accountBalanceUsd?: number;
2547
+ rawPoolUsd?: number;
2548
+ effectiveSpendableUsd?: number;
2549
+ };
2550
+ limits?: {
2551
+ enabled?: boolean;
2552
+ dailyLimitUsd?: number | null;
2553
+ dailySpentUsd?: number;
2554
+ dailyRemainingUsd?: number | null;
2555
+ monthlyLimitUsd?: number | null;
2556
+ monthlySpentUsd?: number;
2557
+ monthlyRemainingUsd?: number | null;
2558
+ capRemainingUsd?: number | null;
2559
+ } | null;
2560
+ subscription?: {
2561
+ active?: boolean;
2562
+ tierId?: string;
2563
+ tierName?: string;
2564
+ creditsIncluded?: number;
2565
+ creditsUsed?: number;
2566
+ creditsRemaining?: number;
2567
+ periodStart?: string;
2568
+ periodEnd?: string;
2569
+ } | null;
2525
2570
  };
2526
2571
  };
2527
- export type ResolveApprovalResponse = ResolveApprovalResponses[keyof ResolveApprovalResponses];
2528
- export type GetPendingApprovalsData = {
2572
+ export type GetOttoRouterBalanceResponse = GetOttoRouterBalanceResponses[keyof GetOttoRouterBalanceResponses];
2573
+ export type GetOttoRouterWalletData = {
2529
2574
  body?: never;
2530
- path: {
2531
- id: string;
2532
- };
2575
+ path?: never;
2533
2576
  query?: never;
2534
- url: '/v1/sessions/{id}/approval/pending';
2577
+ url: '/v1/ottorouter/wallet';
2535
2578
  };
2536
- export type GetPendingApprovalsResponses = {
2579
+ export type GetOttoRouterWalletResponses = {
2537
2580
  /**
2538
2581
  * OK
2539
2582
  */
2540
2583
  200: {
2541
- ok: boolean;
2542
- pending: Array<{
2543
- callId: string;
2544
- toolName: string;
2545
- args?: {
2546
- [key: string]: unknown;
2547
- };
2548
- messageId?: string;
2549
- createdAt: number;
2550
- }>;
2584
+ configured: boolean;
2585
+ publicKey?: string;
2586
+ error?: string;
2551
2587
  };
2552
2588
  };
2553
- export type GetPendingApprovalsResponse = GetPendingApprovalsResponses[keyof GetPendingApprovalsResponses];
2554
- export type DeleteSessionData = {
2589
+ export type GetOttoRouterWalletResponse = GetOttoRouterWalletResponses[keyof GetOttoRouterWalletResponses];
2590
+ export type GetOttoRouterUsdcBalanceData = {
2555
2591
  body?: never;
2556
- path: {
2557
- sessionId: string;
2558
- };
2592
+ path?: never;
2559
2593
  query?: {
2560
2594
  /**
2561
- * Project root override (defaults to current working directory).
2595
+ * Solana network to query
2562
2596
  */
2563
- project?: string;
2597
+ network?: 'mainnet' | 'devnet';
2564
2598
  };
2565
- url: '/v1/sessions/{sessionId}';
2599
+ url: '/v1/ottorouter/usdc-balance';
2566
2600
  };
2567
- export type DeleteSessionErrors = {
2601
+ export type GetOttoRouterUsdcBalanceErrors = {
2568
2602
  /**
2569
- * Bad Request
2603
+ * Wallet not configured
2570
2604
  */
2571
- 404: {
2605
+ 401: {
2606
+ error: string;
2607
+ };
2608
+ /**
2609
+ * Failed to fetch USDC balance from Solana
2610
+ */
2611
+ 502: {
2572
2612
  error: string;
2573
2613
  };
2574
2614
  };
2575
- export type DeleteSessionError = DeleteSessionErrors[keyof DeleteSessionErrors];
2576
- export type DeleteSessionResponses = {
2615
+ export type GetOttoRouterUsdcBalanceError = GetOttoRouterUsdcBalanceErrors[keyof GetOttoRouterUsdcBalanceErrors];
2616
+ export type GetOttoRouterUsdcBalanceResponses = {
2577
2617
  /**
2578
2618
  * OK
2579
2619
  */
2580
2620
  200: {
2581
- success: boolean;
2621
+ walletAddress: string;
2622
+ usdcBalance: number;
2623
+ network: 'mainnet' | 'devnet';
2582
2624
  };
2583
2625
  };
2584
- export type DeleteSessionResponse = DeleteSessionResponses[keyof DeleteSessionResponses];
2585
- export type GetSessionData = {
2626
+ export type GetOttoRouterUsdcBalanceResponse = GetOttoRouterUsdcBalanceResponses[keyof GetOttoRouterUsdcBalanceResponses];
2627
+ export type GetPolarTopupEstimateData = {
2586
2628
  body?: never;
2587
- path: {
2588
- sessionId: string;
2589
- };
2590
- query?: {
2629
+ path?: never;
2630
+ query: {
2591
2631
  /**
2592
- * Project root override (defaults to current working directory).
2632
+ * Amount in USD
2593
2633
  */
2594
- project?: string;
2634
+ amount: number;
2595
2635
  };
2596
- url: '/v1/sessions/{sessionId}';
2636
+ url: '/v1/ottorouter/topup/polar/estimate';
2597
2637
  };
2598
- export type GetSessionErrors = {
2638
+ export type GetPolarTopupEstimateResponses = {
2599
2639
  /**
2600
- * Bad Request
2640
+ * OK
2601
2641
  */
2602
- 404: {
2642
+ 200: {
2643
+ creditAmount?: number;
2644
+ chargeAmount?: number;
2645
+ feeAmount?: number;
2646
+ feeBreakdown?: {
2647
+ basePercent?: number;
2648
+ internationalPercent?: number;
2649
+ fixedCents?: number;
2650
+ };
2651
+ };
2652
+ };
2653
+ export type GetPolarTopupEstimateResponse = GetPolarTopupEstimateResponses[keyof GetPolarTopupEstimateResponses];
2654
+ export type CreatePolarCheckoutData = {
2655
+ body: {
2656
+ amount: number;
2657
+ successUrl: string;
2658
+ };
2659
+ path?: never;
2660
+ query?: never;
2661
+ url: '/v1/ottorouter/topup/polar';
2662
+ };
2663
+ export type CreatePolarCheckoutErrors = {
2664
+ /**
2665
+ * Wallet not configured
2666
+ */
2667
+ 401: {
2603
2668
  error: string;
2604
2669
  };
2605
2670
  };
2606
- export type GetSessionError = GetSessionErrors[keyof GetSessionErrors];
2607
- export type GetSessionResponses = {
2671
+ export type CreatePolarCheckoutError = CreatePolarCheckoutErrors[keyof CreatePolarCheckoutErrors];
2672
+ export type CreatePolarCheckoutResponses = {
2608
2673
  /**
2609
2674
  * OK
2610
2675
  */
2611
- 200: Session;
2676
+ 200: {
2677
+ [key: string]: unknown;
2678
+ };
2612
2679
  };
2613
- export type GetSessionResponse = GetSessionResponses[keyof GetSessionResponses];
2614
- export type UpdateSessionData = {
2680
+ export type CreatePolarCheckoutResponse = CreatePolarCheckoutResponses[keyof CreatePolarCheckoutResponses];
2681
+ export type SelectTopupMethodData = {
2615
2682
  body: {
2616
- title?: string;
2617
- agent?: string;
2618
- provider?: Provider;
2619
- model?: string;
2620
- };
2621
- path: {
2622
2683
  sessionId: string;
2684
+ method: 'crypto' | 'fiat';
2623
2685
  };
2624
- query?: {
2625
- /**
2626
- * Project root override (defaults to current working directory).
2627
- */
2628
- project?: string;
2629
- };
2630
- url: '/v1/sessions/{sessionId}';
2686
+ path?: never;
2687
+ query?: never;
2688
+ url: '/v1/ottorouter/topup/select';
2631
2689
  };
2632
- export type UpdateSessionErrors = {
2633
- /**
2634
- * Bad Request
2635
- */
2636
- 400: {
2637
- error: string;
2638
- };
2690
+ export type SelectTopupMethodErrors = {
2639
2691
  /**
2640
- * Bad Request
2692
+ * No pending topup
2641
2693
  */
2642
2694
  404: {
2643
2695
  error: string;
2644
2696
  };
2645
2697
  };
2646
- export type UpdateSessionError = UpdateSessionErrors[keyof UpdateSessionErrors];
2647
- export type UpdateSessionResponses = {
2698
+ export type SelectTopupMethodError = SelectTopupMethodErrors[keyof SelectTopupMethodErrors];
2699
+ export type SelectTopupMethodResponses = {
2648
2700
  /**
2649
2701
  * OK
2650
2702
  */
2651
- 200: Session;
2703
+ 200: {
2704
+ success: boolean;
2705
+ method: string;
2706
+ };
2652
2707
  };
2653
- export type UpdateSessionResponse = UpdateSessionResponses[keyof UpdateSessionResponses];
2654
- export type GetSessionQueueData = {
2655
- body?: never;
2656
- path: {
2708
+ export type SelectTopupMethodResponse = SelectTopupMethodResponses[keyof SelectTopupMethodResponses];
2709
+ export type CancelTopupData = {
2710
+ body: {
2657
2711
  sessionId: string;
2712
+ reason?: string;
2658
2713
  };
2714
+ path?: never;
2659
2715
  query?: never;
2660
- url: '/v1/sessions/{sessionId}/queue';
2716
+ url: '/v1/ottorouter/topup/cancel';
2661
2717
  };
2662
- export type GetSessionQueueResponses = {
2718
+ export type CancelTopupErrors = {
2719
+ /**
2720
+ * No pending topup
2721
+ */
2722
+ 404: {
2723
+ error: string;
2724
+ };
2725
+ };
2726
+ export type CancelTopupError = CancelTopupErrors[keyof CancelTopupErrors];
2727
+ export type CancelTopupResponses = {
2663
2728
  /**
2664
2729
  * OK
2665
2730
  */
2666
2731
  200: {
2667
- currentMessageId: string | null;
2668
- queuedMessages: Array<{
2669
- assistantMessageId?: string;
2670
- agent?: string;
2671
- provider?: string;
2672
- model?: string;
2673
- }>;
2674
- isRunning: boolean;
2732
+ success: boolean;
2675
2733
  };
2676
2734
  };
2677
- export type GetSessionQueueResponse = GetSessionQueueResponses[keyof GetSessionQueueResponses];
2678
- export type RemoveFromQueueData = {
2735
+ export type CancelTopupResponse = CancelTopupResponses[keyof CancelTopupResponses];
2736
+ export type GetPendingTopupData = {
2679
2737
  body?: never;
2680
- path: {
2738
+ path?: never;
2739
+ query: {
2681
2740
  sessionId: string;
2682
- messageId: string;
2683
- };
2684
- query?: {
2685
- /**
2686
- * Project root override (defaults to current working directory).
2687
- */
2688
- project?: string;
2689
2741
  };
2690
- url: '/v1/sessions/{sessionId}/queue/{messageId}';
2742
+ url: '/v1/ottorouter/topup/pending';
2691
2743
  };
2692
- export type RemoveFromQueueErrors = {
2744
+ export type GetPendingTopupResponses = {
2693
2745
  /**
2694
- * Bad Request
2746
+ * OK
2695
2747
  */
2696
- 404: {
2697
- error: string;
2748
+ 200: {
2749
+ hasPending: boolean;
2750
+ sessionId?: string;
2751
+ messageId?: string;
2752
+ amountUsd?: number;
2753
+ currentBalance?: number;
2754
+ createdAt?: number;
2698
2755
  };
2699
2756
  };
2700
- export type RemoveFromQueueError = RemoveFromQueueErrors[keyof RemoveFromQueueErrors];
2701
- export type RemoveFromQueueResponses = {
2757
+ export type GetPendingTopupResponse = GetPendingTopupResponses[keyof GetPendingTopupResponses];
2758
+ export type GetPolarTopupStatusData = {
2759
+ body?: never;
2760
+ path?: never;
2761
+ query: {
2762
+ checkoutId: string;
2763
+ };
2764
+ url: '/v1/ottorouter/topup/polar/status';
2765
+ };
2766
+ export type GetPolarTopupStatusResponses = {
2702
2767
  /**
2703
2768
  * OK
2704
2769
  */
2705
2770
  200: {
2706
- success: boolean;
2707
- removed?: boolean;
2708
- wasQueued?: boolean;
2709
- wasRunning?: boolean;
2710
- wasStored?: boolean;
2771
+ checkoutId?: string;
2772
+ confirmed?: boolean;
2773
+ amountUsd?: number | null;
2774
+ confirmedAt?: string | null;
2711
2775
  };
2712
2776
  };
2713
- export type RemoveFromQueueResponse = RemoveFromQueueResponses[keyof RemoveFromQueueResponses];
2714
- export type RetryMessageData = {
2777
+ export type GetPolarTopupStatusResponse = GetPolarTopupStatusResponses[keyof GetPolarTopupStatusResponses];
2778
+ export type GetRazorpayTopupEstimateData = {
2715
2779
  body?: never;
2716
- path: {
2717
- sessionId: string;
2718
- messageId: string;
2719
- };
2720
- query?: {
2780
+ path?: never;
2781
+ query: {
2721
2782
  /**
2722
- * Project root override (defaults to current working directory).
2783
+ * Amount in USD
2723
2784
  */
2724
- project?: string;
2785
+ amount: number;
2725
2786
  };
2726
- url: '/v1/sessions/{sessionId}/messages/{messageId}/retry';
2787
+ url: '/v1/ottorouter/topup/razorpay/estimate';
2727
2788
  };
2728
- export type RetryMessageErrors = {
2789
+ export type GetRazorpayTopupEstimateResponses = {
2729
2790
  /**
2730
- * Bad Request
2791
+ * OK
2731
2792
  */
2732
- 400: {
2733
- error: string;
2793
+ 200: {
2794
+ creditAmountUsd?: number;
2795
+ chargeAmountInr?: number;
2796
+ feeAmountInr?: number;
2797
+ currency?: string;
2798
+ exchangeRate?: number;
2734
2799
  };
2800
+ };
2801
+ export type GetRazorpayTopupEstimateResponse = GetRazorpayTopupEstimateResponses[keyof GetRazorpayTopupEstimateResponses];
2802
+ export type CreateRazorpayOrderData = {
2803
+ body: {
2804
+ amount: number;
2805
+ };
2806
+ path?: never;
2807
+ query?: never;
2808
+ url: '/v1/ottorouter/topup/razorpay';
2809
+ };
2810
+ export type CreateRazorpayOrderErrors = {
2735
2811
  /**
2736
- * Bad Request
2812
+ * Wallet not configured
2737
2813
  */
2738
- 404: {
2814
+ 401: {
2739
2815
  error: string;
2740
2816
  };
2741
2817
  };
2742
- export type RetryMessageError = RetryMessageErrors[keyof RetryMessageErrors];
2743
- export type RetryMessageResponses = {
2818
+ export type CreateRazorpayOrderError = CreateRazorpayOrderErrors[keyof CreateRazorpayOrderErrors];
2819
+ export type CreateRazorpayOrderResponses = {
2744
2820
  /**
2745
2821
  * OK
2746
2822
  */
2747
2823
  200: {
2748
- success: boolean;
2749
- messageId: string;
2824
+ success?: boolean;
2825
+ orderId?: string;
2826
+ amount?: number;
2827
+ currency?: string;
2828
+ creditAmountUsd?: number;
2829
+ keyId?: string;
2750
2830
  };
2751
2831
  };
2752
- export type RetryMessageResponse = RetryMessageResponses[keyof RetryMessageResponses];
2753
- export type DeleteShareData = {
2754
- body?: never;
2755
- path: {
2756
- sessionId: string;
2757
- };
2758
- query?: {
2759
- /**
2760
- * Project root override (defaults to current working directory).
2761
- */
2762
- project?: string;
2832
+ export type CreateRazorpayOrderResponse = CreateRazorpayOrderResponses[keyof CreateRazorpayOrderResponses];
2833
+ export type VerifyRazorpayPaymentData = {
2834
+ body: {
2835
+ razorpay_order_id: string;
2836
+ razorpay_payment_id: string;
2837
+ razorpay_signature: string;
2763
2838
  };
2764
- url: '/v1/sessions/{sessionId}/share';
2839
+ path?: never;
2840
+ query?: never;
2841
+ url: '/v1/ottorouter/topup/razorpay/verify';
2765
2842
  };
2766
- export type DeleteShareErrors = {
2843
+ export type VerifyRazorpayPaymentErrors = {
2767
2844
  /**
2768
- * Bad Request
2845
+ * Wallet not configured
2769
2846
  */
2770
- 404: {
2847
+ 401: {
2771
2848
  error: string;
2772
2849
  };
2773
2850
  };
2774
- export type DeleteShareError = DeleteShareErrors[keyof DeleteShareErrors];
2775
- export type DeleteShareResponses = {
2851
+ export type VerifyRazorpayPaymentError = VerifyRazorpayPaymentErrors[keyof VerifyRazorpayPaymentErrors];
2852
+ export type VerifyRazorpayPaymentResponses = {
2776
2853
  /**
2777
2854
  * OK
2778
2855
  */
2779
2856
  200: {
2780
- deleted: boolean;
2781
- sessionId: string;
2857
+ success?: boolean;
2858
+ credited?: number;
2859
+ newBalance?: number;
2782
2860
  };
2783
2861
  };
2784
- export type DeleteShareResponse = DeleteShareResponses[keyof DeleteShareResponses];
2785
- export type GetShareStatusData = {
2862
+ export type VerifyRazorpayPaymentResponse = VerifyRazorpayPaymentResponses[keyof VerifyRazorpayPaymentResponses];
2863
+ export type GetAuthStatusData = {
2786
2864
  body?: never;
2787
- path: {
2788
- sessionId: string;
2789
- };
2790
- query?: {
2791
- /**
2792
- * Project root override (defaults to current working directory).
2793
- */
2794
- project?: string;
2795
- };
2796
- url: '/v1/sessions/{sessionId}/share';
2865
+ path?: never;
2866
+ query?: never;
2867
+ url: '/v1/auth/status';
2797
2868
  };
2798
- export type GetShareStatusResponses = {
2869
+ export type GetAuthStatusResponses = {
2799
2870
  /**
2800
2871
  * OK
2801
2872
  */
2802
2873
  200: {
2803
- shared: boolean;
2804
- shareId?: string;
2805
- url?: string;
2806
- title?: string | null;
2807
- createdAt?: number;
2808
- lastSyncedAt?: number;
2809
- lastSyncedMessageId?: string;
2810
- syncedMessages?: number;
2811
- totalMessages?: number;
2812
- pendingMessages?: number;
2813
- isSynced?: boolean;
2874
+ onboardingComplete: boolean;
2875
+ ottorouter: {
2876
+ configured: boolean;
2877
+ publicKey?: string;
2878
+ };
2879
+ providers: {
2880
+ [key: string]: {
2881
+ configured: boolean;
2882
+ type?: 'api' | 'oauth' | 'wallet';
2883
+ label: string;
2884
+ supportsOAuth: boolean;
2885
+ supportsToken?: boolean;
2886
+ supportsGhImport?: boolean;
2887
+ modelCount: number;
2888
+ costRange?: {
2889
+ min: number;
2890
+ max: number;
2891
+ } | null;
2892
+ };
2893
+ };
2894
+ defaults?: {
2895
+ agent?: string;
2896
+ provider?: string;
2897
+ model?: string;
2898
+ };
2814
2899
  };
2815
2900
  };
2816
- export type GetShareStatusResponse = GetShareStatusResponses[keyof GetShareStatusResponses];
2817
- export type ShareSessionData = {
2901
+ export type GetAuthStatusResponse = GetAuthStatusResponses[keyof GetAuthStatusResponses];
2902
+ export type SetupOttoRouterWalletData = {
2818
2903
  body?: never;
2819
- path: {
2820
- sessionId: string;
2904
+ path?: never;
2905
+ query?: never;
2906
+ url: '/v1/auth/ottorouter/setup';
2907
+ };
2908
+ export type SetupOttoRouterWalletResponses = {
2909
+ /**
2910
+ * OK
2911
+ */
2912
+ 200: {
2913
+ success: boolean;
2914
+ publicKey: string;
2915
+ isNew: boolean;
2821
2916
  };
2822
- query?: {
2823
- /**
2824
- * Project root override (defaults to current working directory).
2825
- */
2826
- project?: string;
2917
+ };
2918
+ export type SetupOttoRouterWalletResponse = SetupOttoRouterWalletResponses[keyof SetupOttoRouterWalletResponses];
2919
+ export type ImportOttoRouterWalletData = {
2920
+ body: {
2921
+ privateKey: string;
2827
2922
  };
2828
- url: '/v1/sessions/{sessionId}/share';
2923
+ path?: never;
2924
+ query?: never;
2925
+ url: '/v1/auth/ottorouter/import';
2829
2926
  };
2830
- export type ShareSessionErrors = {
2927
+ export type ImportOttoRouterWalletErrors = {
2831
2928
  /**
2832
2929
  * Bad Request
2833
2930
  */
2834
2931
  400: {
2835
2932
  error: string;
2836
2933
  };
2934
+ };
2935
+ export type ImportOttoRouterWalletError = ImportOttoRouterWalletErrors[keyof ImportOttoRouterWalletErrors];
2936
+ export type ImportOttoRouterWalletResponses = {
2937
+ /**
2938
+ * OK
2939
+ */
2940
+ 200: {
2941
+ success: boolean;
2942
+ publicKey: string;
2943
+ };
2944
+ };
2945
+ export type ImportOttoRouterWalletResponse = ImportOttoRouterWalletResponses[keyof ImportOttoRouterWalletResponses];
2946
+ export type ExportOttoRouterWalletData = {
2947
+ body?: never;
2948
+ path?: never;
2949
+ query?: never;
2950
+ url: '/v1/auth/ottorouter/export';
2951
+ };
2952
+ export type ExportOttoRouterWalletErrors = {
2837
2953
  /**
2838
2954
  * Bad Request
2839
2955
  */
@@ -2841,33 +2957,116 @@ export type ShareSessionErrors = {
2841
2957
  error: string;
2842
2958
  };
2843
2959
  };
2844
- export type ShareSessionError = ShareSessionErrors[keyof ShareSessionErrors];
2845
- export type ShareSessionResponses = {
2960
+ export type ExportOttoRouterWalletError = ExportOttoRouterWalletErrors[keyof ExportOttoRouterWalletErrors];
2961
+ export type ExportOttoRouterWalletResponses = {
2846
2962
  /**
2847
2963
  * OK
2848
2964
  */
2849
2965
  200: {
2850
- shared: boolean;
2851
- shareId?: string;
2852
- url?: string;
2853
- message?: string;
2966
+ success: boolean;
2967
+ publicKey: string;
2968
+ privateKey: string;
2854
2969
  };
2855
2970
  };
2856
- export type ShareSessionResponse = ShareSessionResponses[keyof ShareSessionResponses];
2857
- export type SyncShareData = {
2971
+ export type ExportOttoRouterWalletResponse = ExportOttoRouterWalletResponses[keyof ExportOttoRouterWalletResponses];
2972
+ export type RemoveProviderData = {
2858
2973
  body?: never;
2859
2974
  path: {
2975
+ provider: string;
2976
+ };
2977
+ query?: never;
2978
+ url: '/v1/auth/{provider}';
2979
+ };
2980
+ export type RemoveProviderErrors = {
2981
+ /**
2982
+ * Bad Request
2983
+ */
2984
+ 400: {
2985
+ error: string;
2986
+ };
2987
+ };
2988
+ export type RemoveProviderError = RemoveProviderErrors[keyof RemoveProviderErrors];
2989
+ export type RemoveProviderResponses = {
2990
+ /**
2991
+ * OK
2992
+ */
2993
+ 200: {
2994
+ success: boolean;
2995
+ provider: string;
2996
+ };
2997
+ };
2998
+ export type RemoveProviderResponse = RemoveProviderResponses[keyof RemoveProviderResponses];
2999
+ export type AddProviderApiKeyData = {
3000
+ body: {
3001
+ apiKey: string;
3002
+ };
3003
+ path: {
3004
+ provider: string;
3005
+ };
3006
+ query?: never;
3007
+ url: '/v1/auth/{provider}';
3008
+ };
3009
+ export type AddProviderApiKeyErrors = {
3010
+ /**
3011
+ * Bad Request
3012
+ */
3013
+ 400: {
3014
+ error: string;
3015
+ };
3016
+ };
3017
+ export type AddProviderApiKeyError = AddProviderApiKeyErrors[keyof AddProviderApiKeyErrors];
3018
+ export type AddProviderApiKeyResponses = {
3019
+ /**
3020
+ * OK
3021
+ */
3022
+ 200: {
3023
+ success: boolean;
3024
+ provider: string;
3025
+ };
3026
+ };
3027
+ export type AddProviderApiKeyResponse = AddProviderApiKeyResponses[keyof AddProviderApiKeyResponses];
3028
+ export type GetOAuthUrlData = {
3029
+ body?: {
3030
+ mode?: 'max' | 'console';
3031
+ };
3032
+ path: {
3033
+ provider: string;
3034
+ };
3035
+ query?: never;
3036
+ url: '/v1/auth/{provider}/oauth/url';
3037
+ };
3038
+ export type GetOAuthUrlErrors = {
3039
+ /**
3040
+ * Bad Request
3041
+ */
3042
+ 400: {
3043
+ error: string;
3044
+ };
3045
+ };
3046
+ export type GetOAuthUrlError = GetOAuthUrlErrors[keyof GetOAuthUrlErrors];
3047
+ export type GetOAuthUrlResponses = {
3048
+ /**
3049
+ * OK
3050
+ */
3051
+ 200: {
3052
+ url: string;
2860
3053
  sessionId: string;
3054
+ provider: string;
2861
3055
  };
2862
- query?: {
2863
- /**
2864
- * Project root override (defaults to current working directory).
2865
- */
2866
- project?: string;
3056
+ };
3057
+ export type GetOAuthUrlResponse = GetOAuthUrlResponses[keyof GetOAuthUrlResponses];
3058
+ export type ExchangeOAuthCodeData = {
3059
+ body: {
3060
+ code: string;
3061
+ sessionId: string;
2867
3062
  };
2868
- url: '/v1/sessions/{sessionId}/share';
3063
+ path: {
3064
+ provider: string;
3065
+ };
3066
+ query?: never;
3067
+ url: '/v1/auth/{provider}/oauth/exchange';
2869
3068
  };
2870
- export type SyncShareErrors = {
3069
+ export type ExchangeOAuthCodeErrors = {
2871
3070
  /**
2872
3071
  * Bad Request
2873
3072
  */
@@ -2875,138 +3074,158 @@ export type SyncShareErrors = {
2875
3074
  error: string;
2876
3075
  };
2877
3076
  };
2878
- export type SyncShareError = SyncShareErrors[keyof SyncShareErrors];
2879
- export type SyncShareResponses = {
3077
+ export type ExchangeOAuthCodeError = ExchangeOAuthCodeErrors[keyof ExchangeOAuthCodeErrors];
3078
+ export type ExchangeOAuthCodeResponses = {
2880
3079
  /**
2881
3080
  * OK
2882
3081
  */
2883
3082
  200: {
2884
- synced: boolean;
2885
- url?: string;
2886
- newMessages?: number;
2887
- message?: string;
3083
+ success: boolean;
3084
+ provider: string;
2888
3085
  };
2889
3086
  };
2890
- export type SyncShareResponse = SyncShareResponses[keyof SyncShareResponses];
2891
- export type ListSharesData = {
3087
+ export type ExchangeOAuthCodeResponse = ExchangeOAuthCodeResponses[keyof ExchangeOAuthCodeResponses];
3088
+ export type StartOAuthData = {
2892
3089
  body?: never;
2893
- path?: never;
3090
+ path: {
3091
+ provider: string;
3092
+ };
2894
3093
  query?: {
2895
- /**
2896
- * Project root override (defaults to current working directory).
2897
- */
2898
- project?: string;
3094
+ mode?: 'max' | 'console';
2899
3095
  };
2900
- url: '/v1/shares';
3096
+ url: '/v1/auth/{provider}/oauth/start';
2901
3097
  };
2902
- export type ListSharesResponses = {
3098
+ export type StartOAuthErrors = {
2903
3099
  /**
2904
- * OK
3100
+ * Bad Request
2905
3101
  */
2906
- 200: {
2907
- shares: Array<{
2908
- sessionId: string;
2909
- shareId: string;
2910
- url: string;
2911
- title?: string | null;
2912
- createdAt: number;
2913
- lastSyncedAt: number;
2914
- }>;
3102
+ 400: {
3103
+ error: string;
2915
3104
  };
2916
3105
  };
2917
- export type ListSharesResponse = ListSharesResponses[keyof ListSharesResponses];
2918
- export type GetSessionFilesData = {
3106
+ export type StartOAuthError = StartOAuthErrors[keyof StartOAuthErrors];
3107
+ export type OauthCallbackData = {
2919
3108
  body?: never;
2920
3109
  path: {
2921
- sessionId: string;
3110
+ provider: string;
2922
3111
  };
2923
3112
  query?: {
2924
- /**
2925
- * Project root override (defaults to current working directory).
2926
- */
2927
- project?: string;
3113
+ code?: string;
3114
+ fragment?: string;
2928
3115
  };
2929
- url: '/v1/sessions/{sessionId}/files';
3116
+ url: '/v1/auth/{provider}/oauth/callback';
2930
3117
  };
2931
- export type GetSessionFilesErrors = {
3118
+ export type OauthCallbackResponses = {
2932
3119
  /**
2933
- * Session not found
3120
+ * HTML response
2934
3121
  */
2935
- 404: {
3122
+ 200: string;
3123
+ };
3124
+ export type OauthCallbackResponse = OauthCallbackResponses[keyof OauthCallbackResponses];
3125
+ export type StartCopilotDeviceFlowData = {
3126
+ body?: never;
3127
+ path?: never;
3128
+ query?: never;
3129
+ url: '/v1/auth/copilot/device/start';
3130
+ };
3131
+ export type StartCopilotDeviceFlowResponses = {
3132
+ /**
3133
+ * OK
3134
+ */
3135
+ 200: {
3136
+ sessionId: string;
3137
+ userCode: string;
3138
+ verificationUri: string;
3139
+ interval: number;
3140
+ };
3141
+ };
3142
+ export type StartCopilotDeviceFlowResponse = StartCopilotDeviceFlowResponses[keyof StartCopilotDeviceFlowResponses];
3143
+ export type PollCopilotDeviceFlowData = {
3144
+ body: {
3145
+ sessionId: string;
3146
+ };
3147
+ path?: never;
3148
+ query?: never;
3149
+ url: '/v1/auth/copilot/device/poll';
3150
+ };
3151
+ export type PollCopilotDeviceFlowErrors = {
3152
+ /**
3153
+ * Bad Request
3154
+ */
3155
+ 400: {
2936
3156
  error: string;
2937
3157
  };
2938
3158
  };
2939
- export type GetSessionFilesError = GetSessionFilesErrors[keyof GetSessionFilesErrors];
2940
- export type GetSessionFilesResponses = {
3159
+ export type PollCopilotDeviceFlowError = PollCopilotDeviceFlowErrors[keyof PollCopilotDeviceFlowErrors];
3160
+ export type PollCopilotDeviceFlowResponses = {
2941
3161
  /**
2942
3162
  * OK
2943
3163
  */
2944
3164
  200: {
2945
- files: Array<{
2946
- path: string;
2947
- operationCount: number;
2948
- firstModified: number;
2949
- lastModified: number;
2950
- operations: Array<{
2951
- path: string;
2952
- operation: 'write' | 'patch' | 'create';
2953
- timestamp: number;
2954
- toolCallId: string;
2955
- toolName: string;
2956
- }>;
2957
- }>;
2958
- totalFiles: number;
2959
- totalOperations: number;
3165
+ status: 'complete' | 'pending' | 'error';
3166
+ error?: string;
2960
3167
  };
2961
3168
  };
2962
- export type GetSessionFilesResponse = GetSessionFilesResponses[keyof GetSessionFilesResponses];
2963
- export type ListSessionsData = {
3169
+ export type PollCopilotDeviceFlowResponse = PollCopilotDeviceFlowResponses[keyof PollCopilotDeviceFlowResponses];
3170
+ export type GetCopilotAuthMethodsData = {
2964
3171
  body?: never;
2965
3172
  path?: never;
2966
- query?: {
2967
- /**
2968
- * Project root override (defaults to current working directory).
2969
- */
2970
- project?: string;
2971
- /**
2972
- * Maximum number of sessions to return
2973
- */
2974
- limit?: number;
2975
- /**
2976
- * Offset for pagination
2977
- */
2978
- offset?: number;
2979
- };
2980
- url: '/v1/sessions';
3173
+ query?: never;
3174
+ url: '/v1/auth/copilot/methods';
2981
3175
  };
2982
- export type ListSessionsResponses = {
3176
+ export type GetCopilotAuthMethodsResponses = {
2983
3177
  /**
2984
3178
  * OK
2985
3179
  */
2986
3180
  200: {
2987
- items: Array<Session>;
2988
- hasMore: boolean;
2989
- nextOffset: number | null;
3181
+ oauth: boolean;
3182
+ token: boolean;
3183
+ ghImport: {
3184
+ available: boolean;
3185
+ authenticated: boolean;
3186
+ reason?: string;
3187
+ };
2990
3188
  };
2991
3189
  };
2992
- export type ListSessionsResponse = ListSessionsResponses[keyof ListSessionsResponses];
2993
- export type CreateSessionData = {
2994
- body?: {
2995
- title?: string | null;
2996
- agent?: string;
2997
- provider?: Provider;
2998
- model?: string;
3190
+ export type GetCopilotAuthMethodsResponse = GetCopilotAuthMethodsResponses[keyof GetCopilotAuthMethodsResponses];
3191
+ export type SaveCopilotTokenData = {
3192
+ body: {
3193
+ token: string;
2999
3194
  };
3000
3195
  path?: never;
3001
- query?: {
3002
- /**
3003
- * Project root override (defaults to current working directory).
3004
- */
3005
- project?: string;
3196
+ query?: never;
3197
+ url: '/v1/auth/copilot/token';
3198
+ };
3199
+ export type SaveCopilotTokenErrors = {
3200
+ /**
3201
+ * Bad Request
3202
+ */
3203
+ 400: {
3204
+ error: string;
3006
3205
  };
3007
- url: '/v1/sessions';
3008
3206
  };
3009
- export type CreateSessionErrors = {
3207
+ export type SaveCopilotTokenError = SaveCopilotTokenErrors[keyof SaveCopilotTokenErrors];
3208
+ export type SaveCopilotTokenResponses = {
3209
+ /**
3210
+ * OK
3211
+ */
3212
+ 200: {
3213
+ success: boolean;
3214
+ provider: string;
3215
+ source: 'token';
3216
+ modelCount: number;
3217
+ hasGpt52Codex: boolean;
3218
+ sampleModels: Array<string>;
3219
+ };
3220
+ };
3221
+ export type SaveCopilotTokenResponse = SaveCopilotTokenResponses[keyof SaveCopilotTokenResponses];
3222
+ export type ImportCopilotTokenFromGhData = {
3223
+ body?: never;
3224
+ path?: never;
3225
+ query?: never;
3226
+ url: '/v1/auth/copilot/gh/import';
3227
+ };
3228
+ export type ImportCopilotTokenFromGhErrors = {
3010
3229
  /**
3011
3230
  * Bad Request
3012
3231
  */
@@ -3014,564 +3233,587 @@ export type CreateSessionErrors = {
3014
3233
  error: string;
3015
3234
  };
3016
3235
  };
3017
- export type CreateSessionError = CreateSessionErrors[keyof CreateSessionErrors];
3018
- export type CreateSessionResponses = {
3236
+ export type ImportCopilotTokenFromGhError = ImportCopilotTokenFromGhErrors[keyof ImportCopilotTokenFromGhErrors];
3237
+ export type ImportCopilotTokenFromGhResponses = {
3019
3238
  /**
3020
- * Created
3239
+ * OK
3021
3240
  */
3022
- 201: Session;
3241
+ 200: {
3242
+ success: boolean;
3243
+ provider: string;
3244
+ source: 'gh';
3245
+ modelCount: number;
3246
+ hasGpt52Codex: boolean;
3247
+ sampleModels: Array<string>;
3248
+ };
3023
3249
  };
3024
- export type CreateSessionResponse = CreateSessionResponses[keyof CreateSessionResponses];
3025
- export type AbortSessionData = {
3250
+ export type ImportCopilotTokenFromGhResponse = ImportCopilotTokenFromGhResponses[keyof ImportCopilotTokenFromGhResponses];
3251
+ export type GetCopilotDiagnosticsData = {
3026
3252
  body?: never;
3027
- path: {
3028
- /**
3029
- * Session ID to abort
3030
- */
3031
- sessionId: string;
3253
+ path?: never;
3254
+ query?: never;
3255
+ url: '/v1/auth/copilot/diagnostics';
3256
+ };
3257
+ export type GetCopilotDiagnosticsResponses = {
3258
+ /**
3259
+ * OK
3260
+ */
3261
+ 200: {
3262
+ tokenSources: Array<{
3263
+ source: 'env' | 'stored';
3264
+ configured: boolean;
3265
+ modelCount?: number;
3266
+ hasGpt52Codex?: boolean;
3267
+ sampleModels?: Array<string>;
3268
+ restrictedByOrgPolicy?: boolean;
3269
+ restrictedOrg?: string;
3270
+ restrictionMessage?: string;
3271
+ error?: string;
3272
+ }>;
3273
+ methods: {
3274
+ oauth: boolean;
3275
+ token: boolean;
3276
+ ghImport: {
3277
+ available: boolean;
3278
+ authenticated: boolean;
3279
+ reason?: string;
3280
+ };
3281
+ };
3282
+ };
3283
+ };
3284
+ export type GetCopilotDiagnosticsResponse = GetCopilotDiagnosticsResponses[keyof GetCopilotDiagnosticsResponses];
3285
+ export type CompleteOnboardingData = {
3286
+ body?: never;
3287
+ path?: never;
3288
+ query?: never;
3289
+ url: '/v1/auth/onboarding/complete';
3290
+ };
3291
+ export type CompleteOnboardingResponses = {
3292
+ /**
3293
+ * OK
3294
+ */
3295
+ 200: {
3296
+ success: boolean;
3297
+ };
3298
+ };
3299
+ export type CompleteOnboardingResponse = CompleteOnboardingResponses[keyof CompleteOnboardingResponses];
3300
+ export type GetTunnelStatusData = {
3301
+ body?: never;
3302
+ path?: never;
3303
+ query?: never;
3304
+ url: '/v1/tunnel/status';
3305
+ };
3306
+ export type GetTunnelStatusResponses = {
3307
+ /**
3308
+ * OK
3309
+ */
3310
+ 200: {
3311
+ status: 'idle' | 'starting' | 'connected' | 'error';
3312
+ url?: string | null;
3313
+ error?: string | null;
3314
+ binaryInstalled: boolean;
3315
+ isRunning: boolean;
3316
+ };
3317
+ };
3318
+ export type GetTunnelStatusResponse = GetTunnelStatusResponses[keyof GetTunnelStatusResponses];
3319
+ export type StartTunnelData = {
3320
+ body?: {
3321
+ port?: number;
3032
3322
  };
3323
+ path?: never;
3033
3324
  query?: never;
3034
- url: '/v1/sessions/{sessionId}/abort';
3325
+ url: '/v1/tunnel/start';
3035
3326
  };
3036
- export type AbortSessionResponses = {
3327
+ export type StartTunnelResponses = {
3037
3328
  /**
3038
3329
  * OK
3039
3330
  */
3040
3331
  200: {
3041
- success: boolean;
3332
+ ok: boolean;
3333
+ url?: string;
3334
+ message?: string;
3335
+ error?: string;
3042
3336
  };
3043
3337
  };
3044
- export type AbortSessionResponse = AbortSessionResponses[keyof AbortSessionResponses];
3045
- export type GetOttoRouterBalanceData = {
3046
- body?: never;
3338
+ export type StartTunnelResponse = StartTunnelResponses[keyof StartTunnelResponses];
3339
+ export type RegisterTunnelData = {
3340
+ body: {
3341
+ url: string;
3342
+ };
3047
3343
  path?: never;
3048
3344
  query?: never;
3049
- url: '/v1/ottorouter/balance';
3345
+ url: '/v1/tunnel/register';
3050
3346
  };
3051
- export type GetOttoRouterBalanceErrors = {
3052
- /**
3053
- * Wallet not configured
3054
- */
3055
- 401: {
3056
- error: string;
3057
- };
3347
+ export type RegisterTunnelErrors = {
3058
3348
  /**
3059
- * Failed to fetch balance from OttoRouter
3349
+ * Bad Request
3060
3350
  */
3061
- 502: {
3351
+ 400: {
3062
3352
  error: string;
3063
3353
  };
3064
3354
  };
3065
- export type GetOttoRouterBalanceError = GetOttoRouterBalanceErrors[keyof GetOttoRouterBalanceErrors];
3066
- export type GetOttoRouterBalanceResponses = {
3355
+ export type RegisterTunnelError = RegisterTunnelErrors[keyof RegisterTunnelErrors];
3356
+ export type RegisterTunnelResponses = {
3067
3357
  /**
3068
3358
  * OK
3069
3359
  */
3070
3360
  200: {
3071
- walletAddress: string;
3072
- balance: number;
3073
- totalSpent: number;
3074
- totalTopups: number;
3075
- requestCount: number;
3076
- scope?: 'wallet' | 'account';
3077
- payg?: {
3078
- walletBalanceUsd?: number;
3079
- accountBalanceUsd?: number;
3080
- rawPoolUsd?: number;
3081
- effectiveSpendableUsd?: number;
3082
- };
3083
- limits?: {
3084
- enabled?: boolean;
3085
- dailyLimitUsd?: number | null;
3086
- dailySpentUsd?: number;
3087
- dailyRemainingUsd?: number | null;
3088
- monthlyLimitUsd?: number | null;
3089
- monthlySpentUsd?: number;
3090
- monthlyRemainingUsd?: number | null;
3091
- capRemainingUsd?: number | null;
3092
- } | null;
3093
- subscription?: {
3094
- active?: boolean;
3095
- tierId?: string;
3096
- tierName?: string;
3097
- creditsIncluded?: number;
3098
- creditsUsed?: number;
3099
- creditsRemaining?: number;
3100
- periodStart?: string;
3101
- periodEnd?: string;
3102
- } | null;
3361
+ ok: boolean;
3362
+ url?: string;
3363
+ message?: string;
3103
3364
  };
3104
3365
  };
3105
- export type GetOttoRouterBalanceResponse = GetOttoRouterBalanceResponses[keyof GetOttoRouterBalanceResponses];
3106
- export type GetOttoRouterWalletData = {
3366
+ export type RegisterTunnelResponse = RegisterTunnelResponses[keyof RegisterTunnelResponses];
3367
+ export type StopTunnelData = {
3107
3368
  body?: never;
3108
3369
  path?: never;
3109
3370
  query?: never;
3110
- url: '/v1/ottorouter/wallet';
3371
+ url: '/v1/tunnel/stop';
3111
3372
  };
3112
- export type GetOttoRouterWalletResponses = {
3373
+ export type StopTunnelResponses = {
3113
3374
  /**
3114
3375
  * OK
3115
3376
  */
3116
3377
  200: {
3117
- configured: boolean;
3118
- publicKey?: string;
3119
- error?: string;
3378
+ ok: boolean;
3379
+ message?: string;
3120
3380
  };
3121
3381
  };
3122
- export type GetOttoRouterWalletResponse = GetOttoRouterWalletResponses[keyof GetOttoRouterWalletResponses];
3123
- export type GetOttoRouterUsdcBalanceData = {
3382
+ export type StopTunnelResponse = StopTunnelResponses[keyof StopTunnelResponses];
3383
+ export type GetTunnelQrData = {
3124
3384
  body?: never;
3125
3385
  path?: never;
3126
- query?: {
3127
- /**
3128
- * Solana network to query
3129
- */
3130
- network?: 'mainnet' | 'devnet';
3131
- };
3132
- url: '/v1/ottorouter/usdc-balance';
3386
+ query?: never;
3387
+ url: '/v1/tunnel/qr';
3133
3388
  };
3134
- export type GetOttoRouterUsdcBalanceErrors = {
3135
- /**
3136
- * Wallet not configured
3137
- */
3138
- 401: {
3139
- error: string;
3140
- };
3389
+ export type GetTunnelQrErrors = {
3141
3390
  /**
3142
- * Failed to fetch USDC balance from Solana
3391
+ * Bad Request
3143
3392
  */
3144
- 502: {
3393
+ 400: {
3145
3394
  error: string;
3146
3395
  };
3147
3396
  };
3148
- export type GetOttoRouterUsdcBalanceError = GetOttoRouterUsdcBalanceErrors[keyof GetOttoRouterUsdcBalanceErrors];
3149
- export type GetOttoRouterUsdcBalanceResponses = {
3397
+ export type GetTunnelQrError = GetTunnelQrErrors[keyof GetTunnelQrErrors];
3398
+ export type GetTunnelQrResponses = {
3150
3399
  /**
3151
3400
  * OK
3152
3401
  */
3153
3402
  200: {
3154
- walletAddress: string;
3155
- usdcBalance: number;
3156
- network: 'mainnet' | 'devnet';
3403
+ ok: boolean;
3404
+ url?: string;
3405
+ qrCode?: string;
3157
3406
  };
3158
3407
  };
3159
- export type GetOttoRouterUsdcBalanceResponse = GetOttoRouterUsdcBalanceResponses[keyof GetOttoRouterUsdcBalanceResponses];
3160
- export type CreatePolarCheckoutData = {
3161
- body: {
3162
- amount: number;
3163
- successUrl: string;
3164
- };
3408
+ export type GetTunnelQrResponse = GetTunnelQrResponses[keyof GetTunnelQrResponses];
3409
+ export type SubscribeTunnelStreamData = {
3410
+ body?: never;
3165
3411
  path?: never;
3166
3412
  query?: never;
3167
- url: '/v1/ottorouter/topup/polar';
3168
- };
3169
- export type CreatePolarCheckoutErrors = {
3170
- /**
3171
- * Wallet not configured
3172
- */
3173
- 401: {
3174
- error: string;
3175
- };
3413
+ url: '/v1/tunnel/stream';
3176
3414
  };
3177
- export type CreatePolarCheckoutError = CreatePolarCheckoutErrors[keyof CreatePolarCheckoutErrors];
3178
- export type CreatePolarCheckoutResponses = {
3415
+ export type SubscribeTunnelStreamResponses = {
3179
3416
  /**
3180
- * OK
3417
+ * SSE stream of tunnel status updates
3181
3418
  */
3182
- 200: {
3183
- [key: string]: unknown;
3184
- };
3419
+ 200: string;
3185
3420
  };
3186
- export type CreatePolarCheckoutResponse = CreatePolarCheckoutResponses[keyof CreatePolarCheckoutResponses];
3187
- export type SelectTopupMethodData = {
3188
- body: {
3189
- sessionId: string;
3190
- method: 'crypto' | 'fiat';
3191
- };
3421
+ export type SubscribeTunnelStreamResponse = SubscribeTunnelStreamResponses[keyof SubscribeTunnelStreamResponses];
3422
+ export type SubscribeTunnelStreamPostData = {
3423
+ body?: never;
3192
3424
  path?: never;
3193
3425
  query?: never;
3194
- url: '/v1/ottorouter/topup/select';
3426
+ url: '/v1/tunnel/stream';
3195
3427
  };
3196
- export type SelectTopupMethodErrors = {
3428
+ export type SubscribeTunnelStreamPostResponses = {
3197
3429
  /**
3198
- * No pending topup
3430
+ * SSE stream of tunnel status updates
3199
3431
  */
3200
- 404: {
3201
- error: string;
3202
- };
3432
+ 200: string;
3203
3433
  };
3204
- export type SelectTopupMethodError = SelectTopupMethodErrors[keyof SelectTopupMethodErrors];
3205
- export type SelectTopupMethodResponses = {
3434
+ export type SubscribeTunnelStreamPostResponse = SubscribeTunnelStreamPostResponses[keyof SubscribeTunnelStreamPostResponses];
3435
+ export type ListMcpServersData = {
3436
+ body?: never;
3437
+ path?: never;
3438
+ query?: never;
3439
+ url: '/v1/mcp/servers';
3440
+ };
3441
+ export type ListMcpServersResponses = {
3206
3442
  /**
3207
3443
  * OK
3208
3444
  */
3209
3445
  200: {
3210
- success: boolean;
3211
- method: string;
3446
+ servers: Array<McpServer>;
3212
3447
  };
3213
3448
  };
3214
- export type SelectTopupMethodResponse = SelectTopupMethodResponses[keyof SelectTopupMethodResponses];
3215
- export type CancelTopupData = {
3449
+ export type ListMcpServersResponse = ListMcpServersResponses[keyof ListMcpServersResponses];
3450
+ export type AddMcpServerData = {
3216
3451
  body: {
3217
- sessionId: string;
3218
- reason?: string;
3452
+ name: string;
3453
+ transport?: 'stdio' | 'http' | 'sse';
3454
+ command?: string;
3455
+ args?: Array<string>;
3456
+ env?: {
3457
+ [key: string]: string;
3458
+ };
3459
+ url?: string;
3460
+ headers?: {
3461
+ [key: string]: string;
3462
+ };
3463
+ oauth?: {
3464
+ [key: string]: unknown;
3465
+ };
3466
+ scope?: 'global' | 'project';
3219
3467
  };
3220
3468
  path?: never;
3221
3469
  query?: never;
3222
- url: '/v1/ottorouter/topup/cancel';
3470
+ url: '/v1/mcp/servers';
3223
3471
  };
3224
- export type CancelTopupErrors = {
3472
+ export type AddMcpServerErrors = {
3225
3473
  /**
3226
- * No pending topup
3474
+ * Bad Request
3227
3475
  */
3228
- 404: {
3476
+ 400: {
3229
3477
  error: string;
3230
3478
  };
3231
3479
  };
3232
- export type CancelTopupError = CancelTopupErrors[keyof CancelTopupErrors];
3233
- export type CancelTopupResponses = {
3234
- /**
3235
- * OK
3236
- */
3237
- 200: {
3238
- success: boolean;
3239
- };
3240
- };
3241
- export type CancelTopupResponse = CancelTopupResponses[keyof CancelTopupResponses];
3242
- export type GetPendingTopupData = {
3243
- body?: never;
3244
- path?: never;
3245
- query: {
3246
- sessionId: string;
3247
- };
3248
- url: '/v1/ottorouter/topup/pending';
3249
- };
3250
- export type GetPendingTopupResponses = {
3480
+ export type AddMcpServerError = AddMcpServerErrors[keyof AddMcpServerErrors];
3481
+ export type AddMcpServerResponses = {
3251
3482
  /**
3252
3483
  * OK
3253
3484
  */
3254
3485
  200: {
3255
- hasPending: boolean;
3256
- sessionId?: string;
3257
- messageId?: string;
3258
- amountUsd?: number;
3259
- currentBalance?: number;
3260
- createdAt?: number;
3486
+ ok: boolean;
3487
+ error?: string;
3261
3488
  };
3262
3489
  };
3263
- export type GetPendingTopupResponse = GetPendingTopupResponses[keyof GetPendingTopupResponses];
3264
- export type GetPolarTopupEstimateData = {
3490
+ export type AddMcpServerResponse = AddMcpServerResponses[keyof AddMcpServerResponses];
3491
+ export type RemoveMcpServerData = {
3265
3492
  body?: never;
3266
- path?: never;
3267
- query: {
3493
+ path: {
3268
3494
  /**
3269
- * Amount in USD
3495
+ * MCP server name
3270
3496
  */
3271
- amount: number;
3272
- };
3273
- url: '/v1/ottorouter/topup/polar/estimate';
3274
- };
3275
- export type GetPolarTopupEstimateResponses = {
3276
- /**
3277
- * OK
3278
- */
3279
- 200: {
3280
- creditAmount?: number;
3281
- chargeAmount?: number;
3282
- feeAmount?: number;
3283
- feeBreakdown?: {
3284
- basePercent?: number;
3285
- internationalPercent?: number;
3286
- fixedCents?: number;
3287
- };
3497
+ name: string;
3288
3498
  };
3499
+ query?: never;
3500
+ url: '/v1/mcp/servers/{name}';
3289
3501
  };
3290
- export type GetPolarTopupEstimateResponse = GetPolarTopupEstimateResponses[keyof GetPolarTopupEstimateResponses];
3291
- export type GetPolarTopupStatusData = {
3292
- body?: never;
3293
- path?: never;
3294
- query: {
3295
- checkoutId: string;
3502
+ export type RemoveMcpServerErrors = {
3503
+ /**
3504
+ * Bad Request
3505
+ */
3506
+ 404: {
3507
+ error: string;
3296
3508
  };
3297
- url: '/v1/ottorouter/topup/polar/status';
3298
3509
  };
3299
- export type GetPolarTopupStatusResponses = {
3510
+ export type RemoveMcpServerError = RemoveMcpServerErrors[keyof RemoveMcpServerErrors];
3511
+ export type RemoveMcpServerResponses = {
3300
3512
  /**
3301
3513
  * OK
3302
3514
  */
3303
3515
  200: {
3304
- checkoutId?: string;
3305
- confirmed?: boolean;
3306
- amountUsd?: number | null;
3307
- confirmedAt?: string | null;
3516
+ ok: boolean;
3517
+ error?: string;
3308
3518
  };
3309
3519
  };
3310
- export type GetPolarTopupStatusResponse = GetPolarTopupStatusResponses[keyof GetPolarTopupStatusResponses];
3311
- export type GetRazorpayTopupEstimateData = {
3520
+ export type RemoveMcpServerResponse = RemoveMcpServerResponses[keyof RemoveMcpServerResponses];
3521
+ export type StartMcpServerData = {
3312
3522
  body?: never;
3313
- path?: never;
3314
- query: {
3523
+ path: {
3315
3524
  /**
3316
- * Amount in USD
3525
+ * MCP server name
3317
3526
  */
3318
- amount: number;
3527
+ name: string;
3319
3528
  };
3320
- url: '/v1/ottorouter/topup/razorpay/estimate';
3529
+ query?: never;
3530
+ url: '/v1/mcp/servers/{name}/start';
3321
3531
  };
3322
- export type GetRazorpayTopupEstimateResponses = {
3532
+ export type StartMcpServerErrors = {
3533
+ /**
3534
+ * Bad Request
3535
+ */
3536
+ 404: {
3537
+ error: string;
3538
+ };
3539
+ };
3540
+ export type StartMcpServerError = StartMcpServerErrors[keyof StartMcpServerErrors];
3541
+ export type StartMcpServerResponses = {
3323
3542
  /**
3324
3543
  * OK
3325
3544
  */
3326
3545
  200: {
3327
- creditAmountUsd?: number;
3328
- chargeAmountInr?: number;
3329
- feeAmountInr?: number;
3330
- currency?: string;
3331
- exchangeRate?: number;
3546
+ ok: boolean;
3547
+ name?: string;
3548
+ connected?: boolean;
3549
+ tools?: Array<{
3550
+ name?: string;
3551
+ description?: string;
3552
+ }>;
3553
+ authRequired?: boolean;
3554
+ authType?: string;
3555
+ sessionId?: string;
3556
+ userCode?: string;
3557
+ verificationUri?: string;
3558
+ interval?: number;
3559
+ authUrl?: string;
3560
+ error?: string;
3332
3561
  };
3333
3562
  };
3334
- export type GetRazorpayTopupEstimateResponse = GetRazorpayTopupEstimateResponses[keyof GetRazorpayTopupEstimateResponses];
3335
- export type CreateRazorpayOrderData = {
3336
- body: {
3337
- amount: number;
3563
+ export type StartMcpServerResponse = StartMcpServerResponses[keyof StartMcpServerResponses];
3564
+ export type StopMcpServerData = {
3565
+ body?: never;
3566
+ path: {
3567
+ /**
3568
+ * MCP server name
3569
+ */
3570
+ name: string;
3338
3571
  };
3339
- path?: never;
3340
3572
  query?: never;
3341
- url: '/v1/ottorouter/topup/razorpay';
3573
+ url: '/v1/mcp/servers/{name}/stop';
3342
3574
  };
3343
- export type CreateRazorpayOrderErrors = {
3575
+ export type StopMcpServerErrors = {
3344
3576
  /**
3345
- * Wallet not configured
3577
+ * Bad Request
3346
3578
  */
3347
- 401: {
3579
+ 400: {
3348
3580
  error: string;
3349
3581
  };
3350
3582
  };
3351
- export type CreateRazorpayOrderError = CreateRazorpayOrderErrors[keyof CreateRazorpayOrderErrors];
3352
- export type CreateRazorpayOrderResponses = {
3583
+ export type StopMcpServerError = StopMcpServerErrors[keyof StopMcpServerErrors];
3584
+ export type StopMcpServerResponses = {
3353
3585
  /**
3354
3586
  * OK
3355
3587
  */
3356
3588
  200: {
3357
- success?: boolean;
3358
- orderId?: string;
3359
- amount?: number;
3360
- currency?: string;
3361
- creditAmountUsd?: number;
3362
- keyId?: string;
3589
+ ok: boolean;
3590
+ error?: string;
3363
3591
  };
3364
3592
  };
3365
- export type CreateRazorpayOrderResponse = CreateRazorpayOrderResponses[keyof CreateRazorpayOrderResponses];
3366
- export type VerifyRazorpayPaymentData = {
3367
- body: {
3368
- razorpay_order_id: string;
3369
- razorpay_payment_id: string;
3370
- razorpay_signature: string;
3593
+ export type StopMcpServerResponse = StopMcpServerResponses[keyof StopMcpServerResponses];
3594
+ export type RevokeMcpAuthData = {
3595
+ body?: never;
3596
+ path: {
3597
+ /**
3598
+ * MCP server name
3599
+ */
3600
+ name: string;
3371
3601
  };
3372
- path?: never;
3373
3602
  query?: never;
3374
- url: '/v1/ottorouter/topup/razorpay/verify';
3603
+ url: '/v1/mcp/servers/{name}/auth';
3375
3604
  };
3376
- export type VerifyRazorpayPaymentErrors = {
3605
+ export type RevokeMcpAuthErrors = {
3377
3606
  /**
3378
- * Wallet not configured
3607
+ * Bad Request
3379
3608
  */
3380
- 401: {
3609
+ 400: {
3381
3610
  error: string;
3382
3611
  };
3383
3612
  };
3384
- export type VerifyRazorpayPaymentError = VerifyRazorpayPaymentErrors[keyof VerifyRazorpayPaymentErrors];
3385
- export type VerifyRazorpayPaymentResponses = {
3613
+ export type RevokeMcpAuthError = RevokeMcpAuthErrors[keyof RevokeMcpAuthErrors];
3614
+ export type RevokeMcpAuthResponses = {
3386
3615
  /**
3387
3616
  * OK
3388
3617
  */
3389
3618
  200: {
3390
- success?: boolean;
3391
- credited?: number;
3392
- newBalance?: number;
3619
+ ok: boolean;
3620
+ error?: string;
3393
3621
  };
3394
3622
  };
3395
- export type VerifyRazorpayPaymentResponse = VerifyRazorpayPaymentResponses[keyof VerifyRazorpayPaymentResponses];
3396
- export type GetSkillsConfigData = {
3623
+ export type RevokeMcpAuthResponse = RevokeMcpAuthResponses[keyof RevokeMcpAuthResponses];
3624
+ export type InitiateMcpAuthData = {
3397
3625
  body?: never;
3398
- path?: never;
3399
- query?: {
3626
+ path: {
3400
3627
  /**
3401
- * Project root override (defaults to current working directory).
3628
+ * MCP server name
3402
3629
  */
3403
- project?: string;
3630
+ name: string;
3404
3631
  };
3405
- url: '/v1/config/skills';
3632
+ query?: never;
3633
+ url: '/v1/mcp/servers/{name}/auth';
3406
3634
  };
3407
- export type GetSkillsConfigErrors = {
3635
+ export type InitiateMcpAuthErrors = {
3408
3636
  /**
3409
3637
  * Bad Request
3410
3638
  */
3411
- 500: {
3639
+ 404: {
3412
3640
  error: string;
3413
3641
  };
3414
3642
  };
3415
- export type GetSkillsConfigError = GetSkillsConfigErrors[keyof GetSkillsConfigErrors];
3416
- export type GetSkillsConfigResponses = {
3643
+ export type InitiateMcpAuthError = InitiateMcpAuthErrors[keyof InitiateMcpAuthErrors];
3644
+ export type InitiateMcpAuthResponses = {
3417
3645
  /**
3418
3646
  * OK
3419
3647
  */
3420
3648
  200: {
3421
- enabled: boolean;
3422
- totalCount: number;
3423
- enabledCount: number;
3424
- items: Array<{
3425
- name: string;
3426
- description: string;
3427
- scope: string;
3428
- path: string;
3429
- enabled: boolean;
3430
- }>;
3649
+ ok: boolean;
3650
+ name?: string;
3651
+ authUrl?: string;
3652
+ authType?: string;
3653
+ authenticated?: boolean;
3654
+ sessionId?: string;
3655
+ userCode?: string;
3656
+ verificationUri?: string;
3657
+ interval?: number;
3658
+ message?: string;
3659
+ error?: string;
3431
3660
  };
3432
3661
  };
3433
- export type GetSkillsConfigResponse = GetSkillsConfigResponses[keyof GetSkillsConfigResponses];
3434
- export type UpdateSkillsConfigData = {
3662
+ export type InitiateMcpAuthResponse = InitiateMcpAuthResponses[keyof InitiateMcpAuthResponses];
3663
+ export type CompleteMcpAuthData = {
3435
3664
  body: {
3436
- enabled?: boolean;
3437
- items?: {
3438
- [key: string]: {
3439
- enabled?: boolean;
3440
- };
3441
- };
3665
+ code?: string;
3666
+ sessionId?: string;
3442
3667
  };
3443
- path?: never;
3444
- query?: {
3668
+ path: {
3445
3669
  /**
3446
- * Project root override (defaults to current working directory).
3670
+ * MCP server name
3447
3671
  */
3448
- project?: string;
3672
+ name: string;
3449
3673
  };
3450
- url: '/v1/config/skills';
3674
+ query?: never;
3675
+ url: '/v1/mcp/servers/{name}/auth/callback';
3451
3676
  };
3452
- export type UpdateSkillsConfigErrors = {
3677
+ export type CompleteMcpAuthErrors = {
3453
3678
  /**
3454
3679
  * Bad Request
3455
3680
  */
3456
- 500: {
3681
+ 400: {
3457
3682
  error: string;
3458
3683
  };
3459
3684
  };
3460
- export type UpdateSkillsConfigError = UpdateSkillsConfigErrors[keyof UpdateSkillsConfigErrors];
3461
- export type UpdateSkillsConfigResponses = {
3685
+ export type CompleteMcpAuthError = CompleteMcpAuthErrors[keyof CompleteMcpAuthErrors];
3686
+ export type CompleteMcpAuthResponses = {
3462
3687
  /**
3463
3688
  * OK
3464
3689
  */
3465
3690
  200: {
3466
- success: boolean;
3467
- enabled: boolean;
3468
- totalCount: number;
3469
- enabledCount: number;
3470
- items: Array<{
3471
- name: string;
3472
- description: string;
3473
- scope: string;
3474
- path: string;
3475
- enabled: boolean;
3691
+ ok: boolean;
3692
+ status?: 'complete' | 'pending' | 'error';
3693
+ name?: string;
3694
+ connected?: boolean;
3695
+ tools?: Array<{
3696
+ name?: string;
3697
+ description?: string;
3476
3698
  }>;
3699
+ error?: string;
3477
3700
  };
3478
3701
  };
3479
- export type UpdateSkillsConfigResponse = UpdateSkillsConfigResponses[keyof UpdateSkillsConfigResponses];
3480
- export type ListSkillsData = {
3702
+ export type CompleteMcpAuthResponse = CompleteMcpAuthResponses[keyof CompleteMcpAuthResponses];
3703
+ export type GetMcpAuthStatusData = {
3481
3704
  body?: never;
3482
- path?: never;
3483
- query?: {
3705
+ path: {
3484
3706
  /**
3485
- * Project root override (defaults to current working directory).
3707
+ * MCP server name
3486
3708
  */
3487
- project?: string;
3709
+ name: string;
3710
+ };
3711
+ query?: never;
3712
+ url: '/v1/mcp/servers/{name}/auth/status';
3713
+ };
3714
+ export type GetMcpAuthStatusResponses = {
3715
+ /**
3716
+ * OK
3717
+ */
3718
+ 200: {
3719
+ authenticated: boolean;
3720
+ authType?: string;
3721
+ };
3722
+ };
3723
+ export type GetMcpAuthStatusResponse = GetMcpAuthStatusResponses[keyof GetMcpAuthStatusResponses];
3724
+ export type TestMcpServerData = {
3725
+ body?: never;
3726
+ path: {
3727
+ /**
3728
+ * MCP server name
3729
+ */
3730
+ name: string;
3488
3731
  };
3489
- url: '/v1/skills';
3732
+ query?: never;
3733
+ url: '/v1/mcp/servers/{name}/test';
3490
3734
  };
3491
- export type ListSkillsErrors = {
3735
+ export type TestMcpServerErrors = {
3492
3736
  /**
3493
3737
  * Bad Request
3494
3738
  */
3495
- 500: {
3739
+ 404: {
3496
3740
  error: string;
3497
3741
  };
3498
3742
  };
3499
- export type ListSkillsError = ListSkillsErrors[keyof ListSkillsErrors];
3500
- export type ListSkillsResponses = {
3743
+ export type TestMcpServerError = TestMcpServerErrors[keyof TestMcpServerErrors];
3744
+ export type TestMcpServerResponses = {
3501
3745
  /**
3502
3746
  * OK
3503
3747
  */
3504
3748
  200: {
3505
- skills: Array<{
3506
- name: string;
3507
- description: string;
3508
- scope: string;
3509
- path: string;
3749
+ ok: boolean;
3750
+ name?: string;
3751
+ tools?: Array<{
3752
+ name?: string;
3753
+ description?: string;
3510
3754
  }>;
3755
+ error?: string;
3511
3756
  };
3512
3757
  };
3513
- export type ListSkillsResponse = ListSkillsResponses[keyof ListSkillsResponses];
3514
- export type GetSkillData = {
3758
+ export type TestMcpServerResponse = TestMcpServerResponses[keyof TestMcpServerResponses];
3759
+ export type GetProviderUsageData = {
3515
3760
  body?: never;
3516
3761
  path: {
3517
- name: string;
3518
- };
3519
- query?: {
3520
- /**
3521
- * Project root override (defaults to current working directory).
3522
- */
3523
- project?: string;
3762
+ provider: 'anthropic' | 'openai';
3524
3763
  };
3525
- url: '/v1/skills/{name}';
3764
+ query?: never;
3765
+ url: '/v1/provider-usage/{provider}';
3526
3766
  };
3527
- export type GetSkillErrors = {
3767
+ export type GetProviderUsageErrors = {
3528
3768
  /**
3529
3769
  * Bad Request
3530
3770
  */
3531
- 404: {
3771
+ 400: {
3532
3772
  error: string;
3533
3773
  };
3534
3774
  /**
3535
3775
  * Bad Request
3536
3776
  */
3537
- 500: {
3777
+ 404: {
3538
3778
  error: string;
3539
3779
  };
3540
3780
  };
3541
- export type GetSkillError = GetSkillErrors[keyof GetSkillErrors];
3542
- export type GetSkillResponses = {
3781
+ export type GetProviderUsageError = GetProviderUsageErrors[keyof GetProviderUsageErrors];
3782
+ export type GetProviderUsageResponses = {
3543
3783
  /**
3544
3784
  * OK
3545
3785
  */
3546
3786
  200: {
3547
- name: string;
3548
- description: string;
3549
- license?: string | null;
3550
- compatibility?: string | null;
3551
- metadata?: {
3552
- [key: string]: unknown;
3787
+ provider: string;
3788
+ primaryWindow?: {
3789
+ usedPercent?: number;
3790
+ windowSeconds?: number;
3791
+ resetsAt?: string | null;
3792
+ resetAfterSeconds?: number;
3553
3793
  } | null;
3554
- allowedTools?: Array<string> | null;
3555
- path: string;
3556
- scope: string;
3557
- content: string;
3794
+ secondaryWindow?: {
3795
+ usedPercent?: number;
3796
+ windowSeconds?: number;
3797
+ resetsAt?: string | null;
3798
+ resetAfterSeconds?: number;
3799
+ } | null;
3800
+ limitReached: boolean;
3801
+ planType?: string | null;
3558
3802
  };
3559
3803
  };
3560
- export type GetSkillResponse = GetSkillResponses[keyof GetSkillResponses];
3561
- export type ListSkillFilesData = {
3804
+ export type GetProviderUsageResponse = GetProviderUsageResponses[keyof GetProviderUsageResponses];
3805
+ export type RunDoctorData = {
3562
3806
  body?: never;
3563
- path: {
3564
- name: string;
3565
- };
3807
+ path?: never;
3566
3808
  query?: {
3567
3809
  /**
3568
3810
  * Project root override (defaults to current working directory).
3569
3811
  */
3570
3812
  project?: string;
3571
3813
  };
3572
- url: '/v1/skills/{name}/files';
3814
+ url: '/v1/doctor';
3573
3815
  };
3574
- export type ListSkillFilesErrors = {
3816
+ export type RunDoctorErrors = {
3575
3817
  /**
3576
3818
  * Bad Request
3577
3819
  */
@@ -3579,40 +3821,62 @@ export type ListSkillFilesErrors = {
3579
3821
  error: string;
3580
3822
  };
3581
3823
  };
3582
- export type ListSkillFilesError = ListSkillFilesErrors[keyof ListSkillFilesErrors];
3583
- export type ListSkillFilesResponses = {
3824
+ export type RunDoctorError = RunDoctorErrors[keyof RunDoctorErrors];
3825
+ export type RunDoctorResponses = {
3584
3826
  /**
3585
3827
  * OK
3586
3828
  */
3587
3829
  200: {
3588
- files: Array<{
3589
- relativePath: string;
3590
- size: number;
3830
+ providers: Array<{
3831
+ id: string;
3832
+ ok: boolean;
3833
+ configured: boolean;
3834
+ sources: Array<string>;
3591
3835
  }>;
3836
+ defaults: {
3837
+ agent: string;
3838
+ provider: string;
3839
+ model: string;
3840
+ providerAuthorized: boolean;
3841
+ };
3842
+ agents: {
3843
+ globalPath: string | null;
3844
+ localPath: string | null;
3845
+ globalNames: Array<string>;
3846
+ localNames: Array<string>;
3847
+ };
3848
+ tools: {
3849
+ defaultNames: Array<string>;
3850
+ globalPath?: string | null;
3851
+ globalNames: Array<string>;
3852
+ localPath?: string | null;
3853
+ localNames: Array<string>;
3854
+ effectiveNames: Array<string>;
3855
+ };
3856
+ commands: {
3857
+ globalPath?: string | null;
3858
+ globalNames: Array<string>;
3859
+ localPath?: string | null;
3860
+ localNames: Array<string>;
3861
+ };
3862
+ issues: Array<string>;
3863
+ suggestions: Array<string>;
3864
+ globalAuthPath?: string | null;
3592
3865
  };
3593
3866
  };
3594
- export type ListSkillFilesResponse = ListSkillFilesResponses[keyof ListSkillFilesResponses];
3595
- export type GetSkillFileData = {
3867
+ export type RunDoctorResponse = RunDoctorResponses[keyof RunDoctorResponses];
3868
+ export type ListSkillsData = {
3596
3869
  body?: never;
3597
- path: {
3598
- name: string;
3599
- filePath: string;
3600
- };
3870
+ path?: never;
3601
3871
  query?: {
3602
3872
  /**
3603
3873
  * Project root override (defaults to current working directory).
3604
3874
  */
3605
3875
  project?: string;
3606
3876
  };
3607
- url: '/v1/skills/{name}/files/{filePath}';
3877
+ url: '/v1/skills';
3608
3878
  };
3609
- export type GetSkillFileErrors = {
3610
- /**
3611
- * Bad Request
3612
- */
3613
- 404: {
3614
- error: string;
3615
- };
3879
+ export type ListSkillsErrors = {
3616
3880
  /**
3617
3881
  * Bad Request
3618
3882
  */
@@ -3620,315 +3884,262 @@ export type GetSkillFileErrors = {
3620
3884
  error: string;
3621
3885
  };
3622
3886
  };
3623
- export type GetSkillFileError = GetSkillFileErrors[keyof GetSkillFileErrors];
3624
- export type GetSkillFileResponses = {
3625
- /**
3626
- * OK
3627
- */
3628
- 200: {
3629
- content: string;
3630
- path: string;
3631
- };
3632
- };
3633
- export type GetSkillFileResponse = GetSkillFileResponses[keyof GetSkillFileResponses];
3634
- export type ValidateSkillData = {
3635
- body: {
3636
- content: string;
3637
- path?: string;
3638
- };
3639
- path?: never;
3640
- query?: never;
3641
- url: '/v1/skills/validate';
3642
- };
3643
- export type ValidateSkillResponses = {
3644
- /**
3645
- * OK
3646
- */
3647
- 200: {
3648
- valid: boolean;
3649
- name?: string;
3650
- description?: string;
3651
- license?: string | null;
3652
- error?: string;
3653
- };
3654
- };
3655
- export type ValidateSkillResponse = ValidateSkillResponses[keyof ValidateSkillResponses];
3656
- export type ValidateSkillNameData = {
3657
- body?: never;
3658
- path: {
3659
- name: string;
3660
- };
3661
- query?: never;
3662
- url: '/v1/skills/validate-name/{name}';
3663
- };
3664
- export type ValidateSkillNameResponses = {
3887
+ export type ListSkillsError = ListSkillsErrors[keyof ListSkillsErrors];
3888
+ export type ListSkillsResponses = {
3665
3889
  /**
3666
3890
  * OK
3667
3891
  */
3668
3892
  200: {
3669
- valid: boolean;
3893
+ skills: Array<{
3894
+ name: string;
3895
+ description: string;
3896
+ scope: string;
3897
+ path: string;
3898
+ }>;
3670
3899
  };
3671
3900
  };
3672
- export type ValidateSkillNameResponse = ValidateSkillNameResponses[keyof ValidateSkillNameResponses];
3673
- export type SubscribeSessionStreamData = {
3901
+ export type ListSkillsResponse = ListSkillsResponses[keyof ListSkillsResponses];
3902
+ export type GetSkillsConfigData = {
3674
3903
  body?: never;
3675
- path: {
3676
- id: string;
3677
- };
3904
+ path?: never;
3678
3905
  query?: {
3679
3906
  /**
3680
3907
  * Project root override (defaults to current working directory).
3681
3908
  */
3682
3909
  project?: string;
3683
3910
  };
3684
- url: '/v1/sessions/{id}/stream';
3911
+ url: '/v1/config/skills';
3685
3912
  };
3686
- export type SubscribeSessionStreamResponses = {
3913
+ export type GetSkillsConfigErrors = {
3687
3914
  /**
3688
- * SSE event stream. Events include session.created, message.created, message.part.delta, tool.call, tool.delta, tool.result, message.completed, error.
3915
+ * Bad Request
3689
3916
  */
3690
- 200: string;
3691
- };
3692
- export type SubscribeSessionStreamResponse = SubscribeSessionStreamResponses[keyof SubscribeSessionStreamResponses];
3693
- export type GetTerminalsData = {
3694
- body?: never;
3695
- path?: never;
3696
- query?: never;
3697
- url: '/v1/terminals';
3917
+ 500: {
3918
+ error: string;
3919
+ };
3698
3920
  };
3699
- export type GetTerminalsResponses = {
3921
+ export type GetSkillsConfigError = GetSkillsConfigErrors[keyof GetSkillsConfigErrors];
3922
+ export type GetSkillsConfigResponses = {
3700
3923
  /**
3701
- * List of terminals
3924
+ * OK
3702
3925
  */
3703
3926
  200: {
3704
- terminals?: Array<Terminal>;
3705
- count?: number;
3927
+ enabled: boolean;
3928
+ totalCount: number;
3929
+ enabledCount: number;
3930
+ items: Array<{
3931
+ name: string;
3932
+ description: string;
3933
+ scope: string;
3934
+ path: string;
3935
+ enabled: boolean;
3936
+ }>;
3706
3937
  };
3707
3938
  };
3708
- export type GetTerminalsResponse = GetTerminalsResponses[keyof GetTerminalsResponses];
3709
- export type PostTerminalsData = {
3939
+ export type GetSkillsConfigResponse = GetSkillsConfigResponses[keyof GetSkillsConfigResponses];
3940
+ export type UpdateSkillsConfigData = {
3710
3941
  body: {
3942
+ enabled?: boolean;
3943
+ items?: {
3944
+ [key: string]: {
3945
+ enabled?: boolean;
3946
+ };
3947
+ };
3948
+ };
3949
+ path?: never;
3950
+ query?: {
3711
3951
  /**
3712
- * Command to execute
3713
- */
3714
- command: string;
3715
- /**
3716
- * Command arguments
3717
- */
3718
- args?: Array<string>;
3719
- /**
3720
- * Description of terminal purpose
3721
- */
3722
- purpose: string;
3723
- /**
3724
- * Working directory
3725
- */
3726
- cwd?: string;
3727
- /**
3728
- * Terminal title
3952
+ * Project root override (defaults to current working directory).
3729
3953
  */
3730
- title?: string;
3954
+ project?: string;
3731
3955
  };
3732
- path?: never;
3733
- query?: never;
3734
- url: '/v1/terminals';
3956
+ url: '/v1/config/skills';
3735
3957
  };
3736
- export type PostTerminalsResponses = {
3958
+ export type UpdateSkillsConfigErrors = {
3737
3959
  /**
3738
- * Terminal created
3960
+ * Bad Request
3739
3961
  */
3740
- 200: {
3741
- terminalId?: string;
3742
- pid?: number;
3743
- purpose?: string;
3744
- command?: string;
3745
- };
3746
- };
3747
- export type PostTerminalsResponse = PostTerminalsResponses[keyof PostTerminalsResponses];
3748
- export type DeleteTerminalsByIdData = {
3749
- body?: never;
3750
- path: {
3751
- id: string;
3962
+ 500: {
3963
+ error: string;
3752
3964
  };
3753
- query?: never;
3754
- url: '/v1/terminals/{id}';
3755
3965
  };
3756
- export type DeleteTerminalsByIdResponses = {
3966
+ export type UpdateSkillsConfigError = UpdateSkillsConfigErrors[keyof UpdateSkillsConfigErrors];
3967
+ export type UpdateSkillsConfigResponses = {
3757
3968
  /**
3758
- * Terminal killed
3969
+ * OK
3759
3970
  */
3760
3971
  200: {
3761
- success?: boolean;
3972
+ success: boolean;
3973
+ enabled: boolean;
3974
+ totalCount: number;
3975
+ enabledCount: number;
3976
+ items: Array<{
3977
+ name: string;
3978
+ description: string;
3979
+ scope: string;
3980
+ path: string;
3981
+ enabled: boolean;
3982
+ }>;
3762
3983
  };
3763
3984
  };
3764
- export type DeleteTerminalsByIdResponse = DeleteTerminalsByIdResponses[keyof DeleteTerminalsByIdResponses];
3765
- export type GetTerminalsByIdData = {
3985
+ export type UpdateSkillsConfigResponse = UpdateSkillsConfigResponses[keyof UpdateSkillsConfigResponses];
3986
+ export type GetSkillData = {
3766
3987
  body?: never;
3767
3988
  path: {
3768
- id: string;
3989
+ name: string;
3769
3990
  };
3770
- query?: never;
3771
- url: '/v1/terminals/{id}';
3991
+ query?: {
3992
+ /**
3993
+ * Project root override (defaults to current working directory).
3994
+ */
3995
+ project?: string;
3996
+ };
3997
+ url: '/v1/skills/{name}';
3772
3998
  };
3773
- export type GetTerminalsByIdErrors = {
3999
+ export type GetSkillErrors = {
3774
4000
  /**
3775
- * Terminal not found
4001
+ * Bad Request
3776
4002
  */
3777
- 404: unknown;
4003
+ 404: {
4004
+ error: string;
4005
+ };
4006
+ /**
4007
+ * Bad Request
4008
+ */
4009
+ 500: {
4010
+ error: string;
4011
+ };
3778
4012
  };
3779
- export type GetTerminalsByIdResponses = {
4013
+ export type GetSkillError = GetSkillErrors[keyof GetSkillErrors];
4014
+ export type GetSkillResponses = {
3780
4015
  /**
3781
- * Terminal details
4016
+ * OK
3782
4017
  */
3783
4018
  200: {
3784
- terminal?: Terminal;
4019
+ name: string;
4020
+ description: string;
4021
+ license?: string | null;
4022
+ compatibility?: string | null;
4023
+ metadata?: {
4024
+ [key: string]: unknown;
4025
+ } | null;
4026
+ allowedTools?: Array<string> | null;
4027
+ path: string;
4028
+ scope: string;
4029
+ content: string;
3785
4030
  };
3786
4031
  };
3787
- export type GetTerminalsByIdResponse = GetTerminalsByIdResponses[keyof GetTerminalsByIdResponses];
3788
- export type GetTerminalsByIdOutputData = {
4032
+ export type GetSkillResponse = GetSkillResponses[keyof GetSkillResponses];
4033
+ export type ListSkillFilesData = {
3789
4034
  body?: never;
3790
4035
  path: {
3791
- id: string;
4036
+ name: string;
3792
4037
  };
3793
- query?: never;
3794
- url: '/v1/terminals/{id}/output';
3795
- };
3796
- export type GetTerminalsByIdOutputResponses = {
3797
- /**
3798
- * SSE stream of terminal output
3799
- */
3800
- 200: string;
3801
- };
3802
- export type GetTerminalsByIdOutputResponse = GetTerminalsByIdOutputResponses[keyof GetTerminalsByIdOutputResponses];
3803
- export type PostTerminalsByIdInputData = {
3804
- body: {
4038
+ query?: {
3805
4039
  /**
3806
- * Input to send to terminal
4040
+ * Project root override (defaults to current working directory).
3807
4041
  */
3808
- input: string;
3809
- };
3810
- path: {
3811
- id: string;
4042
+ project?: string;
3812
4043
  };
3813
- query?: never;
3814
- url: '/v1/terminals/{id}/input';
4044
+ url: '/v1/skills/{name}/files';
3815
4045
  };
3816
- export type PostTerminalsByIdInputResponses = {
4046
+ export type ListSkillFilesErrors = {
3817
4047
  /**
3818
- * Input sent
4048
+ * Bad Request
3819
4049
  */
3820
- 200: {
3821
- success?: boolean;
4050
+ 500: {
4051
+ error: string;
3822
4052
  };
3823
4053
  };
3824
- export type PostTerminalsByIdInputResponse = PostTerminalsByIdInputResponses[keyof PostTerminalsByIdInputResponses];
3825
- export type GetTunnelStatusData = {
3826
- body?: never;
3827
- path?: never;
3828
- query?: never;
3829
- url: '/v1/tunnel/status';
3830
- };
3831
- export type GetTunnelStatusResponses = {
4054
+ export type ListSkillFilesError = ListSkillFilesErrors[keyof ListSkillFilesErrors];
4055
+ export type ListSkillFilesResponses = {
3832
4056
  /**
3833
4057
  * OK
3834
4058
  */
3835
4059
  200: {
3836
- status: 'idle' | 'starting' | 'connected' | 'error';
3837
- url?: string | null;
3838
- error?: string | null;
3839
- binaryInstalled: boolean;
3840
- isRunning: boolean;
4060
+ files: Array<{
4061
+ relativePath: string;
4062
+ size: number;
4063
+ }>;
3841
4064
  };
3842
4065
  };
3843
- export type GetTunnelStatusResponse = GetTunnelStatusResponses[keyof GetTunnelStatusResponses];
3844
- export type StartTunnelData = {
3845
- body?: {
3846
- port?: number;
4066
+ export type ListSkillFilesResponse = ListSkillFilesResponses[keyof ListSkillFilesResponses];
4067
+ export type GetSkillFileData = {
4068
+ body?: never;
4069
+ path: {
4070
+ name: string;
4071
+ filePath: string;
3847
4072
  };
3848
- path?: never;
3849
- query?: never;
3850
- url: '/v1/tunnel/start';
4073
+ query?: {
4074
+ /**
4075
+ * Project root override (defaults to current working directory).
4076
+ */
4077
+ project?: string;
4078
+ };
4079
+ url: '/v1/skills/{name}/files/{filePath}';
3851
4080
  };
3852
- export type StartTunnelResponses = {
4081
+ export type GetSkillFileErrors = {
3853
4082
  /**
3854
- * OK
4083
+ * Bad Request
3855
4084
  */
3856
- 200: {
3857
- ok: boolean;
3858
- url?: string;
3859
- message?: string;
3860
- error?: string;
3861
- };
3862
- };
3863
- export type StartTunnelResponse = StartTunnelResponses[keyof StartTunnelResponses];
3864
- export type RegisterTunnelData = {
3865
- body: {
3866
- url: string;
4085
+ 404: {
4086
+ error: string;
3867
4087
  };
3868
- path?: never;
3869
- query?: never;
3870
- url: '/v1/tunnel/register';
3871
- };
3872
- export type RegisterTunnelErrors = {
3873
4088
  /**
3874
4089
  * Bad Request
3875
4090
  */
3876
- 400: {
4091
+ 500: {
3877
4092
  error: string;
3878
4093
  };
3879
4094
  };
3880
- export type RegisterTunnelError = RegisterTunnelErrors[keyof RegisterTunnelErrors];
3881
- export type RegisterTunnelResponses = {
4095
+ export type GetSkillFileError = GetSkillFileErrors[keyof GetSkillFileErrors];
4096
+ export type GetSkillFileResponses = {
3882
4097
  /**
3883
4098
  * OK
3884
4099
  */
3885
4100
  200: {
3886
- ok: boolean;
3887
- url?: string;
3888
- message?: string;
4101
+ content: string;
4102
+ path: string;
3889
4103
  };
3890
4104
  };
3891
- export type RegisterTunnelResponse = RegisterTunnelResponses[keyof RegisterTunnelResponses];
3892
- export type StopTunnelData = {
3893
- body?: never;
4105
+ export type GetSkillFileResponse = GetSkillFileResponses[keyof GetSkillFileResponses];
4106
+ export type ValidateSkillData = {
4107
+ body: {
4108
+ content: string;
4109
+ path?: string;
4110
+ };
3894
4111
  path?: never;
3895
4112
  query?: never;
3896
- url: '/v1/tunnel/stop';
4113
+ url: '/v1/skills/validate';
3897
4114
  };
3898
- export type StopTunnelResponses = {
4115
+ export type ValidateSkillResponses = {
3899
4116
  /**
3900
4117
  * OK
3901
4118
  */
3902
4119
  200: {
3903
- ok: boolean;
3904
- message?: string;
4120
+ valid: boolean;
4121
+ name?: string;
4122
+ description?: string;
4123
+ license?: string | null;
4124
+ error?: string;
3905
4125
  };
3906
4126
  };
3907
- export type StopTunnelResponse = StopTunnelResponses[keyof StopTunnelResponses];
3908
- export type GetTunnelQrData = {
4127
+ export type ValidateSkillResponse = ValidateSkillResponses[keyof ValidateSkillResponses];
4128
+ export type ValidateSkillNameData = {
3909
4129
  body?: never;
3910
- path?: never;
3911
- query?: never;
3912
- url: '/v1/tunnel/qr';
3913
- };
3914
- export type GetTunnelQrErrors = {
3915
- /**
3916
- * Bad Request
3917
- */
3918
- 400: {
3919
- error: string;
4130
+ path: {
4131
+ name: string;
3920
4132
  };
4133
+ query?: never;
4134
+ url: '/v1/skills/validate-name/{name}';
3921
4135
  };
3922
- export type GetTunnelQrError = GetTunnelQrErrors[keyof GetTunnelQrErrors];
3923
- export type GetTunnelQrResponses = {
4136
+ export type ValidateSkillNameResponses = {
3924
4137
  /**
3925
4138
  * OK
3926
4139
  */
3927
4140
  200: {
3928
- ok: boolean;
3929
- url?: string;
3930
- qrCode?: string;
4141
+ valid: boolean;
3931
4142
  };
3932
4143
  };
3933
- export type GetTunnelQrResponse = GetTunnelQrResponses[keyof GetTunnelQrResponses];
4144
+ export type ValidateSkillNameResponse = ValidateSkillNameResponses[keyof ValidateSkillNameResponses];
3934
4145
  //# sourceMappingURL=types.gen.d.ts.map