@synsci/sdk 2.0.2-test.76.1 → 2.0.2-test.78.1

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.
@@ -2649,6 +2649,8 @@ export type SettingsComputeGetResponses = {
2649
2649
  placeholder: string;
2650
2650
  hint: string;
2651
2651
  connected: boolean;
2652
+ enabled: boolean;
2653
+ source: "stored" | "modal_toml" | null;
2652
2654
  connected_at: string | null;
2653
2655
  last_used: string | null;
2654
2656
  }>;
@@ -2661,6 +2663,17 @@ export type SettingsComputeGetResponses = {
2661
2663
  scheduler?: "none" | "slurm" | "pbs";
2662
2664
  workdir?: string;
2663
2665
  }>;
2666
+ modal?: {
2667
+ app?: string;
2668
+ image?: string;
2669
+ network?: "unrestricted" | "none";
2670
+ timeout_minutes?: number;
2671
+ concurrency?: number;
2672
+ };
2673
+ modal_file: {
2674
+ found: boolean;
2675
+ ready: boolean;
2676
+ };
2664
2677
  };
2665
2678
  };
2666
2679
  export type SettingsComputeGetResponse = SettingsComputeGetResponses[keyof SettingsComputeGetResponses];
@@ -2684,6 +2697,8 @@ export type SettingsComputeProviderDisconnectResponses = {
2684
2697
  placeholder: string;
2685
2698
  hint: string;
2686
2699
  connected: boolean;
2700
+ enabled: boolean;
2701
+ source: "stored" | "modal_toml" | null;
2687
2702
  connected_at: string | null;
2688
2703
  last_used: string | null;
2689
2704
  }>;
@@ -2696,6 +2711,17 @@ export type SettingsComputeProviderDisconnectResponses = {
2696
2711
  scheduler?: "none" | "slurm" | "pbs";
2697
2712
  workdir?: string;
2698
2713
  }>;
2714
+ modal?: {
2715
+ app?: string;
2716
+ image?: string;
2717
+ network?: "unrestricted" | "none";
2718
+ timeout_minutes?: number;
2719
+ concurrency?: number;
2720
+ };
2721
+ modal_file: {
2722
+ found: boolean;
2723
+ ready: boolean;
2724
+ };
2699
2725
  };
2700
2726
  };
2701
2727
  export type SettingsComputeProviderDisconnectResponse = SettingsComputeProviderDisconnectResponses[keyof SettingsComputeProviderDisconnectResponses];
@@ -2728,6 +2754,8 @@ export type SettingsComputeProviderConnectResponses = {
2728
2754
  placeholder: string;
2729
2755
  hint: string;
2730
2756
  connected: boolean;
2757
+ enabled: boolean;
2758
+ source: "stored" | "modal_toml" | null;
2731
2759
  connected_at: string | null;
2732
2760
  last_used: string | null;
2733
2761
  }>;
@@ -2740,9 +2768,290 @@ export type SettingsComputeProviderConnectResponses = {
2740
2768
  scheduler?: "none" | "slurm" | "pbs";
2741
2769
  workdir?: string;
2742
2770
  }>;
2771
+ modal?: {
2772
+ app?: string;
2773
+ image?: string;
2774
+ network?: "unrestricted" | "none";
2775
+ timeout_minutes?: number;
2776
+ concurrency?: number;
2777
+ };
2778
+ modal_file: {
2779
+ found: boolean;
2780
+ ready: boolean;
2781
+ };
2743
2782
  };
2744
2783
  };
2745
2784
  export type SettingsComputeProviderConnectResponse = SettingsComputeProviderConnectResponses[keyof SettingsComputeProviderConnectResponses];
2785
+ export type SettingsComputeProviderEnabledData = {
2786
+ body?: {
2787
+ enabled: boolean;
2788
+ };
2789
+ path: {
2790
+ id: string;
2791
+ };
2792
+ query?: never;
2793
+ url: "/settings/compute/provider/{id}/enabled";
2794
+ };
2795
+ export type SettingsComputeProviderEnabledErrors = {
2796
+ /**
2797
+ * Bad request
2798
+ */
2799
+ 400: BadRequestError;
2800
+ };
2801
+ export type SettingsComputeProviderEnabledError = SettingsComputeProviderEnabledErrors[keyof SettingsComputeProviderEnabledErrors];
2802
+ export type SettingsComputeProviderEnabledResponses = {
2803
+ /**
2804
+ * Updated
2805
+ */
2806
+ 200: {
2807
+ providers?: Array<{
2808
+ id: string;
2809
+ name: string;
2810
+ verified: boolean;
2811
+ placeholder: string;
2812
+ hint: string;
2813
+ connected: boolean;
2814
+ enabled: boolean;
2815
+ source: "stored" | "modal_toml" | null;
2816
+ connected_at: string | null;
2817
+ last_used: string | null;
2818
+ }>;
2819
+ ssh_hosts?: Array<{
2820
+ id: string;
2821
+ label: string;
2822
+ host: string;
2823
+ user?: string;
2824
+ port?: number;
2825
+ scheduler?: "none" | "slurm" | "pbs";
2826
+ workdir?: string;
2827
+ }>;
2828
+ modal?: {
2829
+ app?: string;
2830
+ image?: string;
2831
+ network?: "unrestricted" | "none";
2832
+ timeout_minutes?: number;
2833
+ concurrency?: number;
2834
+ };
2835
+ modal_file: {
2836
+ found: boolean;
2837
+ ready: boolean;
2838
+ };
2839
+ };
2840
+ };
2841
+ export type SettingsComputeProviderEnabledResponse = SettingsComputeProviderEnabledResponses[keyof SettingsComputeProviderEnabledResponses];
2842
+ export type SettingsComputeModalUpdateData = {
2843
+ body?: {
2844
+ app?: string;
2845
+ image?: string;
2846
+ network?: "unrestricted" | "none";
2847
+ timeout_minutes?: number;
2848
+ concurrency?: number;
2849
+ };
2850
+ path?: never;
2851
+ query?: never;
2852
+ url: "/settings/compute/modal";
2853
+ };
2854
+ export type SettingsComputeModalUpdateErrors = {
2855
+ /**
2856
+ * Bad request
2857
+ */
2858
+ 400: BadRequestError;
2859
+ };
2860
+ export type SettingsComputeModalUpdateError = SettingsComputeModalUpdateErrors[keyof SettingsComputeModalUpdateErrors];
2861
+ export type SettingsComputeModalUpdateResponses = {
2862
+ /**
2863
+ * Updated
2864
+ */
2865
+ 200: {
2866
+ providers?: Array<{
2867
+ id: string;
2868
+ name: string;
2869
+ verified: boolean;
2870
+ placeholder: string;
2871
+ hint: string;
2872
+ connected: boolean;
2873
+ enabled: boolean;
2874
+ source: "stored" | "modal_toml" | null;
2875
+ connected_at: string | null;
2876
+ last_used: string | null;
2877
+ }>;
2878
+ ssh_hosts?: Array<{
2879
+ id: string;
2880
+ label: string;
2881
+ host: string;
2882
+ user?: string;
2883
+ port?: number;
2884
+ scheduler?: "none" | "slurm" | "pbs";
2885
+ workdir?: string;
2886
+ }>;
2887
+ modal?: {
2888
+ app?: string;
2889
+ image?: string;
2890
+ network?: "unrestricted" | "none";
2891
+ timeout_minutes?: number;
2892
+ concurrency?: number;
2893
+ };
2894
+ modal_file: {
2895
+ found: boolean;
2896
+ ready: boolean;
2897
+ };
2898
+ };
2899
+ };
2900
+ export type SettingsComputeModalUpdateResponse = SettingsComputeModalUpdateResponses[keyof SettingsComputeModalUpdateResponses];
2901
+ export type SettingsComputeModalVolumesData = {
2902
+ body?: never;
2903
+ path?: never;
2904
+ query?: never;
2905
+ url: "/settings/compute/modal/volumes";
2906
+ };
2907
+ export type SettingsComputeModalVolumesErrors = {
2908
+ /**
2909
+ * Bad request
2910
+ */
2911
+ 400: BadRequestError;
2912
+ };
2913
+ export type SettingsComputeModalVolumesError = SettingsComputeModalVolumesErrors[keyof SettingsComputeModalVolumesErrors];
2914
+ export type SettingsComputeModalVolumesResponses = {
2915
+ /**
2916
+ * Modal Volumes
2917
+ */
2918
+ 200: Array<{
2919
+ name: string;
2920
+ }>;
2921
+ };
2922
+ export type SettingsComputeModalVolumesResponse = SettingsComputeModalVolumesResponses[keyof SettingsComputeModalVolumesResponses];
2923
+ export type SettingsComputeModalVolumeFilesData = {
2924
+ body?: never;
2925
+ path: {
2926
+ name: string;
2927
+ };
2928
+ query?: {
2929
+ path?: string;
2930
+ };
2931
+ url: "/settings/compute/modal/volumes/{name}/files";
2932
+ };
2933
+ export type SettingsComputeModalVolumeFilesErrors = {
2934
+ /**
2935
+ * Bad request
2936
+ */
2937
+ 400: BadRequestError;
2938
+ };
2939
+ export type SettingsComputeModalVolumeFilesError = SettingsComputeModalVolumeFilesErrors[keyof SettingsComputeModalVolumeFilesErrors];
2940
+ export type SettingsComputeModalVolumeFilesResponses = {
2941
+ /**
2942
+ * Modal Volume files
2943
+ */
2944
+ 200: Array<{
2945
+ path: string;
2946
+ type: string;
2947
+ size: number;
2948
+ mtime?: number;
2949
+ }>;
2950
+ };
2951
+ export type SettingsComputeModalVolumeFilesResponse = SettingsComputeModalVolumeFilesResponses[keyof SettingsComputeModalVolumeFilesResponses];
2952
+ export type SettingsComputeModalVolumeFileData = {
2953
+ body?: never;
2954
+ path: {
2955
+ name: string;
2956
+ };
2957
+ query: {
2958
+ path: string;
2959
+ };
2960
+ url: "/settings/compute/modal/volumes/{name}/file";
2961
+ };
2962
+ export type SettingsComputeModalVolumeFileErrors = {
2963
+ /**
2964
+ * Bad request
2965
+ */
2966
+ 400: BadRequestError;
2967
+ /**
2968
+ * Not found
2969
+ */
2970
+ 404: NotFoundError;
2971
+ };
2972
+ export type SettingsComputeModalVolumeFileError = SettingsComputeModalVolumeFileErrors[keyof SettingsComputeModalVolumeFileErrors];
2973
+ export type SettingsComputeModalVolumeFileResponses = {
2974
+ /**
2975
+ * Modal Volume file
2976
+ */
2977
+ 200: unknown;
2978
+ };
2979
+ export type SettingsComputeModalConfigureData = {
2980
+ body?: never;
2981
+ path?: never;
2982
+ query?: never;
2983
+ url: "/settings/compute/modal/configure";
2984
+ };
2985
+ export type SettingsComputeModalConfigureErrors = {
2986
+ /**
2987
+ * Bad request
2988
+ */
2989
+ 400: BadRequestError;
2990
+ };
2991
+ export type SettingsComputeModalConfigureError = SettingsComputeModalConfigureErrors[keyof SettingsComputeModalConfigureErrors];
2992
+ export type SettingsComputeModalConfigureResponses = {
2993
+ /**
2994
+ * Configured
2995
+ */
2996
+ 200: {
2997
+ providers?: Array<{
2998
+ id: string;
2999
+ name: string;
3000
+ verified: boolean;
3001
+ placeholder: string;
3002
+ hint: string;
3003
+ connected: boolean;
3004
+ enabled: boolean;
3005
+ source: "stored" | "modal_toml" | null;
3006
+ connected_at: string | null;
3007
+ last_used: string | null;
3008
+ }>;
3009
+ ssh_hosts?: Array<{
3010
+ id: string;
3011
+ label: string;
3012
+ host: string;
3013
+ user?: string;
3014
+ port?: number;
3015
+ scheduler?: "none" | "slurm" | "pbs";
3016
+ workdir?: string;
3017
+ }>;
3018
+ modal?: {
3019
+ app?: string;
3020
+ image?: string;
3021
+ network?: "unrestricted" | "none";
3022
+ timeout_minutes?: number;
3023
+ concurrency?: number;
3024
+ };
3025
+ modal_file: {
3026
+ found: boolean;
3027
+ ready: boolean;
3028
+ };
3029
+ };
3030
+ };
3031
+ export type SettingsComputeModalConfigureResponse = SettingsComputeModalConfigureResponses[keyof SettingsComputeModalConfigureResponses];
3032
+ export type SettingsComputeModalCheckData = {
3033
+ body?: never;
3034
+ path?: never;
3035
+ query?: never;
3036
+ url: "/settings/compute/modal/check";
3037
+ };
3038
+ export type SettingsComputeModalCheckErrors = {
3039
+ /**
3040
+ * Bad request
3041
+ */
3042
+ 400: BadRequestError;
3043
+ };
3044
+ export type SettingsComputeModalCheckError = SettingsComputeModalCheckErrors[keyof SettingsComputeModalCheckErrors];
3045
+ export type SettingsComputeModalCheckResponses = {
3046
+ /**
3047
+ * Connection result
3048
+ */
3049
+ 200: {
3050
+ ok: true;
3051
+ sdk: string;
3052
+ };
3053
+ };
3054
+ export type SettingsComputeModalCheckResponse = SettingsComputeModalCheckResponses[keyof SettingsComputeModalCheckResponses];
2746
3055
  export type SettingsComputeSshAddData = {
2747
3056
  body?: {
2748
3057
  label: string;
@@ -2775,6 +3084,8 @@ export type SettingsComputeSshAddResponses = {
2775
3084
  placeholder: string;
2776
3085
  hint: string;
2777
3086
  connected: boolean;
3087
+ enabled: boolean;
3088
+ source: "stored" | "modal_toml" | null;
2778
3089
  connected_at: string | null;
2779
3090
  last_used: string | null;
2780
3091
  }>;
@@ -2787,6 +3098,17 @@ export type SettingsComputeSshAddResponses = {
2787
3098
  scheduler?: "none" | "slurm" | "pbs";
2788
3099
  workdir?: string;
2789
3100
  }>;
3101
+ modal?: {
3102
+ app?: string;
3103
+ image?: string;
3104
+ network?: "unrestricted" | "none";
3105
+ timeout_minutes?: number;
3106
+ concurrency?: number;
3107
+ };
3108
+ modal_file: {
3109
+ found: boolean;
3110
+ ready: boolean;
3111
+ };
2790
3112
  };
2791
3113
  };
2792
3114
  export type SettingsComputeSshAddResponse = SettingsComputeSshAddResponses[keyof SettingsComputeSshAddResponses];
@@ -2830,46 +3152,468 @@ export type SettingsComputeSshRemoveData = {
2830
3152
  query?: never;
2831
3153
  url: "/settings/compute/ssh/{id}";
2832
3154
  };
2833
- export type SettingsComputeSshRemoveResponses = {
2834
- /**
2835
- * Updated
2836
- */
2837
- 200: {
2838
- providers?: Array<{
2839
- id: string;
2840
- name: string;
2841
- verified: boolean;
2842
- placeholder: string;
2843
- hint: string;
2844
- connected: boolean;
2845
- connected_at: string | null;
2846
- last_used: string | null;
2847
- }>;
2848
- ssh_hosts?: Array<{
2849
- id: string;
2850
- label: string;
2851
- host: string;
2852
- user?: string;
2853
- port?: number;
2854
- scheduler?: "none" | "slurm" | "pbs";
2855
- workdir?: string;
2856
- }>;
3155
+ export type SettingsComputeSshRemoveResponses = {
3156
+ /**
3157
+ * Updated
3158
+ */
3159
+ 200: {
3160
+ providers?: Array<{
3161
+ id: string;
3162
+ name: string;
3163
+ verified: boolean;
3164
+ placeholder: string;
3165
+ hint: string;
3166
+ connected: boolean;
3167
+ enabled: boolean;
3168
+ source: "stored" | "modal_toml" | null;
3169
+ connected_at: string | null;
3170
+ last_used: string | null;
3171
+ }>;
3172
+ ssh_hosts?: Array<{
3173
+ id: string;
3174
+ label: string;
3175
+ host: string;
3176
+ user?: string;
3177
+ port?: number;
3178
+ scheduler?: "none" | "slurm" | "pbs";
3179
+ workdir?: string;
3180
+ }>;
3181
+ modal?: {
3182
+ app?: string;
3183
+ image?: string;
3184
+ network?: "unrestricted" | "none";
3185
+ timeout_minutes?: number;
3186
+ concurrency?: number;
3187
+ };
3188
+ modal_file: {
3189
+ found: boolean;
3190
+ ready: boolean;
3191
+ };
3192
+ };
3193
+ };
3194
+ export type SettingsComputeSshRemoveResponse = SettingsComputeSshRemoveResponses[keyof SettingsComputeSshRemoveResponses];
3195
+ export type SettingsComputeJobsListData = {
3196
+ body?: never;
3197
+ path?: never;
3198
+ query?: {
3199
+ directory?: string;
3200
+ };
3201
+ url: "/settings/compute/jobs";
3202
+ };
3203
+ export type SettingsComputeJobsListResponses = {
3204
+ /**
3205
+ * Compute jobs
3206
+ */
3207
+ 200: Array<{
3208
+ id: string;
3209
+ name: string;
3210
+ command: string;
3211
+ cwd?: string;
3212
+ target: {
3213
+ kind: "local";
3214
+ } | {
3215
+ kind: "ssh";
3216
+ host_id: string;
3217
+ } | {
3218
+ kind: "modal";
3219
+ };
3220
+ target_label: string;
3221
+ scheduler: "none" | "slurm" | "pbs";
3222
+ status: "queued" | "running" | "succeeded" | "failed" | "cancelled" | "interrupted";
3223
+ created_at: string;
3224
+ started_at?: string;
3225
+ completed_at?: string;
3226
+ exit_code?: number | null;
3227
+ pid?: number;
3228
+ error?: string;
3229
+ resources?: {
3230
+ cpus?: number;
3231
+ gpus?: number;
3232
+ memory_gb?: number;
3233
+ time_minutes?: number;
3234
+ partition?: string;
3235
+ };
3236
+ modules?: Array<string>;
3237
+ container?: string;
3238
+ artifact_patterns?: Array<string>;
3239
+ artifacts?: Array<{
3240
+ path: string;
3241
+ size: number;
3242
+ sha256: string;
3243
+ modified_at: string;
3244
+ }>;
3245
+ checkpoint_path?: string;
3246
+ checkpoint?: {
3247
+ path: string;
3248
+ size: number;
3249
+ sha256: string;
3250
+ modified_at: string;
3251
+ };
3252
+ reproducibility?: {
3253
+ captured_at: string;
3254
+ command: string;
3255
+ cwd: string;
3256
+ platform: string;
3257
+ arch: string;
3258
+ bun: string;
3259
+ node: string;
3260
+ python?: string;
3261
+ git?: {
3262
+ repository?: string;
3263
+ branch?: string;
3264
+ commit?: string;
3265
+ dirty: boolean;
3266
+ };
3267
+ lockfiles: Array<{
3268
+ path: string;
3269
+ size: number;
3270
+ sha256: string;
3271
+ modified_at: string;
3272
+ }>;
3273
+ resources?: {
3274
+ cpus?: number;
3275
+ gpus?: number;
3276
+ memory_gb?: number;
3277
+ time_minutes?: number;
3278
+ partition?: string;
3279
+ };
3280
+ };
3281
+ provenance?: {
3282
+ format: "openscience.provenance.v1";
3283
+ kind: "kernel" | "local_compute" | "remote_compute" | "artifact_version";
3284
+ identity: {
3285
+ project_id: {
3286
+ status: "available";
3287
+ value: string;
3288
+ } | {
3289
+ status: "unavailable";
3290
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3291
+ };
3292
+ session_id: {
3293
+ status: "available";
3294
+ value: string;
3295
+ } | {
3296
+ status: "unavailable";
3297
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3298
+ };
3299
+ run_id: {
3300
+ status: "available";
3301
+ value: string;
3302
+ } | {
3303
+ status: "unavailable";
3304
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3305
+ };
3306
+ };
3307
+ input: {
3308
+ code: {
3309
+ status: "available";
3310
+ value: string;
3311
+ } | {
3312
+ status: "unavailable";
3313
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3314
+ };
3315
+ cwd: {
3316
+ status: "available";
3317
+ value: string;
3318
+ } | {
3319
+ status: "unavailable";
3320
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3321
+ };
3322
+ code_state: {
3323
+ status: "available";
3324
+ value: {
3325
+ repository: {
3326
+ status: "available";
3327
+ value: string;
3328
+ } | {
3329
+ status: "unavailable";
3330
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3331
+ };
3332
+ branch: {
3333
+ status: "available";
3334
+ value: string;
3335
+ } | {
3336
+ status: "unavailable";
3337
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3338
+ };
3339
+ commit: {
3340
+ status: "available";
3341
+ value: string;
3342
+ } | {
3343
+ status: "unavailable";
3344
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3345
+ };
3346
+ dirty: {
3347
+ status: "available";
3348
+ value: boolean;
3349
+ } | {
3350
+ status: "unavailable";
3351
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3352
+ };
3353
+ };
3354
+ } | {
3355
+ status: "unavailable";
3356
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3357
+ };
3358
+ };
3359
+ environment: {
3360
+ host: {
3361
+ status: "available";
3362
+ value: {
3363
+ platform: string;
3364
+ arch: string;
3365
+ runtimes: {
3366
+ [key: string]: string;
3367
+ };
3368
+ };
3369
+ } | {
3370
+ status: "unavailable";
3371
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3372
+ };
3373
+ kernel: {
3374
+ status: "available";
3375
+ value: {
3376
+ id: string;
3377
+ language: string;
3378
+ incarnation: {
3379
+ status: "available";
3380
+ value: number;
3381
+ } | {
3382
+ status: "unavailable";
3383
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3384
+ };
3385
+ process_id: {
3386
+ status: "available";
3387
+ value: number;
3388
+ } | {
3389
+ status: "unavailable";
3390
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3391
+ };
3392
+ process_started_at: {
3393
+ status: "available";
3394
+ value: string;
3395
+ } | {
3396
+ status: "unavailable";
3397
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3398
+ };
3399
+ };
3400
+ } | {
3401
+ status: "unavailable";
3402
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3403
+ };
3404
+ };
3405
+ outputs: {
3406
+ status: "queued" | "running" | "succeeded" | "failed" | "cancelled" | "interrupted" | "inconclusive";
3407
+ items: Array<{
3408
+ kind: "stream" | "display" | "result" | "error" | "artifact" | "checkpoint";
3409
+ label: string;
3410
+ artifact_id: {
3411
+ status: "available";
3412
+ value: string;
3413
+ } | {
3414
+ status: "unavailable";
3415
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3416
+ };
3417
+ path: {
3418
+ status: "available";
3419
+ value: string;
3420
+ } | {
3421
+ status: "unavailable";
3422
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3423
+ };
3424
+ sha256: string;
3425
+ size: number;
3426
+ version_id: {
3427
+ status: "available";
3428
+ value: string;
3429
+ } | {
3430
+ status: "unavailable";
3431
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3432
+ };
3433
+ version: {
3434
+ status: "available";
3435
+ value: number;
3436
+ } | {
3437
+ status: "unavailable";
3438
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3439
+ };
3440
+ created_at: {
3441
+ status: "available";
3442
+ value: string;
3443
+ } | {
3444
+ status: "unavailable";
3445
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3446
+ };
3447
+ }>;
3448
+ };
3449
+ timestamps: {
3450
+ created_at: {
3451
+ status: "available";
3452
+ value: string;
3453
+ } | {
3454
+ status: "unavailable";
3455
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3456
+ };
3457
+ started_at: {
3458
+ status: "available";
3459
+ value: string;
3460
+ } | {
3461
+ status: "unavailable";
3462
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3463
+ };
3464
+ completed_at: {
3465
+ status: "available";
3466
+ value: string;
3467
+ } | {
3468
+ status: "unavailable";
3469
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3470
+ };
3471
+ };
3472
+ handoff: {
3473
+ atlas_compute_id: {
3474
+ status: "available";
3475
+ value: string;
3476
+ } | {
3477
+ status: "unavailable";
3478
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3479
+ };
3480
+ atlas_run_id: {
3481
+ status: "available";
3482
+ value: string;
3483
+ } | {
3484
+ status: "unavailable";
3485
+ reason: "not_applicable" | "not_captured" | "not_implemented" | "not_published" | "not_versioned" | "remote_unverified";
3486
+ };
3487
+ };
3488
+ };
3489
+ capture_error?: string;
3490
+ cleanup_error?: string;
3491
+ recovery_attempts?: number;
3492
+ recovery_retry_at?: string;
3493
+ session_id?: string;
3494
+ authority?: {
3495
+ allowed: boolean;
3496
+ reason: "allowed" | "project_untrusted" | "sandbox_unavailable";
3497
+ capability: "terminal" | "kernel" | "shell" | "local_job" | "remote_job" | "package_install" | "project_plugin" | "project_mcp" | "project_formatter" | "project_lsp" | "provider_token_command";
3498
+ mode: "read_only" | "sandboxed" | "host";
3499
+ projectID: string;
3500
+ sessionID: string;
3501
+ trustRevision: number;
3502
+ grantRevision: number;
3503
+ generation: string;
3504
+ workspace: string;
3505
+ writable: Array<string>;
3506
+ sandbox: {
3507
+ enabled: boolean;
3508
+ network: "allow" | "deny";
3509
+ allowWrite: Array<string>;
3510
+ onUnavailable: "warn" | "error" | "allow";
3511
+ backend: "seatbelt" | "bubblewrap" | "none";
3512
+ available: boolean;
3513
+ enforced: boolean;
3514
+ };
3515
+ remediation?: {
3516
+ code: "trust_project_required";
3517
+ message: string;
3518
+ method: "PUT";
3519
+ path: string;
3520
+ body: {
3521
+ trusted: true;
3522
+ root: string;
3523
+ };
3524
+ };
3525
+ };
3526
+ scope?: {
3527
+ directory: string;
3528
+ key: string;
3529
+ };
3530
+ sandbox?: {
3531
+ requested: boolean;
3532
+ enforced: boolean;
3533
+ backend: "seatbelt" | "bubblewrap" | "none";
3534
+ network: "allow" | "deny";
3535
+ warning?: string;
3536
+ };
3537
+ lifecycle?: {
3538
+ execution: "planned" | "awaiting_approval" | "queued" | "starting" | "running" | "succeeded" | "failed" | "timed_out" | "cancelled" | "interrupted";
3539
+ delivery: "none" | "pending" | "complete" | "rejected" | "failed";
3540
+ resource: "none" | "starting" | "active" | "closed" | "unknown";
3541
+ recoverable: boolean;
3542
+ error_kind?: "provider_disabled" | "image_build_failed" | "unauthorized" | "quota_exhausted" | "rate_limited" | "ownership_mismatch" | "result_rejected" | "harvest_failed" | "input_changed" | "session_concurrency_full" | "invalid_request" | "not_found";
3543
+ system_hint?: string;
3544
+ deadline_fired?: boolean;
3545
+ };
3546
+ remote_id?: string;
3547
+ modal?: {
3548
+ app: string;
3549
+ environment?: string;
3550
+ image: string;
3551
+ packages?: Array<string>;
3552
+ gpu: string;
3553
+ network: "unrestricted" | "none";
3554
+ timeout_minutes: number;
3555
+ uploads: Array<{
3556
+ path: string;
3557
+ size: number;
3558
+ sha256: string;
3559
+ }>;
3560
+ upload_bytes: number;
3561
+ approval: string;
3562
+ sdk: string;
3563
+ volume?: string;
3564
+ };
3565
+ }>;
3566
+ };
3567
+ export type SettingsComputeJobsListResponse = SettingsComputeJobsListResponses[keyof SettingsComputeJobsListResponses];
3568
+ export type SettingsComputeJobsStartData = {
3569
+ body?: {
3570
+ name: string;
3571
+ command: string;
3572
+ cwd?: string;
3573
+ target: {
3574
+ kind: "local";
3575
+ } | {
3576
+ kind: "ssh";
3577
+ host_id: string;
3578
+ } | {
3579
+ kind: "modal";
3580
+ };
3581
+ resources?: {
3582
+ cpus?: number;
3583
+ gpus?: number;
3584
+ memory_gb?: number;
3585
+ time_minutes?: number;
3586
+ partition?: string;
3587
+ };
3588
+ modules?: Array<string>;
3589
+ container?: string;
3590
+ artifacts?: Array<string>;
3591
+ checkpoint?: string;
3592
+ uploads?: Array<string>;
3593
+ packages?: Array<string>;
3594
+ image?: string;
3595
+ gpu?: string;
3596
+ approval?: string;
3597
+ sessionID: string;
2857
3598
  };
2858
- };
2859
- export type SettingsComputeSshRemoveResponse = SettingsComputeSshRemoveResponses[keyof SettingsComputeSshRemoveResponses];
2860
- export type SettingsComputeJobsListData = {
2861
- body?: never;
2862
3599
  path?: never;
2863
3600
  query?: {
2864
3601
  directory?: string;
2865
3602
  };
2866
3603
  url: "/settings/compute/jobs";
2867
3604
  };
2868
- export type SettingsComputeJobsListResponses = {
3605
+ export type SettingsComputeJobsStartErrors = {
2869
3606
  /**
2870
- * Compute jobs
3607
+ * Bad request
2871
3608
  */
2872
- 200: Array<{
3609
+ 400: BadRequestError;
3610
+ };
3611
+ export type SettingsComputeJobsStartError = SettingsComputeJobsStartErrors[keyof SettingsComputeJobsStartErrors];
3612
+ export type SettingsComputeJobsStartResponses = {
3613
+ /**
3614
+ * Started job
3615
+ */
3616
+ 200: {
2873
3617
  id: string;
2874
3618
  name: string;
2875
3619
  command: string;
@@ -2879,6 +3623,8 @@ export type SettingsComputeJobsListResponses = {
2879
3623
  } | {
2880
3624
  kind: "ssh";
2881
3625
  host_id: string;
3626
+ } | {
3627
+ kind: "modal";
2882
3628
  };
2883
3629
  target_label: string;
2884
3630
  scheduler: "none" | "slurm" | "pbs";
@@ -3150,6 +3896,9 @@ export type SettingsComputeJobsListResponses = {
3150
3896
  };
3151
3897
  };
3152
3898
  capture_error?: string;
3899
+ cleanup_error?: string;
3900
+ recovery_attempts?: number;
3901
+ recovery_retry_at?: string;
3153
3902
  session_id?: string;
3154
3903
  authority?: {
3155
3904
  allowed: boolean;
@@ -3194,10 +3943,38 @@ export type SettingsComputeJobsListResponses = {
3194
3943
  network: "allow" | "deny";
3195
3944
  warning?: string;
3196
3945
  };
3197
- }>;
3946
+ lifecycle?: {
3947
+ execution: "planned" | "awaiting_approval" | "queued" | "starting" | "running" | "succeeded" | "failed" | "timed_out" | "cancelled" | "interrupted";
3948
+ delivery: "none" | "pending" | "complete" | "rejected" | "failed";
3949
+ resource: "none" | "starting" | "active" | "closed" | "unknown";
3950
+ recoverable: boolean;
3951
+ error_kind?: "provider_disabled" | "image_build_failed" | "unauthorized" | "quota_exhausted" | "rate_limited" | "ownership_mismatch" | "result_rejected" | "harvest_failed" | "input_changed" | "session_concurrency_full" | "invalid_request" | "not_found";
3952
+ system_hint?: string;
3953
+ deadline_fired?: boolean;
3954
+ };
3955
+ remote_id?: string;
3956
+ modal?: {
3957
+ app: string;
3958
+ environment?: string;
3959
+ image: string;
3960
+ packages?: Array<string>;
3961
+ gpu: string;
3962
+ network: "unrestricted" | "none";
3963
+ timeout_minutes: number;
3964
+ uploads: Array<{
3965
+ path: string;
3966
+ size: number;
3967
+ sha256: string;
3968
+ }>;
3969
+ upload_bytes: number;
3970
+ approval: string;
3971
+ sdk: string;
3972
+ volume?: string;
3973
+ };
3974
+ };
3198
3975
  };
3199
- export type SettingsComputeJobsListResponse = SettingsComputeJobsListResponses[keyof SettingsComputeJobsListResponses];
3200
- export type SettingsComputeJobsStartData = {
3976
+ export type SettingsComputeJobsStartResponse = SettingsComputeJobsStartResponses[keyof SettingsComputeJobsStartResponses];
3977
+ export type SettingsComputeJobsPlanData = {
3201
3978
  body?: {
3202
3979
  name: string;
3203
3980
  command: string;
@@ -3207,6 +3984,8 @@ export type SettingsComputeJobsStartData = {
3207
3984
  } | {
3208
3985
  kind: "ssh";
3209
3986
  host_id: string;
3987
+ } | {
3988
+ kind: "modal";
3210
3989
  };
3211
3990
  resources?: {
3212
3991
  cpus?: number;
@@ -3219,24 +3998,151 @@ export type SettingsComputeJobsStartData = {
3219
3998
  container?: string;
3220
3999
  artifacts?: Array<string>;
3221
4000
  checkpoint?: string;
4001
+ uploads?: Array<string>;
4002
+ packages?: Array<string>;
4003
+ image?: string;
4004
+ gpu?: string;
4005
+ approval?: string;
3222
4006
  sessionID: string;
3223
4007
  };
3224
4008
  path?: never;
3225
4009
  query?: {
3226
4010
  directory?: string;
3227
4011
  };
3228
- url: "/settings/compute/jobs";
4012
+ url: "/settings/compute/jobs/plan";
3229
4013
  };
3230
- export type SettingsComputeJobsStartErrors = {
4014
+ export type SettingsComputeJobsPlanErrors = {
3231
4015
  /**
3232
4016
  * Bad request
3233
4017
  */
3234
4018
  400: BadRequestError;
3235
4019
  };
3236
- export type SettingsComputeJobsStartError = SettingsComputeJobsStartErrors[keyof SettingsComputeJobsStartErrors];
3237
- export type SettingsComputeJobsStartResponses = {
4020
+ export type SettingsComputeJobsPlanError = SettingsComputeJobsPlanErrors[keyof SettingsComputeJobsPlanErrors];
4021
+ export type SettingsComputeJobsPlanResponses = {
3238
4022
  /**
3239
- * Started job
4023
+ * Modal run plan
4024
+ */
4025
+ 200: {
4026
+ digest: string;
4027
+ provider: "modal";
4028
+ app: string;
4029
+ environment?: string;
4030
+ image: string;
4031
+ packages: Array<string>;
4032
+ gpu: string;
4033
+ resources?: {
4034
+ cpus?: number;
4035
+ gpus?: number;
4036
+ memory_gb?: number;
4037
+ };
4038
+ timeout_minutes: number;
4039
+ network: "unrestricted" | "none";
4040
+ command: string;
4041
+ cwd: string;
4042
+ uploads: Array<{
4043
+ path: string;
4044
+ size: number;
4045
+ sha256: string;
4046
+ }>;
4047
+ upload_bytes: number;
4048
+ outputs: Array<string>;
4049
+ warning: string;
4050
+ };
4051
+ };
4052
+ export type SettingsComputeJobsPlanResponse = SettingsComputeJobsPlanResponses[keyof SettingsComputeJobsPlanResponses];
4053
+ export type SettingsComputeJobsClearData = {
4054
+ body?: never;
4055
+ path?: never;
4056
+ query?: {
4057
+ directory?: string;
4058
+ };
4059
+ url: "/settings/compute/jobs/completed";
4060
+ };
4061
+ export type SettingsComputeJobsClearResponses = {
4062
+ /**
4063
+ * Number cleared
4064
+ */
4065
+ 200: {
4066
+ cleared: number;
4067
+ };
4068
+ };
4069
+ export type SettingsComputeJobsClearResponse = SettingsComputeJobsClearResponses[keyof SettingsComputeJobsClearResponses];
4070
+ export type SettingsComputeJobsLogData = {
4071
+ body?: never;
4072
+ path: {
4073
+ id: string;
4074
+ };
4075
+ query?: {
4076
+ directory?: string;
4077
+ };
4078
+ url: "/settings/compute/jobs/{id}/log";
4079
+ };
4080
+ export type SettingsComputeJobsLogErrors = {
4081
+ /**
4082
+ * Not found
4083
+ */
4084
+ 404: NotFoundError;
4085
+ };
4086
+ export type SettingsComputeJobsLogError = SettingsComputeJobsLogErrors[keyof SettingsComputeJobsLogErrors];
4087
+ export type SettingsComputeJobsLogResponses = {
4088
+ /**
4089
+ * Job output
4090
+ */
4091
+ 200: {
4092
+ log: string;
4093
+ };
4094
+ };
4095
+ export type SettingsComputeJobsLogResponse = SettingsComputeJobsLogResponses[keyof SettingsComputeJobsLogResponses];
4096
+ export type SettingsComputeJobsEventsData = {
4097
+ body?: never;
4098
+ path: {
4099
+ id: string;
4100
+ };
4101
+ query?: {
4102
+ directory?: string;
4103
+ };
4104
+ url: "/settings/compute/jobs/{id}/events";
4105
+ };
4106
+ export type SettingsComputeJobsEventsErrors = {
4107
+ /**
4108
+ * Not found
4109
+ */
4110
+ 404: NotFoundError;
4111
+ };
4112
+ export type SettingsComputeJobsEventsError = SettingsComputeJobsEventsErrors[keyof SettingsComputeJobsEventsErrors];
4113
+ export type SettingsComputeJobsEventsResponses = {
4114
+ /**
4115
+ * Provider lifecycle logs
4116
+ */
4117
+ 200: {
4118
+ events: string;
4119
+ };
4120
+ };
4121
+ export type SettingsComputeJobsEventsResponse = SettingsComputeJobsEventsResponses[keyof SettingsComputeJobsEventsResponses];
4122
+ export type SettingsComputeJobsRetryData = {
4123
+ body?: never;
4124
+ path: {
4125
+ id: string;
4126
+ };
4127
+ query?: {
4128
+ directory?: string;
4129
+ };
4130
+ url: "/settings/compute/jobs/{id}/retry";
4131
+ };
4132
+ export type SettingsComputeJobsRetryErrors = {
4133
+ /**
4134
+ * Bad request
4135
+ */
4136
+ 400: BadRequestError;
4137
+ /**
4138
+ * Not found
4139
+ */
4140
+ 404: NotFoundError;
4141
+ };
4142
+ export type SettingsComputeJobsRetryError = SettingsComputeJobsRetryErrors[keyof SettingsComputeJobsRetryErrors];
4143
+ export type SettingsComputeJobsRetryResponses = {
4144
+ /**
4145
+ * Recovery started
3240
4146
  */
3241
4147
  200: {
3242
4148
  id: string;
@@ -3248,6 +4154,8 @@ export type SettingsComputeJobsStartResponses = {
3248
4154
  } | {
3249
4155
  kind: "ssh";
3250
4156
  host_id: string;
4157
+ } | {
4158
+ kind: "modal";
3251
4159
  };
3252
4160
  target_label: string;
3253
4161
  scheduler: "none" | "slurm" | "pbs";
@@ -3519,6 +4427,9 @@ export type SettingsComputeJobsStartResponses = {
3519
4427
  };
3520
4428
  };
3521
4429
  capture_error?: string;
4430
+ cleanup_error?: string;
4431
+ recovery_attempts?: number;
4432
+ recovery_retry_at?: string;
3522
4433
  session_id?: string;
3523
4434
  authority?: {
3524
4435
  allowed: boolean;
@@ -3563,52 +4474,37 @@ export type SettingsComputeJobsStartResponses = {
3563
4474
  network: "allow" | "deny";
3564
4475
  warning?: string;
3565
4476
  };
4477
+ lifecycle?: {
4478
+ execution: "planned" | "awaiting_approval" | "queued" | "starting" | "running" | "succeeded" | "failed" | "timed_out" | "cancelled" | "interrupted";
4479
+ delivery: "none" | "pending" | "complete" | "rejected" | "failed";
4480
+ resource: "none" | "starting" | "active" | "closed" | "unknown";
4481
+ recoverable: boolean;
4482
+ error_kind?: "provider_disabled" | "image_build_failed" | "unauthorized" | "quota_exhausted" | "rate_limited" | "ownership_mismatch" | "result_rejected" | "harvest_failed" | "input_changed" | "session_concurrency_full" | "invalid_request" | "not_found";
4483
+ system_hint?: string;
4484
+ deadline_fired?: boolean;
4485
+ };
4486
+ remote_id?: string;
4487
+ modal?: {
4488
+ app: string;
4489
+ environment?: string;
4490
+ image: string;
4491
+ packages?: Array<string>;
4492
+ gpu: string;
4493
+ network: "unrestricted" | "none";
4494
+ timeout_minutes: number;
4495
+ uploads: Array<{
4496
+ path: string;
4497
+ size: number;
4498
+ sha256: string;
4499
+ }>;
4500
+ upload_bytes: number;
4501
+ approval: string;
4502
+ sdk: string;
4503
+ volume?: string;
4504
+ };
3566
4505
  };
3567
4506
  };
3568
- export type SettingsComputeJobsStartResponse = SettingsComputeJobsStartResponses[keyof SettingsComputeJobsStartResponses];
3569
- export type SettingsComputeJobsClearData = {
3570
- body?: never;
3571
- path?: never;
3572
- query?: {
3573
- directory?: string;
3574
- };
3575
- url: "/settings/compute/jobs/completed";
3576
- };
3577
- export type SettingsComputeJobsClearResponses = {
3578
- /**
3579
- * Number cleared
3580
- */
3581
- 200: {
3582
- cleared: number;
3583
- };
3584
- };
3585
- export type SettingsComputeJobsClearResponse = SettingsComputeJobsClearResponses[keyof SettingsComputeJobsClearResponses];
3586
- export type SettingsComputeJobsLogData = {
3587
- body?: never;
3588
- path: {
3589
- id: string;
3590
- };
3591
- query?: {
3592
- directory?: string;
3593
- };
3594
- url: "/settings/compute/jobs/{id}/log";
3595
- };
3596
- export type SettingsComputeJobsLogErrors = {
3597
- /**
3598
- * Not found
3599
- */
3600
- 404: NotFoundError;
3601
- };
3602
- export type SettingsComputeJobsLogError = SettingsComputeJobsLogErrors[keyof SettingsComputeJobsLogErrors];
3603
- export type SettingsComputeJobsLogResponses = {
3604
- /**
3605
- * Job output
3606
- */
3607
- 200: {
3608
- log: string;
3609
- };
3610
- };
3611
- export type SettingsComputeJobsLogResponse = SettingsComputeJobsLogResponses[keyof SettingsComputeJobsLogResponses];
4507
+ export type SettingsComputeJobsRetryResponse = SettingsComputeJobsRetryResponses[keyof SettingsComputeJobsRetryResponses];
3612
4508
  export type SettingsComputeJobsCancelData = {
3613
4509
  body?: never;
3614
4510
  path: {
@@ -3640,6 +4536,8 @@ export type SettingsComputeJobsCancelResponses = {
3640
4536
  } | {
3641
4537
  kind: "ssh";
3642
4538
  host_id: string;
4539
+ } | {
4540
+ kind: "modal";
3643
4541
  };
3644
4542
  target_label: string;
3645
4543
  scheduler: "none" | "slurm" | "pbs";
@@ -3911,6 +4809,9 @@ export type SettingsComputeJobsCancelResponses = {
3911
4809
  };
3912
4810
  };
3913
4811
  capture_error?: string;
4812
+ cleanup_error?: string;
4813
+ recovery_attempts?: number;
4814
+ recovery_retry_at?: string;
3914
4815
  session_id?: string;
3915
4816
  authority?: {
3916
4817
  allowed: boolean;
@@ -3955,6 +4856,34 @@ export type SettingsComputeJobsCancelResponses = {
3955
4856
  network: "allow" | "deny";
3956
4857
  warning?: string;
3957
4858
  };
4859
+ lifecycle?: {
4860
+ execution: "planned" | "awaiting_approval" | "queued" | "starting" | "running" | "succeeded" | "failed" | "timed_out" | "cancelled" | "interrupted";
4861
+ delivery: "none" | "pending" | "complete" | "rejected" | "failed";
4862
+ resource: "none" | "starting" | "active" | "closed" | "unknown";
4863
+ recoverable: boolean;
4864
+ error_kind?: "provider_disabled" | "image_build_failed" | "unauthorized" | "quota_exhausted" | "rate_limited" | "ownership_mismatch" | "result_rejected" | "harvest_failed" | "input_changed" | "session_concurrency_full" | "invalid_request" | "not_found";
4865
+ system_hint?: string;
4866
+ deadline_fired?: boolean;
4867
+ };
4868
+ remote_id?: string;
4869
+ modal?: {
4870
+ app: string;
4871
+ environment?: string;
4872
+ image: string;
4873
+ packages?: Array<string>;
4874
+ gpu: string;
4875
+ network: "unrestricted" | "none";
4876
+ timeout_minutes: number;
4877
+ uploads: Array<{
4878
+ path: string;
4879
+ size: number;
4880
+ sha256: string;
4881
+ }>;
4882
+ upload_bytes: number;
4883
+ approval: string;
4884
+ sdk: string;
4885
+ volume?: string;
4886
+ };
3958
4887
  };
3959
4888
  };
3960
4889
  export type SettingsComputeJobsCancelResponse = SettingsComputeJobsCancelResponses[keyof SettingsComputeJobsCancelResponses];
@@ -7899,6 +8828,20 @@ export type FileStatusResponses = {
7899
8828
  200: Array<File>;
7900
8829
  };
7901
8830
  export type FileStatusResponse = FileStatusResponses[keyof FileStatusResponses];
8831
+ export type NotebookComputeData = {
8832
+ body?: never;
8833
+ path?: never;
8834
+ query?: {
8835
+ directory?: string;
8836
+ };
8837
+ url: "/notebook/compute";
8838
+ };
8839
+ export type NotebookComputeResponses = {
8840
+ /**
8841
+ * Machine capacity and the share kernels hold
8842
+ */
8843
+ 200: unknown;
8844
+ };
7902
8845
  export type NotebookKernelsData = {
7903
8846
  body?: never;
7904
8847
  path?: never;