@samebase/convex-hosting 0.3.2 → 0.4.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 (193) hide show
  1. package/CHANGELOG.md +10 -134
  2. package/README.md +136 -398
  3. package/dist/cli/convex.d.ts +63 -0
  4. package/dist/cli/convex.js +108 -0
  5. package/dist/cli/convex.js.map +1 -0
  6. package/dist/cli/files.d.ts +18 -0
  7. package/dist/cli/files.js +106 -0
  8. package/dist/cli/files.js.map +1 -0
  9. package/dist/cli/index.d.ts +1 -11
  10. package/dist/cli/index.js +3 -58
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/main.d.ts +5 -0
  13. package/dist/cli/main.js +346 -0
  14. package/dist/cli/main.js.map +1 -0
  15. package/dist/client/index.d.ts +8 -115
  16. package/dist/client/index.js +65 -242
  17. package/dist/client/index.js.map +1 -1
  18. package/dist/client/types.d.ts +5 -0
  19. package/dist/client/version-module.d.ts +6 -0
  20. package/dist/component/_generated/api.d.ts +0 -5
  21. package/dist/component/_generated/api.js.map +1 -1
  22. package/dist/component/_generated/component.d.ts +20 -18
  23. package/dist/component/_generated/dataModel.d.ts +0 -1
  24. package/dist/component/_generated/server.d.ts +12 -1
  25. package/dist/component/_generated/server.js +2 -0
  26. package/dist/component/_generated/server.js.map +1 -1
  27. package/dist/component/convex.config.d.ts +0 -1
  28. package/dist/component/lib.d.ts +175 -156
  29. package/dist/component/lib.js +396 -710
  30. package/dist/component/lib.js.map +1 -1
  31. package/dist/component/schema.d.ts +76 -72
  32. package/dist/component/schema.js +35 -59
  33. package/dist/component/schema.js.map +1 -1
  34. package/dist/workers-shared/asset-worker/src/analytics.d.ts +39 -0
  35. package/dist/workers-shared/asset-worker/src/analytics.js +86 -0
  36. package/dist/workers-shared/asset-worker/src/analytics.js.map +1 -0
  37. package/dist/workers-shared/asset-worker/src/compatibility-flags.d.ts +19 -0
  38. package/dist/workers-shared/asset-worker/src/compatibility-flags.js +29 -0
  39. package/dist/workers-shared/asset-worker/src/compatibility-flags.js.map +1 -0
  40. package/dist/workers-shared/asset-worker/src/configuration.d.ts +3 -0
  41. package/dist/workers-shared/asset-worker/src/configuration.js +30 -0
  42. package/dist/workers-shared/asset-worker/src/configuration.js.map +1 -0
  43. package/dist/workers-shared/asset-worker/src/constants.d.ts +1 -0
  44. package/dist/workers-shared/asset-worker/src/constants.js +3 -0
  45. package/dist/workers-shared/asset-worker/src/constants.js.map +1 -0
  46. package/dist/workers-shared/asset-worker/src/handler.d.ts +28 -0
  47. package/dist/workers-shared/asset-worker/src/handler.js +717 -0
  48. package/dist/workers-shared/asset-worker/src/handler.js.map +1 -0
  49. package/dist/workers-shared/asset-worker/src/types.d.ts +13 -0
  50. package/dist/workers-shared/asset-worker/src/types.js +2 -0
  51. package/dist/workers-shared/asset-worker/src/types.js.map +1 -0
  52. package/dist/workers-shared/asset-worker/src/utils/base-path.d.ts +29 -0
  53. package/dist/workers-shared/asset-worker/src/utils/base-path.js +56 -0
  54. package/dist/workers-shared/asset-worker/src/utils/base-path.js.map +1 -0
  55. package/dist/workers-shared/asset-worker/src/utils/headers.d.ts +11 -0
  56. package/dist/workers-shared/asset-worker/src/utils/headers.js +77 -0
  57. package/dist/workers-shared/asset-worker/src/utils/headers.js.map +1 -0
  58. package/dist/workers-shared/asset-worker/src/utils/rules-engine.d.ts +23 -0
  59. package/dist/workers-shared/asset-worker/src/utils/rules-engine.js +133 -0
  60. package/dist/workers-shared/asset-worker/src/utils/rules-engine.js.map +1 -0
  61. package/dist/workers-shared/asset-worker/src/worker.d.ts +14 -0
  62. package/dist/workers-shared/asset-worker/src/worker.js +12 -0
  63. package/dist/workers-shared/asset-worker/src/worker.js.map +1 -0
  64. package/dist/workers-shared/utils/base-path.d.ts +32 -0
  65. package/dist/workers-shared/utils/base-path.js +94 -0
  66. package/dist/workers-shared/utils/base-path.js.map +1 -0
  67. package/dist/workers-shared/utils/configuration/constants.d.ts +15 -0
  68. package/dist/workers-shared/utils/configuration/constants.js +16 -0
  69. package/dist/workers-shared/utils/configuration/constants.js.map +1 -0
  70. package/dist/workers-shared/utils/configuration/constructConfiguration.d.ts +12 -0
  71. package/dist/workers-shared/utils/configuration/constructConfiguration.js +103 -0
  72. package/dist/workers-shared/utils/configuration/constructConfiguration.js.map +1 -0
  73. package/dist/workers-shared/utils/configuration/parseHeaders.d.ts +5 -0
  74. package/dist/workers-shared/utils/configuration/parseHeaders.js +181 -0
  75. package/dist/workers-shared/utils/configuration/parseHeaders.js.map +1 -0
  76. package/dist/workers-shared/utils/configuration/parseRedirects.d.ts +8 -0
  77. package/dist/workers-shared/utils/configuration/parseRedirects.js +129 -0
  78. package/dist/workers-shared/utils/configuration/parseRedirects.js.map +1 -0
  79. package/dist/workers-shared/utils/configuration/parseStaticRouting.d.ts +2 -0
  80. package/dist/workers-shared/utils/configuration/parseStaticRouting.js +94 -0
  81. package/dist/workers-shared/utils/configuration/parseStaticRouting.js.map +1 -0
  82. package/dist/workers-shared/utils/configuration/types.d.ts +38 -0
  83. package/dist/workers-shared/utils/configuration/types.js +2 -0
  84. package/dist/workers-shared/utils/configuration/types.js.map +1 -0
  85. package/dist/workers-shared/utils/configuration/validateURL.d.ts +3 -0
  86. package/dist/workers-shared/utils/configuration/validateURL.js +56 -0
  87. package/dist/workers-shared/utils/configuration/validateURL.js.map +1 -0
  88. package/dist/workers-shared/utils/constants.d.ts +28 -0
  89. package/dist/workers-shared/utils/constants.js +34 -0
  90. package/dist/workers-shared/utils/constants.js.map +1 -0
  91. package/dist/workers-shared/utils/helpers.d.ts +22 -0
  92. package/dist/workers-shared/utils/helpers.js +73 -0
  93. package/dist/workers-shared/utils/helpers.js.map +1 -0
  94. package/dist/workers-shared/utils/responses.d.ts +43 -0
  95. package/dist/workers-shared/utils/responses.js +125 -0
  96. package/dist/workers-shared/utils/responses.js.map +1 -0
  97. package/dist/workers-shared/utils/tracing.d.ts +3 -0
  98. package/dist/workers-shared/utils/tracing.js +29 -0
  99. package/dist/workers-shared/utils/tracing.js.map +1 -0
  100. package/dist/workers-shared/utils/types.d.ts +131 -0
  101. package/dist/workers-shared/utils/types.js +72 -0
  102. package/dist/workers-shared/utils/types.js.map +1 -0
  103. package/package.json +16 -32
  104. package/INTEGRATION.md +0 -399
  105. package/dist/cli/args.d.ts +0 -28
  106. package/dist/cli/args.d.ts.map +0 -1
  107. package/dist/cli/args.js +0 -148
  108. package/dist/cli/args.js.map +0 -1
  109. package/dist/cli/argumentChunks.d.ts +0 -3
  110. package/dist/cli/argumentChunks.d.ts.map +0 -1
  111. package/dist/cli/argumentChunks.js +0 -29
  112. package/dist/cli/argumentChunks.js.map +0 -1
  113. package/dist/cli/collectFiles.d.ts +0 -10
  114. package/dist/cli/collectFiles.d.ts.map +0 -1
  115. package/dist/cli/collectFiles.js +0 -53
  116. package/dist/cli/collectFiles.js.map +0 -1
  117. package/dist/cli/commands.d.ts +0 -8
  118. package/dist/cli/commands.d.ts.map +0 -1
  119. package/dist/cli/commands.js +0 -56
  120. package/dist/cli/commands.js.map +0 -1
  121. package/dist/cli/componentName.d.ts +0 -32
  122. package/dist/cli/componentName.d.ts.map +0 -1
  123. package/dist/cli/componentName.js +0 -43
  124. package/dist/cli/componentName.js.map +0 -1
  125. package/dist/cli/deploy.d.ts +0 -16
  126. package/dist/cli/deploy.d.ts.map +0 -1
  127. package/dist/cli/deploy.js +0 -283
  128. package/dist/cli/deploy.js.map +0 -1
  129. package/dist/cli/deployEnvironment.d.ts +0 -10
  130. package/dist/cli/deployEnvironment.d.ts.map +0 -1
  131. package/dist/cli/deployEnvironment.js +0 -12
  132. package/dist/cli/deployEnvironment.js.map +0 -1
  133. package/dist/cli/index.d.ts.map +0 -1
  134. package/dist/cli/upload.d.ts +0 -22
  135. package/dist/cli/upload.d.ts.map +0 -1
  136. package/dist/cli/upload.js +0 -630
  137. package/dist/cli/upload.js.map +0 -1
  138. package/dist/client/_generated/_ignore.d.ts +0 -1
  139. package/dist/client/_generated/_ignore.d.ts.map +0 -1
  140. package/dist/client/_generated/_ignore.js +0 -3
  141. package/dist/client/_generated/_ignore.js.map +0 -1
  142. package/dist/client/index.d.ts.map +0 -1
  143. package/dist/component/_generated/api.d.ts.map +0 -1
  144. package/dist/component/_generated/component.d.ts.map +0 -1
  145. package/dist/component/_generated/dataModel.d.ts.map +0 -1
  146. package/dist/component/_generated/server.d.ts.map +0 -1
  147. package/dist/component/convex.config.d.ts.map +0 -1
  148. package/dist/component/http.d.ts +0 -4
  149. package/dist/component/http.d.ts.map +0 -1
  150. package/dist/component/http.js +0 -113
  151. package/dist/component/http.js.map +0 -1
  152. package/dist/component/lib.d.ts.map +0 -1
  153. package/dist/component/schema.d.ts.map +0 -1
  154. package/dist/component/serving.d.ts +0 -23
  155. package/dist/component/serving.d.ts.map +0 -1
  156. package/dist/component/serving.js +0 -161
  157. package/dist/component/serving.js.map +0 -1
  158. package/dist/react/index.d.ts +0 -59
  159. package/dist/react/index.d.ts.map +0 -1
  160. package/dist/react/index.js +0 -137
  161. package/dist/react/index.js.map +0 -1
  162. package/src/cli/args.test.ts +0 -79
  163. package/src/cli/args.ts +0 -153
  164. package/src/cli/argumentChunks.test.ts +0 -27
  165. package/src/cli/argumentChunks.ts +0 -40
  166. package/src/cli/collectFiles.test.ts +0 -26
  167. package/src/cli/collectFiles.ts +0 -59
  168. package/src/cli/commands.ts +0 -68
  169. package/src/cli/componentName.test.ts +0 -41
  170. package/src/cli/componentName.ts +0 -46
  171. package/src/cli/deploy.ts +0 -336
  172. package/src/cli/deployEnvironment.test.ts +0 -27
  173. package/src/cli/deployEnvironment.ts +0 -17
  174. package/src/cli/index.ts +0 -65
  175. package/src/cli/upload.ts +0 -837
  176. package/src/client/_generated/_ignore.ts +0 -1
  177. package/src/client/index.test.ts +0 -549
  178. package/src/client/index.ts +0 -344
  179. package/src/client/setup.test.ts +0 -22
  180. package/src/component/_generated/api.ts +0 -54
  181. package/src/component/_generated/component.ts +0 -55
  182. package/src/component/_generated/dataModel.ts +0 -60
  183. package/src/component/_generated/server.ts +0 -156
  184. package/src/component/convex.config.ts +0 -3
  185. package/src/component/http.test.ts +0 -254
  186. package/src/component/http.ts +0 -133
  187. package/src/component/lib.test.ts +0 -1007
  188. package/src/component/lib.ts +0 -862
  189. package/src/component/schema.ts +0 -75
  190. package/src/component/serving.ts +0 -170
  191. package/src/component/setup.test.ts +0 -11
  192. package/src/react/index.tsx +0 -197
  193. package/src/test.ts +0 -23
@@ -1,164 +1,183 @@
1
- export declare const getCurrentDeployment: import("convex/server").RegisteredQuery<"public", {}, Promise<{
2
- pendingBlobCleanupCount: number | undefined;
3
- _id: import("convex/values").GenericId<"deploymentInfo">;
4
- _creationTime: number;
5
- spaFallback?: boolean | undefined;
6
- currentDeploymentId: string;
7
- deployedAt: number;
8
- } | null>>;
9
- export declare const resolveAssetForHttp: import("convex/server").RegisteredQuery<"public", {
10
- spaFallback?: boolean | undefined;
11
- path: string;
12
- }, Promise<{
13
- etag?: string | undefined;
14
- contentType: string;
15
- blobId?: string | undefined;
16
- appStorageId?: import("convex/values").GenericId<"_storage"> | undefined;
17
- storageUrl?: string | undefined;
18
- } | null>>;
19
- export declare const getUrls: import("convex/server").RegisteredQuery<"internal", {}, Promise<{
20
- siteUrl: string;
21
- cloudUrl: string;
22
- }>>;
23
- export declare const getByPath: import("convex/server").RegisteredQuery<"internal", {
24
- path: string;
25
- }, Promise<{
26
- _id: import("convex/values").GenericId<"staticAssets">;
27
- _creationTime: number;
28
- storageId?: import("convex/values").GenericId<"_storage"> | undefined;
29
- blobId?: string | undefined;
30
- path: string;
31
- deploymentId: string;
32
- contentType: string;
33
- } | null>>;
34
- export declare const resolveAsset: import("convex/server").RegisteredQuery<"internal", {
35
- path: string;
36
- }, Promise<{
37
- storageId?: import("convex/values").GenericId<"_storage"> | undefined;
38
- blobId?: string | undefined;
39
- path: string;
40
- deploymentId: string;
41
- _id: import("convex/values").GenericId<"staticAssets">;
42
- _creationTime: number;
43
- contentType: string;
44
- } | {
45
- path: string;
46
- deploymentId: string;
47
- storageId: string & {
48
- __tableName: "_storage";
49
- };
50
- blobId?: string | undefined;
51
- _creationTime: number;
52
- contentType: string;
53
- _id: import("convex/values").GenericId<"retiredAssets">;
54
- expiresAt: number;
55
- } | null>>;
56
- export declare const listAssets: import("convex/server").RegisteredQuery<"internal", {
57
- limit?: number | undefined;
58
- }, Promise<{
59
- _id: import("convex/values").GenericId<"staticAssets">;
60
- _creationTime: number;
61
- storageId?: import("convex/values").GenericId<"_storage"> | undefined;
62
- blobId?: string | undefined;
63
- path: string;
64
- deploymentId: string;
65
- contentType: string;
66
- }[]>>;
67
- export declare const generateUploadUrl: import("convex/server").RegisteredMutation<"internal", {}, Promise<string>>;
1
+ import { z } from "zod";
2
+ import type { Id } from "./_generated/dataModel.js";
3
+ /**
4
+ * The file that `upload` stores and `createVersion` reads: Cloudflare's `AssetConfig` for the
5
+ * version, without the fields that are package code.
6
+ */
7
+ declare const configSchema: z.ZodObject<{
8
+ redirects: z.ZodOptional<z.ZodObject<{
9
+ version: z.ZodLiteral<1>;
10
+ staticRules: z.ZodRecord<z.ZodString, z.ZodObject<{
11
+ status: z.ZodNumber;
12
+ to: z.ZodString;
13
+ lineNumber: z.ZodNumber;
14
+ }, z.core.$strip>>;
15
+ rules: z.ZodRecord<z.ZodString, z.ZodObject<{
16
+ status: z.ZodNumber;
17
+ to: z.ZodString;
18
+ }, z.core.$strip>>;
19
+ }, z.core.$strip>>;
20
+ headers: z.ZodOptional<z.ZodObject<{
21
+ version: z.ZodLiteral<2>;
22
+ rules: z.ZodRecord<z.ZodString, z.ZodObject<{
23
+ set: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
24
+ unset: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ }, z.core.$strip>>;
26
+ }, z.core.$strip>>;
27
+ html_handling: z.ZodOptional<z.ZodEnum<{
28
+ "auto-trailing-slash": "auto-trailing-slash";
29
+ "force-trailing-slash": "force-trailing-slash";
30
+ "drop-trailing-slash": "drop-trailing-slash";
31
+ none: "none";
32
+ }>>;
33
+ not_found_handling: z.ZodOptional<z.ZodEnum<{
34
+ none: "none";
35
+ "single-page-application": "single-page-application";
36
+ "404-page": "404-page";
37
+ }>>;
38
+ }, z.core.$strip>;
39
+ export type Config = z.input<typeof configSchema>;
68
40
  export declare const generateUploadUrls: import("convex/server").RegisteredMutation<"internal", {
69
41
  count: number;
70
42
  }, Promise<string[]>>;
71
- export declare const listPendingBlobCleanup: import("convex/server").RegisteredQuery<"internal", {
72
- limit?: number | undefined;
73
- }, Promise<string[]>>;
74
- export declare const acknowledgeBlobCleanup: import("convex/server").RegisteredMutation<"internal", {
75
- blobIds: string[];
76
- }, Promise<{
77
- acknowledged: number;
78
- }>>;
79
- export declare const queueBlobCleanup: import("convex/server").RegisteredMutation<"internal", {
80
- blobIds: string[];
81
- }, Promise<{
82
- queued: number;
83
- }>>;
84
- export declare const cleanupPendingStorage: import("convex/server").RegisteredMutation<"internal", {
85
- limit?: number | undefined;
86
- }, Promise<{
87
- processed: number;
88
- deleted: number;
89
- needsAnotherPass: boolean;
90
- }>>;
91
- export declare const deleteUploadedFiles: import("convex/server").RegisteredMutation<"internal", {
92
- storageIds: import("convex/values").GenericId<"_storage">[];
93
- }, Promise<{
94
- deleted: number;
95
- alreadyMissing: number;
96
- stillReferenced: number;
97
- }>>;
98
- export declare const stageAssets: import("convex/server").RegisteredMutation<"internal", {
99
- assets: {
100
- storageId?: import("convex/values").GenericId<"_storage"> | undefined;
101
- blobId?: string | undefined;
102
- path: string;
103
- deploymentId: string;
104
- contentType: string;
105
- }[];
106
- }, Promise<{
107
- staged: number;
108
- }>>;
109
- export declare const discardStagedDeployment: import("convex/server").RegisteredMutation<"internal", {
110
- deploymentId: string;
111
- }, Promise<{
112
- discarded: number;
113
- }>>;
114
- export declare const cleanupAbandonedStaging: import("convex/server").RegisteredMutation<"internal", {
115
- limit?: number | undefined;
116
- before?: number | undefined;
43
+ /**
44
+ * Starts a version: reads its config from storage and creates the version in state `uploading`.
45
+ * Idempotent for the same id and config.
46
+ */
47
+ export declare const createVersion: import("convex/server").RegisteredAction<"internal", {
48
+ versionId: string;
49
+ configId: import("convex/values").GenericId<"_storage">;
50
+ }, Promise<null>>;
51
+ /** The write of `createVersion`: creates the version, unless it exists with the same config. */
52
+ export declare const insertVersion: import("convex/server").RegisteredMutation<"internal", {
53
+ versionId: string;
54
+ config: string;
55
+ }, Promise<null>>;
56
+ /**
57
+ * The stored file of each hash that an entry of any version already has, in the order of
58
+ * `sha256s`.
59
+ *
60
+ * Each hash reads one index range (`by_sha256`) of at most one document. The CLI sends at most
61
+ * 8,000 characters of arguments, which hold at most 119 hashes of 67 characters: 119 index ranges
62
+ * of 4,096 and 119 documents read of 32,000.
63
+ */
64
+ export declare const knownFiles: import("convex/server").RegisteredQuery<"internal", {
65
+ sha256s: string[];
117
66
  }, Promise<{
118
- discarded: number;
119
- deletedFiles: number;
120
- queuedBlobIds: number;
121
- }>>;
122
- export declare const cleanupUnreferencedStorage: import("convex/server").RegisteredMutation<"internal", {
123
- limit?: number | undefined;
124
- order?: "asc" | "desc" | undefined;
125
- before?: number | undefined;
126
- }, Promise<{
127
- scanned: number;
128
- deleted: number;
129
- needsAnotherPass: boolean;
130
- }>>;
131
- export declare const recordAsset: import("convex/server").RegisteredMutation<"internal", {
132
- storageId?: import("convex/values").GenericId<"_storage"> | undefined;
133
- blobId?: string | undefined;
134
- path: string;
135
- deploymentId: string;
136
- contentType: string;
137
- }, Promise<string | null>>;
138
- export declare const recordAssets: import("convex/server").RegisteredMutation<"internal", {
139
- assets: {
140
- storageId?: import("convex/values").GenericId<"_storage"> | undefined;
141
- blobId?: string | undefined;
67
+ sha256: string;
68
+ storageId: Id<"_storage">;
69
+ }[]>>;
70
+ /**
71
+ * Inserts complete entries into an `uploading` version, after checking that each stored file has
72
+ * the entry's sha256. An entry that exists with the same sha256 is skipped, so a retried batch
73
+ * passes; one that exists with another sha256 is refused.
74
+ *
75
+ * Each entry reads one index range (`by_version_path`) of at most one document and one `_storage`
76
+ * document, and writes at most one document. The CLI sends at most 8,000 characters of arguments,
77
+ * and an entry takes at least 135 of them (its sha256 and storage id alone are 96), so a call has
78
+ * at most 60 entries: 60 index ranges of 4,096, at most 121 documents read of 32,000 with the
79
+ * version, and 60 writes of 16,000.
80
+ */
81
+ export declare const recordFiles: import("convex/server").RegisteredMutation<"internal", {
82
+ entries: {
83
+ contentType?: string | undefined;
142
84
  path: string;
143
- deploymentId: string;
144
- contentType: string;
85
+ sha256: string;
86
+ storageId: import("convex/values").GenericId<"_storage">;
145
87
  }[];
88
+ versionId: string;
89
+ }, Promise<null>>;
90
+ /**
91
+ * Marks an `uploading` version `ready`. The CLI calls it after every `recordFiles` batch succeeded.
92
+ * A version that is already `ready` or `live` stays as it is.
93
+ */
94
+ export declare const finishVersion: import("convex/server").RegisteredMutation<"internal", {
95
+ versionId: string;
96
+ }, Promise<null>>;
97
+ /**
98
+ * Marks a `ready` version `live` and schedules `collect`. `serveAsset` calls it at the first
99
+ * request that the version's pushed code serves, with the `at` of the newest live version that
100
+ * `route` saw for that request. A mark succeeds only when the state it was based on is still the
101
+ * state: when the newest live version changed between the request's lookup and this mark, it does
102
+ * nothing, so a request whose code was replaced between its lookup and its mark cannot make its
103
+ * version newest. A version that is already live stays as it is, so concurrent first requests are
104
+ * fine.
105
+ */
106
+ export declare const markLive: import("convex/server").RegisteredMutation<"public", {
107
+ versionId: string;
108
+ expectedNewestLiveAt: number | null;
109
+ }, Promise<null>>;
110
+ /**
111
+ * One chain of calls, one batch per call, each scheduling the next with `runAfter(0)` while work
112
+ * remains. First the `_storage` files that no entry references and that are older than
113
+ * `GARBAGE_AGE_MS`; then the versions, a page of `VERSION_PAGE` at a time in creation order: the
114
+ * live versions older than the current live one, whose code is gone because the current one has
115
+ * served since, and the versions that are not live and older than `GARBAGE_AGE_MS`, with their
116
+ * entries.
117
+ *
118
+ * A stored file is deleted when no entry references it, it is a day old, and it was already
119
+ * unreferenced when the chain started: the files that this chain's version deletion frees wait for
120
+ * a later chain, at a later switch. An upload in progress may have taken a stored file from
121
+ * `knownFiles` and not recorded its entry yet; it therefore fails only if two switches happen
122
+ * during that one upload, and a retry works.
123
+ *
124
+ * Both steps walk `by_creation_time` with a cursor: the creation time of the last document handled
125
+ * and the ids already handled at that time. Convex gives every document of one transaction the
126
+ * same creation time, and creation times are not unique across transactions either, so a cursor of
127
+ * a time alone would skip the other documents at the boundary. The next call reads from that time
128
+ * on and skips the ids in `seen`, which hold the documents of one time, normally one; it reads
129
+ * that many more documents, so a page still holds a full batch of new ones when they exist, and it
130
+ * keeps at most a batch, because a seen document may be gone.
131
+ */
132
+ export declare const collect: import("convex/server").RegisteredMutation<"internal", {
133
+ step: {
134
+ after?: {
135
+ at: number;
136
+ seen: import("convex/values").GenericId<"_storage">[];
137
+ } | undefined;
138
+ kind: "files";
139
+ } | {
140
+ after?: {
141
+ at: number;
142
+ seen: import("convex/values").GenericId<"versions">[];
143
+ } | undefined;
144
+ kind: "versions";
145
+ };
146
+ }, Promise<null>>;
147
+ /**
148
+ * Runs Cloudflare's asset handler for one request against one version. `state` is the kind of the
149
+ * version's state, or `null` when the version does not exist. `newestLiveAt` is, for a `ready`
150
+ * version, the `at` of the newest live version that this query saw, which `serveAsset` passes to
151
+ * `markLive`; otherwise `null`, and a live version's requests read nothing more. `asset` is
152
+ * `null` when the version is uploading, being deleted, or does not exist, or when no asset answers.
153
+ */
154
+ export declare const route: import("convex/server").RegisteredQuery<"public", {
155
+ headers: Record<string, string>;
156
+ url: string;
157
+ method: string;
158
+ versionId: string;
146
159
  }, Promise<{
147
- blobIds: string[];
148
- }>>;
149
- export declare const publishDeployment: import("convex/server").RegisteredMutation<"internal", {
150
- spaFallback?: boolean | undefined;
151
- currentDeploymentId: string;
152
- expectedAssetCount: number;
153
- }, Promise<{
154
- deleted: number;
155
- pendingBlobCleanup: number;
156
- }>>;
157
- export declare const commitDeployment: import("convex/server").RegisteredMutation<"internal", {
158
- spaFallback?: boolean | undefined;
159
- currentDeploymentId: string;
160
- }, Promise<{
161
- deleted: number;
162
- blobIds: string[];
160
+ state: null;
161
+ newestLiveAt: null;
162
+ asset: null;
163
+ } | {
164
+ state: "uploading" | "deleting";
165
+ newestLiveAt: null;
166
+ asset: null;
167
+ } | {
168
+ state: "ready" | "live";
169
+ newestLiveAt: number | null;
170
+ asset: null;
171
+ } | {
172
+ state: "ready" | "live";
173
+ newestLiveAt: number | null;
174
+ asset: {
175
+ status: number;
176
+ headers: {
177
+ name: string;
178
+ value: string;
179
+ }[];
180
+ bodyUrl: string | null;
181
+ };
163
182
  }>>;
164
- //# sourceMappingURL=lib.d.ts.map
183
+ export {};