@archildata/api-types 0.0.46 → 0.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.d.ts +282 -8
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -41,6 +41,29 @@ export interface paths {
41
41
  patch?: never;
42
42
  trace?: never;
43
43
  };
44
+ "/api/billing/payment-methods/{paymentMethodID}": {
45
+ parameters: {
46
+ query?: never;
47
+ header?: never;
48
+ path: {
49
+ paymentMethodID: string;
50
+ };
51
+ cookie?: never;
52
+ };
53
+ get?: never;
54
+ put?: never;
55
+ post?: never;
56
+ /**
57
+ * Delete a saved payment method
58
+ * @description Deletes the saved payment method from the Archil account. To use the same card again, add it as a new payment method.
59
+ */
60
+ delete: operations["deleteBillingPaymentMethod"];
61
+ options?: never;
62
+ head?: never;
63
+ /** Edit a saved card's billing name or address */
64
+ patch: operations["updateBillingPaymentMethod"];
65
+ trace?: never;
66
+ };
44
67
  "/api/billing/setup-intents": {
45
68
  parameters: {
46
69
  query?: never;
@@ -50,7 +73,10 @@ export interface paths {
50
73
  };
51
74
  get?: never;
52
75
  put?: never;
53
- /** Start card setup with Stripe Elements */
76
+ /**
77
+ * Start card setup with Stripe Elements
78
+ * @description Confirm the returned SetupIntent with Stripe Elements in the client.
79
+ */
54
80
  post: operations["createBillingSetupIntent"];
55
81
  delete?: never;
56
82
  options?: never;
@@ -418,6 +444,55 @@ export interface paths {
418
444
  patch?: never;
419
445
  trace?: never;
420
446
  };
447
+ "/api/images": {
448
+ parameters: {
449
+ query?: never;
450
+ header?: never;
451
+ path?: never;
452
+ cookie?: never;
453
+ };
454
+ get?: never;
455
+ put?: never;
456
+ /**
457
+ * Build a sandbox image
458
+ * @description Starts pulling and converting an OCI image, or joins the build already
459
+ * running for it. Poll the image until it is `ready`, then pass its
460
+ * `image_id` when creating a sandbox. Requesting the same `source` again
461
+ * returns the same image. A finished tag rebuilds, since the tag may have
462
+ * moved; until the rebuild is `ready`, new sandboxes boot the previous
463
+ * `digest`. A finished digest reference returns immediately.
464
+ * `registry_auth` pulls from a private registry, and a private image is
465
+ * visible only to its account. The credentials are passed to the build
466
+ * and never stored. A failed build, or a build whose runtime host does
467
+ * not answer, builds again on the next request.
468
+ */
469
+ post: operations["createImage"];
470
+ delete?: never;
471
+ options?: never;
472
+ head?: never;
473
+ patch?: never;
474
+ trace?: never;
475
+ };
476
+ "/api/images/{image_id}": {
477
+ parameters: {
478
+ query?: never;
479
+ header?: never;
480
+ path?: never;
481
+ cookie?: never;
482
+ };
483
+ /**
484
+ * Get a sandbox image
485
+ * @description Reports build progress. A build its runtime host failed or lost reports `failed` with `failure_reason: interrupted`; one whose host does not answer stays `building`. Request the image again to rebuild either.
486
+ */
487
+ get: operations["getImage"];
488
+ put?: never;
489
+ post?: never;
490
+ delete?: never;
491
+ options?: never;
492
+ head?: never;
493
+ patch?: never;
494
+ trace?: never;
495
+ };
421
496
  "/api/sandboxes": {
422
497
  parameters: {
423
498
  query?: never;
@@ -866,10 +941,41 @@ export interface components {
866
941
  /** Format: int64 */
867
942
  expYear: number;
868
943
  };
944
+ billingDetails?: {
945
+ name: string;
946
+ address?: components["schemas"]["BillingAddress"];
947
+ };
869
948
  isCustomerDefault: boolean;
870
949
  isSubscriptionDefault: boolean;
871
950
  isDefault: boolean;
872
951
  };
952
+ BillingAddress: {
953
+ line1: string;
954
+ line2: string;
955
+ city: string;
956
+ state: string;
957
+ postalCode: string;
958
+ country: string;
959
+ };
960
+ BillingAddressPatch: {
961
+ line1?: string;
962
+ line2?: string;
963
+ city?: string;
964
+ state?: string;
965
+ postalCode?: string;
966
+ country?: string;
967
+ };
968
+ ApiResponse_BillingPaymentMethod: {
969
+ success: boolean;
970
+ data: components["schemas"]["BillingPaymentMethod"];
971
+ };
972
+ ApiResponse_BillingMethodRemoved: {
973
+ success: boolean;
974
+ data: {
975
+ id: string;
976
+ removed: boolean;
977
+ };
978
+ };
873
979
  ApiResponse_BillingPaymentMethods: {
874
980
  success: boolean;
875
981
  data: components["schemas"]["BillingPaymentMethod"][];
@@ -993,8 +1099,10 @@ export interface components {
993
1099
  idle_ttl_seconds: number;
994
1100
  /** @description Maximum number of concurrently attached process sessions. Detached processes and one-shot process controls do not count. */
995
1101
  max_concurrent_execs: number;
996
- /** @description OCI reference requested when the sandbox was created. */
1102
+ /** @description OCI reference requested when the sandbox was created. Empty for a sandbox created from `image_id`. */
997
1103
  base_image: string;
1104
+ /** @description Image digest the sandbox was created from, if any. */
1105
+ image_digest?: string;
998
1106
  /**
999
1107
  * @description Sandbox CPU architecture.
1000
1108
  * @enum {string}
@@ -1120,6 +1228,44 @@ export interface components {
1120
1228
  success: boolean;
1121
1229
  data: components["schemas"]["SandboxConnection"];
1122
1230
  };
1231
+ RegistryAuth: {
1232
+ username: string;
1233
+ /** @description Password or access token, such as a GitHub personal access token with `read:packages`. */
1234
+ password: string;
1235
+ };
1236
+ CreateImageRequest: {
1237
+ /** @description Linux OCI image reference. Docker shorthand and tags are accepted. */
1238
+ source: string;
1239
+ registry_auth?: components["schemas"]["RegistryAuth"];
1240
+ };
1241
+ /** @enum {string} */
1242
+ ImageState: "building" | "ready" | "failed";
1243
+ Image: {
1244
+ image_id: string;
1245
+ /** @description Normalized OCI reference the image is pulled from. */
1246
+ source: string;
1247
+ /** @description Whether the image is pulled with registry credentials. */
1248
+ private: boolean;
1249
+ status: components["schemas"]["ImageState"];
1250
+ /** @description The most recent successful build. Sandboxes created from this `image_id` boot it, and keep it after the image is rebuilt. */
1251
+ digest?: string;
1252
+ /** @description The pulled manifest, as `repository@sha256:...`. */
1253
+ canonical_source?: string;
1254
+ /**
1255
+ * @description Set when `failed`. `invalid_source`: the registry reported the image missing or denied access, so requesting it again will not help. `interrupted`: the build did not finish; request the image again.
1256
+ * @enum {string}
1257
+ */
1258
+ failure_reason?: "invalid_source" | "interrupted";
1259
+ /** Format: date-time */
1260
+ created_at: string;
1261
+ /** Format: date-time */
1262
+ updated_at: string;
1263
+ };
1264
+ ApiResponse_Image: {
1265
+ /** @example true */
1266
+ success: boolean;
1267
+ data: components["schemas"]["Image"];
1268
+ };
1123
1269
  ApiResponse_Sandbox: {
1124
1270
  /** @example true */
1125
1271
  success: boolean;
@@ -1137,11 +1283,10 @@ export interface components {
1137
1283
  vcpu_count: number;
1138
1284
  /** @default 2048 */
1139
1285
  mem_size_mib: number;
1140
- /**
1141
- * @description Public Linux OCI image reference. Docker shorthand and tags are accepted; the selected platform manifest is pinned at creation.
1142
- * @default ubuntu:26.04
1143
- */
1144
- base_image: string;
1286
+ /** @description Public Linux OCI image reference. Docker shorthand and tags are accepted; the selected platform manifest is pinned at creation. Defaults to `ubuntu:26.04` when neither this nor `image_id` is set. Mutually exclusive with `image_id`. */
1287
+ base_image?: string;
1288
+ /** @description An image from the images API, for images that need registry credentials. The sandbox boots the image's current `digest`. Mutually exclusive with `base_image`. */
1289
+ image_id?: string;
1145
1290
  /** @description TCP ports to expose publicly when the sandbox is created. */
1146
1291
  ports?: number[];
1147
1292
  /**
@@ -2160,6 +2305,83 @@ export interface operations {
2160
2305
  };
2161
2306
  };
2162
2307
  };
2308
+ deleteBillingPaymentMethod: {
2309
+ parameters: {
2310
+ query?: never;
2311
+ header?: never;
2312
+ path: {
2313
+ paymentMethodID: string;
2314
+ };
2315
+ cookie?: never;
2316
+ };
2317
+ requestBody?: never;
2318
+ responses: {
2319
+ /** @description Saved payment method deleted from the Archil account */
2320
+ 200: {
2321
+ headers: {
2322
+ [name: string]: unknown;
2323
+ };
2324
+ content: {
2325
+ "application/json": components["schemas"]["ApiResponse_BillingMethodRemoved"];
2326
+ };
2327
+ };
2328
+ 400: components["responses"]["ValidationError"];
2329
+ /** @description Missing, invalid, or disallowed credential */
2330
+ 401: {
2331
+ headers: {
2332
+ [name: string]: unknown;
2333
+ };
2334
+ content: {
2335
+ "text/plain": string;
2336
+ };
2337
+ };
2338
+ 404: components["responses"]["NotFound"];
2339
+ 409: components["responses"]["ValidationError"];
2340
+ 502: components["responses"]["InternalError"];
2341
+ };
2342
+ };
2343
+ updateBillingPaymentMethod: {
2344
+ parameters: {
2345
+ query?: never;
2346
+ header?: never;
2347
+ path: {
2348
+ paymentMethodID: string;
2349
+ };
2350
+ cookie?: never;
2351
+ };
2352
+ requestBody: {
2353
+ content: {
2354
+ "application/json": {
2355
+ name?: string;
2356
+ address?: components["schemas"]["BillingAddressPatch"];
2357
+ };
2358
+ };
2359
+ };
2360
+ responses: {
2361
+ /** @description Updated safe method details */
2362
+ 200: {
2363
+ headers: {
2364
+ [name: string]: unknown;
2365
+ };
2366
+ content: {
2367
+ "application/json": components["schemas"]["ApiResponse_BillingPaymentMethod"];
2368
+ };
2369
+ };
2370
+ 400: components["responses"]["ValidationError"];
2371
+ /** @description Missing, invalid, or disallowed credential */
2372
+ 401: {
2373
+ headers: {
2374
+ [name: string]: unknown;
2375
+ };
2376
+ content: {
2377
+ "text/plain": string;
2378
+ };
2379
+ };
2380
+ 404: components["responses"]["NotFound"];
2381
+ 409: components["responses"]["ValidationError"];
2382
+ 502: components["responses"]["InternalError"];
2383
+ };
2384
+ };
2163
2385
  createBillingSetupIntent: {
2164
2386
  parameters: {
2165
2387
  query?: never;
@@ -2846,6 +3068,58 @@ export interface operations {
2846
3068
  500: components["responses"]["InternalError"];
2847
3069
  };
2848
3070
  };
3071
+ createImage: {
3072
+ parameters: {
3073
+ query?: never;
3074
+ header?: never;
3075
+ path?: never;
3076
+ cookie?: never;
3077
+ };
3078
+ requestBody: {
3079
+ content: {
3080
+ "application/json": components["schemas"]["CreateImageRequest"];
3081
+ };
3082
+ };
3083
+ responses: {
3084
+ /** @description The image build is running or finished */
3085
+ 202: {
3086
+ headers: {
3087
+ [name: string]: unknown;
3088
+ };
3089
+ content: {
3090
+ "application/json": components["schemas"]["ApiResponse_Image"];
3091
+ };
3092
+ };
3093
+ 400: components["responses"]["ValidationError"];
3094
+ 401: components["responses"]["Unauthorized"];
3095
+ 500: components["responses"]["InternalError"];
3096
+ };
3097
+ };
3098
+ getImage: {
3099
+ parameters: {
3100
+ query?: never;
3101
+ header?: never;
3102
+ path: {
3103
+ image_id: string;
3104
+ };
3105
+ cookie?: never;
3106
+ };
3107
+ requestBody?: never;
3108
+ responses: {
3109
+ /** @description The sandbox image */
3110
+ 200: {
3111
+ headers: {
3112
+ [name: string]: unknown;
3113
+ };
3114
+ content: {
3115
+ "application/json": components["schemas"]["ApiResponse_Image"];
3116
+ };
3117
+ };
3118
+ 401: components["responses"]["Unauthorized"];
3119
+ 404: components["responses"]["NotFound"];
3120
+ 500: components["responses"]["InternalError"];
3121
+ };
3122
+ };
2849
3123
  listSandboxes: {
2850
3124
  parameters: {
2851
3125
  query?: {
@@ -2900,7 +3174,7 @@ export interface operations {
2900
3174
  400: components["responses"]["ValidationError"];
2901
3175
  401: components["responses"]["Unauthorized"];
2902
3176
  404: components["responses"]["NotFound"];
2903
- /** @description The requested sandbox name already exists in the account */
3177
+ /** @description The requested sandbox name already exists in the account, or the requested `image_id` has no finished build yet */
2904
3178
  409: {
2905
3179
  headers: {
2906
3180
  [name: string]: unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archildata/api-types",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "description": "API types for the Archil control plane",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",