@functional-systems/lambdadb 0.4.2 → 0.5.0-rc.1

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 (223) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/FUNCTIONS.md +7 -2
  3. package/README.md +60 -2
  4. package/RUNTIMES.md +7 -0
  5. package/USAGE.md +20 -0
  6. package/dist/commonjs/client.d.ts +25 -10
  7. package/dist/commonjs/client.d.ts.map +1 -1
  8. package/dist/commonjs/client.js +233 -59
  9. package/dist/commonjs/client.js.map +1 -1
  10. package/dist/commonjs/compat/qdrant/client.d.ts +6 -10
  11. package/dist/commonjs/compat/qdrant/client.d.ts.map +1 -1
  12. package/dist/commonjs/compat/qdrant/client.js +33 -15
  13. package/dist/commonjs/compat/qdrant/client.js.map +1 -1
  14. package/dist/commonjs/compat/qdrant/filters.js +5 -1
  15. package/dist/commonjs/compat/qdrant/filters.js.map +1 -1
  16. package/dist/commonjs/funcs/collectionsCreate.js +1 -1
  17. package/dist/commonjs/funcs/collectionsDelete.js +1 -1
  18. package/dist/commonjs/funcs/collectionsDocsGetBulkUpsert.js +4 -0
  19. package/dist/commonjs/funcs/collectionsDocsGetBulkUpsert.js.map +1 -1
  20. package/dist/commonjs/funcs/collectionsDocsListDocs.js +3 -0
  21. package/dist/commonjs/funcs/collectionsDocsListDocs.js.map +1 -1
  22. package/dist/commonjs/funcs/collectionsDocsListDocsExtended.d.ts +15 -0
  23. package/dist/commonjs/funcs/collectionsDocsListDocsExtended.d.ts.map +1 -0
  24. package/dist/commonjs/funcs/collectionsDocsListDocsExtended.js +131 -0
  25. package/dist/commonjs/funcs/collectionsDocsListDocsExtended.js.map +1 -0
  26. package/dist/commonjs/index.d.ts +4 -1
  27. package/dist/commonjs/index.d.ts.map +1 -1
  28. package/dist/commonjs/index.js +15 -1
  29. package/dist/commonjs/index.js.map +1 -1
  30. package/dist/commonjs/lib/config.d.ts +2 -2
  31. package/dist/commonjs/lib/config.js +2 -2
  32. package/dist/commonjs/lib/config.js.map +1 -1
  33. package/dist/commonjs/lib/queryInput.d.ts +3 -11
  34. package/dist/commonjs/lib/queryInput.d.ts.map +1 -1
  35. package/dist/commonjs/lib/queryInput.js.map +1 -1
  36. package/dist/commonjs/models/collectionresponse.d.ts +12 -21
  37. package/dist/commonjs/models/collectionresponse.d.ts.map +1 -1
  38. package/dist/commonjs/models/collectionresponse.js +5 -6
  39. package/dist/commonjs/models/collectionresponse.js.map +1 -1
  40. package/dist/commonjs/models/index.d.ts +1 -0
  41. package/dist/commonjs/models/index.d.ts.map +1 -1
  42. package/dist/commonjs/models/index.js +1 -0
  43. package/dist/commonjs/models/index.js.map +1 -1
  44. package/dist/commonjs/models/operations/bulkupsertdocs.d.ts +6 -0
  45. package/dist/commonjs/models/operations/bulkupsertdocs.d.ts.map +1 -1
  46. package/dist/commonjs/models/operations/bulkupsertdocs.js +2 -0
  47. package/dist/commonjs/models/operations/bulkupsertdocs.js.map +1 -1
  48. package/dist/commonjs/models/operations/createcollection.d.ts +20 -13
  49. package/dist/commonjs/models/operations/createcollection.d.ts.map +1 -1
  50. package/dist/commonjs/models/operations/createcollection.js +15 -7
  51. package/dist/commonjs/models/operations/createcollection.js.map +1 -1
  52. package/dist/commonjs/models/operations/deletedocs.d.ts +3 -0
  53. package/dist/commonjs/models/operations/deletedocs.d.ts.map +1 -1
  54. package/dist/commonjs/models/operations/deletedocs.js +1 -0
  55. package/dist/commonjs/models/operations/deletedocs.js.map +1 -1
  56. package/dist/commonjs/models/operations/fetchdocs.d.ts +3 -0
  57. package/dist/commonjs/models/operations/fetchdocs.d.ts.map +1 -1
  58. package/dist/commonjs/models/operations/fetchdocs.js +9 -0
  59. package/dist/commonjs/models/operations/fetchdocs.js.map +1 -1
  60. package/dist/commonjs/models/operations/getbulkupsertdocs.d.ts +5 -0
  61. package/dist/commonjs/models/operations/getbulkupsertdocs.d.ts.map +1 -1
  62. package/dist/commonjs/models/operations/getbulkupsertdocs.js +5 -3
  63. package/dist/commonjs/models/operations/getbulkupsertdocs.js.map +1 -1
  64. package/dist/commonjs/models/operations/listdocs.d.ts +69 -0
  65. package/dist/commonjs/models/operations/listdocs.d.ts.map +1 -1
  66. package/dist/commonjs/models/operations/listdocs.js +41 -1
  67. package/dist/commonjs/models/operations/listdocs.js.map +1 -1
  68. package/dist/commonjs/models/operations/querycollection.d.ts +3 -0
  69. package/dist/commonjs/models/operations/querycollection.d.ts.map +1 -1
  70. package/dist/commonjs/models/operations/querycollection.js +9 -0
  71. package/dist/commonjs/models/operations/querycollection.js.map +1 -1
  72. package/dist/commonjs/models/operations/updatecollection.d.ts +10 -4
  73. package/dist/commonjs/models/operations/updatecollection.d.ts.map +1 -1
  74. package/dist/commonjs/models/operations/updatecollection.js +8 -1
  75. package/dist/commonjs/models/operations/updatecollection.js.map +1 -1
  76. package/dist/commonjs/models/operations/updatedocs.d.ts +3 -0
  77. package/dist/commonjs/models/operations/updatedocs.d.ts.map +1 -1
  78. package/dist/commonjs/models/operations/updatedocs.js +1 -0
  79. package/dist/commonjs/models/operations/updatedocs.js.map +1 -1
  80. package/dist/commonjs/models/operations/upsertdocs.d.ts +3 -0
  81. package/dist/commonjs/models/operations/upsertdocs.d.ts.map +1 -1
  82. package/dist/commonjs/models/operations/upsertdocs.js +1 -0
  83. package/dist/commonjs/models/operations/upsertdocs.js.map +1 -1
  84. package/dist/commonjs/models/versioning.d.ts +100 -0
  85. package/dist/commonjs/models/versioning.d.ts.map +1 -0
  86. package/dist/commonjs/models/versioning.js +93 -0
  87. package/dist/commonjs/models/versioning.js.map +1 -0
  88. package/dist/commonjs/types/public.d.ts +86 -8
  89. package/dist/commonjs/types/public.d.ts.map +1 -1
  90. package/dist/commonjs/types/public.js +30 -7
  91. package/dist/commonjs/types/public.js.map +1 -1
  92. package/dist/commonjs/versioning.d.ts +63 -0
  93. package/dist/commonjs/versioning.d.ts.map +1 -0
  94. package/dist/commonjs/versioning.js +390 -0
  95. package/dist/commonjs/versioning.js.map +1 -0
  96. package/dist/esm/client.d.ts +25 -10
  97. package/dist/esm/client.d.ts.map +1 -1
  98. package/dist/esm/client.js +234 -61
  99. package/dist/esm/client.js.map +1 -1
  100. package/dist/esm/compat/qdrant/client.d.ts +6 -10
  101. package/dist/esm/compat/qdrant/client.d.ts.map +1 -1
  102. package/dist/esm/compat/qdrant/client.js +33 -15
  103. package/dist/esm/compat/qdrant/client.js.map +1 -1
  104. package/dist/esm/compat/qdrant/filters.js +5 -1
  105. package/dist/esm/compat/qdrant/filters.js.map +1 -1
  106. package/dist/esm/funcs/collectionsCreate.js +1 -1
  107. package/dist/esm/funcs/collectionsDelete.js +1 -1
  108. package/dist/esm/funcs/collectionsDocsGetBulkUpsert.js +5 -1
  109. package/dist/esm/funcs/collectionsDocsGetBulkUpsert.js.map +1 -1
  110. package/dist/esm/funcs/collectionsDocsListDocs.js +3 -0
  111. package/dist/esm/funcs/collectionsDocsListDocs.js.map +1 -1
  112. package/dist/esm/funcs/collectionsDocsListDocsExtended.d.ts +15 -0
  113. package/dist/esm/funcs/collectionsDocsListDocsExtended.d.ts.map +1 -0
  114. package/dist/esm/funcs/collectionsDocsListDocsExtended.js +95 -0
  115. package/dist/esm/funcs/collectionsDocsListDocsExtended.js.map +1 -0
  116. package/dist/esm/index.d.ts +4 -1
  117. package/dist/esm/index.d.ts.map +1 -1
  118. package/dist/esm/index.js +3 -1
  119. package/dist/esm/index.js.map +1 -1
  120. package/dist/esm/lib/config.d.ts +2 -2
  121. package/dist/esm/lib/config.js +2 -2
  122. package/dist/esm/lib/config.js.map +1 -1
  123. package/dist/esm/lib/queryInput.d.ts +3 -11
  124. package/dist/esm/lib/queryInput.d.ts.map +1 -1
  125. package/dist/esm/lib/queryInput.js.map +1 -1
  126. package/dist/esm/models/collectionresponse.d.ts +12 -21
  127. package/dist/esm/models/collectionresponse.d.ts.map +1 -1
  128. package/dist/esm/models/collectionresponse.js +5 -6
  129. package/dist/esm/models/collectionresponse.js.map +1 -1
  130. package/dist/esm/models/index.d.ts +1 -0
  131. package/dist/esm/models/index.d.ts.map +1 -1
  132. package/dist/esm/models/index.js +1 -0
  133. package/dist/esm/models/index.js.map +1 -1
  134. package/dist/esm/models/operations/bulkupsertdocs.d.ts +6 -0
  135. package/dist/esm/models/operations/bulkupsertdocs.d.ts.map +1 -1
  136. package/dist/esm/models/operations/bulkupsertdocs.js +2 -0
  137. package/dist/esm/models/operations/bulkupsertdocs.js.map +1 -1
  138. package/dist/esm/models/operations/createcollection.d.ts +20 -13
  139. package/dist/esm/models/operations/createcollection.d.ts.map +1 -1
  140. package/dist/esm/models/operations/createcollection.js +15 -7
  141. package/dist/esm/models/operations/createcollection.js.map +1 -1
  142. package/dist/esm/models/operations/deletedocs.d.ts +3 -0
  143. package/dist/esm/models/operations/deletedocs.d.ts.map +1 -1
  144. package/dist/esm/models/operations/deletedocs.js +1 -0
  145. package/dist/esm/models/operations/deletedocs.js.map +1 -1
  146. package/dist/esm/models/operations/fetchdocs.d.ts +3 -0
  147. package/dist/esm/models/operations/fetchdocs.d.ts.map +1 -1
  148. package/dist/esm/models/operations/fetchdocs.js +9 -0
  149. package/dist/esm/models/operations/fetchdocs.js.map +1 -1
  150. package/dist/esm/models/operations/getbulkupsertdocs.d.ts +5 -0
  151. package/dist/esm/models/operations/getbulkupsertdocs.d.ts.map +1 -1
  152. package/dist/esm/models/operations/getbulkupsertdocs.js +6 -4
  153. package/dist/esm/models/operations/getbulkupsertdocs.js.map +1 -1
  154. package/dist/esm/models/operations/listdocs.d.ts +69 -0
  155. package/dist/esm/models/operations/listdocs.d.ts.map +1 -1
  156. package/dist/esm/models/operations/listdocs.js +38 -0
  157. package/dist/esm/models/operations/listdocs.js.map +1 -1
  158. package/dist/esm/models/operations/querycollection.d.ts +3 -0
  159. package/dist/esm/models/operations/querycollection.d.ts.map +1 -1
  160. package/dist/esm/models/operations/querycollection.js +9 -0
  161. package/dist/esm/models/operations/querycollection.js.map +1 -1
  162. package/dist/esm/models/operations/updatecollection.d.ts +10 -4
  163. package/dist/esm/models/operations/updatecollection.d.ts.map +1 -1
  164. package/dist/esm/models/operations/updatecollection.js +8 -1
  165. package/dist/esm/models/operations/updatecollection.js.map +1 -1
  166. package/dist/esm/models/operations/updatedocs.d.ts +3 -0
  167. package/dist/esm/models/operations/updatedocs.d.ts.map +1 -1
  168. package/dist/esm/models/operations/updatedocs.js +1 -0
  169. package/dist/esm/models/operations/updatedocs.js.map +1 -1
  170. package/dist/esm/models/operations/upsertdocs.d.ts +3 -0
  171. package/dist/esm/models/operations/upsertdocs.d.ts.map +1 -1
  172. package/dist/esm/models/operations/upsertdocs.js +1 -0
  173. package/dist/esm/models/operations/upsertdocs.js.map +1 -1
  174. package/dist/esm/models/versioning.d.ts +100 -0
  175. package/dist/esm/models/versioning.d.ts.map +1 -0
  176. package/dist/esm/models/versioning.js +57 -0
  177. package/dist/esm/models/versioning.js.map +1 -0
  178. package/dist/esm/types/public.d.ts +86 -8
  179. package/dist/esm/types/public.d.ts.map +1 -1
  180. package/dist/esm/types/public.js +26 -7
  181. package/dist/esm/types/public.js.map +1 -1
  182. package/dist/esm/versioning.d.ts +63 -0
  183. package/dist/esm/versioning.d.ts.map +1 -0
  184. package/dist/esm/versioning.js +344 -0
  185. package/dist/esm/versioning.js.map +1 -0
  186. package/jsr.json +3 -1
  187. package/package.json +14 -2
  188. package/src/client.ts +367 -72
  189. package/src/compat/qdrant/client.ts +46 -20
  190. package/src/compat/qdrant/filters.ts +5 -3
  191. package/src/funcs/collectionsCreate.ts +1 -1
  192. package/src/funcs/collectionsDelete.ts +1 -1
  193. package/src/funcs/collectionsDocsGetBulkUpsert.ts +6 -1
  194. package/src/funcs/collectionsDocsListDocs.ts +3 -0
  195. package/src/funcs/collectionsDocsListDocsExtended.ts +201 -0
  196. package/src/index.ts +17 -0
  197. package/src/lib/config.ts +2 -2
  198. package/src/lib/queryInput.ts +3 -10
  199. package/src/models/collectionresponse.ts +17 -26
  200. package/src/models/index.ts +1 -0
  201. package/src/models/operations/bulkupsertdocs.ts +8 -0
  202. package/src/models/operations/createcollection.ts +39 -18
  203. package/src/models/operations/deletedocs.ts +4 -0
  204. package/src/models/operations/fetchdocs.ts +12 -0
  205. package/src/models/operations/getbulkupsertdocs.ts +11 -4
  206. package/src/models/operations/listdocs.ts +120 -0
  207. package/src/models/operations/querycollection.ts +12 -0
  208. package/src/models/operations/updatecollection.ts +21 -3
  209. package/src/models/operations/updatedocs.ts +4 -0
  210. package/src/models/operations/upsertdocs.ts +4 -0
  211. package/src/models/versioning.ts +118 -0
  212. package/src/types/public.ts +136 -16
  213. package/src/versioning.ts +490 -0
  214. package/examples/collectionScoped.example.ts +0 -38
  215. package/examples/collectionsList.example.ts +0 -25
  216. package/examples/package-lock.json +0 -612
  217. package/examples/package.json +0 -18
  218. package/test/integration/qdrant-compat-external.test.mjs +0 -351
  219. package/test/integration/qdrant-compat-live.test.mjs +0 -122
  220. package/test/null-response.test.mjs +0 -73
  221. package/test/public-api.test.mjs +0 -489
  222. package/test/qdrant-compat.test.mjs +0 -467
  223. package/tsconfig.json +0 -39
@@ -13,30 +13,38 @@ export type CreateCollectionRequest = {
13
13
  * Collection name must be unique within a project and the supported maximum length is 52.
14
14
  */
15
15
  collectionName: string;
16
- indexConfigs?: { [k: string]: models.IndexConfigsUnion } | undefined;
16
+ indexConfigs: { [k: string]: models.IndexConfigsUnion };
17
+ description?: string | undefined;
18
+ tags?: Record<string, string> | undefined;
17
19
  partitionConfig?: models.PartitionConfig | undefined;
18
- sourceProjectName?: string | undefined;
19
- sourceCollectionName?: string | undefined;
20
- sourceDatetime?: string | undefined;
21
- sourceProjectApiKey?: string | undefined;
20
+ snapshotRetentionInDays?: number | undefined;
21
+ };
22
+
23
+ export type CreatedCollection = {
24
+ collectionName: string;
25
+ description: string;
26
+ tags: Record<string, string>;
27
+ defaultBranchName: "main";
28
+ snapshotRetentionInDays: number;
29
+ /** Collection creation time as Unix epoch milliseconds. */
30
+ createdAt: number;
22
31
  };
23
32
 
24
33
  /**
25
34
  * Created collection
26
35
  */
27
36
  export type CreateCollectionResponse = {
28
- collection: models.CollectionResponse;
37
+ collection: CreatedCollection;
29
38
  };
30
39
 
31
40
  /** @internal */
32
41
  export type CreateCollectionRequest$Outbound = {
33
42
  collectionName: string;
34
- indexConfigs?: { [k: string]: models.IndexConfigsUnion$Outbound } | undefined;
43
+ indexConfigs: { [k: string]: models.IndexConfigsUnion$Outbound };
44
+ description?: string | undefined;
45
+ tags?: Record<string, string> | undefined;
35
46
  partitionConfig?: models.PartitionConfig$Outbound | undefined;
36
- sourceProjectName?: string | undefined;
37
- sourceCollectionName?: string | undefined;
38
- sourceDatetime?: string | undefined;
39
- sourceProjectApiKey?: string | undefined;
47
+ snapshotRetentionInDays?: number | undefined;
40
48
  };
41
49
 
42
50
  /** @internal */
@@ -45,13 +53,19 @@ export const CreateCollectionRequest$outboundSchema: z.ZodType<
45
53
  z.ZodTypeDef,
46
54
  CreateCollectionRequest
47
55
  > = z.object({
48
- collectionName: z.string(),
49
- indexConfigs: z.record(models.IndexConfigsUnion$outboundSchema).optional(),
56
+ collectionName: z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/),
57
+ indexConfigs: z.record(models.IndexConfigsUnion$outboundSchema),
58
+ description: z.string().max(255).optional(),
59
+ tags: z.record(
60
+ z.string().min(1).max(127).regex(/^[^:#,]+$/),
61
+ ).refine((value) => Object.keys(value).length <= 5, {
62
+ message: "Collection tags support at most five entries",
63
+ }).refine(
64
+ (value) => Object.keys(value).every((key) => /^[A-Za-z0-9_.-]{1,63}$/.test(key)),
65
+ { message: "Invalid collection tag key" },
66
+ ).optional(),
50
67
  partitionConfig: models.PartitionConfig$outboundSchema.optional(),
51
- sourceProjectName: z.string().optional(),
52
- sourceCollectionName: z.string().optional(),
53
- sourceDatetime: z.string().optional(),
54
- sourceProjectApiKey: z.string().optional(),
68
+ snapshotRetentionInDays: z.number().int().min(1).max(31).optional(),
55
69
  });
56
70
 
57
71
  export function createCollectionRequestToJSON(
@@ -68,7 +82,14 @@ export const CreateCollectionResponse$inboundSchema: z.ZodType<
68
82
  z.ZodTypeDef,
69
83
  unknown
70
84
  > = z.object({
71
- collection: models.CollectionResponse$inboundSchema,
85
+ collection: z.object({
86
+ collectionName: z.string(),
87
+ description: z.string(),
88
+ tags: z.record(z.string()),
89
+ defaultBranchName: z.literal("main"),
90
+ snapshotRetentionInDays: z.number().int().min(1).max(31),
91
+ createdAt: z.number().int(),
92
+ }),
72
93
  });
73
94
 
74
95
  export function createCollectionResponseFromJSON(
@@ -16,6 +16,8 @@ export type DeleteDocsRequestBody = {
16
16
  */
17
17
  filter?: { [k: string]: any } | undefined;
18
18
  partitionFilter?: models.PartitionFilter | undefined;
19
+ /** Write target Branch. Omitting it writes to main. */
20
+ branch?: string | undefined;
19
21
  };
20
22
 
21
23
  export type DeleteDocsRequest = {
@@ -31,6 +33,7 @@ export type DeleteDocsRequestBody$Outbound = {
31
33
  ids?: Array<string> | undefined;
32
34
  filter?: { [k: string]: any } | undefined;
33
35
  partitionFilter?: models.PartitionFilter$Outbound | undefined;
36
+ branch?: string | undefined;
34
37
  };
35
38
 
36
39
  /** @internal */
@@ -42,6 +45,7 @@ export const DeleteDocsRequestBody$outboundSchema: z.ZodType<
42
45
  ids: z.array(z.string()).optional(),
43
46
  filter: z.record(z.any()).optional(),
44
47
  partitionFilter: models.PartitionFilter$outboundSchema.optional(),
48
+ branch: z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/).optional(),
45
49
  });
46
50
 
47
51
  export function deleteDocsRequestBodyToJSON(
@@ -27,6 +27,8 @@ export type FetchDocsRequestBody = {
27
27
  */
28
28
  fields?: models.FieldsSelectorUnion | undefined;
29
29
  partitionFilter?: models.PartitionFilter | undefined;
30
+ /** Read target. Omitting it reads from main. */
31
+ ref?: models.ReadRef | undefined;
30
32
  };
31
33
 
32
34
  export type FetchDocsRequest = {
@@ -72,6 +74,7 @@ export type FetchDocsRequestBody$Outbound = {
72
74
  includeVectors: boolean;
73
75
  fields?: models.FieldsSelectorUnion$Outbound | undefined;
74
76
  partitionFilter?: models.PartitionFilter$Outbound | undefined;
77
+ ref?: models.ReadRef | undefined;
75
78
  };
76
79
 
77
80
  /** @internal */
@@ -85,6 +88,15 @@ export const FetchDocsRequestBody$outboundSchema: z.ZodType<
85
88
  includeVectors: z.boolean().default(false),
86
89
  fields: models.FieldsSelectorUnion$outboundSchema.optional(),
87
90
  partitionFilter: models.PartitionFilter$outboundSchema.optional(),
91
+ ref: models.ReadRef$schema.optional(),
92
+ }).superRefine((value, context) => {
93
+ if (value.consistentRead && value.ref != null && value.ref.kind !== "branch") {
94
+ context.addIssue({
95
+ code: z.ZodIssueCode.custom,
96
+ message: "consistentRead is supported only for direct Branch reads",
97
+ path: ["consistentRead"],
98
+ });
99
+ }
88
100
  });
89
101
 
90
102
  export function fetchDocsRequestBodyToJSON(
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v3";
6
- import { nullToUndefined, safeParse } from "../../lib/schemas.js";
6
+ import { safeParse } from "../../lib/schemas.js";
7
7
  import { ClosedEnum } from "../../types/enums.js";
8
8
  import { Result as SafeParseResult } from "../../types/fp.js";
9
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
@@ -13,6 +13,8 @@ export type GetBulkUpsertDocsRequest = {
13
13
  * Collection name.
14
14
  */
15
15
  collectionName: string;
16
+ /** Write target Branch. Omitting it writes to main. */
17
+ branch?: string | undefined;
16
18
  };
17
19
 
18
20
  /**
@@ -61,11 +63,14 @@ export type GetBulkUpsertDocsResponse = {
61
63
  * Object size limit in bytes.
62
64
  */
63
65
  sizeLimitBytes: number;
66
+ /** Signed headers to forward unchanged to the presigned upload URL. */
67
+ headers: Record<string, string>;
64
68
  };
65
69
 
66
70
  /** @internal */
67
71
  export type GetBulkUpsertDocsRequest$Outbound = {
68
72
  collectionName: string;
73
+ branch?: string | undefined;
69
74
  };
70
75
 
71
76
  /** @internal */
@@ -75,6 +80,7 @@ export const GetBulkUpsertDocsRequest$outboundSchema: z.ZodType<
75
80
  GetBulkUpsertDocsRequest
76
81
  > = z.object({
77
82
  collectionName: z.string(),
83
+ branch: z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/).optional(),
78
84
  });
79
85
 
80
86
  export function getBulkUpsertDocsRequestToJSON(
@@ -101,10 +107,11 @@ export const GetBulkUpsertDocsResponse$inboundSchema: z.ZodType<
101
107
  unknown
102
108
  > = z.object({
103
109
  url: z.string(),
104
- type: nullToUndefined(Type$inboundSchema.default("application/json")),
105
- httpMethod: nullToUndefined(HttpMethod$inboundSchema.default("PUT")),
110
+ type: Type$inboundSchema,
111
+ httpMethod: HttpMethod$inboundSchema,
106
112
  objectKey: z.string(),
107
- sizeLimitBytes: nullToUndefined(z.number().int().default(209715200)),
113
+ sizeLimitBytes: z.number().int(),
114
+ headers: z.record(z.string()),
108
115
  });
109
116
 
110
117
  export function getBulkUpsertDocsResponseFromJSON(
@@ -3,9 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
6
7
  import { nullToUndefined, safeParse } from "../../lib/schemas.js";
7
8
  import { Result as SafeParseResult } from "../../types/fp.js";
8
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import * as models from "../index.js";
9
11
 
10
12
  export type ListDocsRequest = {
11
13
  /**
@@ -20,6 +22,14 @@ export type ListDocsRequest = {
20
22
  * Next page token.
21
23
  */
22
24
  pageToken?: string | undefined;
25
+ /**
26
+ * Set to true to include vector values in the response. Defaults to false.
27
+ */
28
+ includeVectors?: boolean | undefined;
29
+ /** Read ref kind. Must be supplied together with refName. */
30
+ refKind?: models.ReadRef["kind"] | undefined;
31
+ /** Read ref name. Must be supplied together with refKind. */
32
+ refName?: string | undefined;
23
33
  };
24
34
 
25
35
  export type ListDocsDoc = {
@@ -52,6 +62,9 @@ export type ListDocsRequest$Outbound = {
52
62
  collectionName: string;
53
63
  size?: number | undefined;
54
64
  pageToken?: string | undefined;
65
+ includeVectors: boolean;
66
+ refKind?: models.ReadRef["kind"] | undefined;
67
+ refName?: string | undefined;
55
68
  };
56
69
 
57
70
  /** @internal */
@@ -63,6 +76,17 @@ export const ListDocsRequest$outboundSchema: z.ZodType<
63
76
  collectionName: z.string(),
64
77
  size: z.number().int().optional(),
65
78
  pageToken: z.string().optional(),
79
+ includeVectors: z.boolean().default(false),
80
+ refKind: z.enum(["branch", "tag", "alias"]).optional(),
81
+ refName: z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/).optional(),
82
+ }).superRefine((value, context) => {
83
+ if ((value.refKind == null) !== (value.refName == null)) {
84
+ context.addIssue({
85
+ code: z.ZodIssueCode.custom,
86
+ message: "refKind and refName must be supplied together",
87
+ path: [value.refKind == null ? "refKind" : "refName"],
88
+ });
89
+ }
66
90
  });
67
91
 
68
92
  export function listDocsRequestToJSON(
@@ -71,6 +95,102 @@ export function listDocsRequestToJSON(
71
95
  return JSON.stringify(ListDocsRequest$outboundSchema.parse(listDocsRequest));
72
96
  }
73
97
 
98
+ export type ListDocsExtendedRequestBody = {
99
+ /**
100
+ * Max number of documents to return at once.
101
+ */
102
+ size?: number | undefined;
103
+ /**
104
+ * Next page token.
105
+ */
106
+ pageToken?: string | undefined;
107
+ /**
108
+ * Filter applied before pagination.
109
+ */
110
+ filter?: { [k: string]: any } | undefined;
111
+ partitionFilter?: models.PartitionFilter | undefined;
112
+ /**
113
+ * An object to specify a list of field names to include and/or exclude in the result.
114
+ */
115
+ fields?: models.FieldsSelectorUnion | undefined;
116
+ /**
117
+ * Set to true to include vector values in the response. Defaults to false.
118
+ */
119
+ includeVectors?: boolean | undefined;
120
+ /** Read target. Omitting it reads from main. */
121
+ ref?: models.ReadRef | undefined;
122
+ };
123
+
124
+ export type ListDocsExtendedRequest = {
125
+ /**
126
+ * Collection name.
127
+ */
128
+ collectionName: string;
129
+ requestBody: ListDocsExtendedRequestBody;
130
+ };
131
+
132
+ /** @internal */
133
+ export type ListDocsExtendedRequestBody$Outbound = {
134
+ size?: number | undefined;
135
+ pageToken?: string | undefined;
136
+ filter?: { [k: string]: any } | undefined;
137
+ partitionFilter?: models.PartitionFilter$Outbound | undefined;
138
+ fields?: models.FieldsSelectorUnion$Outbound | undefined;
139
+ includeVectors: boolean;
140
+ ref?: models.ReadRef | undefined;
141
+ };
142
+
143
+ /** @internal */
144
+ export const ListDocsExtendedRequestBody$outboundSchema: z.ZodType<
145
+ ListDocsExtendedRequestBody$Outbound,
146
+ z.ZodTypeDef,
147
+ ListDocsExtendedRequestBody
148
+ > = z.object({
149
+ size: z.number().int().optional(),
150
+ pageToken: z.string().optional(),
151
+ filter: z.record(z.any()).optional(),
152
+ partitionFilter: models.PartitionFilter$outboundSchema.optional(),
153
+ fields: models.FieldsSelectorUnion$outboundSchema.optional(),
154
+ includeVectors: z.boolean().default(false),
155
+ ref: models.ReadRef$schema.optional(),
156
+ });
157
+
158
+ export function listDocsExtendedRequestBodyToJSON(
159
+ listDocsExtendedRequestBody: ListDocsExtendedRequestBody,
160
+ ): string {
161
+ return JSON.stringify(
162
+ ListDocsExtendedRequestBody$outboundSchema.parse(listDocsExtendedRequestBody),
163
+ );
164
+ }
165
+
166
+ /** @internal */
167
+ export type ListDocsExtendedRequest$Outbound = {
168
+ collectionName: string;
169
+ RequestBody: ListDocsExtendedRequestBody$Outbound;
170
+ };
171
+
172
+ /** @internal */
173
+ export const ListDocsExtendedRequest$outboundSchema: z.ZodType<
174
+ ListDocsExtendedRequest$Outbound,
175
+ z.ZodTypeDef,
176
+ ListDocsExtendedRequest
177
+ > = z.object({
178
+ collectionName: z.string(),
179
+ requestBody: z.lazy(() => ListDocsExtendedRequestBody$outboundSchema),
180
+ }).transform((v) => {
181
+ return remap$(v, {
182
+ requestBody: "RequestBody",
183
+ });
184
+ });
185
+
186
+ export function listDocsExtendedRequestToJSON(
187
+ listDocsExtendedRequest: ListDocsExtendedRequest,
188
+ ): string {
189
+ return JSON.stringify(
190
+ ListDocsExtendedRequest$outboundSchema.parse(listDocsExtendedRequest),
191
+ );
192
+ }
193
+
74
194
  /** @internal */
75
195
  export const ListDocsDoc$inboundSchema: z.ZodType<
76
196
  ListDocsDoc,
@@ -35,6 +35,8 @@ export type QueryCollectionRequestBody = {
35
35
  */
36
36
  fields?: models.FieldsSelectorUnion | undefined;
37
37
  partitionFilter?: models.PartitionFilter | undefined;
38
+ /** Read target. Omitting it reads from main. */
39
+ ref?: models.ReadRef | undefined;
38
40
  };
39
41
 
40
42
  export type QueryCollectionRequest = {
@@ -96,6 +98,7 @@ export type QueryCollectionRequestBody$Outbound = {
96
98
  sort?: Array<{ [k: string]: any }> | undefined;
97
99
  fields?: models.FieldsSelectorUnion$Outbound | undefined;
98
100
  partitionFilter?: models.PartitionFilter$Outbound | undefined;
101
+ ref?: models.ReadRef | undefined;
99
102
  };
100
103
 
101
104
  /** @internal */
@@ -111,6 +114,15 @@ export const QueryCollectionRequestBody$outboundSchema: z.ZodType<
111
114
  sort: z.array(z.record(z.any())).optional(),
112
115
  fields: models.FieldsSelectorUnion$outboundSchema.optional(),
113
116
  partitionFilter: models.PartitionFilter$outboundSchema.optional(),
117
+ ref: models.ReadRef$schema.optional(),
118
+ }).superRefine((value, context) => {
119
+ if (value.consistentRead && value.ref != null && value.ref.kind !== "branch") {
120
+ context.addIssue({
121
+ code: z.ZodIssueCode.custom,
122
+ message: "consistentRead is supported only for direct Branch reads",
123
+ path: ["consistentRead"],
124
+ });
125
+ }
114
126
  });
115
127
 
116
128
  export function queryCollectionRequestBodyToJSON(
@@ -10,7 +10,10 @@ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
10
  import * as models from "../index.js";
11
11
 
12
12
  export type UpdateCollectionRequestBody = {
13
- indexConfigs: { [k: string]: models.IndexConfigsUnion };
13
+ indexConfigs?: { [k: string]: models.IndexConfigsUnion } | undefined;
14
+ description?: string | undefined;
15
+ tags?: Record<string, string> | undefined;
16
+ snapshotRetentionInDays?: number | undefined;
14
17
  };
15
18
 
16
19
  export type UpdateCollectionRequest = {
@@ -30,7 +33,10 @@ export type UpdateCollectionResponse = {
30
33
 
31
34
  /** @internal */
32
35
  export type UpdateCollectionRequestBody$Outbound = {
33
- indexConfigs: { [k: string]: models.IndexConfigsUnion$Outbound };
36
+ indexConfigs?: { [k: string]: models.IndexConfigsUnion$Outbound } | undefined;
37
+ description?: string | undefined;
38
+ tags?: Record<string, string> | undefined;
39
+ snapshotRetentionInDays?: number | undefined;
34
40
  };
35
41
 
36
42
  /** @internal */
@@ -39,7 +45,19 @@ export const UpdateCollectionRequestBody$outboundSchema: z.ZodType<
39
45
  z.ZodTypeDef,
40
46
  UpdateCollectionRequestBody
41
47
  > = z.object({
42
- indexConfigs: z.record(models.IndexConfigsUnion$outboundSchema),
48
+ indexConfigs: z.record(models.IndexConfigsUnion$outboundSchema).optional(),
49
+ description: z.string().max(255).optional(),
50
+ tags: z.record(
51
+ z.string().min(1).max(127).regex(/^[^:#,]+$/),
52
+ ).refine((value) => Object.keys(value).length <= 5, {
53
+ message: "Collection tags support at most five entries",
54
+ }).refine(
55
+ (value) => Object.keys(value).every((key) => /^[A-Za-z0-9_.-]{1,63}$/.test(key)),
56
+ { message: "Invalid collection tag key" },
57
+ ).optional(),
58
+ snapshotRetentionInDays: z.number().int().min(1).max(31).optional(),
59
+ }).refine((value) => Object.values(value).some((item) => item !== undefined), {
60
+ message: "At least one collection field must be provided",
43
61
  });
44
62
 
45
63
  export function updateCollectionRequestBodyToJSON(
@@ -10,6 +10,8 @@ export type UpdateDocsRequestBody = {
10
10
  * A list of documents to update. Each document must contain 'id' field to be updated. For managed embedding vector fields, omit the managed vector field and update only the configured source text field.
11
11
  */
12
12
  docs: Array<{ [k: string]: any }>;
13
+ /** Write target Branch. Omitting it writes to main. */
14
+ branch?: string | undefined;
13
15
  };
14
16
 
15
17
  export type UpdateDocsRequest = {
@@ -23,6 +25,7 @@ export type UpdateDocsRequest = {
23
25
  /** @internal */
24
26
  export type UpdateDocsRequestBody$Outbound = {
25
27
  docs: Array<{ [k: string]: any }>;
28
+ branch?: string | undefined;
26
29
  };
27
30
 
28
31
  /** @internal */
@@ -32,6 +35,7 @@ export const UpdateDocsRequestBody$outboundSchema: z.ZodType<
32
35
  UpdateDocsRequestBody
33
36
  > = z.object({
34
37
  docs: z.array(z.record(z.any())),
38
+ branch: z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/).optional(),
35
39
  });
36
40
 
37
41
  export function updateDocsRequestBodyToJSON(
@@ -10,6 +10,8 @@ export type UpsertDocsRequestBody = {
10
10
  * A list of documents to upsert. For managed embedding vector fields, omit the managed vector field and provide only the configured source text field.
11
11
  */
12
12
  docs: Array<{ [k: string]: any }>;
13
+ /** Write target Branch. Omitting it writes to main. */
14
+ branch?: string | undefined;
13
15
  };
14
16
 
15
17
  export type UpsertDocsRequest = {
@@ -23,6 +25,7 @@ export type UpsertDocsRequest = {
23
25
  /** @internal */
24
26
  export type UpsertDocsRequestBody$Outbound = {
25
27
  docs: Array<{ [k: string]: any }>;
28
+ branch?: string | undefined;
26
29
  };
27
30
 
28
31
  /** @internal */
@@ -32,6 +35,7 @@ export const UpsertDocsRequestBody$outboundSchema: z.ZodType<
32
35
  UpsertDocsRequestBody
33
36
  > = z.object({
34
37
  docs: z.array(z.record(z.any())),
38
+ branch: z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/).optional(),
35
39
  });
36
40
 
37
41
  export function upsertDocsRequestBodyToJSON(
@@ -0,0 +1,118 @@
1
+ import * as z from "zod/v3";
2
+
3
+ const refNameSchema = z.string().regex(/^[a-zA-Z0-9_-]{3,52}$/);
4
+
5
+ export type BranchRef = {
6
+ kind: "branch";
7
+ name: string;
8
+ };
9
+
10
+ export type TagRef = {
11
+ kind: "tag";
12
+ name: string;
13
+ };
14
+
15
+ export type AliasRef = {
16
+ kind: "alias";
17
+ name: string;
18
+ };
19
+
20
+ /** A Branch, Tag, or Alias used to select document reads. */
21
+ export type ReadRef = BranchRef | TagRef | AliasRef;
22
+
23
+ export type BranchSource = BranchRef & {
24
+ /** Latest committed snapshot cutoff as Unix epoch milliseconds. */
25
+ asOf?: number | undefined;
26
+ };
27
+
28
+ export type TagSource = TagRef;
29
+
30
+ /** A Branch or Tag used as the source of a new Branch or Tag. */
31
+ export type RefSource = BranchSource | TagSource;
32
+
33
+ /** A Branch or Tag used as the target of an Alias. */
34
+ export type AliasTarget = BranchRef | TagRef;
35
+
36
+ export type RefDetails = {
37
+ name: string;
38
+ snapshotId: string | null;
39
+ /** Ref creation time as Unix epoch milliseconds. */
40
+ createdAt: number;
41
+ };
42
+
43
+ export type AliasTargetKind = "BRANCH" | "TAG";
44
+
45
+ export type AliasDetails = {
46
+ aliasId: string;
47
+ aliasName: string;
48
+ targetKind: AliasTargetKind;
49
+ targetName: string;
50
+ targetId: string;
51
+ aliasRevision: number;
52
+ dangling: boolean;
53
+ /** Alias creation time as Unix epoch milliseconds. */
54
+ createdAt: number;
55
+ };
56
+
57
+ /** @internal */
58
+ export const BranchRef$schema = z.object({
59
+ kind: z.literal("branch"),
60
+ name: refNameSchema,
61
+ }).strict();
62
+
63
+ /** @internal */
64
+ export const TagRef$schema = z.object({
65
+ kind: z.literal("tag"),
66
+ name: refNameSchema,
67
+ }).strict();
68
+
69
+ /** @internal */
70
+ export const AliasRef$schema = z.object({
71
+ kind: z.literal("alias"),
72
+ name: refNameSchema,
73
+ }).strict();
74
+
75
+ /** @internal */
76
+ export const ReadRef$schema: z.ZodType<ReadRef> = z.discriminatedUnion("kind", [
77
+ BranchRef$schema,
78
+ TagRef$schema,
79
+ AliasRef$schema,
80
+ ]);
81
+
82
+ /** @internal */
83
+ export const BranchSource$schema = z.object({
84
+ kind: z.literal("branch"),
85
+ name: refNameSchema,
86
+ asOf: z.number().int().optional(),
87
+ }).strict();
88
+
89
+ /** @internal */
90
+ export const RefSource$schema: z.ZodType<RefSource> = z.union([
91
+ BranchSource$schema,
92
+ TagRef$schema,
93
+ ]);
94
+
95
+ /** @internal */
96
+ export const AliasTarget$schema: z.ZodType<AliasTarget> = z.union([
97
+ BranchRef$schema,
98
+ TagRef$schema,
99
+ ]);
100
+
101
+ /** @internal */
102
+ export const RefDetails$inboundSchema: z.ZodType<RefDetails> = z.object({
103
+ name: z.string(),
104
+ snapshotId: z.string().nullable(),
105
+ createdAt: z.number().int(),
106
+ });
107
+
108
+ /** @internal */
109
+ export const AliasDetails$inboundSchema: z.ZodType<AliasDetails> = z.object({
110
+ aliasId: z.string(),
111
+ aliasName: z.string(),
112
+ targetKind: z.enum(["BRANCH", "TAG"]),
113
+ targetName: z.string(),
114
+ targetId: z.string(),
115
+ aliasRevision: z.number().int().nonnegative(),
116
+ dangling: z.boolean(),
117
+ createdAt: z.number().int(),
118
+ });