@nikcli-ai/sdk 1.56.0 → 1.58.0

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.
@@ -909,6 +909,54 @@ export type EventSessionError = {
909
909
  error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageContextOverflowError | MessageAbortedError | StructuredOutputError | ApiError;
910
910
  };
911
911
  };
912
+ export type EventLoopUpserted = {
913
+ type: "loop.upserted";
914
+ properties: {
915
+ loopID: string;
916
+ };
917
+ };
918
+ export type EventLoopRemoved = {
919
+ type: "loop.removed";
920
+ properties: {
921
+ loopID: string;
922
+ };
923
+ };
924
+ export type EventLoopRunStarted = {
925
+ type: "loop.run.started";
926
+ properties: {
927
+ loopID: string;
928
+ runID: string;
929
+ sessionID: string;
930
+ };
931
+ };
932
+ export type EventLoopRunFinished = {
933
+ type: "loop.run.finished";
934
+ properties: {
935
+ loopID: string;
936
+ runID: string;
937
+ sessionID?: string;
938
+ status: "running" | "complete" | "error" | "timeout" | "cancelled" | "orphaned";
939
+ ok: boolean;
940
+ error?: string;
941
+ additions?: number;
942
+ deletions?: number;
943
+ files?: number;
944
+ };
945
+ };
946
+ export type EventLoopRuntimeChanged = {
947
+ type: "loop.runtime.changed";
948
+ properties: {
949
+ loopID: string;
950
+ };
951
+ };
952
+ export type EventLoopAborted = {
953
+ type: "loop.aborted";
954
+ properties: {
955
+ loopID: string;
956
+ runID?: string;
957
+ reason: string;
958
+ };
959
+ };
912
960
  export type Pty = {
913
961
  id: string;
914
962
  title: string;
@@ -943,7 +991,7 @@ export type EventPtyDeleted = {
943
991
  id: string;
944
992
  };
945
993
  };
946
- export type Event = EventProjectUpdated | EventServerInstanceDisposed | EventInstallationUpdated | EventInstallationUpdateAvailable | EventServerConnected | EventGlobalDisposed | EventLspClientDiagnostics | EventLspUpdated | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventSessionStatus | EventSessionIdle | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventSessionCompacted | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventCommandExecuted | EventFileWatcherUpdated | EventVcsBranchUpdated | EventWorkspaceReady | EventWorkspaceFailed | EventWorkspaceStatus | EventMonitorCreated | EventMonitorUpdated | EventMonitorOutput | EventMonitorCompleted | EventDelegationCompleted | EventFileEdited | EventTodoUpdated | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted;
994
+ export type Event = EventProjectUpdated | EventServerInstanceDisposed | EventInstallationUpdated | EventInstallationUpdateAvailable | EventServerConnected | EventGlobalDisposed | EventLspClientDiagnostics | EventLspUpdated | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventSessionStatus | EventSessionIdle | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventSessionCompacted | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventCommandExecuted | EventFileWatcherUpdated | EventVcsBranchUpdated | EventWorkspaceReady | EventWorkspaceFailed | EventWorkspaceStatus | EventMonitorCreated | EventMonitorUpdated | EventMonitorOutput | EventMonitorCompleted | EventDelegationCompleted | EventFileEdited | EventTodoUpdated | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventLoopUpserted | EventLoopRemoved | EventLoopRunStarted | EventLoopRunFinished | EventLoopRuntimeChanged | EventLoopAborted | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted;
947
995
  export type GlobalEvent = {
948
996
  directory: string;
949
997
  payload: Event;
@@ -961,6 +1009,62 @@ export type NotFoundError = {
961
1009
  message: string;
962
1010
  };
963
1011
  };
1012
+ export type LoopDefinition = {
1013
+ id: string;
1014
+ name: string;
1015
+ stages: Array<{
1016
+ name: string;
1017
+ agent: string;
1018
+ model?: string;
1019
+ objective: string;
1020
+ tokenBudget?: number;
1021
+ }>;
1022
+ trigger: {
1023
+ kind: "manual";
1024
+ } | {
1025
+ kind: "interval";
1026
+ everyMs: number;
1027
+ };
1028
+ maxRuns?: number;
1029
+ enabled: boolean;
1030
+ createdAt: number;
1031
+ };
1032
+ export type LoopRuntime = {
1033
+ loopID: string;
1034
+ status: "idle" | "running" | "paused" | "error" | "cancelling";
1035
+ runs: number;
1036
+ lastRunAt?: number;
1037
+ lastError?: string;
1038
+ sessionID?: string;
1039
+ };
1040
+ export type LoopTemplate = {
1041
+ id: string;
1042
+ title: string;
1043
+ description: string;
1044
+ draft: {
1045
+ name?: string;
1046
+ stages: Array<{
1047
+ name?: string;
1048
+ agent?: string;
1049
+ model?: string;
1050
+ objective: string;
1051
+ tokenBudget?: number;
1052
+ }>;
1053
+ intervalMs?: number;
1054
+ maxRuns?: number;
1055
+ };
1056
+ };
1057
+ export type LoopRun = {
1058
+ id: string;
1059
+ loopID: string;
1060
+ startedAt: number;
1061
+ endedAt?: number;
1062
+ status: "running" | "complete" | "error" | "timeout" | "cancelled" | "orphaned";
1063
+ ok: boolean;
1064
+ error?: string;
1065
+ sessionID?: string;
1066
+ backgroundRunID?: string;
1067
+ };
964
1068
  /**
965
1069
  * Custom keybind configurations
966
1070
  */
@@ -2829,6 +2933,85 @@ export type MobileGithubPublishInput = {
2829
2933
  body?: string;
2830
2934
  commitMessage?: string;
2831
2935
  };
2936
+ export type MobileLoop = {
2937
+ id: string;
2938
+ name: string;
2939
+ stages: Array<{
2940
+ name: string;
2941
+ agent: string;
2942
+ model?: string;
2943
+ objective: string;
2944
+ tokenBudget?: number;
2945
+ }>;
2946
+ trigger: {
2947
+ kind: "manual";
2948
+ } | {
2949
+ kind: "interval";
2950
+ everyMs: number;
2951
+ };
2952
+ maxRuns?: number;
2953
+ enabled: boolean;
2954
+ createdAt: number;
2955
+ };
2956
+ export type MobileLoopRuntime = {
2957
+ loopID: string;
2958
+ status: "idle" | "running" | "paused" | "error" | "cancelling";
2959
+ runs: number;
2960
+ lastRunAt?: number;
2961
+ lastError?: string;
2962
+ sessionID?: string;
2963
+ };
2964
+ export type MobileLoopTemplate = {
2965
+ id: string;
2966
+ title: string;
2967
+ description: string;
2968
+ draft: {
2969
+ name?: string;
2970
+ stages: Array<{
2971
+ name?: string;
2972
+ agent?: string;
2973
+ model?: string;
2974
+ objective: string;
2975
+ tokenBudget?: number;
2976
+ }>;
2977
+ intervalMs?: number;
2978
+ maxRuns?: number;
2979
+ };
2980
+ };
2981
+ export type MobileLoopGenerateInput = {
2982
+ description: string;
2983
+ model?: string;
2984
+ agent?: string;
2985
+ };
2986
+ export type MobileLoopRun = {
2987
+ id: string;
2988
+ loopID: string;
2989
+ startedAt: number;
2990
+ endedAt?: number;
2991
+ status: "running" | "complete" | "error" | "timeout" | "cancelled" | "orphaned";
2992
+ backgroundRunID?: string;
2993
+ sessionID?: string;
2994
+ error?: string;
2995
+ ok: boolean;
2996
+ };
2997
+ export type MobileLoopWriteInput = {
2998
+ name: string;
2999
+ stages: Array<{
3000
+ name: string;
3001
+ agent: string;
3002
+ model?: string;
3003
+ objective: string;
3004
+ tokenBudget?: number;
3005
+ }>;
3006
+ trigger: {
3007
+ kind: "manual";
3008
+ } | {
3009
+ kind: "interval";
3010
+ everyMs: number;
3011
+ };
3012
+ maxRuns?: number;
3013
+ enabled: boolean;
3014
+ };
2832
3015
  export type RoutineTriggerSchedule = {
2833
3016
  type: "schedule";
2834
3017
  cron: string;
@@ -3211,198 +3394,548 @@ export type ProjectUpdateResponses = {
3211
3394
  200: Project;
3212
3395
  };
3213
3396
  export type ProjectUpdateResponse = ProjectUpdateResponses[keyof ProjectUpdateResponses];
3214
- export type PtyListData = {
3397
+ export type LoopListData = {
3215
3398
  body?: never;
3216
3399
  path?: never;
3217
3400
  query?: {
3218
3401
  directory?: string;
3219
3402
  workspace?: string;
3220
3403
  };
3221
- url: "/pty";
3404
+ url: "/loop";
3222
3405
  };
3223
- export type PtyListResponses = {
3406
+ export type LoopListErrors = {
3224
3407
  /**
3225
- * List of sessions
3408
+ * Bad request
3226
3409
  */
3227
- 200: Array<Pty>;
3410
+ 400: BadRequestError;
3228
3411
  };
3229
- export type PtyListResponse = PtyListResponses[keyof PtyListResponses];
3230
- export type PtyCreateData = {
3412
+ export type LoopListError = LoopListErrors[keyof LoopListErrors];
3413
+ export type LoopListResponses = {
3414
+ /**
3415
+ * All loops with runtime status
3416
+ */
3417
+ 200: {
3418
+ loops: Array<LoopDefinition>;
3419
+ runtimes: Array<LoopRuntime>;
3420
+ };
3421
+ };
3422
+ export type LoopListResponse = LoopListResponses[keyof LoopListResponses];
3423
+ export type LoopUpsertData = {
3231
3424
  body?: {
3232
- command?: string;
3233
- args?: Array<string>;
3234
- cwd?: string;
3235
- title?: string;
3236
- env?: {
3237
- [key: string]: string;
3425
+ name: string;
3426
+ stages: Array<{
3427
+ name: string;
3428
+ agent: string;
3429
+ model?: string;
3430
+ objective: string;
3431
+ tokenBudget?: number;
3432
+ }>;
3433
+ trigger: {
3434
+ kind: "manual";
3435
+ } | {
3436
+ kind: "interval";
3437
+ everyMs: number;
3238
3438
  };
3439
+ maxRuns?: number;
3440
+ enabled: boolean;
3239
3441
  };
3240
3442
  path?: never;
3241
3443
  query?: {
3242
3444
  directory?: string;
3243
3445
  workspace?: string;
3244
3446
  };
3245
- url: "/pty";
3447
+ url: "/loop";
3246
3448
  };
3247
- export type PtyCreateErrors = {
3449
+ export type LoopUpsertErrors = {
3248
3450
  /**
3249
3451
  * Bad request
3250
3452
  */
3251
3453
  400: BadRequestError;
3252
3454
  };
3253
- export type PtyCreateError = PtyCreateErrors[keyof PtyCreateErrors];
3254
- export type PtyCreateResponses = {
3455
+ export type LoopUpsertError = LoopUpsertErrors[keyof LoopUpsertErrors];
3456
+ export type LoopUpsertResponses = {
3255
3457
  /**
3256
- * Created session
3458
+ * Persisted loop
3257
3459
  */
3258
- 200: Pty;
3460
+ 200: LoopDefinition;
3259
3461
  };
3260
- export type PtyCreateResponse = PtyCreateResponses[keyof PtyCreateResponses];
3261
- export type PtyRemoveData = {
3462
+ export type LoopUpsertResponse = LoopUpsertResponses[keyof LoopUpsertResponses];
3463
+ export type LoopTemplatesData = {
3262
3464
  body?: never;
3263
- path: {
3264
- ptyID: string;
3465
+ path?: never;
3466
+ query?: {
3467
+ directory?: string;
3468
+ workspace?: string;
3469
+ };
3470
+ url: "/loop/templates";
3471
+ };
3472
+ export type LoopTemplatesResponses = {
3473
+ /**
3474
+ * Templates
3475
+ */
3476
+ 200: {
3477
+ templates: Array<LoopTemplate>;
3478
+ };
3479
+ };
3480
+ export type LoopTemplatesResponse = LoopTemplatesResponses[keyof LoopTemplatesResponses];
3481
+ export type LoopGenerateData = {
3482
+ body?: {
3483
+ /**
3484
+ * Natural-language description of the loop
3485
+ */
3486
+ description: string;
3487
+ /**
3488
+ * Optional model override (providerID/modelID)
3489
+ */
3490
+ model?: string;
3491
+ /**
3492
+ * Default agent if the model doesn't pick one
3493
+ */
3494
+ agent?: string;
3265
3495
  };
3496
+ path?: never;
3266
3497
  query?: {
3267
3498
  directory?: string;
3268
3499
  workspace?: string;
3269
3500
  };
3270
- url: "/pty/{ptyID}";
3501
+ url: "/loop/generate";
3271
3502
  };
3272
- export type PtyRemoveErrors = {
3503
+ export type LoopGenerateErrors = {
3504
+ /**
3505
+ * Bad request
3506
+ */
3507
+ 400: BadRequestError;
3273
3508
  /**
3274
3509
  * Not found
3275
3510
  */
3276
3511
  404: NotFoundError;
3277
3512
  };
3278
- export type PtyRemoveError = PtyRemoveErrors[keyof PtyRemoveErrors];
3279
- export type PtyRemoveResponses = {
3513
+ export type LoopGenerateError = LoopGenerateErrors[keyof LoopGenerateErrors];
3514
+ export type LoopGenerateResponses = {
3280
3515
  /**
3281
- * Session removed
3516
+ * Generated loop definition
3282
3517
  */
3283
- 200: boolean;
3518
+ 200: LoopDefinition;
3284
3519
  };
3285
- export type PtyRemoveResponse = PtyRemoveResponses[keyof PtyRemoveResponses];
3286
- export type PtyGetData = {
3520
+ export type LoopGenerateResponse = LoopGenerateResponses[keyof LoopGenerateResponses];
3521
+ export type LoopDeleteData = {
3287
3522
  body?: never;
3288
3523
  path: {
3289
- ptyID: string;
3524
+ id: string;
3290
3525
  };
3291
3526
  query?: {
3292
3527
  directory?: string;
3293
3528
  workspace?: string;
3294
3529
  };
3295
- url: "/pty/{ptyID}";
3530
+ url: "/loop/{id}";
3296
3531
  };
3297
- export type PtyGetErrors = {
3532
+ export type LoopDeleteErrors = {
3298
3533
  /**
3299
- * Not found
3534
+ * Loop not found
3300
3535
  */
3301
- 404: NotFoundError;
3536
+ 404: unknown;
3302
3537
  };
3303
- export type PtyGetError = PtyGetErrors[keyof PtyGetErrors];
3304
- export type PtyGetResponses = {
3538
+ export type LoopDeleteResponses = {
3305
3539
  /**
3306
- * Session info
3540
+ * Deleted
3307
3541
  */
3308
- 200: Pty;
3542
+ 200: unknown;
3309
3543
  };
3310
- export type PtyGetResponse = PtyGetResponses[keyof PtyGetResponses];
3311
- export type PtyUpdateData = {
3312
- body?: {
3313
- title?: string;
3314
- size?: {
3315
- rows: number;
3316
- cols: number;
3317
- };
3318
- };
3544
+ export type LoopGetData = {
3545
+ body?: never;
3319
3546
  path: {
3320
- ptyID: string;
3547
+ id: string;
3321
3548
  };
3322
3549
  query?: {
3323
3550
  directory?: string;
3324
3551
  workspace?: string;
3325
3552
  };
3326
- url: "/pty/{ptyID}";
3553
+ url: "/loop/{id}";
3327
3554
  };
3328
- export type PtyUpdateErrors = {
3555
+ export type LoopGetErrors = {
3329
3556
  /**
3330
- * Bad request
3557
+ * Loop not found
3331
3558
  */
3332
- 400: BadRequestError;
3559
+ 404: unknown;
3333
3560
  };
3334
- export type PtyUpdateError = PtyUpdateErrors[keyof PtyUpdateErrors];
3335
- export type PtyUpdateResponses = {
3561
+ export type LoopGetResponses = {
3336
3562
  /**
3337
- * Updated session
3563
+ * The loop
3338
3564
  */
3339
- 200: Pty;
3565
+ 200: {
3566
+ loop: LoopDefinition;
3567
+ runtime: LoopRuntime;
3568
+ };
3340
3569
  };
3341
- export type PtyUpdateResponse = PtyUpdateResponses[keyof PtyUpdateResponses];
3342
- export type PtyConnectData = {
3343
- body?: never;
3570
+ export type LoopGetResponse = LoopGetResponses[keyof LoopGetResponses];
3571
+ export type LoopUpdateData = {
3572
+ body?: {
3573
+ id: string;
3574
+ name: string;
3575
+ stages: Array<{
3576
+ name: string;
3577
+ agent: string;
3578
+ model?: string;
3579
+ objective: string;
3580
+ tokenBudget?: number;
3581
+ }>;
3582
+ trigger: {
3583
+ kind: "manual";
3584
+ } | {
3585
+ kind: "interval";
3586
+ everyMs: number;
3587
+ };
3588
+ maxRuns?: number;
3589
+ enabled: boolean;
3590
+ createdAt: number;
3591
+ };
3344
3592
  path: {
3345
- ptyID: string;
3593
+ id: string;
3346
3594
  };
3347
3595
  query?: {
3348
3596
  directory?: string;
3349
3597
  workspace?: string;
3350
3598
  };
3351
- url: "/pty/{ptyID}/connect";
3599
+ url: "/loop/{id}";
3352
3600
  };
3353
- export type PtyConnectErrors = {
3601
+ export type LoopUpdateErrors = {
3602
+ /**
3603
+ * Bad request
3604
+ */
3605
+ 400: BadRequestError;
3354
3606
  /**
3355
3607
  * Not found
3356
3608
  */
3357
3609
  404: NotFoundError;
3358
3610
  };
3359
- export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors];
3360
- export type PtyConnectResponses = {
3611
+ export type LoopUpdateError = LoopUpdateErrors[keyof LoopUpdateErrors];
3612
+ export type LoopUpdateResponses = {
3361
3613
  /**
3362
- * Connected session
3614
+ * Updated loop
3363
3615
  */
3364
- 200: boolean;
3616
+ 200: LoopDefinition;
3365
3617
  };
3366
- export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses];
3367
- export type ConfigGetData = {
3368
- body?: never;
3369
- path?: never;
3618
+ export type LoopUpdateResponse = LoopUpdateResponses[keyof LoopUpdateResponses];
3619
+ export type LoopToggleData = {
3620
+ body?: {
3621
+ enabled: boolean;
3622
+ };
3623
+ path: {
3624
+ id: string;
3625
+ };
3370
3626
  query?: {
3371
3627
  directory?: string;
3372
3628
  workspace?: string;
3373
3629
  };
3374
- url: "/config";
3630
+ url: "/loop/{id}/toggle";
3375
3631
  };
3376
- export type ConfigGetResponses = {
3632
+ export type LoopToggleErrors = {
3377
3633
  /**
3378
- * Get config info
3634
+ * Loop not found
3379
3635
  */
3380
- 200: Config;
3636
+ 404: unknown;
3381
3637
  };
3382
- export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses];
3383
- export type ConfigUpdateData = {
3384
- body?: Config;
3385
- path?: never;
3638
+ export type LoopToggleResponses = {
3639
+ /**
3640
+ * Updated loop
3641
+ */
3642
+ 200: unknown;
3643
+ };
3644
+ export type LoopRunData = {
3645
+ body?: never;
3646
+ path: {
3647
+ id: string;
3648
+ };
3386
3649
  query?: {
3387
3650
  directory?: string;
3388
3651
  workspace?: string;
3389
3652
  };
3390
- url: "/config";
3653
+ url: "/loop/{id}/run";
3391
3654
  };
3392
- export type ConfigUpdateErrors = {
3655
+ export type LoopRunErrors = {
3393
3656
  /**
3394
- * Bad request
3657
+ * Loop not found
3395
3658
  */
3396
- 400: BadRequestError;
3659
+ 404: unknown;
3397
3660
  };
3398
- export type ConfigUpdateError = ConfigUpdateErrors[keyof ConfigUpdateErrors];
3399
- export type ConfigUpdateResponses = {
3661
+ export type LoopRunResponses = {
3400
3662
  /**
3401
- * Successfully updated config
3663
+ * Run started
3402
3664
  */
3403
- 200: Config;
3665
+ 200: unknown;
3404
3666
  };
3405
- export type ConfigUpdateResponse = ConfigUpdateResponses[keyof ConfigUpdateResponses];
3667
+ export type LoopPauseData = {
3668
+ body?: never;
3669
+ path: {
3670
+ id: string;
3671
+ };
3672
+ query?: {
3673
+ directory?: string;
3674
+ workspace?: string;
3675
+ };
3676
+ url: "/loop/{id}/pause";
3677
+ };
3678
+ export type LoopPauseResponses = {
3679
+ /**
3680
+ * Paused
3681
+ */
3682
+ 200: unknown;
3683
+ };
3684
+ export type LoopResumeData = {
3685
+ body?: never;
3686
+ path: {
3687
+ id: string;
3688
+ };
3689
+ query?: {
3690
+ directory?: string;
3691
+ workspace?: string;
3692
+ };
3693
+ url: "/loop/{id}/resume";
3694
+ };
3695
+ export type LoopResumeErrors = {
3696
+ /**
3697
+ * Loop not found
3698
+ */
3699
+ 404: unknown;
3700
+ };
3701
+ export type LoopResumeResponses = {
3702
+ /**
3703
+ * Resumed
3704
+ */
3705
+ 200: unknown;
3706
+ };
3707
+ export type LoopRunsData = {
3708
+ body?: never;
3709
+ path: {
3710
+ id: string;
3711
+ };
3712
+ query?: {
3713
+ directory?: string;
3714
+ workspace?: string;
3715
+ limit?: number;
3716
+ };
3717
+ url: "/loop/{id}/runs";
3718
+ };
3719
+ export type LoopRunsResponses = {
3720
+ /**
3721
+ * Runs
3722
+ */
3723
+ 200: {
3724
+ runs: Array<LoopRun>;
3725
+ };
3726
+ };
3727
+ export type LoopRunsResponse = LoopRunsResponses[keyof LoopRunsResponses];
3728
+ export type LoopRecentRunsData = {
3729
+ body?: never;
3730
+ path?: never;
3731
+ query?: {
3732
+ directory?: string;
3733
+ workspace?: string;
3734
+ limit?: number;
3735
+ };
3736
+ url: "/loop/runs/recent";
3737
+ };
3738
+ export type LoopRecentRunsResponses = {
3739
+ /**
3740
+ * Recent runs
3741
+ */
3742
+ 200: {
3743
+ runs: Array<LoopRun>;
3744
+ };
3745
+ };
3746
+ export type LoopRecentRunsResponse = LoopRecentRunsResponses[keyof LoopRecentRunsResponses];
3747
+ export type PtyListData = {
3748
+ body?: never;
3749
+ path?: never;
3750
+ query?: {
3751
+ directory?: string;
3752
+ workspace?: string;
3753
+ };
3754
+ url: "/pty";
3755
+ };
3756
+ export type PtyListResponses = {
3757
+ /**
3758
+ * List of sessions
3759
+ */
3760
+ 200: Array<Pty>;
3761
+ };
3762
+ export type PtyListResponse = PtyListResponses[keyof PtyListResponses];
3763
+ export type PtyCreateData = {
3764
+ body?: {
3765
+ command?: string;
3766
+ args?: Array<string>;
3767
+ cwd?: string;
3768
+ title?: string;
3769
+ env?: {
3770
+ [key: string]: string;
3771
+ };
3772
+ };
3773
+ path?: never;
3774
+ query?: {
3775
+ directory?: string;
3776
+ workspace?: string;
3777
+ };
3778
+ url: "/pty";
3779
+ };
3780
+ export type PtyCreateErrors = {
3781
+ /**
3782
+ * Bad request
3783
+ */
3784
+ 400: BadRequestError;
3785
+ };
3786
+ export type PtyCreateError = PtyCreateErrors[keyof PtyCreateErrors];
3787
+ export type PtyCreateResponses = {
3788
+ /**
3789
+ * Created session
3790
+ */
3791
+ 200: Pty;
3792
+ };
3793
+ export type PtyCreateResponse = PtyCreateResponses[keyof PtyCreateResponses];
3794
+ export type PtyRemoveData = {
3795
+ body?: never;
3796
+ path: {
3797
+ ptyID: string;
3798
+ };
3799
+ query?: {
3800
+ directory?: string;
3801
+ workspace?: string;
3802
+ };
3803
+ url: "/pty/{ptyID}";
3804
+ };
3805
+ export type PtyRemoveErrors = {
3806
+ /**
3807
+ * Not found
3808
+ */
3809
+ 404: NotFoundError;
3810
+ };
3811
+ export type PtyRemoveError = PtyRemoveErrors[keyof PtyRemoveErrors];
3812
+ export type PtyRemoveResponses = {
3813
+ /**
3814
+ * Session removed
3815
+ */
3816
+ 200: boolean;
3817
+ };
3818
+ export type PtyRemoveResponse = PtyRemoveResponses[keyof PtyRemoveResponses];
3819
+ export type PtyGetData = {
3820
+ body?: never;
3821
+ path: {
3822
+ ptyID: string;
3823
+ };
3824
+ query?: {
3825
+ directory?: string;
3826
+ workspace?: string;
3827
+ };
3828
+ url: "/pty/{ptyID}";
3829
+ };
3830
+ export type PtyGetErrors = {
3831
+ /**
3832
+ * Not found
3833
+ */
3834
+ 404: NotFoundError;
3835
+ };
3836
+ export type PtyGetError = PtyGetErrors[keyof PtyGetErrors];
3837
+ export type PtyGetResponses = {
3838
+ /**
3839
+ * Session info
3840
+ */
3841
+ 200: Pty;
3842
+ };
3843
+ export type PtyGetResponse = PtyGetResponses[keyof PtyGetResponses];
3844
+ export type PtyUpdateData = {
3845
+ body?: {
3846
+ title?: string;
3847
+ size?: {
3848
+ rows: number;
3849
+ cols: number;
3850
+ };
3851
+ };
3852
+ path: {
3853
+ ptyID: string;
3854
+ };
3855
+ query?: {
3856
+ directory?: string;
3857
+ workspace?: string;
3858
+ };
3859
+ url: "/pty/{ptyID}";
3860
+ };
3861
+ export type PtyUpdateErrors = {
3862
+ /**
3863
+ * Bad request
3864
+ */
3865
+ 400: BadRequestError;
3866
+ };
3867
+ export type PtyUpdateError = PtyUpdateErrors[keyof PtyUpdateErrors];
3868
+ export type PtyUpdateResponses = {
3869
+ /**
3870
+ * Updated session
3871
+ */
3872
+ 200: Pty;
3873
+ };
3874
+ export type PtyUpdateResponse = PtyUpdateResponses[keyof PtyUpdateResponses];
3875
+ export type PtyConnectData = {
3876
+ body?: never;
3877
+ path: {
3878
+ ptyID: string;
3879
+ };
3880
+ query?: {
3881
+ directory?: string;
3882
+ workspace?: string;
3883
+ };
3884
+ url: "/pty/{ptyID}/connect";
3885
+ };
3886
+ export type PtyConnectErrors = {
3887
+ /**
3888
+ * Not found
3889
+ */
3890
+ 404: NotFoundError;
3891
+ };
3892
+ export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors];
3893
+ export type PtyConnectResponses = {
3894
+ /**
3895
+ * Connected session
3896
+ */
3897
+ 200: boolean;
3898
+ };
3899
+ export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses];
3900
+ export type ConfigGetData = {
3901
+ body?: never;
3902
+ path?: never;
3903
+ query?: {
3904
+ directory?: string;
3905
+ workspace?: string;
3906
+ };
3907
+ url: "/config";
3908
+ };
3909
+ export type ConfigGetResponses = {
3910
+ /**
3911
+ * Get config info
3912
+ */
3913
+ 200: Config;
3914
+ };
3915
+ export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses];
3916
+ export type ConfigUpdateData = {
3917
+ body?: Config;
3918
+ path?: never;
3919
+ query?: {
3920
+ directory?: string;
3921
+ workspace?: string;
3922
+ };
3923
+ url: "/config";
3924
+ };
3925
+ export type ConfigUpdateErrors = {
3926
+ /**
3927
+ * Bad request
3928
+ */
3929
+ 400: BadRequestError;
3930
+ };
3931
+ export type ConfigUpdateError = ConfigUpdateErrors[keyof ConfigUpdateErrors];
3932
+ export type ConfigUpdateResponses = {
3933
+ /**
3934
+ * Successfully updated config
3935
+ */
3936
+ 200: Config;
3937
+ };
3938
+ export type ConfigUpdateResponse = ConfigUpdateResponses[keyof ConfigUpdateResponses];
3406
3939
  export type ConfigProvidersData = {
3407
3940
  body?: never;
3408
3941
  path?: never;
@@ -6966,6 +7499,397 @@ export type MobileGitPullResponses = {
6966
7499
  };
6967
7500
  };
6968
7501
  export type MobileGitPullResponse = MobileGitPullResponses[keyof MobileGitPullResponses];
7502
+ export type MobileLoopListData = {
7503
+ body?: never;
7504
+ path?: never;
7505
+ query?: {
7506
+ directory?: string;
7507
+ workspace?: string;
7508
+ };
7509
+ url: "/mobile/loops";
7510
+ };
7511
+ export type MobileLoopListErrors = {
7512
+ /**
7513
+ * Bad request
7514
+ */
7515
+ 400: BadRequestError;
7516
+ };
7517
+ export type MobileLoopListError = MobileLoopListErrors[keyof MobileLoopListErrors];
7518
+ export type MobileLoopListResponses = {
7519
+ /**
7520
+ * Loop list and runtimes
7521
+ */
7522
+ 200: {
7523
+ loops: Array<MobileLoop>;
7524
+ runtimes: Array<MobileLoopRuntime>;
7525
+ };
7526
+ };
7527
+ export type MobileLoopListResponse = MobileLoopListResponses[keyof MobileLoopListResponses];
7528
+ export type MobileLoopCreateData = {
7529
+ body?: MobileLoopWriteInput;
7530
+ path?: never;
7531
+ query?: {
7532
+ directory?: string;
7533
+ workspace?: string;
7534
+ };
7535
+ url: "/mobile/loops";
7536
+ };
7537
+ export type MobileLoopCreateErrors = {
7538
+ /**
7539
+ * Bad request
7540
+ */
7541
+ 400: BadRequestError;
7542
+ };
7543
+ export type MobileLoopCreateError = MobileLoopCreateErrors[keyof MobileLoopCreateErrors];
7544
+ export type MobileLoopCreateResponses = {
7545
+ /**
7546
+ * Created loop
7547
+ */
7548
+ 200: MobileLoop;
7549
+ };
7550
+ export type MobileLoopCreateResponse = MobileLoopCreateResponses[keyof MobileLoopCreateResponses];
7551
+ export type MobileLoopTemplatesData = {
7552
+ body?: never;
7553
+ path?: never;
7554
+ query?: {
7555
+ directory?: string;
7556
+ workspace?: string;
7557
+ };
7558
+ url: "/mobile/loops/templates";
7559
+ };
7560
+ export type MobileLoopTemplatesResponses = {
7561
+ /**
7562
+ * Loop templates
7563
+ */
7564
+ 200: {
7565
+ templates: Array<MobileLoopTemplate>;
7566
+ };
7567
+ };
7568
+ export type MobileLoopTemplatesResponse = MobileLoopTemplatesResponses[keyof MobileLoopTemplatesResponses];
7569
+ export type MobileLoopGenerateData = {
7570
+ body?: MobileLoopGenerateInput;
7571
+ path?: never;
7572
+ query?: {
7573
+ directory?: string;
7574
+ workspace?: string;
7575
+ };
7576
+ url: "/mobile/loops/generate";
7577
+ };
7578
+ export type MobileLoopGenerateErrors = {
7579
+ /**
7580
+ * Bad request
7581
+ */
7582
+ 400: BadRequestError;
7583
+ };
7584
+ export type MobileLoopGenerateError = MobileLoopGenerateErrors[keyof MobileLoopGenerateErrors];
7585
+ export type MobileLoopGenerateResponses = {
7586
+ /**
7587
+ * Generated loop draft
7588
+ */
7589
+ 200: MobileLoop;
7590
+ };
7591
+ export type MobileLoopGenerateResponse = MobileLoopGenerateResponses[keyof MobileLoopGenerateResponses];
7592
+ export type MobileLoopRunsRecentData = {
7593
+ body?: never;
7594
+ path?: never;
7595
+ query?: {
7596
+ directory?: string;
7597
+ workspace?: string;
7598
+ limit?: number;
7599
+ };
7600
+ url: "/mobile/loops/runs/recent";
7601
+ };
7602
+ export type MobileLoopRunsRecentErrors = {
7603
+ /**
7604
+ * Bad request
7605
+ */
7606
+ 400: BadRequestError;
7607
+ };
7608
+ export type MobileLoopRunsRecentError = MobileLoopRunsRecentErrors[keyof MobileLoopRunsRecentErrors];
7609
+ export type MobileLoopRunsRecentResponses = {
7610
+ /**
7611
+ * Recent loop runs
7612
+ */
7613
+ 200: {
7614
+ runs: Array<MobileLoopRun>;
7615
+ };
7616
+ };
7617
+ export type MobileLoopRunsRecentResponse = MobileLoopRunsRecentResponses[keyof MobileLoopRunsRecentResponses];
7618
+ export type MobileLoopDeleteData = {
7619
+ body?: never;
7620
+ path: {
7621
+ id: string;
7622
+ };
7623
+ query?: {
7624
+ directory?: string;
7625
+ workspace?: string;
7626
+ };
7627
+ url: "/mobile/loops/{id}";
7628
+ };
7629
+ export type MobileLoopDeleteErrors = {
7630
+ /**
7631
+ * Bad request
7632
+ */
7633
+ 400: BadRequestError;
7634
+ /**
7635
+ * Not found
7636
+ */
7637
+ 404: NotFoundError;
7638
+ };
7639
+ export type MobileLoopDeleteError = MobileLoopDeleteErrors[keyof MobileLoopDeleteErrors];
7640
+ export type MobileLoopDeleteResponses = {
7641
+ /**
7642
+ * Deletion result
7643
+ */
7644
+ 200: {
7645
+ success: true;
7646
+ };
7647
+ };
7648
+ export type MobileLoopDeleteResponse = MobileLoopDeleteResponses[keyof MobileLoopDeleteResponses];
7649
+ export type MobileLoopGetData = {
7650
+ body?: never;
7651
+ path: {
7652
+ id: string;
7653
+ };
7654
+ query?: {
7655
+ directory?: string;
7656
+ workspace?: string;
7657
+ };
7658
+ url: "/mobile/loops/{id}";
7659
+ };
7660
+ export type MobileLoopGetErrors = {
7661
+ /**
7662
+ * Bad request
7663
+ */
7664
+ 400: BadRequestError;
7665
+ /**
7666
+ * Not found
7667
+ */
7668
+ 404: NotFoundError;
7669
+ };
7670
+ export type MobileLoopGetError = MobileLoopGetErrors[keyof MobileLoopGetErrors];
7671
+ export type MobileLoopGetResponses = {
7672
+ /**
7673
+ * Loop detail
7674
+ */
7675
+ 200: {
7676
+ loop: MobileLoop;
7677
+ runtime: MobileLoopRuntime;
7678
+ };
7679
+ };
7680
+ export type MobileLoopGetResponse = MobileLoopGetResponses[keyof MobileLoopGetResponses];
7681
+ export type MobileLoopUpdateData = {
7682
+ body?: MobileLoopWriteInput;
7683
+ path: {
7684
+ id: string;
7685
+ };
7686
+ query?: {
7687
+ directory?: string;
7688
+ workspace?: string;
7689
+ };
7690
+ url: "/mobile/loops/{id}";
7691
+ };
7692
+ export type MobileLoopUpdateErrors = {
7693
+ /**
7694
+ * Bad request
7695
+ */
7696
+ 400: BadRequestError;
7697
+ /**
7698
+ * Not found
7699
+ */
7700
+ 404: NotFoundError;
7701
+ };
7702
+ export type MobileLoopUpdateError = MobileLoopUpdateErrors[keyof MobileLoopUpdateErrors];
7703
+ export type MobileLoopUpdateResponses = {
7704
+ /**
7705
+ * Updated loop
7706
+ */
7707
+ 200: MobileLoop;
7708
+ };
7709
+ export type MobileLoopUpdateResponse = MobileLoopUpdateResponses[keyof MobileLoopUpdateResponses];
7710
+ export type MobileLoopRunsData = {
7711
+ body?: never;
7712
+ path: {
7713
+ id: string;
7714
+ };
7715
+ query?: {
7716
+ directory?: string;
7717
+ workspace?: string;
7718
+ limit?: number;
7719
+ };
7720
+ url: "/mobile/loops/{id}/runs";
7721
+ };
7722
+ export type MobileLoopRunsErrors = {
7723
+ /**
7724
+ * Bad request
7725
+ */
7726
+ 400: BadRequestError;
7727
+ };
7728
+ export type MobileLoopRunsError = MobileLoopRunsErrors[keyof MobileLoopRunsErrors];
7729
+ export type MobileLoopRunsResponses = {
7730
+ /**
7731
+ * Loop runs
7732
+ */
7733
+ 200: {
7734
+ runs: Array<MobileLoopRun>;
7735
+ };
7736
+ };
7737
+ export type MobileLoopRunsResponse = MobileLoopRunsResponses[keyof MobileLoopRunsResponses];
7738
+ export type MobileLoopRunData = {
7739
+ body?: never;
7740
+ path: {
7741
+ id: string;
7742
+ };
7743
+ query?: {
7744
+ directory?: string;
7745
+ workspace?: string;
7746
+ };
7747
+ url: "/mobile/loops/{id}/run";
7748
+ };
7749
+ export type MobileLoopRunErrors = {
7750
+ /**
7751
+ * Bad request
7752
+ */
7753
+ 400: BadRequestError;
7754
+ /**
7755
+ * Not found
7756
+ */
7757
+ 404: NotFoundError;
7758
+ };
7759
+ export type MobileLoopRunError = MobileLoopRunErrors[keyof MobileLoopRunErrors];
7760
+ export type MobileLoopRunResponses = {
7761
+ /**
7762
+ * Run accepted
7763
+ */
7764
+ 200: {
7765
+ success: true;
7766
+ };
7767
+ };
7768
+ export type MobileLoopRunResponse = MobileLoopRunResponses[keyof MobileLoopRunResponses];
7769
+ export type MobileLoopAbortData = {
7770
+ body?: never;
7771
+ path: {
7772
+ id: string;
7773
+ };
7774
+ query?: {
7775
+ directory?: string;
7776
+ workspace?: string;
7777
+ };
7778
+ url: "/mobile/loops/{id}/abort";
7779
+ };
7780
+ export type MobileLoopAbortErrors = {
7781
+ /**
7782
+ * Bad request
7783
+ */
7784
+ 400: BadRequestError;
7785
+ /**
7786
+ * Not found
7787
+ */
7788
+ 404: NotFoundError;
7789
+ };
7790
+ export type MobileLoopAbortError = MobileLoopAbortErrors[keyof MobileLoopAbortErrors];
7791
+ export type MobileLoopAbortResponses = {
7792
+ /**
7793
+ * Abort completed
7794
+ */
7795
+ 200: {
7796
+ success: true;
7797
+ };
7798
+ };
7799
+ export type MobileLoopAbortResponse = MobileLoopAbortResponses[keyof MobileLoopAbortResponses];
7800
+ export type MobileLoopToggleData = {
7801
+ body?: {
7802
+ enabled: boolean;
7803
+ };
7804
+ path: {
7805
+ id: string;
7806
+ };
7807
+ query?: {
7808
+ directory?: string;
7809
+ workspace?: string;
7810
+ };
7811
+ url: "/mobile/loops/{id}/toggle";
7812
+ };
7813
+ export type MobileLoopToggleErrors = {
7814
+ /**
7815
+ * Bad request
7816
+ */
7817
+ 400: BadRequestError;
7818
+ /**
7819
+ * Not found
7820
+ */
7821
+ 404: NotFoundError;
7822
+ };
7823
+ export type MobileLoopToggleError = MobileLoopToggleErrors[keyof MobileLoopToggleErrors];
7824
+ export type MobileLoopToggleResponses = {
7825
+ /**
7826
+ * Updated loop
7827
+ */
7828
+ 200: MobileLoop;
7829
+ };
7830
+ export type MobileLoopToggleResponse = MobileLoopToggleResponses[keyof MobileLoopToggleResponses];
7831
+ export type MobileLoopPauseData = {
7832
+ body?: never;
7833
+ path: {
7834
+ id: string;
7835
+ };
7836
+ query?: {
7837
+ directory?: string;
7838
+ workspace?: string;
7839
+ };
7840
+ url: "/mobile/loops/{id}/pause";
7841
+ };
7842
+ export type MobileLoopPauseErrors = {
7843
+ /**
7844
+ * Bad request
7845
+ */
7846
+ 400: BadRequestError;
7847
+ /**
7848
+ * Not found
7849
+ */
7850
+ 404: NotFoundError;
7851
+ };
7852
+ export type MobileLoopPauseError = MobileLoopPauseErrors[keyof MobileLoopPauseErrors];
7853
+ export type MobileLoopPauseResponses = {
7854
+ /**
7855
+ * Pause completed
7856
+ */
7857
+ 200: {
7858
+ success: true;
7859
+ };
7860
+ };
7861
+ export type MobileLoopPauseResponse = MobileLoopPauseResponses[keyof MobileLoopPauseResponses];
7862
+ export type MobileLoopResumeData = {
7863
+ body?: never;
7864
+ path: {
7865
+ id: string;
7866
+ };
7867
+ query?: {
7868
+ directory?: string;
7869
+ workspace?: string;
7870
+ };
7871
+ url: "/mobile/loops/{id}/resume";
7872
+ };
7873
+ export type MobileLoopResumeErrors = {
7874
+ /**
7875
+ * Bad request
7876
+ */
7877
+ 400: BadRequestError;
7878
+ /**
7879
+ * Not found
7880
+ */
7881
+ 404: NotFoundError;
7882
+ };
7883
+ export type MobileLoopResumeError = MobileLoopResumeErrors[keyof MobileLoopResumeErrors];
7884
+ export type MobileLoopResumeResponses = {
7885
+ /**
7886
+ * Resume completed
7887
+ */
7888
+ 200: {
7889
+ success: true;
7890
+ };
7891
+ };
7892
+ export type MobileLoopResumeResponse = MobileLoopResumeResponses[keyof MobileLoopResumeResponses];
6969
7893
  export type MobileRoutineListData = {
6970
7894
  body?: never;
6971
7895
  path?: never;