@sylphx/contract 0.3.0 → 0.5.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 (228) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/endpoint.d.ts +45 -3
  3. package/dist/endpoint.d.ts.map +1 -1
  4. package/dist/endpoint.js +9 -0
  5. package/dist/endpoints/admin-ai-playground.d.ts +3 -3
  6. package/dist/endpoints/admin-anomalies.d.ts +7 -7
  7. package/dist/endpoints/admin-apm.d.ts +6 -6
  8. package/dist/endpoints/admin-audit.d.ts +94 -58
  9. package/dist/endpoints/admin-audit.d.ts.map +1 -1
  10. package/dist/endpoints/admin-audit.js +8 -1
  11. package/dist/endpoints/admin-billing.d.ts +35 -24
  12. package/dist/endpoints/admin-billing.d.ts.map +1 -1
  13. package/dist/endpoints/admin-billing.js +4 -3
  14. package/dist/endpoints/admin-bootstrap.d.ts +1 -1
  15. package/dist/endpoints/admin-branch-databases.d.ts +43 -0
  16. package/dist/endpoints/admin-branch-databases.d.ts.map +1 -0
  17. package/dist/endpoints/admin-branch-databases.js +41 -0
  18. package/dist/endpoints/admin-broadcasts.d.ts +10 -8
  19. package/dist/endpoints/admin-broadcasts.d.ts.map +1 -1
  20. package/dist/endpoints/admin-broadcasts.js +1 -0
  21. package/dist/endpoints/admin-builds.d.ts +1 -1
  22. package/dist/endpoints/admin-config.d.ts +11 -11
  23. package/dist/endpoints/admin-consent.d.ts +78 -41
  24. package/dist/endpoints/admin-consent.d.ts.map +1 -1
  25. package/dist/endpoints/admin-consent.js +9 -6
  26. package/dist/endpoints/admin-env-services.d.ts +1 -1
  27. package/dist/endpoints/admin-impersonation.d.ts +9 -9
  28. package/dist/endpoints/admin-invitations.d.ts +9 -5
  29. package/dist/endpoints/admin-invitations.d.ts.map +1 -1
  30. package/dist/endpoints/admin-invitations.js +2 -0
  31. package/dist/endpoints/admin-jwt-keys.d.ts +6 -6
  32. package/dist/endpoints/admin-logs.d.ts +7 -7
  33. package/dist/endpoints/admin-plans.d.ts +6 -4
  34. package/dist/endpoints/admin-plans.d.ts.map +1 -1
  35. package/dist/endpoints/admin-plans.js +1 -0
  36. package/dist/endpoints/admin-project-users.d.ts +8 -8
  37. package/dist/endpoints/admin-projects.d.ts +11 -9
  38. package/dist/endpoints/admin-projects.d.ts.map +1 -1
  39. package/dist/endpoints/admin-projects.js +3 -2
  40. package/dist/endpoints/admin-quotas.d.ts +6 -6
  41. package/dist/endpoints/admin-rate-limits.d.ts +2 -2
  42. package/dist/endpoints/admin-reconcile.d.ts +1 -1
  43. package/dist/endpoints/admin-resources.d.ts +2 -2
  44. package/dist/endpoints/admin-secrets.d.ts +2 -2
  45. package/dist/endpoints/admin-services.d.ts +1 -1
  46. package/dist/endpoints/admin-tasks.d.ts +6 -6
  47. package/dist/endpoints/admin-tenants.d.ts +3 -1
  48. package/dist/endpoints/admin-tenants.d.ts.map +1 -1
  49. package/dist/endpoints/admin-tenants.js +1 -0
  50. package/dist/endpoints/admin-traces.d.ts +5 -5
  51. package/dist/endpoints/admin-users.d.ts +8 -8
  52. package/dist/endpoints/admin-webhook-signature-versions.d.ts +5 -3
  53. package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -1
  54. package/dist/endpoints/admin-webhook-signature-versions.js +1 -0
  55. package/dist/endpoints/ai-admin.d.ts +5 -5
  56. package/dist/endpoints/analytics-admin.d.ts +123 -38
  57. package/dist/endpoints/analytics-admin.d.ts.map +1 -1
  58. package/dist/endpoints/analytics-admin.js +17 -9
  59. package/dist/endpoints/analytics.d.ts +4 -4
  60. package/dist/endpoints/audit-chain.d.ts +1 -1
  61. package/dist/endpoints/audit.d.ts +1 -1
  62. package/dist/endpoints/auth-admin.d.ts +5 -5
  63. package/dist/endpoints/auth.d.ts +65 -21
  64. package/dist/endpoints/auth.d.ts.map +1 -1
  65. package/dist/endpoints/auth.js +9 -2
  66. package/dist/endpoints/backups.d.ts +4 -4
  67. package/dist/endpoints/billing-console.d.ts +16 -16
  68. package/dist/endpoints/billing-settings.d.ts +11 -11
  69. package/dist/endpoints/branch-databases.d.ts +8 -4
  70. package/dist/endpoints/branch-databases.d.ts.map +1 -1
  71. package/dist/endpoints/branch-databases.js +2 -0
  72. package/dist/endpoints/challenge.d.ts +5 -5
  73. package/dist/endpoints/ci-settings.d.ts +8 -8
  74. package/dist/endpoints/consent-admin.d.ts +9 -7
  75. package/dist/endpoints/consent-admin.d.ts.map +1 -1
  76. package/dist/endpoints/consent-admin.js +1 -0
  77. package/dist/endpoints/databases.d.ts +187 -321
  78. package/dist/endpoints/databases.d.ts.map +1 -1
  79. package/dist/endpoints/databases.js +42 -41
  80. package/dist/endpoints/deployments.d.ts +71 -18
  81. package/dist/endpoints/deployments.d.ts.map +1 -1
  82. package/dist/endpoints/deployments.js +9 -1
  83. package/dist/endpoints/domains.d.ts +33 -23
  84. package/dist/endpoints/domains.d.ts.map +1 -1
  85. package/dist/endpoints/domains.js +7 -4
  86. package/dist/endpoints/email-admin.d.ts +29 -23
  87. package/dist/endpoints/email-admin.d.ts.map +1 -1
  88. package/dist/endpoints/email-admin.js +3 -0
  89. package/dist/endpoints/email.d.ts +4 -4
  90. package/dist/endpoints/engagement-admin.d.ts +6 -6
  91. package/dist/endpoints/env-vars.d.ts +3 -3
  92. package/dist/endpoints/environments.d.ts +30 -27
  93. package/dist/endpoints/environments.d.ts.map +1 -1
  94. package/dist/endpoints/environments.js +3 -7
  95. package/dist/endpoints/experiments.d.ts +20 -18
  96. package/dist/endpoints/experiments.d.ts.map +1 -1
  97. package/dist/endpoints/experiments.js +1 -0
  98. package/dist/endpoints/flags-admin.d.ts +73 -9
  99. package/dist/endpoints/flags-admin.d.ts.map +1 -1
  100. package/dist/endpoints/flags-admin.js +1 -0
  101. package/dist/endpoints/flags.d.ts +1 -1
  102. package/dist/endpoints/github.d.ts +3 -3
  103. package/dist/endpoints/image-opt.d.ts +2 -2
  104. package/dist/endpoints/kv-admin.d.ts +6 -6
  105. package/dist/endpoints/kv.d.ts +8 -8
  106. package/dist/endpoints/monitoring-admin.d.ts +10 -10
  107. package/dist/endpoints/monitoring.d.ts +2 -2
  108. package/dist/endpoints/newsletter.d.ts +30 -24
  109. package/dist/endpoints/newsletter.d.ts.map +1 -1
  110. package/dist/endpoints/newsletter.js +3 -0
  111. package/dist/endpoints/notifications-admin.d.ts +17 -17
  112. package/dist/endpoints/notifications.d.ts +16 -16
  113. package/dist/endpoints/oidc.d.ts +6 -4
  114. package/dist/endpoints/oidc.d.ts.map +1 -1
  115. package/dist/endpoints/oidc.js +1 -0
  116. package/dist/endpoints/organizations.d.ts +56 -48
  117. package/dist/endpoints/organizations.d.ts.map +1 -1
  118. package/dist/endpoints/organizations.js +4 -0
  119. package/dist/endpoints/plans.d.ts +9 -7
  120. package/dist/endpoints/plans.d.ts.map +1 -1
  121. package/dist/endpoints/plans.js +1 -0
  122. package/dist/endpoints/privacy.d.ts +11 -9
  123. package/dist/endpoints/privacy.d.ts.map +1 -1
  124. package/dist/endpoints/privacy.js +1 -0
  125. package/dist/endpoints/project-manifest.d.ts +18 -42
  126. package/dist/endpoints/project-manifest.d.ts.map +1 -1
  127. package/dist/endpoints/projects.d.ts +7 -5
  128. package/dist/endpoints/projects.d.ts.map +1 -1
  129. package/dist/endpoints/projects.js +2 -1
  130. package/dist/endpoints/rate-limits.d.ts +4 -4
  131. package/dist/endpoints/realtime-admin.d.ts +6 -4
  132. package/dist/endpoints/realtime-admin.d.ts.map +1 -1
  133. package/dist/endpoints/realtime-admin.js +1 -0
  134. package/dist/endpoints/realtime.d.ts +3 -3
  135. package/dist/endpoints/referrals-admin.d.ts +7 -5
  136. package/dist/endpoints/referrals-admin.d.ts.map +1 -1
  137. package/dist/endpoints/referrals-admin.js +1 -0
  138. package/dist/endpoints/refresh.d.ts +1 -1
  139. package/dist/endpoints/regions.d.ts +5 -22
  140. package/dist/endpoints/regions.d.ts.map +1 -1
  141. package/dist/endpoints/regions.js +5 -27
  142. package/dist/endpoints/runners.d.ts +4 -4
  143. package/dist/endpoints/saml.d.ts +13 -11
  144. package/dist/endpoints/saml.d.ts.map +1 -1
  145. package/dist/endpoints/saml.js +1 -0
  146. package/dist/endpoints/search.d.ts +3 -3
  147. package/dist/endpoints/secrets.d.ts +9 -7
  148. package/dist/endpoints/secrets.d.ts.map +1 -1
  149. package/dist/endpoints/secrets.js +1 -0
  150. package/dist/endpoints/security.d.ts +28 -28
  151. package/dist/endpoints/service-tokens.d.ts +20 -12
  152. package/dist/endpoints/service-tokens.d.ts.map +1 -1
  153. package/dist/endpoints/service-tokens.js +4 -0
  154. package/dist/endpoints/session-replay.d.ts +4 -4
  155. package/dist/endpoints/storage-admin.d.ts +14 -10
  156. package/dist/endpoints/storage-admin.d.ts.map +1 -1
  157. package/dist/endpoints/storage-admin.js +3 -1
  158. package/dist/endpoints/storage.d.ts +189 -131
  159. package/dist/endpoints/storage.d.ts.map +1 -1
  160. package/dist/endpoints/storage.js +96 -59
  161. package/dist/endpoints/tasks.d.ts +13 -9
  162. package/dist/endpoints/tasks.d.ts.map +1 -1
  163. package/dist/endpoints/tasks.js +2 -0
  164. package/dist/endpoints/users.d.ts +12 -12
  165. package/dist/endpoints/webhooks.d.ts +10 -10
  166. package/dist/hono-app.d.ts +55 -26
  167. package/dist/hono-app.d.ts.map +1 -1
  168. package/dist/index.d.ts +1720 -1209
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js +6 -5
  171. package/dist/schemas/admin-audit.d.ts +50 -0
  172. package/dist/schemas/admin-audit.d.ts.map +1 -1
  173. package/dist/schemas/admin-audit.js +43 -0
  174. package/dist/schemas/admin-billing.d.ts +19 -5
  175. package/dist/schemas/admin-billing.d.ts.map +1 -1
  176. package/dist/schemas/admin-billing.js +16 -5
  177. package/dist/schemas/admin-branch-databases.d.ts +34 -0
  178. package/dist/schemas/admin-branch-databases.d.ts.map +1 -0
  179. package/dist/schemas/admin-branch-databases.js +33 -0
  180. package/dist/schemas/admin-broadcasts.d.ts +6 -6
  181. package/dist/schemas/admin-broadcasts.d.ts.map +1 -1
  182. package/dist/schemas/admin-broadcasts.js +1 -1
  183. package/dist/schemas/admin-consent.d.ts +90 -6
  184. package/dist/schemas/admin-consent.d.ts.map +1 -1
  185. package/dist/schemas/admin-consent.js +50 -3
  186. package/dist/schemas/analytics-admin.d.ts +99 -9
  187. package/dist/schemas/analytics-admin.d.ts.map +1 -1
  188. package/dist/schemas/analytics-admin.js +70 -0
  189. package/dist/schemas/auth.d.ts +54 -0
  190. package/dist/schemas/auth.d.ts.map +1 -1
  191. package/dist/schemas/auth.js +22 -0
  192. package/dist/schemas/database.d.ts +1 -0
  193. package/dist/schemas/database.d.ts.map +1 -1
  194. package/dist/schemas/database.js +1 -0
  195. package/dist/schemas/deployment.d.ts +53 -0
  196. package/dist/schemas/deployment.d.ts.map +1 -1
  197. package/dist/schemas/deployment.js +53 -1
  198. package/dist/schemas/experiments.d.ts +13 -33
  199. package/dist/schemas/experiments.d.ts.map +1 -1
  200. package/dist/schemas/experiments.js +5 -4
  201. package/dist/schemas/flags-admin.d.ts +115 -19
  202. package/dist/schemas/flags-admin.d.ts.map +1 -1
  203. package/dist/schemas/flags-admin.js +28 -8
  204. package/dist/schemas/ids.d.ts +2 -0
  205. package/dist/schemas/ids.d.ts.map +1 -1
  206. package/dist/schemas/ids.js +1 -0
  207. package/dist/schemas/project-manifest.d.ts +16 -70
  208. package/dist/schemas/project-manifest.d.ts.map +1 -1
  209. package/dist/schemas/project-manifest.js +0 -21
  210. package/dist/schemas/project.d.ts +3 -3
  211. package/dist/schemas/project.d.ts.map +1 -1
  212. package/dist/schemas/project.js +2 -2
  213. package/dist/schemas/region.d.ts +4 -52
  214. package/dist/schemas/region.d.ts.map +1 -1
  215. package/dist/schemas/region.js +4 -46
  216. package/dist/schemas/resources.d.ts +55 -4
  217. package/dist/schemas/resources.d.ts.map +1 -1
  218. package/dist/schemas/resources.js +52 -1
  219. package/dist/schemas/storage.d.ts +259 -198
  220. package/dist/schemas/storage.d.ts.map +1 -1
  221. package/dist/schemas/storage.js +159 -140
  222. package/package.json +1 -1
  223. package/dist/endpoints/edge-deployments.d.ts +0 -92
  224. package/dist/endpoints/edge-deployments.d.ts.map +0 -1
  225. package/dist/endpoints/edge-deployments.js +0 -58
  226. package/dist/schemas/edge-deployments.d.ts +0 -140
  227. package/dist/schemas/edge-deployments.d.ts.map +0 -1
  228. package/dist/schemas/edge-deployments.js +0 -87
@@ -20,11 +20,11 @@ export declare const storageAdminEndpoints: {
20
20
  cursor: import("effect/Schema").optional<typeof import("effect/Schema").String>;
21
21
  path: import("effect/Schema").optional<typeof import("effect/Schema").String>;
22
22
  search: import("effect/Schema").optional<typeof import("effect/Schema").String>;
23
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
23
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown, undefined>;
24
24
  readonly getBucket: import("../endpoint.js").Endpoint<"GET", "/storage/projects/:projectId/buckets/:bucketId", import("effect/Schema").Struct<{
25
25
  projectId: typeof import("effect/Schema").String;
26
26
  bucketId: typeof import("effect/Schema").String;
27
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
27
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown, undefined>;
28
28
  readonly createBucket: import("../endpoint.js").Endpoint<"POST", "/storage/buckets", import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
29
29
  projectId: typeof import("effect/Schema").String;
30
30
  environmentId: import("effect/Schema").optional<typeof import("effect/Schema").String>;
@@ -39,7 +39,9 @@ export declare const storageAdminEndpoints: {
39
39
  allowedOrigins: import("effect/Schema").optional<import("effect/Schema").Array$<typeof import("effect/Schema").String>>;
40
40
  maxFileSize: import("effect/Schema").optional<typeof import("effect/Schema").Number>;
41
41
  allowedMimeTypes: import("effect/Schema").optional<import("effect/Schema").Array$<typeof import("effect/Schema").String>>;
42
- }>, typeof import("effect/Schema").Unknown>;
42
+ }>, typeof import("effect/Schema").Unknown, {
43
+ status: 201;
44
+ }>;
43
45
  readonly updateBucket: import("../endpoint.js").Endpoint<"PATCH", "/storage/projects/:projectId/buckets/:bucketId", import("effect/Schema").Struct<{
44
46
  projectId: typeof import("effect/Schema").String;
45
47
  bucketId: typeof import("effect/Schema").String;
@@ -55,15 +57,17 @@ export declare const storageAdminEndpoints: {
55
57
  allowedOrigins: import("effect/Schema").optional<import("effect/Schema").Array$<typeof import("effect/Schema").String>>;
56
58
  maxFileSize: import("effect/Schema").optional<typeof import("effect/Schema").Number>;
57
59
  allowedMimeTypes: import("effect/Schema").optional<import("effect/Schema").Array$<typeof import("effect/Schema").String>>;
58
- }>, typeof import("effect/Schema").Unknown>;
60
+ }>, typeof import("effect/Schema").Unknown, undefined>;
59
61
  readonly deleteBucket: import("../endpoint.js").Endpoint<"DELETE", "/storage/projects/:projectId/buckets/:bucketId", import("effect/Schema").Struct<{
60
62
  projectId: typeof import("effect/Schema").String;
61
63
  bucketId: typeof import("effect/Schema").String;
62
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
64
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
65
+ force: import("effect/Schema").optional<typeof import("effect/Schema").Boolean>;
66
+ }>, typeof import("effect/Schema").Unknown, undefined>;
63
67
  readonly bulkDeleteBuckets: import("../endpoint.js").Endpoint<"POST", "/storage/buckets/bulk-delete", import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
64
68
  projectId: typeof import("effect/Schema").String;
65
69
  bucketIds: import("effect/Schema").Array$<typeof import("effect/Schema").String>;
66
- }>, typeof import("effect/Schema").Unknown>;
70
+ }>, typeof import("effect/Schema").Unknown, undefined>;
67
71
  readonly listBucketFiles: import("../endpoint.js").Endpoint<"GET", "/storage/projects/:projectId/buckets/:bucketId/files", import("effect/Schema").Struct<{
68
72
  projectId: typeof import("effect/Schema").String;
69
73
  bucketId: typeof import("effect/Schema").String;
@@ -74,7 +78,7 @@ export declare const storageAdminEndpoints: {
74
78
  cursor: import("effect/Schema").optional<typeof import("effect/Schema").String>;
75
79
  path: import("effect/Schema").optional<typeof import("effect/Schema").String>;
76
80
  search: import("effect/Schema").optional<typeof import("effect/Schema").String>;
77
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
81
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown, undefined>;
78
82
  readonly listProjectFiles: import("../endpoint.js").Endpoint<"GET", "/storage/projects/:id/files", import("effect/Schema").Struct<{
79
83
  id: typeof import("effect/Schema").String;
80
84
  }>, import("effect/Schema").Struct<{
@@ -84,13 +88,13 @@ export declare const storageAdminEndpoints: {
84
88
  cursor: import("effect/Schema").optional<typeof import("effect/Schema").String>;
85
89
  path: import("effect/Schema").optional<typeof import("effect/Schema").String>;
86
90
  search: import("effect/Schema").optional<typeof import("effect/Schema").String>;
87
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
91
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown, undefined>;
88
92
  readonly deleteFile: import("../endpoint.js").Endpoint<"DELETE", "/storage/projects/:projectId/files/:fileId", import("effect/Schema").Struct<{
89
93
  projectId: typeof import("effect/Schema").String;
90
94
  fileId: typeof import("effect/Schema").String;
91
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
95
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown, undefined>;
92
96
  readonly getServiceData: import("../endpoint.js").Endpoint<"GET", "/storage/projects/:id/service-data", import("effect/Schema").Struct<{
93
97
  id: typeof import("effect/Schema").String;
94
- }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown>;
98
+ }>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, typeof import("effect/Schema").Unknown, undefined>;
95
99
  };
96
100
  //# sourceMappingURL=storage-admin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-admin.d.ts","sourceRoot":"","sources":["../../src/endpoints/storage-admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGxB,CAAA"}
1
+ {"version":3,"file":"storage-admin.d.ts","sourceRoot":"","sources":["../../src/endpoints/storage-admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGxB,CAAA"}
@@ -11,7 +11,7 @@
11
11
  * See `routes/storage/index.ts` for the deprecation notice.
12
12
  */
13
13
  import { defineEndpoint } from '../endpoint.js';
14
- import { BulkDeleteBucketsInput, CreateBucketInput, StorageAdminResult, StorageProjectBucketParams, StorageProjectFileParams, StorageProjectIdParams, StorageQuery, UpdateBucketInput, } from '../schemas/storage-admin.js';
14
+ import { BulkDeleteBucketsInput, CreateBucketInput, DeleteBucketInput, StorageAdminResult, StorageProjectBucketParams, StorageProjectFileParams, StorageProjectIdParams, StorageQuery, UpdateBucketInput, } from '../schemas/storage-admin.js';
15
15
  export const storageAdminEndpoints = {
16
16
  // ── buckets.ts ───────────────────────────────────────────────────────
17
17
  listBuckets: defineEndpoint({
@@ -36,6 +36,7 @@ export const storageAdminEndpoints = {
36
36
  createBucket: defineEndpoint({
37
37
  method: 'POST',
38
38
  path: '/storage/buckets',
39
+ success: { status: 201 },
39
40
  body: CreateBucketInput,
40
41
  response: StorageAdminResult,
41
42
  plane: 'management',
@@ -56,6 +57,7 @@ export const storageAdminEndpoints = {
56
57
  method: 'DELETE',
57
58
  path: '/storage/projects/:projectId/buckets/:bucketId',
58
59
  params: StorageProjectBucketParams,
60
+ body: DeleteBucketInput,
59
61
  response: StorageAdminResult,
60
62
  plane: 'management',
61
63
  summary: 'Delete a storage bucket',
@@ -1,165 +1,223 @@
1
1
  /**
2
- * Storage endpoints — BaaS plane. Paths mirror `@sylphx/sdk/storage.ts`.
2
+ * Storage endpoints — BaaS plane. Per ADR-100.
3
+ *
4
+ * One resource (`uploads`) for upload sessions, one resource (`files`) for
5
+ * everything else. Verb suffix `:action` on `files` follows Google AIP-136.
6
+ *
7
+ * No legacy aliases. No polymorphic POSTs. Mirrors `@sylphx/sdk/storage.ts`.
3
8
  */
4
9
  import { Schema } from 'effect';
5
10
  export declare const storageEndpoints: {
6
- /**
7
- * Mint an upload token for client-direct uploads. Returns either a
8
- * simple `{ uploadUrl, publicUrl }` pair or a Vercel-Blob-style
9
- * `{ uploadEndpoint, clientPayload, instructions }` envelope.
10
- * This is the SDK's primary upload path (`uploadFile` / `uploadAvatar`).
11
- */
12
- readonly upload: import("../endpoint.js").Endpoint<"POST", "/storage/upload", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
13
- filename: typeof Schema.String;
14
- contentType: Schema.optional<typeof Schema.String>;
15
- size: Schema.optional<typeof Schema.Number>;
16
- path: Schema.optional<typeof Schema.String>;
17
- type: Schema.optional<Schema.Literal<["file", "avatar"]>>;
18
- userId: Schema.optional<typeof Schema.String>;
11
+ readonly createUpload: import("../endpoint.js").Endpoint<"POST", "/storage/uploads", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
12
+ filename: Schema.filter<typeof Schema.String>;
13
+ contentType: Schema.filter<typeof Schema.String>;
14
+ size: Schema.filter<typeof Schema.Number>;
15
+ folder: Schema.optional<typeof Schema.String>;
16
+ visibility: Schema.optional<Schema.Literal<["public", "private"]>>;
19
17
  metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
18
+ checksumSha256: Schema.optional<typeof Schema.String>;
19
+ ifNoneMatch: Schema.optional<Schema.Literal<["*"]>>;
20
+ }>, Schema.Union<[Schema.Struct<{
21
+ method: Schema.Literal<["PUT"]>;
22
+ uploadId: Schema.brand<typeof Schema.String, "UploadId">;
23
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
24
+ url: typeof Schema.String;
25
+ headers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
26
+ expiresAt: typeof Schema.DateFromString;
27
+ }>, Schema.Struct<{
28
+ method: Schema.Literal<["MULTIPART"]>;
29
+ uploadId: Schema.brand<typeof Schema.String, "UploadId">;
30
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
31
+ partSize: typeof Schema.Number;
32
+ partCount: typeof Schema.Number;
33
+ parts: Schema.Array$<Schema.Struct<{
34
+ partNumber: Schema.filter<typeof Schema.Number>;
35
+ url: typeof Schema.String;
36
+ expiresAt: typeof Schema.DateFromString;
37
+ }>>;
38
+ expiresAt: typeof Schema.DateFromString;
39
+ }>]>, undefined>;
40
+ readonly abortUpload: import("../endpoint.js").Endpoint<"DELETE", "/storage/uploads/:uploadId", Schema.Struct<{
41
+ uploadId: typeof Schema.String;
42
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{}>, undefined>;
43
+ readonly presignUploadPart: import("../endpoint.js").Endpoint<"POST", "/storage/uploads/:uploadId/parts/:partNumber", Schema.Struct<{
44
+ uploadId: typeof Schema.String;
45
+ partNumber: typeof Schema.NumberFromString;
46
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
47
+ url: typeof Schema.String;
48
+ expiresAt: typeof Schema.DateFromString;
49
+ }>, undefined>;
50
+ readonly completeUpload: import("../endpoint.js").Endpoint<"POST", "/storage/uploads/:uploadId:complete", Schema.Struct<{
51
+ uploadId: typeof Schema.String;
52
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
53
+ parts: Schema.Array$<Schema.Struct<{
54
+ partNumber: Schema.filter<typeof Schema.Number>;
55
+ etag: Schema.filter<typeof Schema.String>;
56
+ }>>;
20
57
  }>, Schema.Struct<{
21
- uploadUrl: Schema.optional<typeof Schema.String>;
22
- publicUrl: Schema.optional<typeof Schema.String>;
23
- fileId: Schema.optional<typeof Schema.String>;
24
- expiresAt: Schema.optional<typeof Schema.String>;
25
- presignedUrl: Schema.optional<typeof Schema.String>;
26
- storageKey: Schema.optional<typeof Schema.String>;
27
- tokenPayload: Schema.optional<typeof Schema.String>;
28
- url: Schema.optional<typeof Schema.String>;
29
- uploadEndpoint: Schema.optional<typeof Schema.String>;
30
- clientPayload: Schema.optional<typeof Schema.String>;
31
- maxSize: Schema.optional<typeof Schema.Number>;
32
- maxMultipartSize: Schema.optional<typeof Schema.Number>;
33
- multipartThreshold: Schema.optional<typeof Schema.Number>;
34
- allowedContentTypes: Schema.optional<Schema.Array$<typeof Schema.String>>;
35
- instructions: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
36
- }>>;
37
- readonly presignedUrl: import("../endpoint.js").Endpoint<"POST", "/storage/upload-url", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
58
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
59
+ url: Schema.NullOr<typeof Schema.String>;
60
+ size: typeof Schema.Number;
61
+ etag: typeof Schema.String;
62
+ checksumSha256: typeof Schema.String;
63
+ }>, undefined>;
64
+ readonly listFiles: import("../endpoint.js").Endpoint<"GET", "/storage/files", Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
65
+ folder: Schema.optional<typeof Schema.String>;
66
+ cursor: Schema.optional<typeof Schema.String>;
67
+ limit: Schema.optional<typeof Schema.Number>;
68
+ includeDeleted: Schema.optional<typeof Schema.Boolean>;
69
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
70
+ files: Schema.Array$<Schema.Struct<{
71
+ id: Schema.brand<typeof Schema.String, "FileId">;
72
+ filename: typeof Schema.String;
73
+ contentType: typeof Schema.String;
74
+ size: typeof Schema.Number;
75
+ checksumSha256: typeof Schema.String;
76
+ etag: typeof Schema.String;
77
+ visibility: Schema.Literal<["public", "private"]>;
78
+ folder: Schema.NullOr<typeof Schema.String>;
79
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
80
+ url: Schema.NullOr<typeof Schema.String>;
81
+ isDeleted: typeof Schema.Boolean;
82
+ createdAt: typeof Schema.DateFromString;
83
+ updatedAt: typeof Schema.DateFromString;
84
+ }>>;
85
+ nextCursor: Schema.NullOr<typeof Schema.String>;
86
+ }>, undefined>;
87
+ readonly getFile: import("../endpoint.js").Endpoint<"GET", "/storage/files/:fileId", Schema.Struct<{
88
+ fileId: typeof Schema.String;
89
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
90
+ id: Schema.brand<typeof Schema.String, "FileId">;
38
91
  filename: typeof Schema.String;
39
92
  contentType: typeof Schema.String;
40
- size: Schema.optional<typeof Schema.Number>;
41
- }>, Schema.Struct<{
42
- uploadUrl: typeof Schema.String;
93
+ size: typeof Schema.Number;
94
+ checksumSha256: typeof Schema.String;
95
+ etag: typeof Schema.String;
96
+ visibility: Schema.Literal<["public", "private"]>;
97
+ folder: Schema.NullOr<typeof Schema.String>;
98
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
99
+ url: Schema.NullOr<typeof Schema.String>;
100
+ isDeleted: typeof Schema.Boolean;
101
+ createdAt: typeof Schema.DateFromString;
102
+ updatedAt: typeof Schema.DateFromString;
103
+ }>, undefined>;
104
+ readonly deleteFile: import("../endpoint.js").Endpoint<"DELETE", "/storage/files/:fileId", Schema.Struct<{
43
105
  fileId: typeof Schema.String;
44
- expiresAt: typeof Schema.String;
45
- }>>;
46
- /**
47
- * Generate a time-limited signed URL for accessing a private file.
48
- * Signed URLs avoid exposing permanent credentials and can be scoped
49
- * to a specific user via the `userId` field.
50
- */
51
- readonly signedUrl: import("../endpoint.js").Endpoint<"POST", "/storage/signed-url", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
106
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
107
+ id: Schema.brand<typeof Schema.String, "FileId">;
108
+ isDeleted: Schema.Literal<[true]>;
109
+ }>, undefined>;
110
+ readonly restoreFile: import("../endpoint.js").Endpoint<"POST", "/storage/files/:fileId:restore", Schema.Struct<{
52
111
  fileId: typeof Schema.String;
53
- expiresIn: Schema.optional<typeof Schema.Number>;
112
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
113
+ id: Schema.brand<typeof Schema.String, "FileId">;
114
+ filename: typeof Schema.String;
115
+ contentType: typeof Schema.String;
116
+ size: typeof Schema.Number;
117
+ checksumSha256: typeof Schema.String;
118
+ etag: typeof Schema.String;
119
+ visibility: Schema.Literal<["public", "private"]>;
120
+ folder: Schema.NullOr<typeof Schema.String>;
121
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
122
+ url: Schema.NullOr<typeof Schema.String>;
123
+ isDeleted: typeof Schema.Boolean;
124
+ createdAt: typeof Schema.DateFromString;
125
+ updatedAt: typeof Schema.DateFromString;
126
+ }>, undefined>;
127
+ readonly signFileUrl: import("../endpoint.js").Endpoint<"POST", "/storage/files/:fileId:signedUrl", Schema.Struct<{
128
+ fileId: typeof Schema.String;
129
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
130
+ expiresIn: Schema.optional<Schema.filter<typeof Schema.Number>>;
54
131
  disposition: Schema.optional<Schema.Literal<["attachment", "inline"]>>;
55
132
  userId: Schema.optional<typeof Schema.String>;
56
133
  }>, Schema.Struct<{
57
134
  url: typeof Schema.String;
58
- expiresAt: typeof Schema.String;
135
+ expiresAt: typeof Schema.DateFromString;
59
136
  file: Schema.Struct<{
60
- id: typeof Schema.String;
137
+ id: Schema.brand<typeof Schema.String, "FileId">;
61
138
  filename: typeof Schema.String;
62
- mimeType: typeof Schema.String;
63
- sizeBytes: typeof Schema.Number;
64
- isPrivate: typeof Schema.Boolean;
139
+ contentType: typeof Schema.String;
140
+ size: typeof Schema.Number;
141
+ checksumSha256: typeof Schema.String;
142
+ etag: typeof Schema.String;
143
+ visibility: Schema.Literal<["public", "private"]>;
144
+ folder: Schema.NullOr<typeof Schema.String>;
145
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
146
+ url: Schema.NullOr<typeof Schema.String>;
147
+ isDeleted: typeof Schema.Boolean;
148
+ createdAt: typeof Schema.DateFromString;
149
+ updatedAt: typeof Schema.DateFromString;
65
150
  }>;
66
- }>>;
67
- readonly list: import("../endpoint.js").Endpoint<"GET", "/storage/files", Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
68
- prefix: Schema.optional<typeof Schema.String>;
69
- limit: Schema.optional<typeof Schema.String>;
70
- cursor: Schema.optional<typeof Schema.String>;
151
+ }>, undefined>;
152
+ readonly copyFile: import("../endpoint.js").Endpoint<"POST", "/storage/files/:fileId:copy", Schema.Struct<{
153
+ fileId: typeof Schema.String;
71
154
  }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
72
- files: Schema.Array$<Schema.Struct<{
73
- id: typeof Schema.String;
74
- size: typeof Schema.Number;
75
- name: Schema.optional<typeof Schema.String>;
76
- filename: Schema.optional<typeof Schema.String>;
77
- path: Schema.optional<typeof Schema.String>;
78
- key: Schema.optional<typeof Schema.String>;
79
- url: Schema.optional<Schema.NullOr<typeof Schema.String>>;
80
- contentType: Schema.optional<typeof Schema.String>;
81
- mimeType: Schema.optional<typeof Schema.String>;
82
- isPrivate: Schema.optional<typeof Schema.Boolean>;
83
- metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
84
- createdAt: Schema.optional<typeof Schema.String>;
85
- uploadedAt: Schema.optional<typeof Schema.String>;
86
- }>>;
87
- nextCursor: Schema.NullOr<typeof Schema.String>;
88
- hasMore: Schema.optional<typeof Schema.Boolean>;
89
- }>>;
90
- readonly get: import("../endpoint.js").Endpoint<"GET", "/storage/files/:id", Schema.Struct<{
91
- id: typeof Schema.String;
92
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
93
- id: typeof Schema.String;
94
- size: typeof Schema.Number;
95
- name: Schema.optional<typeof Schema.String>;
155
+ folder: Schema.optional<typeof Schema.String>;
96
156
  filename: Schema.optional<typeof Schema.String>;
97
- path: Schema.optional<typeof Schema.String>;
98
- key: Schema.optional<typeof Schema.String>;
99
- url: Schema.optional<Schema.NullOr<typeof Schema.String>>;
100
- contentType: Schema.optional<typeof Schema.String>;
101
- mimeType: Schema.optional<typeof Schema.String>;
102
- isPrivate: Schema.optional<typeof Schema.Boolean>;
103
- metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
104
- createdAt: Schema.optional<typeof Schema.String>;
105
- uploadedAt: Schema.optional<typeof Schema.String>;
106
- }>>;
107
- readonly delete: import("../endpoint.js").Endpoint<"DELETE", "/storage/files/:id", Schema.Struct<{
108
- id: typeof Schema.String;
109
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
110
- success: typeof Schema.Boolean;
111
- }>>;
112
- readonly listVersions: import("../endpoint.js").Endpoint<"GET", "/storage/files/:id/versions", Schema.Struct<{
113
- id: typeof Schema.String;
157
+ visibility: Schema.optional<Schema.Literal<["public", "private"]>>;
158
+ metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
159
+ }>, Schema.Struct<{
160
+ id: Schema.brand<typeof Schema.String, "FileId">;
161
+ filename: typeof Schema.String;
162
+ contentType: typeof Schema.String;
163
+ size: typeof Schema.Number;
164
+ checksumSha256: typeof Schema.String;
165
+ etag: typeof Schema.String;
166
+ visibility: Schema.Literal<["public", "private"]>;
167
+ folder: Schema.NullOr<typeof Schema.String>;
168
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
169
+ url: Schema.NullOr<typeof Schema.String>;
170
+ isDeleted: typeof Schema.Boolean;
171
+ createdAt: typeof Schema.DateFromString;
172
+ updatedAt: typeof Schema.DateFromString;
173
+ }>, undefined>;
174
+ readonly listFileVersions: import("../endpoint.js").Endpoint<"GET", "/storage/files/:fileId/versions", Schema.Struct<{
175
+ fileId: typeof Schema.String;
114
176
  }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
115
177
  versions: Schema.Array$<Schema.Struct<{
116
- id: typeof Schema.String;
117
- fileId: typeof Schema.String;
178
+ id: Schema.brand<typeof Schema.String, "FileVersionId">;
179
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
118
180
  versionNumber: typeof Schema.Number;
119
- sizeBytes: typeof Schema.Number;
120
- contentType: Schema.NullOr<typeof Schema.String>;
121
- checksumSha256: Schema.NullOr<typeof Schema.String>;
122
- createdAt: typeof Schema.String;
181
+ size: typeof Schema.Number;
182
+ contentType: typeof Schema.String;
183
+ checksumSha256: typeof Schema.String;
184
+ etag: typeof Schema.String;
185
+ createdAt: typeof Schema.DateFromString;
123
186
  createdBy: Schema.NullOr<typeof Schema.String>;
124
187
  isCurrent: typeof Schema.Boolean;
125
188
  }>>;
126
- }>>;
127
- readonly restoreVersion: import("../endpoint.js").Endpoint<"POST", "/storage/files/:id/versions/:versionId/restore", Schema.Struct<{
128
- id: typeof Schema.String;
189
+ }>, undefined>;
190
+ readonly restoreFileVersion: import("../endpoint.js").Endpoint<"POST", "/storage/files/:fileId/versions/:versionId:restore", Schema.Struct<{
191
+ fileId: typeof Schema.String;
129
192
  versionId: typeof Schema.String;
130
193
  }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
131
- success: Schema.Literal<[true]>;
194
+ file: Schema.Struct<{
195
+ id: Schema.brand<typeof Schema.String, "FileId">;
196
+ filename: typeof Schema.String;
197
+ contentType: typeof Schema.String;
198
+ size: typeof Schema.Number;
199
+ checksumSha256: typeof Schema.String;
200
+ etag: typeof Schema.String;
201
+ visibility: Schema.Literal<["public", "private"]>;
202
+ folder: Schema.NullOr<typeof Schema.String>;
203
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
204
+ url: Schema.NullOr<typeof Schema.String>;
205
+ isDeleted: typeof Schema.Boolean;
206
+ createdAt: typeof Schema.DateFromString;
207
+ updatedAt: typeof Schema.DateFromString;
208
+ }>;
132
209
  version: Schema.Struct<{
133
- id: typeof Schema.String;
134
- fileId: typeof Schema.String;
210
+ id: Schema.brand<typeof Schema.String, "FileVersionId">;
211
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
135
212
  versionNumber: typeof Schema.Number;
136
- sizeBytes: typeof Schema.Number;
137
- contentType: Schema.NullOr<typeof Schema.String>;
138
- checksumSha256: Schema.NullOr<typeof Schema.String>;
139
- createdAt: typeof Schema.String;
213
+ size: typeof Schema.Number;
214
+ contentType: typeof Schema.String;
215
+ checksumSha256: typeof Schema.String;
216
+ etag: typeof Schema.String;
217
+ createdAt: typeof Schema.DateFromString;
140
218
  createdBy: Schema.NullOr<typeof Schema.String>;
141
219
  isCurrent: typeof Schema.Boolean;
142
220
  }>;
143
- }>>;
144
- readonly restoreFile: import("../endpoint.js").Endpoint<"POST", "/storage/files/:id/restore", Schema.Struct<{
145
- id: typeof Schema.String;
146
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
147
- success: Schema.Literal<[true]>;
148
- file: Schema.Struct<{
149
- id: typeof Schema.String;
150
- size: typeof Schema.Number;
151
- name: Schema.optional<typeof Schema.String>;
152
- filename: Schema.optional<typeof Schema.String>;
153
- path: Schema.optional<typeof Schema.String>;
154
- key: Schema.optional<typeof Schema.String>;
155
- url: Schema.optional<Schema.NullOr<typeof Schema.String>>;
156
- contentType: Schema.optional<typeof Schema.String>;
157
- mimeType: Schema.optional<typeof Schema.String>;
158
- isPrivate: Schema.optional<typeof Schema.Boolean>;
159
- metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
160
- createdAt: Schema.optional<typeof Schema.String>;
161
- uploadedAt: Schema.optional<typeof Schema.String>;
162
- }>;
163
- }>>;
221
+ }>, undefined>;
164
222
  };
165
223
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/endpoints/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAwB/B,eAAO,MAAM,gBAAgB;IAC5B;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEM,CAAA"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/endpoints/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAgC/B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwInB,CAAA"}