@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
@@ -19,7 +19,7 @@ export const VolumeStatus = Schema.Literal('provisioning', 'active', 'error');
19
19
  * caches / parallel workers)
20
20
  */
21
21
  export const VolumeAccessMode = Schema.Literal('ReadWriteOnce', 'ReadWriteMany');
22
- export const BindingRole = Schema.Literal('primary', 'replica', 'analytics', 'backup');
22
+ export const BindingRole = Schema.Literal('primary', 'replica', 'analytics', 'backup', 'session');
23
23
  // ── Tier Badge (display) ───────────────────────────────────────────────────
24
24
  export const TierBadge = Schema.Struct({
25
25
  tier: ResourceTier,
@@ -218,3 +218,54 @@ export const CreateSearchResourceInput = Schema.Struct({
218
218
  export const ListSearchResourcesResult = Schema.Struct({
219
219
  resources: Schema.Array(SearchResource),
220
220
  });
221
+ // ── Unified Managed Resource Wire Shape ───────────────────────────────────
222
+ export const ManagedResource = Schema.Struct({
223
+ id: Schema.String,
224
+ orgId: Schema.optional(Schema.String),
225
+ name: Schema.String,
226
+ slug: Schema.optional(Schema.NullOr(Schema.String)),
227
+ kind: Schema.optional(ResourceType),
228
+ provider: Schema.optional(Schema.String),
229
+ tier: Schema.optional(Schema.String),
230
+ status: Schema.optional(Schema.String),
231
+ reconcileStatus: Schema.optional(Schema.String),
232
+ bindingCount: Schema.optional(Schema.Number),
233
+ host: Schema.optional(Schema.NullOr(Schema.String)),
234
+ directHost: Schema.optional(Schema.NullOr(Schema.String)),
235
+ port: Schema.optional(Schema.Number),
236
+ publicPort: Schema.optional(Schema.NullOr(Schema.Number)),
237
+ publicHost: Schema.optional(Schema.NullOr(Schema.String)),
238
+ dbUser: Schema.optional(Schema.NullOr(Schema.String)),
239
+ dbName: Schema.optional(Schema.NullOr(Schema.String)),
240
+ cacheUser: Schema.optional(Schema.NullOr(Schema.String)),
241
+ keyPrefix: Schema.optional(Schema.NullOr(Schema.String)),
242
+ connectionString: Schema.optional(Schema.NullOr(Schema.String)),
243
+ maskedConnectionString: Schema.optional(Schema.NullOr(Schema.String)),
244
+ publicConnectionString: Schema.optional(Schema.NullOr(Schema.String)),
245
+ maskedPublicConnectionString: Schema.optional(Schema.NullOr(Schema.String)),
246
+ storageGb: Schema.optional(Schema.Number),
247
+ env: Schema.optional(Schema.String),
248
+ engine: Schema.optional(Schema.String),
249
+ instances: Schema.optional(Schema.Number),
250
+ clusterName: Schema.optional(Schema.NullOr(Schema.String)),
251
+ branchName: Schema.optional(Schema.NullOr(Schema.String)),
252
+ backupRetentionDays: Schema.optional(Schema.Number),
253
+ bucket: Schema.optional(Schema.String),
254
+ endpoint: Schema.optional(Schema.NullOr(Schema.String)),
255
+ region: Schema.optional(Schema.NullOr(Schema.String)),
256
+ prefix: Schema.optional(Schema.NullOr(Schema.String)),
257
+ publicUrl: Schema.optional(Schema.NullOr(Schema.String)),
258
+ accessMode: Schema.optional(VolumeAccessMode),
259
+ hostPath: Schema.optional(Schema.NullOr(Schema.String)),
260
+ mountPath: Schema.optional(Schema.NullOr(Schema.String)),
261
+ sizeGb: Schema.optional(Schema.NullOr(Schema.Number)),
262
+ memoryGb: Schema.optional(Schema.Number),
263
+ nodes: Schema.optional(Schema.Number),
264
+ apiKey: Schema.optional(Schema.NullOr(Schema.String)),
265
+ message: Schema.optional(Schema.String),
266
+ provisioningError: Schema.optional(Schema.NullOr(Schema.String)),
267
+ conditions: Schema.optional(Schema.Array(Schema.Unknown)),
268
+ config: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
269
+ createdAt: Schema.optional(Schema.String),
270
+ updatedAt: Schema.optional(Schema.String),
271
+ });
@@ -1,256 +1,317 @@
1
1
  /**
2
- * Storage — BaaS plane file upload / download. Uses presigned URLs per AWS
3
- * S3 convention. Mirrors `@sylphx/sdk/storage.ts`.
2
+ * Storage — BaaS plane object storage. Per ADR-100.
4
3
  *
5
- * Shape policy (ADR-084 Wave 2d): schemas here are the UNION superset of
6
- * all production SDK / OpenAPI-generated wire shapes. Any field that is not
7
- * universally present on the wire is `optional`, so contract consumers
8
- * never have to narrow to parse a legitimate server response. When the
9
- * server response narrows in future, tighten the optional in a dedicated
10
- * wave never break existing callers by removing a field.
4
+ * Wire is one resource (`uploads`) plus the existing `files` resource. No
5
+ * polymorphic POSTs, no vendor-namespaced wire envelopes, no historical
6
+ * field aliases. Every endpoint has exactly one request and one response
7
+ * schema.
8
+ *
9
+ * Storage backends (B2, R2) are abstracted by `apps/storage-gateway`. The
10
+ * BaaS handler returns presigned URLs against `storage.sylphx.com`; the
11
+ * client uploads bytes there directly. Mid-flow tenant subdomain hops are
12
+ * forbidden (ADR-083.1).
11
13
  */
12
14
  import { Schema } from 'effect';
13
15
  export declare const FileId: Schema.brand<typeof Schema.String, "FileId">;
14
16
  export type FileId = typeof FileId.Type;
17
+ export declare const UploadId: Schema.brand<typeof Schema.String, "UploadId">;
18
+ export type UploadId = typeof UploadId.Type;
19
+ export declare const FileVersionId: Schema.brand<typeof Schema.String, "FileVersionId">;
20
+ export type FileVersionId = typeof FileVersionId.Type;
21
+ export declare const FileVisibility: Schema.Literal<["public", "private"]>;
22
+ export type FileVisibility = typeof FileVisibility.Type;
23
+ export declare const SignedUrlDisposition: Schema.Literal<["attachment", "inline"]>;
24
+ export type SignedUrlDisposition = typeof SignedUrlDisposition.Type;
25
+ /** Method discriminator on the upload-create response. */
26
+ export declare const UploadMethod: Schema.Literal<["PUT", "MULTIPART"]>;
27
+ export type UploadMethod = typeof UploadMethod.Type;
15
28
  /**
16
- * File metadata supersetreconciles three historical shapes:
17
- *
18
- * - SDK `FileInfo` interface: `{ id, url, name, size, contentType,
19
- * isPrivate, createdAt }`
20
- * - Generated OpenAPI `FileInfo` / `GetFileResponse`: `{ id, filename,
21
- * path, url, mimeType, size, metadata, createdAt }`
22
- * - Previous contract shape: `{ id, key, size, contentType, url?,
23
- * uploadedAt }`
24
- *
25
- * Every historical field is preserved as optional so older and newer
26
- * clients can both parse server responses. `id` and `size` are the only
27
- * guaranteed-present fields across all three shapes.
29
+ * Canonical file metadata. Single shape no aliases, no nullable hacks
30
+ * for legacy callers. ADR-100 §2.6.
28
31
  */
29
- export declare const FileInfo: Schema.Struct<{
30
- id: typeof Schema.String;
32
+ export declare const File: Schema.Struct<{
33
+ id: Schema.brand<typeof Schema.String, "FileId">;
34
+ filename: typeof Schema.String;
35
+ contentType: typeof Schema.String;
31
36
  size: typeof Schema.Number;
32
- /** SDK-native filename (preferred). Alias of `filename` on newer servers. */
33
- name: Schema.optional<typeof Schema.String>;
34
- /** OpenAPI-native filename. Alias of `name` on older servers. */
35
- filename: Schema.optional<typeof Schema.String>;
36
- /** Folder path or storage key. */
37
- path: Schema.optional<typeof Schema.String>;
38
- /** Legacy storage object key (contract v1). */
39
- key: Schema.optional<typeof Schema.String>;
40
- /** Public URL — null for private files, absent on some delete responses. */
41
- url: Schema.optional<Schema.NullOr<typeof Schema.String>>;
42
- /** SDK-native MIME type. */
43
- contentType: Schema.optional<typeof Schema.String>;
44
- /** OpenAPI-native MIME type (alias of `contentType`). */
45
- mimeType: Schema.optional<typeof Schema.String>;
46
- /** Private/public visibility flag. Absent => treat as public. */
47
- isPrivate: Schema.optional<typeof Schema.Boolean>;
48
- /** Arbitrary caller-attached metadata. */
49
- metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
50
- /** SDK-native creation timestamp (ISO string). */
51
- createdAt: Schema.optional<typeof Schema.String>;
52
- /** Legacy contract v1 upload timestamp (alias of createdAt). */
53
- uploadedAt: Schema.optional<typeof Schema.String>;
37
+ checksumSha256: typeof Schema.String;
38
+ etag: typeof Schema.String;
39
+ visibility: Schema.Literal<["public", "private"]>;
40
+ folder: Schema.NullOr<typeof Schema.String>;
41
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
42
+ /** Public URL when `visibility === 'public'`; `null` otherwise. Use `:signedUrl` for private files. */
43
+ url: Schema.NullOr<typeof Schema.String>;
44
+ isDeleted: typeof Schema.Boolean;
45
+ createdAt: typeof Schema.DateFromString;
46
+ updatedAt: typeof Schema.DateFromString;
47
+ }>;
48
+ export type File = typeof File.Type;
49
+ export declare const FileVersion: Schema.Struct<{
50
+ id: Schema.brand<typeof Schema.String, "FileVersionId">;
51
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
52
+ versionNumber: typeof Schema.Number;
53
+ size: typeof Schema.Number;
54
+ contentType: typeof Schema.String;
55
+ checksumSha256: typeof Schema.String;
56
+ etag: typeof Schema.String;
57
+ createdAt: typeof Schema.DateFromString;
58
+ createdBy: Schema.NullOr<typeof Schema.String>;
59
+ isCurrent: typeof Schema.Boolean;
60
+ }>;
61
+ export type FileVersion = typeof FileVersion.Type;
62
+ export declare const UploadCreateRequest: Schema.Struct<{
63
+ filename: Schema.filter<typeof Schema.String>;
64
+ contentType: Schema.filter<typeof Schema.String>;
65
+ size: Schema.filter<typeof Schema.Number>;
66
+ folder: Schema.optional<typeof Schema.String>;
67
+ visibility: Schema.optional<Schema.Literal<["public", "private"]>>;
68
+ metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
69
+ /** Pre-computed SHA-256 (hex); verified server-side on `:complete` (multipart) or after PUT (single). */
70
+ checksumSha256: Schema.optional<typeof Schema.String>;
71
+ /** S3-style precondition; if `'*'`, fail when a file already exists at (folder, filename). */
72
+ ifNoneMatch: Schema.optional<Schema.Literal<["*"]>>;
73
+ }>;
74
+ export type UploadCreateRequest = typeof UploadCreateRequest.Type;
75
+ export declare const UploadPart: Schema.Struct<{
76
+ partNumber: Schema.filter<typeof Schema.Number>;
77
+ url: typeof Schema.String;
78
+ expiresAt: typeof Schema.DateFromString;
54
79
  }>;
55
- export type FileInfo = typeof FileInfo.Type;
80
+ export type UploadPart = typeof UploadPart.Type;
56
81
  /**
57
- * Input for the richer `/storage/upload` token flow used by the SDK for
58
- * client-direct uploads (Vercel Blob pattern). Server mints an upload
59
- * endpoint + client payload, and the SDK performs the actual PUT against
60
- * storage. Superset of `UploadUrlInput`.
82
+ * Single-part response the request body fits in one PUT. Client uploads
83
+ * the whole blob to `url` with the supplied `headers`, captures the `ETag`
84
+ * response header, then calls `:complete` with `parts: [{partNumber: 1,
85
+ * etag}]` to finalise. The `:complete` step is non-optional even for
86
+ * single-part uploads because it is what writes the file row to the
87
+ * database and consumes quota — without it the storage object is
88
+ * orphaned and reclaimed by the multipart-aborts sweeper after
89
+ * `expiresAt`.
61
90
  */
62
- export declare const UploadTokenInput: Schema.Struct<{
63
- filename: typeof Schema.String;
64
- contentType: Schema.optional<typeof Schema.String>;
65
- size: Schema.optional<typeof Schema.Number>;
66
- /** Folder path for organizing the file. */
67
- path: Schema.optional<typeof Schema.String>;
68
- /** `file` | `avatar` — avatars apply user-scoped policy. */
69
- type: Schema.optional<Schema.Literal<["file", "avatar"]>>;
70
- /** User ID (required for `type: 'avatar'`). */
71
- userId: Schema.optional<typeof Schema.String>;
72
- /** Arbitrary caller-attached metadata persisted alongside the blob. */
73
- metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
91
+ export declare const UploadCreateSinglePartResult: Schema.Struct<{
92
+ method: Schema.Literal<["PUT"]>;
93
+ uploadId: Schema.brand<typeof Schema.String, "UploadId">;
94
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
95
+ url: typeof Schema.String;
96
+ headers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
97
+ expiresAt: typeof Schema.DateFromString;
74
98
  }>;
75
- export type UploadTokenInput = typeof UploadTokenInput.Type;
99
+ export type UploadCreateSinglePartResult = typeof UploadCreateSinglePartResult.Type;
76
100
  /**
77
- * Upload token response. Supports both the simple `{ uploadUrl, publicUrl,
78
- * fileId, expiresAt }` shape and the richer Vercel-Blob-style
79
- * `{ uploadEndpoint, clientPayload, instructions, ... }` shape.
101
+ * Multipart response client PUTs each part to its presigned URL, then
102
+ * calls `POST /uploads/{uploadId}:complete` with the per-part etags.
80
103
  */
81
- export declare const UploadTokenResult: Schema.Struct<{
82
- uploadUrl: Schema.optional<typeof Schema.String>;
83
- publicUrl: Schema.optional<typeof Schema.String>;
84
- fileId: Schema.optional<typeof Schema.String>;
85
- expiresAt: Schema.optional<typeof Schema.String>;
86
- presignedUrl: Schema.optional<typeof Schema.String>;
87
- storageKey: Schema.optional<typeof Schema.String>;
88
- tokenPayload: Schema.optional<typeof Schema.String>;
89
- url: Schema.optional<typeof Schema.String>;
90
- uploadEndpoint: Schema.optional<typeof Schema.String>;
91
- clientPayload: Schema.optional<typeof Schema.String>;
92
- maxSize: Schema.optional<typeof Schema.Number>;
93
- maxMultipartSize: Schema.optional<typeof Schema.Number>;
94
- multipartThreshold: Schema.optional<typeof Schema.Number>;
95
- allowedContentTypes: Schema.optional<Schema.Array$<typeof Schema.String>>;
96
- instructions: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
104
+ export declare const UploadCreateMultipartResult: Schema.Struct<{
105
+ method: Schema.Literal<["MULTIPART"]>;
106
+ uploadId: Schema.brand<typeof Schema.String, "UploadId">;
107
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
108
+ partSize: typeof Schema.Number;
109
+ partCount: typeof Schema.Number;
110
+ parts: Schema.Array$<Schema.Struct<{
111
+ partNumber: Schema.filter<typeof Schema.Number>;
112
+ url: typeof Schema.String;
113
+ expiresAt: typeof Schema.DateFromString;
114
+ }>>;
115
+ expiresAt: typeof Schema.DateFromString;
97
116
  }>;
98
- export type UploadTokenResult = typeof UploadTokenResult.Type;
99
- export declare const UploadUrlInput: Schema.Struct<{
100
- filename: typeof Schema.String;
101
- contentType: typeof Schema.String;
102
- size: Schema.optional<typeof Schema.Number>;
117
+ export type UploadCreateMultipartResult = typeof UploadCreateMultipartResult.Type;
118
+ /**
119
+ * Discriminated union on `method`. SDK narrows via the literal; downstream
120
+ * code never has to inspect optional fields.
121
+ */
122
+ export declare const UploadCreateResult: Schema.Union<[Schema.Struct<{
123
+ method: Schema.Literal<["PUT"]>;
124
+ uploadId: Schema.brand<typeof Schema.String, "UploadId">;
125
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
126
+ url: typeof Schema.String;
127
+ headers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
128
+ expiresAt: typeof Schema.DateFromString;
129
+ }>, Schema.Struct<{
130
+ method: Schema.Literal<["MULTIPART"]>;
131
+ uploadId: Schema.brand<typeof Schema.String, "UploadId">;
132
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
133
+ partSize: typeof Schema.Number;
134
+ partCount: typeof Schema.Number;
135
+ parts: Schema.Array$<Schema.Struct<{
136
+ partNumber: Schema.filter<typeof Schema.Number>;
137
+ url: typeof Schema.String;
138
+ expiresAt: typeof Schema.DateFromString;
139
+ }>>;
140
+ expiresAt: typeof Schema.DateFromString;
141
+ }>]>;
142
+ export type UploadCreateResult = typeof UploadCreateResult.Type;
143
+ /** Refresh a single part presigned URL — used when an upload pauses past `expiresAt`. */
144
+ export declare const UploadPartPresignResult: Schema.Struct<{
145
+ url: typeof Schema.String;
146
+ expiresAt: typeof Schema.DateFromString;
103
147
  }>;
104
- export type UploadUrlInput = typeof UploadUrlInput.Type;
105
- export declare const UploadUrlResult: Schema.Struct<{
106
- uploadUrl: typeof Schema.String;
107
- fileId: typeof Schema.String;
108
- expiresAt: typeof Schema.String;
148
+ export type UploadPartPresignResult = typeof UploadPartPresignResult.Type;
149
+ export declare const UploadCompletePart: Schema.Struct<{
150
+ partNumber: Schema.filter<typeof Schema.Number>;
151
+ etag: Schema.filter<typeof Schema.String>;
152
+ }>;
153
+ export type UploadCompletePart = typeof UploadCompletePart.Type;
154
+ export declare const UploadCompleteRequest: Schema.Struct<{
155
+ parts: Schema.Array$<Schema.Struct<{
156
+ partNumber: Schema.filter<typeof Schema.Number>;
157
+ etag: Schema.filter<typeof Schema.String>;
158
+ }>>;
159
+ }>;
160
+ export type UploadCompleteRequest = typeof UploadCompleteRequest.Type;
161
+ export declare const UploadCompleteResult: Schema.Struct<{
162
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
163
+ url: Schema.NullOr<typeof Schema.String>;
164
+ size: typeof Schema.Number;
165
+ etag: typeof Schema.String;
166
+ checksumSha256: typeof Schema.String;
109
167
  }>;
110
- export type UploadUrlResult = typeof UploadUrlResult.Type;
168
+ export type UploadCompleteResult = typeof UploadCompleteResult.Type;
111
169
  export declare const ListFilesQuery: Schema.Struct<{
112
- prefix: Schema.optional<typeof Schema.String>;
113
- limit: Schema.optional<typeof Schema.String>;
170
+ folder: Schema.optional<typeof Schema.String>;
114
171
  cursor: Schema.optional<typeof Schema.String>;
172
+ /** Page size; clamped server-side to [1, 100]; default 25. */
173
+ limit: Schema.optional<typeof Schema.Number>;
174
+ includeDeleted: Schema.optional<typeof Schema.Boolean>;
115
175
  }>;
116
176
  export type ListFilesQuery = typeof ListFilesQuery.Type;
117
177
  export declare const ListFilesResult: Schema.Struct<{
118
178
  files: Schema.Array$<Schema.Struct<{
119
- id: typeof Schema.String;
179
+ id: Schema.brand<typeof Schema.String, "FileId">;
180
+ filename: typeof Schema.String;
181
+ contentType: typeof Schema.String;
120
182
  size: typeof Schema.Number;
121
- /** SDK-native filename (preferred). Alias of `filename` on newer servers. */
122
- name: Schema.optional<typeof Schema.String>;
123
- /** OpenAPI-native filename. Alias of `name` on older servers. */
124
- filename: Schema.optional<typeof Schema.String>;
125
- /** Folder path or storage key. */
126
- path: Schema.optional<typeof Schema.String>;
127
- /** Legacy storage object key (contract v1). */
128
- key: Schema.optional<typeof Schema.String>;
129
- /** Public URL — null for private files, absent on some delete responses. */
130
- url: Schema.optional<Schema.NullOr<typeof Schema.String>>;
131
- /** SDK-native MIME type. */
132
- contentType: Schema.optional<typeof Schema.String>;
133
- /** OpenAPI-native MIME type (alias of `contentType`). */
134
- mimeType: Schema.optional<typeof Schema.String>;
135
- /** Private/public visibility flag. Absent => treat as public. */
136
- isPrivate: Schema.optional<typeof Schema.Boolean>;
137
- /** Arbitrary caller-attached metadata. */
138
- metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
139
- /** SDK-native creation timestamp (ISO string). */
140
- createdAt: Schema.optional<typeof Schema.String>;
141
- /** Legacy contract v1 upload timestamp (alias of createdAt). */
142
- uploadedAt: Schema.optional<typeof Schema.String>;
183
+ checksumSha256: typeof Schema.String;
184
+ etag: typeof Schema.String;
185
+ visibility: Schema.Literal<["public", "private"]>;
186
+ folder: Schema.NullOr<typeof Schema.String>;
187
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
188
+ /** Public URL when `visibility === 'public'`; `null` otherwise. Use `:signedUrl` for private files. */
189
+ url: Schema.NullOr<typeof Schema.String>;
190
+ isDeleted: typeof Schema.Boolean;
191
+ createdAt: typeof Schema.DateFromString;
192
+ updatedAt: typeof Schema.DateFromString;
143
193
  }>>;
144
194
  nextCursor: Schema.NullOr<typeof Schema.String>;
145
- /** True if there are more files beyond this page. */
146
- hasMore: Schema.optional<typeof Schema.Boolean>;
147
195
  }>;
148
196
  export type ListFilesResult = typeof ListFilesResult.Type;
149
- export declare const DeleteFileResult: Schema.Struct<{
150
- success: typeof Schema.Boolean;
197
+ export declare const SoftDeleteFileResult: Schema.Struct<{
198
+ id: Schema.brand<typeof Schema.String, "FileId">;
199
+ isDeleted: Schema.Literal<[true]>;
151
200
  }>;
152
- export type DeleteFileResult = typeof DeleteFileResult.Type;
153
- /**
154
- * Signed download URL input. Returns a short-lived URL for private files
155
- * without exposing permanent credentials.
156
- */
157
- export declare const SignedUrlInput: Schema.Struct<{
158
- fileId: typeof Schema.String;
159
- /** Seconds until the URL expires (default: 3600, max: 604800 = 7 days). */
160
- expiresIn: Schema.optional<typeof Schema.Number>;
161
- /** `attachment` forces download, `inline` displays in browser. */
201
+ export type SoftDeleteFileResult = typeof SoftDeleteFileResult.Type;
202
+ export declare const RestoreFileResult: Schema.Struct<{
203
+ id: Schema.brand<typeof Schema.String, "FileId">;
204
+ filename: typeof Schema.String;
205
+ contentType: typeof Schema.String;
206
+ size: typeof Schema.Number;
207
+ checksumSha256: typeof Schema.String;
208
+ etag: typeof Schema.String;
209
+ visibility: Schema.Literal<["public", "private"]>;
210
+ folder: Schema.NullOr<typeof Schema.String>;
211
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
212
+ /** Public URL when `visibility === 'public'`; `null` otherwise. Use `:signedUrl` for private files. */
213
+ url: Schema.NullOr<typeof Schema.String>;
214
+ isDeleted: typeof Schema.Boolean;
215
+ createdAt: typeof Schema.DateFromString;
216
+ updatedAt: typeof Schema.DateFromString;
217
+ }>;
218
+ export type RestoreFileResult = File;
219
+ export declare const SignedUrlRequest: Schema.Struct<{
220
+ expiresIn: Schema.optional<Schema.filter<typeof Schema.Number>>;
162
221
  disposition: Schema.optional<Schema.Literal<["attachment", "inline"]>>;
163
- /** Restrict URL access to a specific user. */
222
+ /** Restrict the signed URL to a specific authenticated user (claim baked into the signature). */
164
223
  userId: Schema.optional<typeof Schema.String>;
165
224
  }>;
166
- export type SignedUrlInput = typeof SignedUrlInput.Type;
225
+ export type SignedUrlRequest = typeof SignedUrlRequest.Type;
167
226
  export declare const SignedUrlResult: Schema.Struct<{
168
227
  url: typeof Schema.String;
169
- expiresAt: typeof Schema.String;
228
+ expiresAt: typeof Schema.DateFromString;
170
229
  file: Schema.Struct<{
171
- id: typeof Schema.String;
230
+ id: Schema.brand<typeof Schema.String, "FileId">;
172
231
  filename: typeof Schema.String;
173
- mimeType: typeof Schema.String;
174
- sizeBytes: typeof Schema.Number;
175
- isPrivate: typeof Schema.Boolean;
232
+ contentType: typeof Schema.String;
233
+ size: typeof Schema.Number;
234
+ checksumSha256: typeof Schema.String;
235
+ etag: typeof Schema.String;
236
+ visibility: Schema.Literal<["public", "private"]>;
237
+ folder: Schema.NullOr<typeof Schema.String>;
238
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
239
+ /** Public URL when `visibility === 'public'`; `null` otherwise. Use `:signedUrl` for private files. */
240
+ url: Schema.NullOr<typeof Schema.String>;
241
+ isDeleted: typeof Schema.Boolean;
242
+ createdAt: typeof Schema.DateFromString;
243
+ updatedAt: typeof Schema.DateFromString;
176
244
  }>;
177
245
  }>;
178
246
  export type SignedUrlResult = typeof SignedUrlResult.Type;
179
- /**
180
- * A single version of a file. Append-only per-file history — every
181
- * upload creates one row with a monotonic `versionNumber`. Restore
182
- * creates a NEW version row pointing at the old object (never mutates
183
- * history).
184
- */
185
- export declare const StorageFileVersion: Schema.Struct<{
186
- id: typeof Schema.String;
187
- fileId: typeof Schema.String;
188
- versionNumber: typeof Schema.Number;
189
- sizeBytes: typeof Schema.Number;
190
- contentType: Schema.NullOr<typeof Schema.String>;
191
- checksumSha256: Schema.NullOr<typeof Schema.String>;
192
- createdAt: typeof Schema.String;
193
- createdBy: Schema.NullOr<typeof Schema.String>;
194
- isCurrent: typeof Schema.Boolean;
247
+ export declare const CopyFileRequest: Schema.Struct<{
248
+ folder: Schema.optional<typeof Schema.String>;
249
+ filename: Schema.optional<typeof Schema.String>;
250
+ visibility: Schema.optional<Schema.Literal<["public", "private"]>>;
251
+ metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
195
252
  }>;
196
- export type StorageFileVersion = typeof StorageFileVersion.Type;
253
+ export type CopyFileRequest = typeof CopyFileRequest.Type;
254
+ export declare const CopyFileResult: Schema.Struct<{
255
+ id: Schema.brand<typeof Schema.String, "FileId">;
256
+ filename: typeof Schema.String;
257
+ contentType: typeof Schema.String;
258
+ size: typeof Schema.Number;
259
+ checksumSha256: typeof Schema.String;
260
+ etag: typeof Schema.String;
261
+ visibility: Schema.Literal<["public", "private"]>;
262
+ folder: Schema.NullOr<typeof Schema.String>;
263
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
264
+ /** Public URL when `visibility === 'public'`; `null` otherwise. Use `:signedUrl` for private files. */
265
+ url: Schema.NullOr<typeof Schema.String>;
266
+ isDeleted: typeof Schema.Boolean;
267
+ createdAt: typeof Schema.DateFromString;
268
+ updatedAt: typeof Schema.DateFromString;
269
+ }>;
270
+ export type CopyFileResult = File;
197
271
  export declare const ListFileVersionsResult: Schema.Struct<{
198
272
  versions: Schema.Array$<Schema.Struct<{
199
- id: typeof Schema.String;
200
- fileId: typeof Schema.String;
273
+ id: Schema.brand<typeof Schema.String, "FileVersionId">;
274
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
201
275
  versionNumber: typeof Schema.Number;
202
- sizeBytes: typeof Schema.Number;
203
- contentType: Schema.NullOr<typeof Schema.String>;
204
- checksumSha256: Schema.NullOr<typeof Schema.String>;
205
- createdAt: typeof Schema.String;
276
+ size: typeof Schema.Number;
277
+ contentType: typeof Schema.String;
278
+ checksumSha256: typeof Schema.String;
279
+ etag: typeof Schema.String;
280
+ createdAt: typeof Schema.DateFromString;
206
281
  createdBy: Schema.NullOr<typeof Schema.String>;
207
282
  isCurrent: typeof Schema.Boolean;
208
283
  }>>;
209
284
  }>;
210
285
  export type ListFileVersionsResult = typeof ListFileVersionsResult.Type;
211
286
  export declare const RestoreVersionResult: Schema.Struct<{
212
- success: Schema.Literal<[true]>;
287
+ file: Schema.Struct<{
288
+ id: Schema.brand<typeof Schema.String, "FileId">;
289
+ filename: typeof Schema.String;
290
+ contentType: typeof Schema.String;
291
+ size: typeof Schema.Number;
292
+ checksumSha256: typeof Schema.String;
293
+ etag: typeof Schema.String;
294
+ visibility: Schema.Literal<["public", "private"]>;
295
+ folder: Schema.NullOr<typeof Schema.String>;
296
+ metadata: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
297
+ /** Public URL when `visibility === 'public'`; `null` otherwise. Use `:signedUrl` for private files. */
298
+ url: Schema.NullOr<typeof Schema.String>;
299
+ isDeleted: typeof Schema.Boolean;
300
+ createdAt: typeof Schema.DateFromString;
301
+ updatedAt: typeof Schema.DateFromString;
302
+ }>;
213
303
  version: Schema.Struct<{
214
- id: typeof Schema.String;
215
- fileId: typeof Schema.String;
304
+ id: Schema.brand<typeof Schema.String, "FileVersionId">;
305
+ fileId: Schema.brand<typeof Schema.String, "FileId">;
216
306
  versionNumber: typeof Schema.Number;
217
- sizeBytes: typeof Schema.Number;
218
- contentType: Schema.NullOr<typeof Schema.String>;
219
- checksumSha256: Schema.NullOr<typeof Schema.String>;
220
- createdAt: typeof Schema.String;
307
+ size: typeof Schema.Number;
308
+ contentType: typeof Schema.String;
309
+ checksumSha256: typeof Schema.String;
310
+ etag: typeof Schema.String;
311
+ createdAt: typeof Schema.DateFromString;
221
312
  createdBy: Schema.NullOr<typeof Schema.String>;
222
313
  isCurrent: typeof Schema.Boolean;
223
314
  }>;
224
315
  }>;
225
316
  export type RestoreVersionResult = typeof RestoreVersionResult.Type;
226
- export declare const RestoreFileResult: Schema.Struct<{
227
- success: Schema.Literal<[true]>;
228
- file: Schema.Struct<{
229
- id: typeof Schema.String;
230
- size: typeof Schema.Number;
231
- /** SDK-native filename (preferred). Alias of `filename` on newer servers. */
232
- name: Schema.optional<typeof Schema.String>;
233
- /** OpenAPI-native filename. Alias of `name` on older servers. */
234
- filename: Schema.optional<typeof Schema.String>;
235
- /** Folder path or storage key. */
236
- path: Schema.optional<typeof Schema.String>;
237
- /** Legacy storage object key (contract v1). */
238
- key: Schema.optional<typeof Schema.String>;
239
- /** Public URL — null for private files, absent on some delete responses. */
240
- url: Schema.optional<Schema.NullOr<typeof Schema.String>>;
241
- /** SDK-native MIME type. */
242
- contentType: Schema.optional<typeof Schema.String>;
243
- /** OpenAPI-native MIME type (alias of `contentType`). */
244
- mimeType: Schema.optional<typeof Schema.String>;
245
- /** Private/public visibility flag. Absent => treat as public. */
246
- isPrivate: Schema.optional<typeof Schema.Boolean>;
247
- /** Arbitrary caller-attached metadata. */
248
- metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
249
- /** SDK-native creation timestamp (ISO string). */
250
- createdAt: Schema.optional<typeof Schema.String>;
251
- /** Legacy contract v1 upload timestamp (alias of createdAt). */
252
- uploadedAt: Schema.optional<typeof Schema.String>;
253
- }>;
254
- }>;
255
- export type RestoreFileResult = typeof RestoreFileResult.Type;
256
317
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/schemas/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/schemas/storage.ts"],"names":[],"mappings":"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"}