@leaflow/sdk 0.0.0-dev.355.g42152f5 → 0.0.0-dev.357.gf8331d0

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 (119) hide show
  1. package/dist/account/v1/generated/functions.d.ts +85 -1
  2. package/dist/account/v1/generated/functions.js +65 -0
  3. package/dist/account/v1/generated/models.d.ts +31 -1
  4. package/dist/account/v1/generated/models.js +5 -0
  5. package/dist/account/v1/generated/schemas.zod.d.ts +45 -0
  6. package/dist/account/v1/generated/schemas.zod.js +45 -1
  7. package/dist/account/v1/generated/validators/acceptConsentsRequestBody.zod.d.ts +4 -0
  8. package/dist/account/v1/generated/validators/acceptConsentsRequestBody.zod.js +4 -0
  9. package/dist/account/v1/generated/validators/acceptInvitationByTokenRequestBody.zod.d.ts +4 -0
  10. package/dist/account/v1/generated/validators/acceptInvitationByTokenRequestBody.zod.js +4 -0
  11. package/dist/account/v1/generated/validators/acceptedInvitationResponseBody.zod.d.ts +5 -0
  12. package/dist/account/v1/generated/validators/acceptedInvitationResponseBody.zod.js +4 -0
  13. package/dist/account/v1/generated/validators/accountResource.zod.d.ts +4 -0
  14. package/dist/account/v1/generated/validators/accountResource.zod.js +4 -0
  15. package/dist/account/v1/generated/validators/agreementListResponseBody.zod.d.ts +4 -0
  16. package/dist/account/v1/generated/validators/agreementListResponseBody.zod.js +4 -0
  17. package/dist/account/v1/generated/validators/agreementResource.zod.d.ts +4 -0
  18. package/dist/account/v1/generated/validators/agreementResource.zod.js +4 -0
  19. package/dist/account/v1/generated/validators/consentBody.zod.d.ts +4 -0
  20. package/dist/account/v1/generated/validators/consentBody.zod.js +4 -0
  21. package/dist/account/v1/generated/validators/consentListResponseBody.zod.d.ts +4 -0
  22. package/dist/account/v1/generated/validators/consentListResponseBody.zod.js +4 -0
  23. package/dist/account/v1/generated/validators/consentResource.zod.d.ts +4 -0
  24. package/dist/account/v1/generated/validators/consentResource.zod.js +4 -0
  25. package/dist/account/v1/generated/validators/countryOption.zod.d.ts +4 -0
  26. package/dist/account/v1/generated/validators/countryOption.zod.js +4 -0
  27. package/dist/account/v1/generated/validators/createProjectRequestBody.zod.d.ts +6 -0
  28. package/dist/account/v1/generated/validators/createProjectRequestBody.zod.js +10 -0
  29. package/dist/account/v1/generated/validators/cursorPagination.zod.d.ts +4 -0
  30. package/dist/account/v1/generated/validators/cursorPagination.zod.js +4 -0
  31. package/dist/account/v1/generated/validators/error.zod.d.ts +4 -0
  32. package/dist/account/v1/generated/validators/error.zod.js +4 -0
  33. package/dist/account/v1/generated/validators/grantResource.zod.d.ts +4 -0
  34. package/dist/account/v1/generated/validators/grantResource.zod.js +4 -0
  35. package/dist/account/v1/generated/validators/identityVerificationResource.zod.d.ts +4 -0
  36. package/dist/account/v1/generated/validators/identityVerificationResource.zod.js +4 -0
  37. package/dist/account/v1/generated/validators/invitationPreviewResource.zod.d.ts +4 -0
  38. package/dist/account/v1/generated/validators/invitationPreviewResource.zod.js +4 -0
  39. package/dist/account/v1/generated/validators/invitationResource.zod.d.ts +4 -0
  40. package/dist/account/v1/generated/validators/invitationResource.zod.js +4 -0
  41. package/dist/account/v1/generated/validators/languageOption.zod.d.ts +4 -0
  42. package/dist/account/v1/generated/validators/languageOption.zod.js +4 -0
  43. package/dist/account/v1/generated/validators/lengthAwarePageInvitationResource.zod.d.ts +4 -0
  44. package/dist/account/v1/generated/validators/lengthAwarePageInvitationResource.zod.js +4 -0
  45. package/dist/account/v1/generated/validators/lengthAwarePageProjectAccessResource.zod.d.ts +5 -0
  46. package/dist/account/v1/generated/validators/lengthAwarePageProjectAccessResource.zod.js +4 -0
  47. package/dist/account/v1/generated/validators/listMyInvitationsParams.zod.d.ts +4 -0
  48. package/dist/account/v1/generated/validators/listMyInvitationsParams.zod.js +4 -0
  49. package/dist/account/v1/generated/validators/listProjectsParams.zod.d.ts +4 -0
  50. package/dist/account/v1/generated/validators/listProjectsParams.zod.js +5 -1
  51. package/dist/account/v1/generated/validators/locale.zod.d.ts +4 -0
  52. package/dist/account/v1/generated/validators/locale.zod.js +4 -0
  53. package/dist/account/v1/generated/validators/localeOptionsResource.zod.d.ts +4 -0
  54. package/dist/account/v1/generated/validators/localeOptionsResource.zod.js +4 -0
  55. package/dist/account/v1/generated/validators/offsetPagination.zod.d.ts +4 -0
  56. package/dist/account/v1/generated/validators/offsetPagination.zod.js +4 -0
  57. package/dist/account/v1/generated/validators/previewInvitationByTokenParams.zod.d.ts +4 -0
  58. package/dist/account/v1/generated/validators/previewInvitationByTokenParams.zod.js +4 -0
  59. package/dist/account/v1/generated/validators/projectAccessResource.zod.d.ts +5 -0
  60. package/dist/account/v1/generated/validators/projectAccessResource.zod.js +4 -0
  61. package/dist/account/v1/generated/validators/projectResource.zod.d.ts +6 -0
  62. package/dist/account/v1/generated/validators/projectResource.zod.js +10 -0
  63. package/dist/account/v1/generated/validators/projectSlugAvailabilityResource.zod.d.ts +34 -0
  64. package/dist/account/v1/generated/validators/projectSlugAvailabilityResource.zod.js +30 -0
  65. package/dist/account/v1/generated/validators/projectTraitResource.zod.d.ts +4 -0
  66. package/dist/account/v1/generated/validators/projectTraitResource.zod.js +4 -0
  67. package/dist/account/v1/generated/validators/registerRequestBody.zod.d.ts +4 -0
  68. package/dist/account/v1/generated/validators/registerRequestBody.zod.js +4 -0
  69. package/dist/account/v1/generated/validators/resourceRefResource.zod.d.ts +4 -0
  70. package/dist/account/v1/generated/validators/resourceRefResource.zod.js +4 -0
  71. package/dist/account/v1/generated/validators/ruleResource.zod.d.ts +4 -0
  72. package/dist/account/v1/generated/validators/ruleResource.zod.js +4 -0
  73. package/dist/account/v1/generated/validators/scopedTokenResponseBody.zod.d.ts +5 -0
  74. package/dist/account/v1/generated/validators/scopedTokenResponseBody.zod.js +4 -0
  75. package/dist/account/v1/generated/validators/settingsResource.zod.d.ts +4 -0
  76. package/dist/account/v1/generated/validators/settingsResource.zod.js +4 -0
  77. package/dist/account/v1/generated/validators/submitIdentityVerificationRequestBody.zod.d.ts +4 -0
  78. package/dist/account/v1/generated/validators/submitIdentityVerificationRequestBody.zod.js +4 -0
  79. package/dist/account/v1/generated/validators/updateAccountRequestBody.zod.d.ts +4 -0
  80. package/dist/account/v1/generated/validators/updateAccountRequestBody.zod.js +4 -0
  81. package/dist/compute/v1/generated/validators/allocateFloatingIPResponseBody.zod.d.ts +1 -1
  82. package/dist/compute/v1/generated/validators/backupListResponseBody.zod.d.ts +1 -1
  83. package/dist/compute/v1/generated/validators/backupResource.zod.d.ts +1 -1
  84. package/dist/compute/v1/generated/validators/createDiskResponseBody.zod.d.ts +2 -2
  85. package/dist/compute/v1/generated/validators/createImageResponseBody.zod.d.ts +1 -1
  86. package/dist/compute/v1/generated/validators/diskAttachment.zod.d.ts +1 -1
  87. package/dist/compute/v1/generated/validators/diskAttachmentList.zod.d.ts +1 -1
  88. package/dist/compute/v1/generated/validators/diskListResponseBody.zod.d.ts +2 -2
  89. package/dist/compute/v1/generated/validators/diskResource.zod.d.ts +2 -2
  90. package/dist/compute/v1/generated/validators/floatingIPListResponseBody.zod.d.ts +1 -1
  91. package/dist/compute/v1/generated/validators/floatingIPResource.zod.d.ts +1 -1
  92. package/dist/compute/v1/generated/validators/imageListResponseBody.zod.d.ts +1 -1
  93. package/dist/compute/v1/generated/validators/imageResource.zod.d.ts +1 -1
  94. package/dist/compute/v1/generated/validators/portAddress.zod.d.ts +1 -1
  95. package/dist/compute/v1/generated/validators/portAttachment.zod.d.ts +1 -1
  96. package/dist/compute/v1/generated/validators/portAttachmentList.zod.d.ts +1 -1
  97. package/dist/compute/v1/generated/validators/portListResponseBody.zod.d.ts +3 -3
  98. package/dist/compute/v1/generated/validators/portResource.zod.d.ts +3 -3
  99. package/dist/compute/v1/generated/validators/resizeDiskResponseBody.zod.d.ts +2 -2
  100. package/dist/compute/v1/generated/validators/setFloatingIPBandwidthResponseBody.zod.d.ts +1 -1
  101. package/dist/compute/v1/generated/validators/snapshotListResponseBody.zod.d.ts +1 -1
  102. package/dist/compute/v1/generated/validators/snapshotResource.zod.d.ts +1 -1
  103. package/dist/iam/v1/generated/functions.d.ts +31 -1
  104. package/dist/iam/v1/generated/functions.js +42 -0
  105. package/dist/iam/v1/generated/models.d.ts +14 -0
  106. package/dist/iam/v1/generated/schemas.zod.d.ts +16 -0
  107. package/dist/iam/v1/generated/schemas.zod.js +15 -0
  108. package/dist/iam/v1/generated/validators/projectAccessResource.zod.d.ts +1 -0
  109. package/dist/iam/v1/generated/validators/projectResource.zod.d.ts +2 -0
  110. package/dist/iam/v1/generated/validators/projectResource.zod.js +6 -0
  111. package/dist/iam/v1/generated/validators/setProjectSlugRequestBody.zod.d.ts +22 -0
  112. package/dist/iam/v1/generated/validators/setProjectSlugRequestBody.zod.js +24 -0
  113. package/dist/routes.d.ts +32 -0
  114. package/dist/routes.js +36 -0
  115. package/dist/type/resource/v1/generated/validators/attachment.zod.d.ts +1 -1
  116. package/dist/type/resource/v1/generated/validators/attachmentList.zod.d.ts +1 -1
  117. package/dist/type/resource/v1/generated/validators/resourceUsage.zod.d.ts +1 -1
  118. package/dist/type/resource/v1/generated/validators/resourceUsageList.zod.d.ts +1 -1
  119. package/package.json +1 -1
@@ -15,14 +15,20 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
21
25
  export declare const createProjectRequestBodyDescriptionMax = 2000;
22
26
  export declare const createProjectRequestBodyNameMax = 128;
27
+ export declare const createProjectRequestBodySlugMax = 32;
23
28
  export declare const CreateProjectRequestBody: zod.ZodObject<{
24
29
  description: zod.ZodOptional<zod.ZodString>;
25
30
  name: zod.ZodString;
31
+ slug: zod.ZodOptional<zod.ZodString>;
26
32
  }, zod.z.core.$strict>;
27
33
  export type CreateProjectRequestBody = zod.input<typeof CreateProjectRequestBody>;
28
34
  export type CreateProjectRequestBodyOutput = zod.output<typeof CreateProjectRequestBody>;
@@ -15,12 +15,22 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
21
25
  export const createProjectRequestBodyDescriptionMax = 2000;
22
26
  export const createProjectRequestBodyNameMax = 128;
27
+ export const createProjectRequestBodySlugMax = 32;
23
28
  export const CreateProjectRequestBody = zod.strictObject({
24
29
  description: zod.string().max(createProjectRequestBodyDescriptionMax).optional(),
25
30
  name: zod.string().min(1).max(createProjectRequestBodyNameMax),
31
+ slug: zod
32
+ .string()
33
+ .max(createProjectRequestBodySlugMax)
34
+ .optional()
35
+ .describe("A custom slug of 6 to 32 characters made of lower-case letters, digits and single hyphens, beginning with a letter and ending with a letter or digit. Omitted or empty, the slug is the new project's `id`, and a custom slug can be set once later"),
26
36
  });
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -52,6 +56,7 @@ export declare const LengthAwarePageProjectAccessResource: zod.ZodObject<{
52
56
  deleted_at: zod.ZodNullable<zod.z.ZodISODateTime>;
53
57
  description: zod.ZodString;
54
58
  id: zod.ZodUUID;
59
+ slug: zod.ZodString;
55
60
  name: zod.ZodString;
56
61
  updated_at: zod.z.ZodISODateTime;
57
62
  }, zod.z.core.$strict>;
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -36,6 +40,6 @@ export const ListProjectsParams = zod.strictObject({
36
40
  .string()
37
41
  .max(listProjectsParamsKeywordMax)
38
42
  .optional()
39
- .describe("Matches against name or description"),
43
+ .describe("Matches against name, slug or description, and against the id when it is a complete project id"),
40
44
  include_deleted: zod.boolean().default(listProjectsParamsIncludeDeletedDefault),
41
45
  });
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -51,6 +55,7 @@ export declare const ProjectAccessResource: zod.ZodObject<{
51
55
  deleted_at: zod.ZodNullable<zod.z.ZodISODateTime>;
52
56
  description: zod.ZodString;
53
57
  id: zod.ZodUUID;
58
+ slug: zod.ZodString;
54
59
  name: zod.ZodString;
55
60
  updated_at: zod.z.ZodISODateTime;
56
61
  }, zod.z.core.$strict>;
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,9 +15,14 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
25
+ export declare const projectResourceSlugMax = 36;
21
26
  export declare const ProjectResource: zod.ZodObject<{
22
27
  traits: zod.ZodArray<zod.ZodObject<{
23
28
  key: zod.ZodString;
@@ -34,6 +39,7 @@ export declare const ProjectResource: zod.ZodObject<{
34
39
  deleted_at: zod.ZodNullable<zod.z.ZodISODateTime>;
35
40
  description: zod.ZodString;
36
41
  id: zod.ZodUUID;
42
+ slug: zod.ZodString;
37
43
  name: zod.ZodString;
38
44
  updated_at: zod.z.ZodISODateTime;
39
45
  }, zod.z.core.$strict>;
@@ -15,10 +15,15 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
21
25
  import { ProjectTraitResource } from "./projectTraitResource.zod.js";
26
+ export const projectResourceSlugMax = 36;
22
27
  export const ProjectResource = zod.strictObject({
23
28
  traits: zod.array(ProjectTraitResource),
24
29
  deletion_requested_at: zod.iso.datetime({ offset: true }).nullable(),
@@ -30,6 +35,11 @@ export const ProjectResource = zod.strictObject({
30
35
  .describe("When the project was deleted"),
31
36
  description: zod.string(),
32
37
  id: zod.uuid(),
38
+ slug: zod
39
+ .string()
40
+ .min(1)
41
+ .max(projectResourceSlugMax)
42
+ .describe("The label naming the project in its address. It equals `id` until a custom slug is chosen. A custom slug does not change once set, and stays with the project after deletion"),
33
43
  name: zod.string(),
34
44
  updated_at: zod.iso.datetime({ offset: true }),
35
45
  });
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Account API
5
+ * Everything that comes before a project is chosen: registration, the account itself, the projects the caller belongs to, and entry into one of them.
6
+ *
7
+ * ## Authentication
8
+ *
9
+ * Every request carries `Authorization: Bearer <access token>`, obtained by signing in at auth.leaflow.net. The endpoints that need no token say so.
10
+ *
11
+ * ## Entering a project
12
+ *
13
+ * 1. `GET /account/v1/projects` lists the projects the caller belongs to. The first call registers the account, taking the name and email address from the sign-in claims.
14
+ * 2. `POST /account/v1/projects/{projectId}/scoped-tokens` returns a scoped token for the project chosen.
15
+ * 3. Every other service is called with that scoped token.
16
+ *
17
+ * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
22
+ * OpenAPI spec version: 1.0.0
23
+ */
24
+ import * as zod from "zod";
25
+ export declare const ProjectSlugAvailabilityResource: zod.ZodObject<{
26
+ slug: zod.ZodString;
27
+ status: zod.ZodEnum<{
28
+ available: "available";
29
+ reserved: "reserved";
30
+ taken: "taken";
31
+ }>;
32
+ }, zod.z.core.$strict>;
33
+ export type ProjectSlugAvailabilityResource = zod.input<typeof ProjectSlugAvailabilityResource>;
34
+ export type ProjectSlugAvailabilityResourceOutput = zod.output<typeof ProjectSlugAvailabilityResource>;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Account API
5
+ * Everything that comes before a project is chosen: registration, the account itself, the projects the caller belongs to, and entry into one of them.
6
+ *
7
+ * ## Authentication
8
+ *
9
+ * Every request carries `Authorization: Bearer <access token>`, obtained by signing in at auth.leaflow.net. The endpoints that need no token say so.
10
+ *
11
+ * ## Entering a project
12
+ *
13
+ * 1. `GET /account/v1/projects` lists the projects the caller belongs to. The first call registers the account, taking the name and email address from the sign-in claims.
14
+ * 2. `POST /account/v1/projects/{projectId}/scoped-tokens` returns a scoped token for the project chosen.
15
+ * 3. Every other service is called with that scoped token.
16
+ *
17
+ * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
22
+ * OpenAPI spec version: 1.0.0
23
+ */
24
+ import * as zod from "zod";
25
+ export const ProjectSlugAvailabilityResource = zod.strictObject({
26
+ slug: zod.string().describe("The slug asked about"),
27
+ status: zod
28
+ .enum(["available", "reserved", "taken"])
29
+ .describe("`available` when the slug can be chosen now, `reserved` when the name is reserved, and `taken` when a project, including a deleted one, holds it"),
30
+ });
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";
@@ -15,6 +15,10 @@
15
15
  * 3. Every other service is called with that scoped token.
16
16
  *
17
17
  * A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
18
+ *
19
+ * ## Project slugs
20
+ *
21
+ * Every project carries a `slug`, the label naming it in its address. Until a custom slug is chosen the slug is the project's `id`, and the address under the `id` keeps working after a custom slug is chosen. `GET /account/v1/projects/by-slug/{slug}` finds the project named by either label.
18
22
  * OpenAPI spec version: 1.0.0
19
23
  */
20
24
  import * as zod from "zod";