@faable/deploy-sdk 2.9.0 → 2.11.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.
@@ -287,6 +287,106 @@ export interface paths {
287
287
  patch?: never;
288
288
  trace?: never;
289
289
  };
290
+ "/app/{id}/repo/branches": {
291
+ parameters: {
292
+ query?: never;
293
+ header?: never;
294
+ path?: never;
295
+ cookie?: never;
296
+ };
297
+ /**
298
+ * List repository branches
299
+ * @description Branch names of the linked repository.
300
+ */
301
+ get: operations["app/repo_branches"];
302
+ put?: never;
303
+ post?: never;
304
+ delete?: never;
305
+ options?: never;
306
+ head?: never;
307
+ patch?: never;
308
+ trace?: never;
309
+ };
310
+ "/app/{id}/repo/workflows": {
311
+ parameters: {
312
+ query?: never;
313
+ header?: never;
314
+ path?: never;
315
+ cookie?: never;
316
+ };
317
+ /**
318
+ * List repository workflow files
319
+ * @description GitHub Actions workflow files present on the linked repository (deploy branch).
320
+ */
321
+ get: operations["app/repo_workflows"];
322
+ put?: never;
323
+ post?: never;
324
+ delete?: never;
325
+ options?: never;
326
+ head?: never;
327
+ patch?: never;
328
+ trace?: never;
329
+ };
330
+ "/app/{id}/repo/config": {
331
+ parameters: {
332
+ query?: never;
333
+ header?: never;
334
+ path?: never;
335
+ cookie?: never;
336
+ };
337
+ /**
338
+ * Get effective repository build config
339
+ * @description Effective build configuration read from the repository: the monorepo Root Directory and its source (platform override or the repo's faable.json).
340
+ */
341
+ get: operations["app/repo_config"];
342
+ put?: never;
343
+ post?: never;
344
+ delete?: never;
345
+ options?: never;
346
+ head?: never;
347
+ patch?: never;
348
+ trace?: never;
349
+ };
350
+ "/app/{id}/deploy-mode": {
351
+ parameters: {
352
+ query?: never;
353
+ header?: never;
354
+ path?: never;
355
+ cookie?: never;
356
+ };
357
+ get?: never;
358
+ put?: never;
359
+ /**
360
+ * Set the deploy mode
361
+ * @description Choose how pushes deploy: 'push' = every push deploys directly; 'ci' = deploy once the commit's CI checks pass. Both are platform-managed (webhook) triggers.
362
+ */
363
+ post: operations["app/set_deploy_mode"];
364
+ delete?: never;
365
+ options?: never;
366
+ head?: never;
367
+ patch?: never;
368
+ trace?: never;
369
+ };
370
+ "/app/{id}/deploy": {
371
+ parameters: {
372
+ query?: never;
373
+ header?: never;
374
+ path?: never;
375
+ cookie?: never;
376
+ };
377
+ get?: never;
378
+ put?: never;
379
+ /**
380
+ * Deploy the latest commit now
381
+ * @description Build and deploy the current head of the deploy branch, without waiting for a push. Same path as a push webhook, including the same-commit dedupe.
382
+ */
383
+ post: operations["app/deploy_now"];
384
+ delete?: never;
385
+ options?: never;
386
+ head?: never;
387
+ patch?: never;
388
+ trace?: never;
389
+ };
290
390
  "/deployment": {
291
391
  parameters: {
292
392
  query?: never;
@@ -548,6 +648,63 @@ export interface paths {
548
648
  patch?: never;
549
649
  trace?: never;
550
650
  };
651
+ "/usage/traffic": {
652
+ parameters: {
653
+ query?: never;
654
+ header?: never;
655
+ path?: never;
656
+ cookie?: never;
657
+ };
658
+ /** Get metered traffic usage per team for the current period */
659
+ get: operations["usage/traffic"];
660
+ put?: never;
661
+ post?: never;
662
+ delete?: never;
663
+ options?: never;
664
+ head?: never;
665
+ patch?: never;
666
+ trace?: never;
667
+ };
668
+ "/deploy-quota": {
669
+ parameters: {
670
+ query?: never;
671
+ header?: never;
672
+ path?: never;
673
+ cookie?: never;
674
+ };
675
+ /**
676
+ * Get the team's daily deploy quota status
677
+ * @description Daily deploy allowance of the current team: how much was used today, when it resets, and how many builds are held waiting for it.
678
+ */
679
+ get: operations["deploy_quota/get"];
680
+ put?: never;
681
+ post?: never;
682
+ delete?: never;
683
+ options?: never;
684
+ head?: never;
685
+ patch?: never;
686
+ trace?: never;
687
+ };
688
+ "/deploy-quota/release": {
689
+ parameters: {
690
+ query?: never;
691
+ header?: never;
692
+ path?: never;
693
+ cookie?: never;
694
+ };
695
+ get?: never;
696
+ put?: never;
697
+ /**
698
+ * Roll out the builds held by the daily deploy quota
699
+ * @description Releases the team's held deployments if its current plan allows it (per app, only the newest held build rolls out; older ones are canceled). Safe to call at any time — it does nothing while the quota is still spent.
700
+ */
701
+ post: operations["deploy_quota/release"];
702
+ delete?: never;
703
+ options?: never;
704
+ head?: never;
705
+ patch?: never;
706
+ trace?: never;
707
+ };
551
708
  }
552
709
  export type webhooks = Record<string, never>;
553
710
  export interface components {
@@ -764,13 +921,33 @@ export interface components {
764
921
  github_branch: string;
765
922
  workflow_synced: boolean;
766
923
  };
924
+ RepoBranches: {
925
+ branches: string[];
926
+ };
927
+ RepoWorkflows: {
928
+ workflows: {
929
+ name: string;
930
+ path: string;
931
+ }[];
932
+ deploy_workflow: string | null;
933
+ };
934
+ RepoConfig: {
935
+ root_dir: string | null;
936
+ root_dir_source: "platform" | "faable.json" | null;
937
+ };
938
+ DeployNowResult: {
939
+ /** @enum {string} */
940
+ status: "created";
941
+ commit: string;
942
+ branch: string;
943
+ };
767
944
  DeploymentStatus: {
768
945
  /**
769
946
  * @description High-level summary of where the Deployment is in its lifecycle
770
947
  * @default QUEUED
771
948
  * @enum {unknown}
772
949
  */
773
- phase: "UNKNOWN" | "QUEUED" | "BUILDING" | "ERROR" | "BUILD_ERROR" | "INITIALIZING" | "READY" | "CANCELED" | "TERMINATING" | "SUPERSEDED";
950
+ phase: "UNKNOWN" | "QUEUED" | "BUILDING" | "ERROR" | "BUILD_ERROR" | "INITIALIZING" | "READY" | "CANCELED" | "TERMINATING" | "SUPERSEDED" | "QUOTA_HOLD";
774
951
  /**
775
952
  * Format: date-time
776
953
  * @description When a controller took control of this deployment
@@ -834,6 +1011,8 @@ export interface components {
834
1011
  /** Format: date-time */
835
1012
  artifact_ready_at?: string;
836
1013
  redeploy_of?: string;
1014
+ /** Format: date-time */
1015
+ quota_released_at?: string;
837
1016
  trigger?: string | null;
838
1017
  status: components["schemas"]["DeploymentStatus"];
839
1018
  /** @default {} */
@@ -1319,6 +1498,19 @@ export interface components {
1319
1498
  ApiKeyUpdate: {
1320
1499
  description?: string;
1321
1500
  };
1501
+ DeployQuota: {
1502
+ limited: boolean;
1503
+ over: boolean;
1504
+ used: number;
1505
+ limit: number | null;
1506
+ /** Format: date-time */
1507
+ resets_at: string;
1508
+ held: number;
1509
+ };
1510
+ DeployQuotaRelease: {
1511
+ released: string[];
1512
+ canceled: string[];
1513
+ };
1322
1514
  AppChecknameResponse: {
1323
1515
  name: string;
1324
1516
  slug: string;
@@ -2185,6 +2377,138 @@ export interface operations {
2185
2377
  };
2186
2378
  };
2187
2379
  };
2380
+ "app/repo_branches": {
2381
+ parameters: {
2382
+ query?: never;
2383
+ header?: never;
2384
+ path: {
2385
+ id: string;
2386
+ };
2387
+ cookie?: never;
2388
+ };
2389
+ requestBody?: never;
2390
+ responses: {
2391
+ /** @description Default Response */
2392
+ 200: {
2393
+ headers: {
2394
+ [name: string]: unknown;
2395
+ };
2396
+ content: {
2397
+ "application/json": {
2398
+ branches: string[];
2399
+ };
2400
+ };
2401
+ };
2402
+ };
2403
+ };
2404
+ "app/repo_workflows": {
2405
+ parameters: {
2406
+ query?: never;
2407
+ header?: never;
2408
+ path: {
2409
+ id: string;
2410
+ };
2411
+ cookie?: never;
2412
+ };
2413
+ requestBody?: never;
2414
+ responses: {
2415
+ /** @description Default Response */
2416
+ 200: {
2417
+ headers: {
2418
+ [name: string]: unknown;
2419
+ };
2420
+ content: {
2421
+ "application/json": {
2422
+ workflows: {
2423
+ name: string;
2424
+ path: string;
2425
+ }[];
2426
+ deploy_workflow: string | null;
2427
+ };
2428
+ };
2429
+ };
2430
+ };
2431
+ };
2432
+ "app/repo_config": {
2433
+ parameters: {
2434
+ query?: never;
2435
+ header?: never;
2436
+ path: {
2437
+ id: string;
2438
+ };
2439
+ cookie?: never;
2440
+ };
2441
+ requestBody?: never;
2442
+ responses: {
2443
+ /** @description Default Response */
2444
+ 200: {
2445
+ headers: {
2446
+ [name: string]: unknown;
2447
+ };
2448
+ content: {
2449
+ "application/json": {
2450
+ root_dir: string | null;
2451
+ root_dir_source: "platform" | "faable.json" | null;
2452
+ };
2453
+ };
2454
+ };
2455
+ };
2456
+ };
2457
+ "app/set_deploy_mode": {
2458
+ parameters: {
2459
+ query?: never;
2460
+ header?: never;
2461
+ path: {
2462
+ id: string;
2463
+ };
2464
+ cookie?: never;
2465
+ };
2466
+ requestBody: {
2467
+ content: {
2468
+ "application/json": {
2469
+ mode: "push" | "ci" | "workflow";
2470
+ };
2471
+ };
2472
+ };
2473
+ responses: {
2474
+ /** @description App */
2475
+ 200: {
2476
+ headers: {
2477
+ [name: string]: unknown;
2478
+ };
2479
+ content: {
2480
+ "application/json": components["schemas"]["App"];
2481
+ };
2482
+ };
2483
+ };
2484
+ };
2485
+ "app/deploy_now": {
2486
+ parameters: {
2487
+ query?: never;
2488
+ header?: never;
2489
+ path: {
2490
+ id: string;
2491
+ };
2492
+ cookie?: never;
2493
+ };
2494
+ requestBody?: never;
2495
+ responses: {
2496
+ /** @description Default Response */
2497
+ 200: {
2498
+ headers: {
2499
+ [name: string]: unknown;
2500
+ };
2501
+ content: {
2502
+ "application/json": {
2503
+ /** @enum {string} */
2504
+ status: "created";
2505
+ commit: string;
2506
+ branch: string;
2507
+ };
2508
+ };
2509
+ };
2510
+ };
2511
+ };
2188
2512
  "deployment/list": {
2189
2513
  parameters: {
2190
2514
  query?: {
@@ -2261,6 +2585,8 @@ export interface operations {
2261
2585
  /** Format: date-time */
2262
2586
  artifact_ready_at?: string;
2263
2587
  redeploy_of?: string;
2588
+ /** Format: date-time */
2589
+ quota_released_at?: string;
2264
2590
  trigger?: string | null;
2265
2591
  status: components["schemas"]["DeploymentStatus"];
2266
2592
  /** @default {} */
@@ -2308,6 +2634,8 @@ export interface operations {
2308
2634
  /** Format: date-time */
2309
2635
  artifact_ready_at?: string;
2310
2636
  redeploy_of?: string;
2637
+ /** Format: date-time */
2638
+ quota_released_at?: string;
2311
2639
  trigger?: string | null;
2312
2640
  status: components["schemas"]["DeploymentStatus"];
2313
2641
  /** @default {} */
@@ -2363,6 +2691,8 @@ export interface operations {
2363
2691
  /** Format: date-time */
2364
2692
  artifact_ready_at?: string;
2365
2693
  redeploy_of?: string;
2694
+ /** Format: date-time */
2695
+ quota_released_at?: string;
2366
2696
  trigger?: string | null;
2367
2697
  status: components["schemas"]["DeploymentStatus"];
2368
2698
  /** @default {} */
@@ -2410,6 +2740,8 @@ export interface operations {
2410
2740
  /** Format: date-time */
2411
2741
  artifact_ready_at?: string;
2412
2742
  redeploy_of?: string;
2743
+ /** Format: date-time */
2744
+ quota_released_at?: string;
2413
2745
  trigger?: string | null;
2414
2746
  status: components["schemas"]["DeploymentStatus"];
2415
2747
  /** @default {} */
@@ -2866,7 +3198,9 @@ export interface operations {
2866
3198
  };
2867
3199
  "usage/summary": {
2868
3200
  parameters: {
2869
- query?: never;
3201
+ query?: {
3202
+ traffic?: boolean;
3203
+ };
2870
3204
  header?: never;
2871
3205
  path?: never;
2872
3206
  cookie?: never;
@@ -2888,7 +3222,7 @@ export interface operations {
2888
3222
  traffic: {
2889
3223
  used_gb: number;
2890
3224
  cost_estimate_cents: number;
2891
- };
3225
+ } | null;
2892
3226
  teams: {
2893
3227
  id: string;
2894
3228
  name: string;
@@ -2913,6 +3247,91 @@ export interface operations {
2913
3247
  cost_estimate_cents: number;
2914
3248
  } | null;
2915
3249
  }[];
3250
+ billing_available: boolean;
3251
+ };
3252
+ };
3253
+ };
3254
+ };
3255
+ };
3256
+ "usage/traffic": {
3257
+ parameters: {
3258
+ query?: never;
3259
+ header?: never;
3260
+ path?: never;
3261
+ cookie?: never;
3262
+ };
3263
+ requestBody?: never;
3264
+ responses: {
3265
+ /** @description Default Response */
3266
+ 200: {
3267
+ headers: {
3268
+ [name: string]: unknown;
3269
+ };
3270
+ content: {
3271
+ "application/json": {
3272
+ traffic: {
3273
+ used_gb: number;
3274
+ cost_estimate_cents: number;
3275
+ } | null;
3276
+ teams: {
3277
+ id: string;
3278
+ traffic: {
3279
+ used_gb: number;
3280
+ cost_estimate_cents: number;
3281
+ } | null;
3282
+ }[];
3283
+ billing_available: boolean;
3284
+ };
3285
+ };
3286
+ };
3287
+ };
3288
+ };
3289
+ "deploy_quota/get": {
3290
+ parameters: {
3291
+ query?: never;
3292
+ header?: never;
3293
+ path?: never;
3294
+ cookie?: never;
3295
+ };
3296
+ requestBody?: never;
3297
+ responses: {
3298
+ /** @description Default Response */
3299
+ 200: {
3300
+ headers: {
3301
+ [name: string]: unknown;
3302
+ };
3303
+ content: {
3304
+ "application/json": {
3305
+ limited: boolean;
3306
+ over: boolean;
3307
+ used: number;
3308
+ limit: number | null;
3309
+ /** Format: date-time */
3310
+ resets_at: string;
3311
+ held: number;
3312
+ };
3313
+ };
3314
+ };
3315
+ };
3316
+ };
3317
+ "deploy_quota/release": {
3318
+ parameters: {
3319
+ query?: never;
3320
+ header?: never;
3321
+ path?: never;
3322
+ cookie?: never;
3323
+ };
3324
+ requestBody?: never;
3325
+ responses: {
3326
+ /** @description Default Response */
3327
+ 200: {
3328
+ headers: {
3329
+ [name: string]: unknown;
3330
+ };
3331
+ content: {
3332
+ "application/json": {
3333
+ released: string[];
3334
+ canceled: string[];
2916
3335
  };
2917
3336
  };
2918
3337
  };