@leaflow/sdk 0.176.0 → 0.178.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.
Files changed (113) hide show
  1. package/dist/canopy/v1/generated/models.d.ts +209 -9
  2. package/dist/canopy/v1/generated/models.js +27 -1
  3. package/dist/canopy/v1/generated/schemas.zod.d.ts +1 -1
  4. package/dist/canopy/v1/generated/schemas.zod.js +3 -1
  5. package/dist/canopy/v1/generated/validators/aPIKeyUsageListResponseBody.zod.d.ts +9 -0
  6. package/dist/canopy/v1/generated/validators/aPIKeyUsageResource.zod.d.ts +9 -0
  7. package/dist/canopy/v1/generated/validators/aPIKeyUsageResource.zod.js +5 -0
  8. package/dist/canopy/v1/generated/validators/audioCapabilities.zod.d.ts +51 -0
  9. package/dist/canopy/v1/generated/validators/audioCapabilities.zod.js +67 -0
  10. package/dist/canopy/v1/generated/validators/cursorPageRequestResource.zod.d.ts +10 -1
  11. package/dist/canopy/v1/generated/validators/endpointCapabilities.zod.d.ts +37 -0
  12. package/dist/canopy/v1/generated/validators/endpointCapabilities.zod.js +20 -0
  13. package/dist/canopy/v1/generated/validators/imageCapabilities.zod.d.ts +52 -0
  14. package/dist/canopy/v1/generated/validators/imageCapabilities.zod.js +69 -0
  15. package/dist/canopy/v1/generated/validators/mediaUsage.zod.d.ts +52 -0
  16. package/dist/canopy/v1/generated/validators/mediaUsage.zod.js +61 -0
  17. package/dist/canopy/v1/generated/validators/model.zod.d.ts +50 -0
  18. package/dist/canopy/v1/generated/validators/modelBilling.zod.d.ts +8 -1
  19. package/dist/canopy/v1/generated/validators/modelBilling.zod.js +2 -2
  20. package/dist/canopy/v1/generated/validators/modelCapabilities.zod.d.ts +37 -0
  21. package/dist/canopy/v1/generated/validators/modelEndpoint.zod.d.ts +13 -0
  22. package/dist/canopy/v1/generated/validators/modelEndpoint.zod.js +13 -0
  23. package/dist/canopy/v1/generated/validators/modelList.zod.d.ts +50 -0
  24. package/dist/canopy/v1/generated/validators/modelListResponseBody.zod.d.ts +58 -1
  25. package/dist/canopy/v1/generated/validators/modelMeter.zod.d.ts +8 -1
  26. package/dist/canopy/v1/generated/validators/modelMeter.zod.js +21 -2
  27. package/dist/canopy/v1/generated/validators/modelParameter.zod.d.ts +58 -0
  28. package/dist/canopy/v1/generated/validators/modelParameter.zod.js +57 -0
  29. package/dist/canopy/v1/generated/validators/modelResource.zod.d.ts +58 -1
  30. package/dist/canopy/v1/generated/validators/modelUsageListResponseBody.zod.d.ts +9 -0
  31. package/dist/canopy/v1/generated/validators/modelUsageResource.zod.d.ts +9 -0
  32. package/dist/canopy/v1/generated/validators/modelUsageResource.zod.js +5 -0
  33. package/dist/canopy/v1/generated/validators/requestResource.zod.d.ts +10 -1
  34. package/dist/canopy/v1/generated/validators/requestResource.zod.js +8 -1
  35. package/dist/canopy/v1/generated/validators/totalsResource.zod.d.ts +9 -0
  36. package/dist/canopy/v1/generated/validators/totalsResource.zod.js +5 -0
  37. package/dist/canopy/v1/generated/validators/usageBucketResource.zod.d.ts +9 -0
  38. package/dist/canopy/v1/generated/validators/usageBucketResource.zod.js +5 -0
  39. package/dist/canopy/v1/generated/validators/usageTimelineResponseBody.zod.d.ts +9 -0
  40. package/dist/canopy/v1/generated/validators/videoCapabilities.zod.d.ts +51 -0
  41. package/dist/canopy/v1/generated/validators/videoCapabilities.zod.js +69 -0
  42. package/dist/eventbus/v1/generated/functions.d.ts +336 -0
  43. package/dist/eventbus/v1/generated/functions.js +214 -0
  44. package/dist/eventbus/v1/generated/models.d.ts +364 -0
  45. package/dist/eventbus/v1/generated/models.js +8 -0
  46. package/dist/eventbus/v1/generated/schemas.zod.d.ts +138 -0
  47. package/dist/eventbus/v1/generated/schemas.zod.js +163 -0
  48. package/dist/eventbus/v1/generated/validators/createEventRequest.zod.d.ts +50 -0
  49. package/dist/eventbus/v1/generated/validators/createEventRequest.zod.js +59 -0
  50. package/dist/eventbus/v1/generated/validators/createVersionRequest.zod.d.ts +46 -0
  51. package/dist/eventbus/v1/generated/validators/createVersionRequest.zod.js +47 -0
  52. package/dist/eventbus/v1/generated/validators/cursorPagination.zod.d.ts +45 -0
  53. package/dist/eventbus/v1/generated/validators/cursorPagination.zod.js +45 -0
  54. package/dist/eventbus/v1/generated/validators/error.zod.d.ts +56 -0
  55. package/dist/eventbus/v1/generated/validators/error.zod.js +45 -0
  56. package/dist/eventbus/v1/generated/validators/errorStatus.zod.d.ts +54 -0
  57. package/dist/eventbus/v1/generated/validators/errorStatus.zod.js +69 -0
  58. package/dist/eventbus/v1/generated/validators/eventDetail.zod.d.ts +65 -0
  59. package/dist/eventbus/v1/generated/validators/eventDetail.zod.js +62 -0
  60. package/dist/eventbus/v1/generated/validators/eventList.zod.d.ts +58 -0
  61. package/dist/eventbus/v1/generated/validators/eventList.zod.js +50 -0
  62. package/dist/eventbus/v1/generated/validators/eventResource.zod.d.ts +55 -0
  63. package/dist/eventbus/v1/generated/validators/eventResource.zod.js +60 -0
  64. package/dist/eventbus/v1/generated/validators/eventStatus.zod.d.ts +45 -0
  65. package/dist/eventbus/v1/generated/validators/eventStatus.zod.js +42 -0
  66. package/dist/eventbus/v1/generated/validators/eventVersion.zod.d.ts +51 -0
  67. package/dist/eventbus/v1/generated/validators/eventVersion.zod.js +53 -0
  68. package/dist/eventbus/v1/generated/validators/fieldViolation.zod.d.ts +45 -0
  69. package/dist/eventbus/v1/generated/validators/fieldViolation.zod.js +48 -0
  70. package/dist/eventbus/v1/generated/validators/listEventsParams.zod.d.ts +55 -0
  71. package/dist/eventbus/v1/generated/validators/listEventsParams.zod.js +57 -0
  72. package/dist/eventbus/v1/generated/validators/offsetPagination.zod.d.ts +47 -0
  73. package/dist/eventbus/v1/generated/validators/offsetPagination.zod.js +47 -0
  74. package/dist/eventbus/v1/generated/validators/publishRequest.zod.d.ts +49 -0
  75. package/dist/eventbus/v1/generated/validators/publishRequest.zod.js +55 -0
  76. package/dist/eventbus/v1/generated/validators/publishResponse.zod.d.ts +47 -0
  77. package/dist/eventbus/v1/generated/validators/publishResponse.zod.js +47 -0
  78. package/dist/eventbus/v1/generated/validators/realtimeTicket.zod.d.ts +46 -0
  79. package/dist/eventbus/v1/generated/validators/realtimeTicket.zod.js +46 -0
  80. package/dist/eventbus/v1/generated/validators/updateEventRequest.zod.d.ts +51 -0
  81. package/dist/eventbus/v1/generated/validators/updateEventRequest.zod.js +54 -0
  82. package/dist/eventbus/v1/index.d.ts +3 -0
  83. package/dist/eventbus/v1/index.js +3 -0
  84. package/dist/iam/v1/generated/functions.d.ts +139 -1
  85. package/dist/iam/v1/generated/functions.js +151 -0
  86. package/dist/iam/v1/generated/models.d.ts +96 -0
  87. package/dist/iam/v1/generated/models.js +13 -0
  88. package/dist/iam/v1/generated/schemas.zod.d.ts +71 -0
  89. package/dist/iam/v1/generated/schemas.zod.js +76 -0
  90. package/dist/iam/v1/generated/validators/applicationResource.zod.d.ts +36 -0
  91. package/dist/iam/v1/generated/validators/applicationResource.zod.js +27 -0
  92. package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.d.ts +28 -0
  93. package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.js +26 -0
  94. package/dist/iam/v1/generated/validators/createApplicationResponseBody.zod.d.ts +39 -0
  95. package/dist/iam/v1/generated/validators/createApplicationResponseBody.zod.js +23 -0
  96. package/dist/iam/v1/generated/validators/lengthAwarePageApplicationResource.zod.d.ts +41 -0
  97. package/dist/iam/v1/generated/validators/lengthAwarePageApplicationResource.zod.js +22 -0
  98. package/dist/iam/v1/generated/validators/listApplicationsParams.zod.d.ts +28 -0
  99. package/dist/iam/v1/generated/validators/listApplicationsParams.zod.js +34 -0
  100. package/dist/iam/v1/generated/validators/rotateApplicationSecretResponseBody.zod.d.ts +21 -0
  101. package/dist/iam/v1/generated/validators/rotateApplicationSecretResponseBody.zod.js +19 -0
  102. package/dist/iam/v1/generated/validators/updateApplicationRequestBody.zod.d.ts +24 -0
  103. package/dist/iam/v1/generated/validators/updateApplicationRequestBody.zod.js +26 -0
  104. package/dist/index.d.ts +1 -0
  105. package/dist/index.js +1 -0
  106. package/dist/monitoring/v1/generated/schemas.zod.d.ts +1 -1
  107. package/dist/monitoring/v1/generated/validators/lengthAwarePageServerResource.zod.d.ts +1 -1
  108. package/dist/monitoring/v1/generated/validators/listServersParams.zod.d.ts +1 -1
  109. package/dist/monitoring/v1/generated/validators/serverEnrollmentResponseBody.zod.d.ts +1 -1
  110. package/dist/monitoring/v1/generated/validators/serverResource.zod.d.ts +1 -1
  111. package/dist/routes.d.ts +112 -0
  112. package/dist/routes.js +126 -0
  113. package/package.json +1 -1
@@ -758,3 +758,154 @@ export const revokeSshKey = async (keyId, options, fetchFn) => {
758
758
  const data = body ? JSON.parse(body) : {};
759
759
  return { data, status: res.status, headers: res.headers };
760
760
  };
761
+ export const getListApplicationsUrl = (params) => {
762
+ const normalizedParams = new URLSearchParams();
763
+ Object.entries(params || {}).forEach(([key, value]) => {
764
+ if (value !== undefined) {
765
+ normalizedParams.append(key, value === null ? "null" : String(value));
766
+ }
767
+ });
768
+ const stringifiedParams = normalizedParams.toString();
769
+ return stringifiedParams.length > 0
770
+ ? `https://iam.leaflow.cloud/api/v1/applications?${stringifiedParams}`
771
+ : `https://iam.leaflow.cloud/api/v1/applications`;
772
+ };
773
+ /**
774
+ * Disabled applications are listed. Archived applications are omitted unless
775
+ * `include_archived` is true. An application that is still being created is not listed.
776
+ * @summary List the applications of this project
777
+ */
778
+ export const listApplications = async (params, options, fetchFn) => {
779
+ const res = await (fetchFn ?? fetch)(getListApplicationsUrl(params), {
780
+ ...options,
781
+ method: "GET",
782
+ });
783
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
784
+ const data = body ? JSON.parse(body) : {};
785
+ return { data, status: res.status, headers: res.headers };
786
+ };
787
+ export const getCreateApplicationUrl = () => {
788
+ return `https://iam.leaflow.cloud/api/v1/applications`;
789
+ };
790
+ /**
791
+ * Creates an OIDC client for an application of this project. Applications authenticate
792
+ * against `https://auth.leaflow.net/realms/user`.
793
+ *
794
+ * The `secret` is present only for a confidential application, and only in this response.
795
+ * It is not stored and cannot be read again; use `:rotateSecret` to obtain a new one.
796
+ *
797
+ * Any account of this platform may sign in to the application. Membership of this project
798
+ * is confirmed only when a token is exchanged for a scoped token.
799
+ * @summary Create an application
800
+ */
801
+ export const createApplication = async (createApplicationRequestBody, options, fetchFn) => {
802
+ const getHeaders = (h) => {
803
+ if (!h)
804
+ return {};
805
+ if (h instanceof Headers)
806
+ return Object.fromEntries(h.entries());
807
+ if (Symbol.iterator in h) {
808
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
809
+ }
810
+ const headers = {};
811
+ for (const [name, value] of Object.entries(h)) {
812
+ if (value !== undefined)
813
+ headers[name] = value;
814
+ }
815
+ return headers;
816
+ };
817
+ const res = await (fetchFn ?? fetch)(getCreateApplicationUrl(), {
818
+ ...options,
819
+ method: "POST",
820
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
821
+ body: JSON.stringify(createApplicationRequestBody),
822
+ });
823
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
824
+ const data = body ? JSON.parse(body) : {};
825
+ return { data, status: res.status, headers: res.headers };
826
+ };
827
+ export const getGetApplicationUrl = (applicationId) => {
828
+ return `https://iam.leaflow.cloud/api/v1/applications/${encodeURIComponent(String(applicationId))}`;
829
+ };
830
+ /**
831
+ * An application that has been deleted is still returned, with `status` `ARCHIVED`.
832
+ * @summary Get an application
833
+ */
834
+ export const getApplication = async (applicationId, options, fetchFn) => {
835
+ const res = await (fetchFn ?? fetch)(getGetApplicationUrl(applicationId), {
836
+ ...options,
837
+ method: "GET",
838
+ });
839
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
840
+ const data = body ? JSON.parse(body) : {};
841
+ return { data, status: res.status, headers: res.headers };
842
+ };
843
+ export const getUpdateApplicationUrl = (applicationId) => {
844
+ return `https://iam.leaflow.cloud/api/v1/applications/${encodeURIComponent(String(applicationId))}`;
845
+ };
846
+ /**
847
+ * Only the name and the redirect URIs can change. The type and `client_id` never change.
848
+ *
849
+ * An application that is disabled or deleted cannot be updated.
850
+ * @summary Update an application
851
+ */
852
+ export const updateApplication = async (applicationId, updateApplicationRequestBody, options, fetchFn) => {
853
+ const getHeaders = (h) => {
854
+ if (!h)
855
+ return {};
856
+ if (h instanceof Headers)
857
+ return Object.fromEntries(h.entries());
858
+ if (Symbol.iterator in h) {
859
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
860
+ }
861
+ const headers = {};
862
+ for (const [name, value] of Object.entries(h)) {
863
+ if (value !== undefined)
864
+ headers[name] = value;
865
+ }
866
+ return headers;
867
+ };
868
+ const res = await (fetchFn ?? fetch)(getUpdateApplicationUrl(applicationId), {
869
+ ...options,
870
+ method: "PATCH",
871
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
872
+ body: JSON.stringify(updateApplicationRequestBody),
873
+ });
874
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
875
+ const data = body ? JSON.parse(body) : {};
876
+ return { data, status: res.status, headers: res.headers };
877
+ };
878
+ export const getDeleteApplicationUrl = (applicationId) => {
879
+ return `https://iam.leaflow.cloud/api/v1/applications/${encodeURIComponent(String(applicationId))}`;
880
+ };
881
+ /**
882
+ * The application is removed from the identity provider and its row is retained with
883
+ * `status` `ARCHIVED`. Repeating the call returns the same resource.
884
+ * @summary Delete an application
885
+ */
886
+ export const deleteApplication = async (applicationId, options, fetchFn) => {
887
+ const res = await (fetchFn ?? fetch)(getDeleteApplicationUrl(applicationId), {
888
+ ...options,
889
+ method: "DELETE",
890
+ });
891
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
892
+ const data = body ? JSON.parse(body) : {};
893
+ return { data, status: res.status, headers: res.headers };
894
+ };
895
+ export const getRotateApplicationSecretUrl = (applicationId) => {
896
+ return `https://iam.leaflow.cloud/api/v1/applications/${encodeURIComponent(String(applicationId))}:rotateSecret`;
897
+ };
898
+ /**
899
+ * Returns a new secret and invalidates the previous one immediately. Only an active
900
+ * confidential application has a secret; any other state answers 412.
901
+ * @summary Rotate the secret of an application
902
+ */
903
+ export const rotateApplicationSecret = async (applicationId, options, fetchFn) => {
904
+ const res = await (fetchFn ?? fetch)(getRotateApplicationSecretUrl(applicationId), {
905
+ ...options,
906
+ method: "POST",
907
+ });
908
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
909
+ const data = body ? JSON.parse(body) : {};
910
+ return { data, status: res.status, headers: res.headers };
911
+ };
@@ -545,6 +545,84 @@ export interface RenameSSHKeyRequestBody {
545
545
  */
546
546
  name: string;
547
547
  }
548
+ export type ApplicationResourceType = (typeof ApplicationResourceType)[keyof typeof ApplicationResourceType];
549
+ export declare const ApplicationResourceType: {
550
+ readonly PUBLIC: "PUBLIC";
551
+ readonly CONFIDENTIAL: "CONFIDENTIAL";
552
+ };
553
+ export type ApplicationResourceStatus = (typeof ApplicationResourceStatus)[keyof typeof ApplicationResourceStatus];
554
+ export declare const ApplicationResourceStatus: {
555
+ readonly ACTIVE: "ACTIVE";
556
+ readonly DISABLED: "DISABLED";
557
+ readonly ARCHIVED: "ARCHIVED";
558
+ };
559
+ export interface ApplicationResource {
560
+ id: string;
561
+ name: string;
562
+ type: ApplicationResourceType;
563
+ client_id: string;
564
+ redirect_uris: string[];
565
+ status: ApplicationResourceStatus;
566
+ /** @nullable */
567
+ created_by: string | null;
568
+ created_at: string;
569
+ /** @nullable */
570
+ disabled_at: string | null;
571
+ /** @nullable */
572
+ secret_rotated_at: string | null;
573
+ }
574
+ export type CreateApplicationRequestBodyType = (typeof CreateApplicationRequestBodyType)[keyof typeof CreateApplicationRequestBodyType];
575
+ export declare const CreateApplicationRequestBodyType: {
576
+ readonly PUBLIC: "PUBLIC";
577
+ readonly CONFIDENTIAL: "CONFIDENTIAL";
578
+ };
579
+ export interface CreateApplicationRequestBody {
580
+ /**
581
+ * @minLength 1
582
+ * @maxLength 128
583
+ */
584
+ name: string;
585
+ type: CreateApplicationRequestBodyType;
586
+ /**
587
+ * @minItems 1
588
+ * @maxItems 10
589
+ * @items.minLength 1
590
+ * @items.maxLength 2048
591
+ */
592
+ redirect_uris: string[];
593
+ }
594
+ export interface CreateApplicationResponseBody {
595
+ application: ApplicationResource;
596
+ /**
597
+ * Present only for a confidential application, and only in this response
598
+ * @nullable
599
+ */
600
+ secret: string | null;
601
+ }
602
+ export interface UpdateApplicationRequestBody {
603
+ /**
604
+ * @minLength 1
605
+ * @maxLength 128
606
+ */
607
+ name?: string;
608
+ /**
609
+ * @minItems 1
610
+ * @maxItems 10
611
+ * @items.minLength 1
612
+ * @items.maxLength 2048
613
+ */
614
+ redirect_uris?: string[];
615
+ }
616
+ export interface RotateApplicationSecretResponseBody {
617
+ secret: string;
618
+ rotated_at: string;
619
+ }
620
+ export interface LengthAwarePageApplicationResource {
621
+ items: ApplicationResource[];
622
+ limit: number;
623
+ offset: number;
624
+ total: number;
625
+ }
548
626
  /**
549
627
  * Pagination metadata for stable numbered pages. total_count is returned only when the operation can determine it without an unbounded scan.
550
628
  */
@@ -633,3 +711,21 @@ export declare const ListSshKeysStatus: {
633
711
  readonly ACTIVE: "ACTIVE";
634
712
  readonly REVOKED: "REVOKED";
635
713
  };
714
+ export type ListApplicationsParams = {
715
+ /**
716
+ * Items returned in this page. Defaults to 50; at most 200.
717
+ * @minimum 1
718
+ * @maximum 200
719
+ */
720
+ limit?: number;
721
+ /**
722
+ * Items to skip. Defaults to 0; at most 10000.
723
+ * @minimum 0
724
+ * @maximum 10000
725
+ */
726
+ offset?: number;
727
+ /**
728
+ * Include applications that have been deleted
729
+ */
730
+ include_archived?: boolean;
731
+ };
@@ -31,6 +31,19 @@ export const CreateSSHKeyRequestBodyOwner = {
31
31
  me: "me",
32
32
  project: "project",
33
33
  };
34
+ export const ApplicationResourceType = {
35
+ PUBLIC: "PUBLIC",
36
+ CONFIDENTIAL: "CONFIDENTIAL",
37
+ };
38
+ export const ApplicationResourceStatus = {
39
+ ACTIVE: "ACTIVE",
40
+ DISABLED: "DISABLED",
41
+ ARCHIVED: "ARCHIVED",
42
+ };
43
+ export const CreateApplicationRequestBodyType = {
44
+ PUBLIC: "PUBLIC",
45
+ CONFIDENTIAL: "CONFIDENTIAL",
46
+ };
34
47
  export const ListSshKeysStatus = {
35
48
  ACTIVE: "ACTIVE",
36
49
  REVOKED: "REVOKED",
@@ -278,3 +278,74 @@ export declare const RenameSshKeyBody: zod.ZodObject<{
278
278
  export declare const RevokeSshKeyParams: zod.ZodObject<{
279
279
  keyId: zod.ZodUUID;
280
280
  }, zod.z.core.$strict>;
281
+ /**
282
+ * Disabled applications are listed. Archived applications are omitted unless
283
+ * `include_archived` is true. An application that is still being created is not listed.
284
+ * @summary List the applications of this project
285
+ */
286
+ export declare const listApplicationsQueryLimitDefault = 50;
287
+ export declare const listApplicationsQueryLimitMax = 200;
288
+ export declare const listApplicationsQueryOffsetDefault = 0;
289
+ export declare const listApplicationsQueryOffsetMin = 0;
290
+ export declare const listApplicationsQueryOffsetMax = 10000;
291
+ export declare const listApplicationsQueryIncludeArchivedDefault = false;
292
+ export declare const ListApplicationsQueryParams: zod.ZodObject<{
293
+ limit: zod.ZodDefault<zod.ZodInt>;
294
+ offset: zod.ZodDefault<zod.ZodInt>;
295
+ include_archived: zod.ZodDefault<zod.ZodBoolean>;
296
+ }, zod.z.core.$strict>;
297
+ /**
298
+ * Creates an OIDC client for an application of this project. Applications authenticate
299
+ * against `https://auth.leaflow.net/realms/user`.
300
+ *
301
+ * The `secret` is present only for a confidential application, and only in this response.
302
+ * It is not stored and cannot be read again; use `:rotateSecret` to obtain a new one.
303
+ *
304
+ * Any account of this platform may sign in to the application. Membership of this project
305
+ * is confirmed only when a token is exchanged for a scoped token.
306
+ * @summary Create an application
307
+ */
308
+ export declare const CreateApplicationBody: zod.ZodObject<{
309
+ name: zod.ZodString;
310
+ type: zod.ZodEnum<{
311
+ PUBLIC: "PUBLIC";
312
+ CONFIDENTIAL: "CONFIDENTIAL";
313
+ }>;
314
+ redirect_uris: zod.ZodArray<zod.ZodString>;
315
+ }, zod.z.core.$strict>;
316
+ /**
317
+ * An application that has been deleted is still returned, with `status` `ARCHIVED`.
318
+ * @summary Get an application
319
+ */
320
+ export declare const GetApplicationParams: zod.ZodObject<{
321
+ applicationId: zod.ZodUUID;
322
+ }, zod.z.core.$strict>;
323
+ /**
324
+ * Only the name and the redirect URIs can change. The type and `client_id` never change.
325
+ *
326
+ * An application that is disabled or deleted cannot be updated.
327
+ * @summary Update an application
328
+ */
329
+ export declare const UpdateApplicationParams: zod.ZodObject<{
330
+ applicationId: zod.ZodUUID;
331
+ }, zod.z.core.$strict>;
332
+ export declare const UpdateApplicationBody: zod.ZodObject<{
333
+ name: zod.ZodOptional<zod.ZodString>;
334
+ redirect_uris: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
335
+ }, zod.z.core.$strict>;
336
+ /**
337
+ * The application is removed from the identity provider and its row is retained with
338
+ * `status` `ARCHIVED`. Repeating the call returns the same resource.
339
+ * @summary Delete an application
340
+ */
341
+ export declare const DeleteApplicationParams: zod.ZodObject<{
342
+ applicationId: zod.ZodUUID;
343
+ }, zod.z.core.$strict>;
344
+ /**
345
+ * Returns a new secret and invalidates the previous one immediately. Only an active
346
+ * confidential application has a secret; any other state answers 412.
347
+ * @summary Rotate the secret of an application
348
+ */
349
+ export declare const RotateApplicationSecretParams: zod.ZodObject<{
350
+ applicationId: zod.ZodUUID;
351
+ }, zod.z.core.$strict>;
@@ -15,6 +15,7 @@
15
15
  import * as zod from "zod";
16
16
  import { AttachPolicyRequestBody } from "./validators/attachPolicyRequestBody.zod.js";
17
17
  import { BatchGetMembersRequestBody } from "./validators/batchGetMembersRequestBody.zod.js";
18
+ import { CreateApplicationRequestBody } from "./validators/createApplicationRequestBody.zod.js";
18
19
  import { CreateRoleRequestBody } from "./validators/createRoleRequestBody.zod.js";
19
20
  import { CreateSSHKeyRequestBody } from "./validators/createSSHKeyRequestBody.zod.js";
20
21
  import { IssueInvitationRequestBody } from "./validators/issueInvitationRequestBody.zod.js";
@@ -23,6 +24,7 @@ import { SetMemberPermissionsRequestBody } from "./validators/setMemberPermissio
23
24
  import { SetMemberRolesRequestBody } from "./validators/setMemberRolesRequestBody.zod.js";
24
25
  import { SetProjectSlugRequestBody } from "./validators/setProjectSlugRequestBody.zod.js";
25
26
  import { TransferOwnershipRequestBody } from "./validators/transferOwnershipRequestBody.zod.js";
27
+ import { UpdateApplicationRequestBody } from "./validators/updateApplicationRequestBody.zod.js";
26
28
  import { UpdatePolicyRequestBody } from "./validators/updatePolicyRequestBody.zod.js";
27
29
  import { UpdateProjectRequestBody } from "./validators/updateProjectRequestBody.zod.js";
28
30
  import { UpdateRoleRequestBody } from "./validators/updateRoleRequestBody.zod.js";
@@ -273,3 +275,77 @@ export const RenameSshKeyBody = RenameSSHKeyRequestBody;
273
275
  export const RevokeSshKeyParams = zod.strictObject({
274
276
  keyId: zod.uuid(),
275
277
  });
278
+ /**
279
+ * Disabled applications are listed. Archived applications are omitted unless
280
+ * `include_archived` is true. An application that is still being created is not listed.
281
+ * @summary List the applications of this project
282
+ */
283
+ export const listApplicationsQueryLimitDefault = 50;
284
+ export const listApplicationsQueryLimitMax = 200;
285
+ export const listApplicationsQueryOffsetDefault = 0;
286
+ export const listApplicationsQueryOffsetMin = 0;
287
+ export const listApplicationsQueryOffsetMax = 10000;
288
+ export const listApplicationsQueryIncludeArchivedDefault = false;
289
+ export const ListApplicationsQueryParams = zod.strictObject({
290
+ limit: zod
291
+ .int()
292
+ .min(1)
293
+ .max(listApplicationsQueryLimitMax)
294
+ .default(listApplicationsQueryLimitDefault)
295
+ .describe("Items returned in this page. Defaults to 50; at most 200."),
296
+ offset: zod
297
+ .int()
298
+ .min(listApplicationsQueryOffsetMin)
299
+ .max(listApplicationsQueryOffsetMax)
300
+ .default(listApplicationsQueryOffsetDefault)
301
+ .describe("Items to skip. Defaults to 0; at most 10000."),
302
+ include_archived: zod
303
+ .boolean()
304
+ .default(listApplicationsQueryIncludeArchivedDefault)
305
+ .describe("Include applications that have been deleted"),
306
+ });
307
+ /**
308
+ * Creates an OIDC client for an application of this project. Applications authenticate
309
+ * against `https://auth.leaflow.net/realms/user`.
310
+ *
311
+ * The `secret` is present only for a confidential application, and only in this response.
312
+ * It is not stored and cannot be read again; use `:rotateSecret` to obtain a new one.
313
+ *
314
+ * Any account of this platform may sign in to the application. Membership of this project
315
+ * is confirmed only when a token is exchanged for a scoped token.
316
+ * @summary Create an application
317
+ */
318
+ export const CreateApplicationBody = CreateApplicationRequestBody;
319
+ /**
320
+ * An application that has been deleted is still returned, with `status` `ARCHIVED`.
321
+ * @summary Get an application
322
+ */
323
+ export const GetApplicationParams = zod.strictObject({
324
+ applicationId: zod.uuid(),
325
+ });
326
+ /**
327
+ * Only the name and the redirect URIs can change. The type and `client_id` never change.
328
+ *
329
+ * An application that is disabled or deleted cannot be updated.
330
+ * @summary Update an application
331
+ */
332
+ export const UpdateApplicationParams = zod.strictObject({
333
+ applicationId: zod.uuid(),
334
+ });
335
+ export const UpdateApplicationBody = UpdateApplicationRequestBody;
336
+ /**
337
+ * The application is removed from the identity provider and its row is retained with
338
+ * `status` `ARCHIVED`. Repeating the call returns the same resource.
339
+ * @summary Delete an application
340
+ */
341
+ export const DeleteApplicationParams = zod.strictObject({
342
+ applicationId: zod.uuid(),
343
+ });
344
+ /**
345
+ * Returns a new secret and invalidates the previous one immediately. Only an active
346
+ * confidential application has a secret; any other state answers 412.
347
+ * @summary Rotate the secret of an application
348
+ */
349
+ export const RotateApplicationSecretParams = zod.strictObject({
350
+ applicationId: zod.uuid(),
351
+ });
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ export declare const ApplicationResource: zod.ZodObject<{
17
+ id: zod.ZodUUID;
18
+ name: zod.ZodString;
19
+ type: zod.ZodEnum<{
20
+ PUBLIC: "PUBLIC";
21
+ CONFIDENTIAL: "CONFIDENTIAL";
22
+ }>;
23
+ client_id: zod.ZodString;
24
+ redirect_uris: zod.ZodArray<zod.ZodString>;
25
+ status: zod.ZodEnum<{
26
+ ACTIVE: "ACTIVE";
27
+ DISABLED: "DISABLED";
28
+ ARCHIVED: "ARCHIVED";
29
+ }>;
30
+ created_by: zod.ZodNullable<zod.ZodString>;
31
+ created_at: zod.z.ZodISODateTime;
32
+ disabled_at: zod.ZodNullable<zod.z.ZodISODateTime>;
33
+ secret_rotated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
34
+ }, zod.z.core.$strict>;
35
+ export type ApplicationResource = zod.input<typeof ApplicationResource>;
36
+ export type ApplicationResourceOutput = zod.output<typeof ApplicationResource>;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ export const ApplicationResource = zod.strictObject({
17
+ id: zod.uuid(),
18
+ name: zod.string(),
19
+ type: zod.enum(["PUBLIC", "CONFIDENTIAL"]),
20
+ client_id: zod.string(),
21
+ redirect_uris: zod.array(zod.string()),
22
+ status: zod.enum(["ACTIVE", "DISABLED", "ARCHIVED"]),
23
+ created_by: zod.string().nullable(),
24
+ created_at: zod.iso.datetime({ offset: true }),
25
+ disabled_at: zod.iso.datetime({ offset: true }).nullable(),
26
+ secret_rotated_at: zod.iso.datetime({ offset: true }).nullable(),
27
+ });
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ export declare const createApplicationRequestBodyNameMax = 128;
17
+ export declare const createApplicationRequestBodyRedirectUrisItemMax = 2048;
18
+ export declare const createApplicationRequestBodyRedirectUrisMax = 10;
19
+ export declare const CreateApplicationRequestBody: zod.ZodObject<{
20
+ name: zod.ZodString;
21
+ type: zod.ZodEnum<{
22
+ PUBLIC: "PUBLIC";
23
+ CONFIDENTIAL: "CONFIDENTIAL";
24
+ }>;
25
+ redirect_uris: zod.ZodArray<zod.ZodString>;
26
+ }, zod.z.core.$strict>;
27
+ export type CreateApplicationRequestBody = zod.input<typeof CreateApplicationRequestBody>;
28
+ export type CreateApplicationRequestBodyOutput = zod.output<typeof CreateApplicationRequestBody>;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ export const createApplicationRequestBodyNameMax = 128;
17
+ export const createApplicationRequestBodyRedirectUrisItemMax = 2048;
18
+ export const createApplicationRequestBodyRedirectUrisMax = 10;
19
+ export const CreateApplicationRequestBody = zod.strictObject({
20
+ name: zod.string().min(1).max(createApplicationRequestBodyNameMax),
21
+ type: zod.enum(["PUBLIC", "CONFIDENTIAL"]),
22
+ redirect_uris: zod
23
+ .array(zod.string().min(1).max(createApplicationRequestBodyRedirectUrisItemMax))
24
+ .min(1)
25
+ .max(createApplicationRequestBodyRedirectUrisMax),
26
+ });
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ export declare const CreateApplicationResponseBody: zod.ZodObject<{
17
+ application: zod.ZodObject<{
18
+ id: zod.ZodUUID;
19
+ name: zod.ZodString;
20
+ type: zod.ZodEnum<{
21
+ PUBLIC: "PUBLIC";
22
+ CONFIDENTIAL: "CONFIDENTIAL";
23
+ }>;
24
+ client_id: zod.ZodString;
25
+ redirect_uris: zod.ZodArray<zod.ZodString>;
26
+ status: zod.ZodEnum<{
27
+ ACTIVE: "ACTIVE";
28
+ DISABLED: "DISABLED";
29
+ ARCHIVED: "ARCHIVED";
30
+ }>;
31
+ created_by: zod.ZodNullable<zod.ZodString>;
32
+ created_at: zod.z.ZodISODateTime;
33
+ disabled_at: zod.ZodNullable<zod.z.ZodISODateTime>;
34
+ secret_rotated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
35
+ }, zod.z.core.$strict>;
36
+ secret: zod.ZodNullable<zod.ZodString>;
37
+ }, zod.z.core.$strict>;
38
+ export type CreateApplicationResponseBody = zod.input<typeof CreateApplicationResponseBody>;
39
+ export type CreateApplicationResponseBodyOutput = zod.output<typeof CreateApplicationResponseBody>;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ import { ApplicationResource } from "./applicationResource.zod.js";
17
+ export const CreateApplicationResponseBody = zod.strictObject({
18
+ application: ApplicationResource,
19
+ secret: zod
20
+ .string()
21
+ .nullable()
22
+ .describe("Present only for a confidential application, and only in this response"),
23
+ });
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow IAM API
5
+ * What happens inside a project: members, roles, invitations and SSH keys.
6
+ *
7
+ * Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
8
+ * `projectId`, and the current project is the one the token states. Tokens are obtained from the
9
+ * account API.
10
+ *
11
+ * `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
12
+ * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
+ * OpenAPI spec version: 1.0.0
14
+ */
15
+ import * as zod from "zod";
16
+ export declare const LengthAwarePageApplicationResource: zod.ZodObject<{
17
+ items: zod.ZodArray<zod.ZodObject<{
18
+ id: zod.ZodUUID;
19
+ name: zod.ZodString;
20
+ type: zod.ZodEnum<{
21
+ PUBLIC: "PUBLIC";
22
+ CONFIDENTIAL: "CONFIDENTIAL";
23
+ }>;
24
+ client_id: zod.ZodString;
25
+ redirect_uris: zod.ZodArray<zod.ZodString>;
26
+ status: zod.ZodEnum<{
27
+ ACTIVE: "ACTIVE";
28
+ DISABLED: "DISABLED";
29
+ ARCHIVED: "ARCHIVED";
30
+ }>;
31
+ created_by: zod.ZodNullable<zod.ZodString>;
32
+ created_at: zod.z.ZodISODateTime;
33
+ disabled_at: zod.ZodNullable<zod.z.ZodISODateTime>;
34
+ secret_rotated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
35
+ }, zod.z.core.$strict>>;
36
+ limit: zod.ZodInt;
37
+ offset: zod.ZodInt;
38
+ total: zod.ZodInt;
39
+ }, zod.z.core.$strict>;
40
+ export type LengthAwarePageApplicationResource = zod.input<typeof LengthAwarePageApplicationResource>;
41
+ export type LengthAwarePageApplicationResourceOutput = zod.output<typeof LengthAwarePageApplicationResource>;