@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.
- package/CHANGELOG.md +71 -0
- package/FUNCTIONS.md +7 -2
- package/README.md +60 -2
- package/RUNTIMES.md +7 -0
- package/USAGE.md +20 -0
- package/dist/commonjs/client.d.ts +25 -10
- package/dist/commonjs/client.d.ts.map +1 -1
- package/dist/commonjs/client.js +233 -59
- package/dist/commonjs/client.js.map +1 -1
- package/dist/commonjs/compat/qdrant/client.d.ts +6 -10
- package/dist/commonjs/compat/qdrant/client.d.ts.map +1 -1
- package/dist/commonjs/compat/qdrant/client.js +33 -15
- package/dist/commonjs/compat/qdrant/client.js.map +1 -1
- package/dist/commonjs/compat/qdrant/filters.js +5 -1
- package/dist/commonjs/compat/qdrant/filters.js.map +1 -1
- package/dist/commonjs/funcs/collectionsCreate.js +1 -1
- package/dist/commonjs/funcs/collectionsDelete.js +1 -1
- package/dist/commonjs/funcs/collectionsDocsGetBulkUpsert.js +4 -0
- package/dist/commonjs/funcs/collectionsDocsGetBulkUpsert.js.map +1 -1
- package/dist/commonjs/funcs/collectionsDocsListDocs.js +3 -0
- package/dist/commonjs/funcs/collectionsDocsListDocs.js.map +1 -1
- package/dist/commonjs/funcs/collectionsDocsListDocsExtended.d.ts +15 -0
- package/dist/commonjs/funcs/collectionsDocsListDocsExtended.d.ts.map +1 -0
- package/dist/commonjs/funcs/collectionsDocsListDocsExtended.js +131 -0
- package/dist/commonjs/funcs/collectionsDocsListDocsExtended.js.map +1 -0
- package/dist/commonjs/index.d.ts +4 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +15 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/lib/config.d.ts +2 -2
- package/dist/commonjs/lib/config.js +2 -2
- package/dist/commonjs/lib/config.js.map +1 -1
- package/dist/commonjs/lib/queryInput.d.ts +3 -11
- package/dist/commonjs/lib/queryInput.d.ts.map +1 -1
- package/dist/commonjs/lib/queryInput.js.map +1 -1
- package/dist/commonjs/models/collectionresponse.d.ts +12 -21
- package/dist/commonjs/models/collectionresponse.d.ts.map +1 -1
- package/dist/commonjs/models/collectionresponse.js +5 -6
- package/dist/commonjs/models/collectionresponse.js.map +1 -1
- package/dist/commonjs/models/index.d.ts +1 -0
- package/dist/commonjs/models/index.d.ts.map +1 -1
- package/dist/commonjs/models/index.js +1 -0
- package/dist/commonjs/models/index.js.map +1 -1
- package/dist/commonjs/models/operations/bulkupsertdocs.d.ts +6 -0
- package/dist/commonjs/models/operations/bulkupsertdocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/bulkupsertdocs.js +2 -0
- package/dist/commonjs/models/operations/bulkupsertdocs.js.map +1 -1
- package/dist/commonjs/models/operations/createcollection.d.ts +20 -13
- package/dist/commonjs/models/operations/createcollection.d.ts.map +1 -1
- package/dist/commonjs/models/operations/createcollection.js +15 -7
- package/dist/commonjs/models/operations/createcollection.js.map +1 -1
- package/dist/commonjs/models/operations/deletedocs.d.ts +3 -0
- package/dist/commonjs/models/operations/deletedocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/deletedocs.js +1 -0
- package/dist/commonjs/models/operations/deletedocs.js.map +1 -1
- package/dist/commonjs/models/operations/fetchdocs.d.ts +3 -0
- package/dist/commonjs/models/operations/fetchdocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/fetchdocs.js +9 -0
- package/dist/commonjs/models/operations/fetchdocs.js.map +1 -1
- package/dist/commonjs/models/operations/getbulkupsertdocs.d.ts +5 -0
- package/dist/commonjs/models/operations/getbulkupsertdocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/getbulkupsertdocs.js +5 -3
- package/dist/commonjs/models/operations/getbulkupsertdocs.js.map +1 -1
- package/dist/commonjs/models/operations/listdocs.d.ts +69 -0
- package/dist/commonjs/models/operations/listdocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/listdocs.js +41 -1
- package/dist/commonjs/models/operations/listdocs.js.map +1 -1
- package/dist/commonjs/models/operations/querycollection.d.ts +3 -0
- package/dist/commonjs/models/operations/querycollection.d.ts.map +1 -1
- package/dist/commonjs/models/operations/querycollection.js +9 -0
- package/dist/commonjs/models/operations/querycollection.js.map +1 -1
- package/dist/commonjs/models/operations/updatecollection.d.ts +10 -4
- package/dist/commonjs/models/operations/updatecollection.d.ts.map +1 -1
- package/dist/commonjs/models/operations/updatecollection.js +8 -1
- package/dist/commonjs/models/operations/updatecollection.js.map +1 -1
- package/dist/commonjs/models/operations/updatedocs.d.ts +3 -0
- package/dist/commonjs/models/operations/updatedocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/updatedocs.js +1 -0
- package/dist/commonjs/models/operations/updatedocs.js.map +1 -1
- package/dist/commonjs/models/operations/upsertdocs.d.ts +3 -0
- package/dist/commonjs/models/operations/upsertdocs.d.ts.map +1 -1
- package/dist/commonjs/models/operations/upsertdocs.js +1 -0
- package/dist/commonjs/models/operations/upsertdocs.js.map +1 -1
- package/dist/commonjs/models/versioning.d.ts +100 -0
- package/dist/commonjs/models/versioning.d.ts.map +1 -0
- package/dist/commonjs/models/versioning.js +93 -0
- package/dist/commonjs/models/versioning.js.map +1 -0
- package/dist/commonjs/types/public.d.ts +86 -8
- package/dist/commonjs/types/public.d.ts.map +1 -1
- package/dist/commonjs/types/public.js +30 -7
- package/dist/commonjs/types/public.js.map +1 -1
- package/dist/commonjs/versioning.d.ts +63 -0
- package/dist/commonjs/versioning.d.ts.map +1 -0
- package/dist/commonjs/versioning.js +390 -0
- package/dist/commonjs/versioning.js.map +1 -0
- package/dist/esm/client.d.ts +25 -10
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +234 -61
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/compat/qdrant/client.d.ts +6 -10
- package/dist/esm/compat/qdrant/client.d.ts.map +1 -1
- package/dist/esm/compat/qdrant/client.js +33 -15
- package/dist/esm/compat/qdrant/client.js.map +1 -1
- package/dist/esm/compat/qdrant/filters.js +5 -1
- package/dist/esm/compat/qdrant/filters.js.map +1 -1
- package/dist/esm/funcs/collectionsCreate.js +1 -1
- package/dist/esm/funcs/collectionsDelete.js +1 -1
- package/dist/esm/funcs/collectionsDocsGetBulkUpsert.js +5 -1
- package/dist/esm/funcs/collectionsDocsGetBulkUpsert.js.map +1 -1
- package/dist/esm/funcs/collectionsDocsListDocs.js +3 -0
- package/dist/esm/funcs/collectionsDocsListDocs.js.map +1 -1
- package/dist/esm/funcs/collectionsDocsListDocsExtended.d.ts +15 -0
- package/dist/esm/funcs/collectionsDocsListDocsExtended.d.ts.map +1 -0
- package/dist/esm/funcs/collectionsDocsListDocsExtended.js +95 -0
- package/dist/esm/funcs/collectionsDocsListDocsExtended.js.map +1 -0
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/config.d.ts +2 -2
- package/dist/esm/lib/config.js +2 -2
- package/dist/esm/lib/config.js.map +1 -1
- package/dist/esm/lib/queryInput.d.ts +3 -11
- package/dist/esm/lib/queryInput.d.ts.map +1 -1
- package/dist/esm/lib/queryInput.js.map +1 -1
- package/dist/esm/models/collectionresponse.d.ts +12 -21
- package/dist/esm/models/collectionresponse.d.ts.map +1 -1
- package/dist/esm/models/collectionresponse.js +5 -6
- package/dist/esm/models/collectionresponse.js.map +1 -1
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.d.ts.map +1 -1
- package/dist/esm/models/index.js +1 -0
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/models/operations/bulkupsertdocs.d.ts +6 -0
- package/dist/esm/models/operations/bulkupsertdocs.d.ts.map +1 -1
- package/dist/esm/models/operations/bulkupsertdocs.js +2 -0
- package/dist/esm/models/operations/bulkupsertdocs.js.map +1 -1
- package/dist/esm/models/operations/createcollection.d.ts +20 -13
- package/dist/esm/models/operations/createcollection.d.ts.map +1 -1
- package/dist/esm/models/operations/createcollection.js +15 -7
- package/dist/esm/models/operations/createcollection.js.map +1 -1
- package/dist/esm/models/operations/deletedocs.d.ts +3 -0
- package/dist/esm/models/operations/deletedocs.d.ts.map +1 -1
- package/dist/esm/models/operations/deletedocs.js +1 -0
- package/dist/esm/models/operations/deletedocs.js.map +1 -1
- package/dist/esm/models/operations/fetchdocs.d.ts +3 -0
- package/dist/esm/models/operations/fetchdocs.d.ts.map +1 -1
- package/dist/esm/models/operations/fetchdocs.js +9 -0
- package/dist/esm/models/operations/fetchdocs.js.map +1 -1
- package/dist/esm/models/operations/getbulkupsertdocs.d.ts +5 -0
- package/dist/esm/models/operations/getbulkupsertdocs.d.ts.map +1 -1
- package/dist/esm/models/operations/getbulkupsertdocs.js +6 -4
- package/dist/esm/models/operations/getbulkupsertdocs.js.map +1 -1
- package/dist/esm/models/operations/listdocs.d.ts +69 -0
- package/dist/esm/models/operations/listdocs.d.ts.map +1 -1
- package/dist/esm/models/operations/listdocs.js +38 -0
- package/dist/esm/models/operations/listdocs.js.map +1 -1
- package/dist/esm/models/operations/querycollection.d.ts +3 -0
- package/dist/esm/models/operations/querycollection.d.ts.map +1 -1
- package/dist/esm/models/operations/querycollection.js +9 -0
- package/dist/esm/models/operations/querycollection.js.map +1 -1
- package/dist/esm/models/operations/updatecollection.d.ts +10 -4
- package/dist/esm/models/operations/updatecollection.d.ts.map +1 -1
- package/dist/esm/models/operations/updatecollection.js +8 -1
- package/dist/esm/models/operations/updatecollection.js.map +1 -1
- package/dist/esm/models/operations/updatedocs.d.ts +3 -0
- package/dist/esm/models/operations/updatedocs.d.ts.map +1 -1
- package/dist/esm/models/operations/updatedocs.js +1 -0
- package/dist/esm/models/operations/updatedocs.js.map +1 -1
- package/dist/esm/models/operations/upsertdocs.d.ts +3 -0
- package/dist/esm/models/operations/upsertdocs.d.ts.map +1 -1
- package/dist/esm/models/operations/upsertdocs.js +1 -0
- package/dist/esm/models/operations/upsertdocs.js.map +1 -1
- package/dist/esm/models/versioning.d.ts +100 -0
- package/dist/esm/models/versioning.d.ts.map +1 -0
- package/dist/esm/models/versioning.js +57 -0
- package/dist/esm/models/versioning.js.map +1 -0
- package/dist/esm/types/public.d.ts +86 -8
- package/dist/esm/types/public.d.ts.map +1 -1
- package/dist/esm/types/public.js +26 -7
- package/dist/esm/types/public.js.map +1 -1
- package/dist/esm/versioning.d.ts +63 -0
- package/dist/esm/versioning.d.ts.map +1 -0
- package/dist/esm/versioning.js +344 -0
- package/dist/esm/versioning.js.map +1 -0
- package/jsr.json +3 -1
- package/package.json +14 -2
- package/src/client.ts +367 -72
- package/src/compat/qdrant/client.ts +46 -20
- package/src/compat/qdrant/filters.ts +5 -3
- package/src/funcs/collectionsCreate.ts +1 -1
- package/src/funcs/collectionsDelete.ts +1 -1
- package/src/funcs/collectionsDocsGetBulkUpsert.ts +6 -1
- package/src/funcs/collectionsDocsListDocs.ts +3 -0
- package/src/funcs/collectionsDocsListDocsExtended.ts +201 -0
- package/src/index.ts +17 -0
- package/src/lib/config.ts +2 -2
- package/src/lib/queryInput.ts +3 -10
- package/src/models/collectionresponse.ts +17 -26
- package/src/models/index.ts +1 -0
- package/src/models/operations/bulkupsertdocs.ts +8 -0
- package/src/models/operations/createcollection.ts +39 -18
- package/src/models/operations/deletedocs.ts +4 -0
- package/src/models/operations/fetchdocs.ts +12 -0
- package/src/models/operations/getbulkupsertdocs.ts +11 -4
- package/src/models/operations/listdocs.ts +120 -0
- package/src/models/operations/querycollection.ts +12 -0
- package/src/models/operations/updatecollection.ts +21 -3
- package/src/models/operations/updatedocs.ts +4 -0
- package/src/models/operations/upsertdocs.ts +4 -0
- package/src/models/versioning.ts +118 -0
- package/src/types/public.ts +136 -16
- package/src/versioning.ts +490 -0
- package/examples/collectionScoped.example.ts +0 -38
- package/examples/collectionsList.example.ts +0 -25
- package/examples/package-lock.json +0 -612
- package/examples/package.json +0 -18
- package/test/integration/qdrant-compat-external.test.mjs +0 -351
- package/test/integration/qdrant-compat-live.test.mjs +0 -122
- package/test/null-response.test.mjs +0 -73
- package/test/public-api.test.mjs +0 -489
- package/test/qdrant-compat.test.mjs +0 -467
- package/tsconfig.json +0 -39
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.5.0-rc.1 - 2026-09-04
|
|
6
|
+
|
|
7
|
+
Implemented against LambdaDB docs PR #56 at contract revision
|
|
8
|
+
`a52ce19f5a1ce5ad3a30a55a5560e4591f0be9fa` (OpenAPI `1.1.1`). This source
|
|
9
|
+
revision is implementation evidence, not deployment evidence.
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Collection-scoped Branch, Tag, and Alias create/list/delete lifecycle APIs,
|
|
14
|
+
plus Alias retargeting and `*Safe` variants.
|
|
15
|
+
- Discriminated `ReadRef`, `RefSource`, and `AliasTarget` unions and validated
|
|
16
|
+
`branchRef`, `tagRef`, `aliasRef`, `branchSource`, `tagSource`,
|
|
17
|
+
`branchTarget`, and `tagTarget` helpers.
|
|
18
|
+
- Ref-scoped Query, Fetch, GET List, and extended List behavior. Document page
|
|
19
|
+
iterators and list-all helpers preserve the selected ref on every page.
|
|
20
|
+
- Branch-scoped Upsert, Update, Delete, and Bulk Upsert writes.
|
|
21
|
+
- Collection description, metadata tags, default Branch, and snapshot
|
|
22
|
+
retention fields.
|
|
23
|
+
- Server-signed bulk-upload header forwarding and a separate `transferClient`
|
|
24
|
+
for unauthenticated presigned uploads and out-of-line result downloads. Safe
|
|
25
|
+
bulk uploads return payload serialization failures through `Result`.
|
|
26
|
+
- Package-root exports for Data Versioning types, helpers, lifecycle clients,
|
|
27
|
+
and the pinned `DATA_VERSIONING_CONTRACT_REVISION`.
|
|
28
|
+
- Concrete read-ref error mapping: a dangling Alias target returns
|
|
29
|
+
`BadRequestError` (HTTP `400`), while a ref that does not exist returns
|
|
30
|
+
`ResourceNotFoundError` (HTTP `404`).
|
|
31
|
+
|
|
32
|
+
### Breaking changes from 0.4.3
|
|
33
|
+
|
|
34
|
+
- `CreateCollectionInput.indexConfigs` is now required, matching the current
|
|
35
|
+
contract. Pass an explicit index configuration record, including `{}` when
|
|
36
|
+
an empty configuration is valid for the target API.
|
|
37
|
+
- Removed `sourceProjectName`, `sourceCollectionName`, `sourceDatetime`, and
|
|
38
|
+
`sourceProjectApiKey` from `CreateCollectionInput`. There are no direct
|
|
39
|
+
replacements in the current Collection create contract. Data Versioning
|
|
40
|
+
Branches and Tags operate within one existing Collection and are not a direct
|
|
41
|
+
replacement for cross-collection source creation.
|
|
42
|
+
- Removed `sourceProjectName`, `sourceCollectionName`,
|
|
43
|
+
`sourceCollectionVersionId`, and `collectionStatus` from
|
|
44
|
+
`CollectionResponse`. Read `description`, `tags`, `defaultBranchName`, and
|
|
45
|
+
`snapshotRetentionInDays` from the current response instead where relevant.
|
|
46
|
+
- `CollectionResponse.createdAt`, `updatedAt`, and `dataUpdatedAt` wire values
|
|
47
|
+
changed from Unix seconds to Unix milliseconds. The collection-scoped facade
|
|
48
|
+
continues to return `Date`, but now constructs it directly from the
|
|
49
|
+
millisecond value. `dataUpdatedAt` is optional when no data update exists;
|
|
50
|
+
`CollectionResponseWithDates.createdAt` and `updatedAt` are now required.
|
|
51
|
+
- `LambdaDBClient.createCollection()` now returns the current create response
|
|
52
|
+
shape (`collectionName`, `description`, `tags`, `defaultBranchName`,
|
|
53
|
+
`snapshotRetentionInDays`, and `createdAt`) rather than a full
|
|
54
|
+
`CollectionResponse`; `createdAt` is a `Date` in the facade result.
|
|
55
|
+
- `CollectionHandle.update()` and `updateSafe()` now return collection
|
|
56
|
+
timestamps as `Date`, consistent with Get and List. The Update input no
|
|
57
|
+
longer requires `indexConfigs`; it requires at least one of `indexConfigs`,
|
|
58
|
+
`description`, `tags`, or `snapshotRetentionInDays`.
|
|
59
|
+
- Collection create accepts only HTTP `201` as success instead of `202`.
|
|
60
|
+
Collection delete accepts only HTTP `200` instead of `202`. Update mock
|
|
61
|
+
servers and custom transports accordingly.
|
|
62
|
+
- `GetBulkUpsertDocsResponse.headers` is now required and must be forwarded to
|
|
63
|
+
the presigned PUT. Its `type`, `httpMethod`, and `sizeLimitBytes` fields must
|
|
64
|
+
also be present in the server response instead of being filled by SDK-side
|
|
65
|
+
defaults. `BulkUpsertInput` adds the server-returned `type` and the optional
|
|
66
|
+
write `branch`; low-level callers should preserve both values from the
|
|
67
|
+
upload-info flow.
|
|
68
|
+
|
|
69
|
+
No package export path was removed or renamed. Existing package-root and
|
|
70
|
+
document operation methods remain available; Data Versioning extends their
|
|
71
|
+
inputs with optional ref or Branch selectors.
|
package/FUNCTIONS.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> This section is useful if you are using a bundler and targetting browsers and
|
|
5
5
|
> runtimes where the size of an application affects performance and load times.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Generated Collection and document operations are also available as standalone functions. This
|
|
8
8
|
alternative API is suitable when targetting the browser or serverless runtimes
|
|
9
9
|
and using a bundler to build your application since all unused functionality
|
|
10
10
|
will be tree-shaken away. This includes code for unused methods, Zod schemas,
|
|
@@ -12,6 +12,11 @@ encoding helpers and response handlers. The result is dramatically smaller
|
|
|
12
12
|
impact on the application's final bundle size which grows very slowly as you use
|
|
13
13
|
more and more functionality from this SDK.
|
|
14
14
|
|
|
15
|
+
Data Versioning lifecycle APIs are grouped in the tree-shakeable
|
|
16
|
+
`@functional-systems/lambdadb/versioning.js` module and exposed through
|
|
17
|
+
`collection.branches`, `collection.tags`, and `collection.aliases` by the
|
|
18
|
+
recommended client.
|
|
19
|
+
|
|
15
20
|
Calling methods through the main SDK class remains a valid and generally more
|
|
16
21
|
more ergonomic option. Standalone functions represent an optimisation for a
|
|
17
22
|
specific category of applications.
|
|
@@ -84,4 +89,4 @@ run();
|
|
|
84
89
|
|
|
85
90
|
Notably, `result.error` above will have an explicit type compared to a try-catch
|
|
86
91
|
variation where the error in the catch block can only be of type `unknown` (or
|
|
87
|
-
`any` depending on your TypeScript settings).
|
|
92
|
+
`any` depending on your TypeScript settings).
|
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ LambdaDB API: LambdaDB Open API Spec
|
|
|
23
23
|
* [SDK Installation](#sdk-installation)
|
|
24
24
|
* [Requirements](#requirements)
|
|
25
25
|
* [SDK Example Usage](#sdk-example-usage)
|
|
26
|
+
* [Data Versioning](#data-versioning)
|
|
26
27
|
* [Qdrant Compatibility](#qdrant-compatibility)
|
|
27
28
|
* [Authentication](#authentication)
|
|
28
29
|
* [Available Resources and Operations](#available-resources-and-operations)
|
|
@@ -141,7 +142,57 @@ const queryBody: QueryCollectionInput = {
|
|
|
141
142
|
const queryResult: QueryCollectionResponse = await collection.query(queryBody);
|
|
142
143
|
```
|
|
143
144
|
|
|
144
|
-
Common types: `CreateCollectionInput`, `UpdateCollectionInput`, `QueryCollectionInput`, `ListDocsInput`, `ListCollectionsInput`, `UpsertDocsInput`, `DeleteDocsInput`, `FetchDocsInput`, `BulkUpsertInput`; response types such as `QueryCollectionResponse`, `ListDocsResponse`, `ListCollectionsResponseWithDates`, `GetCollectionResponseWithDates`, `FetchDocsResponse`, `MessageResponse`; and model types like `CollectionResponseWithDates`, `IndexConfigsUnion`, `IndexConfigsManagedEmbeddingVector`, `EmbeddingConfig`, `PartitionConfig`, `FieldsSelectorUnion`. Collection list/get
|
|
145
|
+
Common types: `CreateCollectionInput`, `UpdateCollectionInput`, `QueryCollectionInput`, `ListDocsInput`, `ListCollectionsInput`, `UpsertDocsInput`, `DeleteDocsInput`, `FetchDocsInput`, `BulkUpsertInput`; response types such as `QueryCollectionResponse`, `ListDocsResponse`, `ListCollectionsResponseWithDates`, `GetCollectionResponseWithDates`, `FetchDocsResponse`, `MessageResponse`; Data Versioning types such as `ReadRef`, `RefSource`, `AliasTarget`, and `RefDetails`; and model types like `CollectionResponseWithDates`, `IndexConfigsUnion`, `IndexConfigsManagedEmbeddingVector`, `EmbeddingConfig`, `PartitionConfig`, `FieldsSelectorUnion`. Collection create/list/get/update and ref lifecycle responses expose timestamps as `Date`. All are exported from the main package.
|
|
146
|
+
|
|
147
|
+
## Data Versioning
|
|
148
|
+
|
|
149
|
+
Create Collection-scoped Branches, Tags, and Aliases, then select a ref for
|
|
150
|
+
reads or a Branch for writes:
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import {
|
|
154
|
+
LambdaDBClient,
|
|
155
|
+
aliasRef,
|
|
156
|
+
branchSource,
|
|
157
|
+
tagTarget,
|
|
158
|
+
} from "@functional-systems/lambdadb";
|
|
159
|
+
|
|
160
|
+
const client = new LambdaDBClient({ projectApiKey: "..." });
|
|
161
|
+
const collection = client.collection("knowledge-base");
|
|
162
|
+
|
|
163
|
+
await collection.branches.create({
|
|
164
|
+
branchName: "candidate",
|
|
165
|
+
source: branchSource("main"),
|
|
166
|
+
});
|
|
167
|
+
await collection.tags.create({
|
|
168
|
+
tagName: "release-001",
|
|
169
|
+
source: branchSource("candidate"),
|
|
170
|
+
});
|
|
171
|
+
await collection.aliases.create({
|
|
172
|
+
aliasName: "production",
|
|
173
|
+
target: tagTarget("release-001"),
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
await collection.docs.upsert({
|
|
177
|
+
branch: "candidate",
|
|
178
|
+
docs: [{ id: "doc-1", text: "candidate content" }],
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
for await (const page of collection.docs.listPages({
|
|
182
|
+
size: 50,
|
|
183
|
+
ref: aliasRef("production"),
|
|
184
|
+
})) {
|
|
185
|
+
console.log(page.docs);
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Omitting a read ref or write Branch preserves the existing `main` behavior.
|
|
190
|
+
See [Data Versioning](docs/data-versioning.md) for lifecycle methods, safe
|
|
191
|
+
errors, point-in-time Branch sources, signed bulk uploads, and transfer-client
|
|
192
|
+
configuration. The SDK contract is pinned at
|
|
193
|
+
`a52ce19f5a1ce5ad3a30a55a5560e4591f0be9fa`. Reads through an Alias whose
|
|
194
|
+
target is dangling fail with `BadRequestError` (HTTP `400`), while selecting a
|
|
195
|
+
ref that does not exist fails with `ResourceNotFoundError` (HTTP `404`).
|
|
145
196
|
|
|
146
197
|
### Pagination
|
|
147
198
|
|
|
@@ -534,6 +585,9 @@ if (result.ok) {
|
|
|
534
585
|
|
|
535
586
|
Available Safe methods: `listCollectionsSafe`, `createCollectionSafe`, `collection.getSafe`, `collection.updateSafe`, `collection.deleteSafe`, `collection.querySafe`, `collection.docs.listSafe`, `collection.docs.upsertSafe`, `collection.docs.updateSafe`, `collection.docs.deleteSafe`, `collection.docs.fetchSafe`, `collection.docs.getBulkUpsertSafe`, `collection.docs.bulkUpsertSafe`, `collection.docs.bulkUpsertDocsSafe`. The `Result` type and `OK` / `ERR` helpers are exported from the package.
|
|
536
587
|
|
|
588
|
+
Data Versioning lifecycle handles also provide `createSafe`, `listSafe`,
|
|
589
|
+
`deleteSafe`, and `aliases.retargetSafe`.
|
|
590
|
+
|
|
537
591
|
### Error Classes
|
|
538
592
|
**Primary errors:**
|
|
539
593
|
* [`LambdaDBError`](./src/models/errors/lambdadberror.ts): The base class for HTTP error responses.
|
|
@@ -619,7 +673,7 @@ The `HTTPClient` constructor takes an optional `fetcher` argument that can be
|
|
|
619
673
|
used to integrate a third-party HTTP client or when writing tests to mock out
|
|
620
674
|
the HTTP client and feed in fixtures.
|
|
621
675
|
|
|
622
|
-
The following example shows how to use the `"beforeRequest"` hook to
|
|
676
|
+
The following example shows how to use the `"beforeRequest"` hook to add a
|
|
623
677
|
custom header and a timeout to requests and how to use the `"requestError"` hook
|
|
624
678
|
to log errors:
|
|
625
679
|
|
|
@@ -653,6 +707,10 @@ httpClient.addHook("requestError", (error, request) => {
|
|
|
653
707
|
|
|
654
708
|
const client = new LambdaDBClient({ httpClient, projectApiKey: "<YOUR_PROJECT_API_KEY>" });
|
|
655
709
|
```
|
|
710
|
+
|
|
711
|
+
Pass a separate `transferClient` for presigned uploads and out-of-line result
|
|
712
|
+
downloads. API authentication and API-only headers are never copied to this
|
|
713
|
+
transport. Per-call `signal` and `timeoutMs` still apply to transfer requests.
|
|
656
714
|
<!-- End Custom HTTP Client [http-client] -->
|
|
657
715
|
|
|
658
716
|
<!-- Start Debugging [debug] -->
|
package/RUNTIMES.md
CHANGED
|
@@ -5,6 +5,7 @@ This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2
|
|
|
5
5
|
- [Web Fetch API][web-fetch]
|
|
6
6
|
- [Web Streams API][web-streams] and in particular `ReadableStream`
|
|
7
7
|
- [Async iterables][async-iter] using `Symbol.asyncIterator`
|
|
8
|
+
- [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal)
|
|
8
9
|
|
|
9
10
|
[web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
|
|
10
11
|
[web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
|
|
@@ -21,6 +22,12 @@ Runtime environments that are explicitly supported are:
|
|
|
21
22
|
|
|
22
23
|
[deno-file-streaming]: https://github.com/denoland/deno/issues/11018
|
|
23
24
|
|
|
25
|
+
Data Versioning does not add Node-only runtime dependencies. Ref pagination,
|
|
26
|
+
presigned bulk uploads, and out-of-line downloads use the same Fetch, Streams,
|
|
27
|
+
`TextEncoder`, and `AbortSignal` web-platform APIs in Node and browsers. A
|
|
28
|
+
separate `transferClient` can be supplied for storage transfers; LambdaDB API
|
|
29
|
+
authentication headers are not forwarded to presigned URLs.
|
|
30
|
+
|
|
24
31
|
## Recommended TypeScript compiler options
|
|
25
32
|
|
|
26
33
|
The following `tsconfig.json` options are recommended for projects using this
|
package/USAGE.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!-- Start SDK Example Usage [usage] -->
|
|
2
|
+
```typescript
|
|
3
|
+
import { LambdaDBClient } from "@functional-systems/lambdadb";
|
|
4
|
+
|
|
5
|
+
const client = new LambdaDBClient({
|
|
6
|
+
projectApiKey: "<YOUR_PROJECT_API_KEY>",
|
|
7
|
+
// Optional: baseUrl (default "https://api.lambdadb.ai"), projectName (default "playground")
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
async function run() {
|
|
11
|
+
const result = await client.listCollections(); // optional: client.listCollections({ size, pageToken })
|
|
12
|
+
console.log(result); // result.collections[].createdAt etc. are Date
|
|
13
|
+
|
|
14
|
+
const collection = client.collection("my-collection");
|
|
15
|
+
await collection.docs.list({ size: 20 });
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
run();
|
|
19
|
+
```
|
|
20
|
+
<!-- End SDK Example Usage [usage] -->
|
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { LambdaDBCore } from "./core.js";
|
|
13
13
|
import type { SDKOptions } from "./lib/config.js";
|
|
14
|
+
import { HTTPClient } from "./lib/http.js";
|
|
14
15
|
import type { RequestOptions } from "./lib/sdks.js";
|
|
16
|
+
import { CollectionAliases, CollectionBranches, CollectionTags } from "./versioning.js";
|
|
15
17
|
import type { Result } from "./types/fp.js";
|
|
16
18
|
import type * as operations from "./models/operations/index.js";
|
|
17
19
|
import type * as models from "./models/index.js";
|
|
18
|
-
import { type CreateCollectionInput, type UpdateCollectionInput, type QueryCollectionInput, type QueryCollectionResponse, type ListDocsInput, type ListDocsResponse, type ListCollectionsInput, type ListCollectionsResponseWithDates, type GetCollectionResponseWithDates, UpsertDocsInput, UpdateDocsInput, DeleteDocsInput, FetchDocsInput, FetchDocsResponse, BulkUpsertInput, MessageResponse,
|
|
20
|
+
import { type CreateCollectionInput, type UpdateCollectionInput, type QueryCollectionInput, type QueryCollectionResponse, type ListDocsInput, type ListDocsResponse, type ListCollectionsInput, type ListCollectionsResponseWithDates, type GetCollectionResponseWithDates, type CreateCollectionResponseWithDates, type UpdateCollectionResponseWithDates, type GetBulkUpsertInput, type UpsertDocsInput, type UpdateDocsInput, type DeleteDocsInput, type FetchDocsInput, type FetchDocsResponse, type BulkUpsertInput, type MessageResponse, type GetBulkUpsertDocsResponse } from "./types/public.js";
|
|
19
21
|
import type { ListCollectionsError, CreateCollectionError, GetCollectionError, UpdateCollectionError, DeleteCollectionError, QueryCollectionError, ListDocsError, UpsertDocsError, UpdateDocsError, DeleteDocsError, FetchDocsError, GetBulkUpsertDocsError, BulkUpsertDocsError } from "./types/errors.js";
|
|
20
22
|
export type { RequestOptions };
|
|
21
23
|
export type * from "./types/public.js";
|
|
@@ -41,12 +43,18 @@ export type LambdaDBClientOptions = SDKOptions & {
|
|
|
41
43
|
* Project name (path segment under /projects/). Default: "playground"
|
|
42
44
|
*/
|
|
43
45
|
projectName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Separate unauthenticated transport for presigned uploads and downloads.
|
|
48
|
+
* API authentication and API request headers are never copied to it.
|
|
49
|
+
*/
|
|
50
|
+
transferClient?: HTTPClient;
|
|
44
51
|
};
|
|
45
52
|
/**
|
|
46
53
|
* Client with collection-scoped API. Prefer this over the legacy
|
|
47
54
|
* `LambdaDB` when you want to avoid passing collectionName on every call.
|
|
48
55
|
*/
|
|
49
56
|
export declare class LambdaDBClient extends LambdaDBCore {
|
|
57
|
+
#private;
|
|
50
58
|
constructor(options?: LambdaDBClientOptions);
|
|
51
59
|
/**
|
|
52
60
|
* Get a handle for a specific collection. All methods on the handle
|
|
@@ -80,11 +88,11 @@ export declare class LambdaDBClient extends LambdaDBCore {
|
|
|
80
88
|
/**
|
|
81
89
|
* Create a new collection.
|
|
82
90
|
*/
|
|
83
|
-
createCollection(request: CreateCollectionInput, options?: RequestOptions): Promise<
|
|
91
|
+
createCollection(request: CreateCollectionInput, options?: RequestOptions): Promise<CreateCollectionResponseWithDates>;
|
|
84
92
|
/**
|
|
85
93
|
* Create a new collection (Safe: returns Result instead of throwing).
|
|
86
94
|
*/
|
|
87
|
-
createCollectionSafe(request: CreateCollectionInput, options?: RequestOptions): Promise<Result<
|
|
95
|
+
createCollectionSafe(request: CreateCollectionInput, options?: RequestOptions): Promise<Result<CreateCollectionResponseWithDates, CreateCollectionError>>;
|
|
88
96
|
}
|
|
89
97
|
/**
|
|
90
98
|
* Handle for a single collection. All methods operate on this collection.
|
|
@@ -92,7 +100,11 @@ export declare class LambdaDBClient extends LambdaDBCore {
|
|
|
92
100
|
export declare class CollectionHandle {
|
|
93
101
|
private readonly client;
|
|
94
102
|
readonly collectionName: string;
|
|
95
|
-
|
|
103
|
+
private readonly transferClient;
|
|
104
|
+
constructor(client: LambdaDBCore, collectionName: string, transferClient?: HTTPClient);
|
|
105
|
+
readonly branches: CollectionBranches;
|
|
106
|
+
readonly tags: CollectionTags;
|
|
107
|
+
readonly aliases: CollectionAliases;
|
|
96
108
|
/**
|
|
97
109
|
* Get metadata of this collection. Timestamp fields are returned as Date.
|
|
98
110
|
*/
|
|
@@ -104,11 +116,11 @@ export declare class CollectionHandle {
|
|
|
104
116
|
/**
|
|
105
117
|
* Configure (update) this collection.
|
|
106
118
|
*/
|
|
107
|
-
update(requestBody: UpdateCollectionInput, options?: RequestOptions): Promise<
|
|
119
|
+
update(requestBody: UpdateCollectionInput, options?: RequestOptions): Promise<UpdateCollectionResponseWithDates>;
|
|
108
120
|
/**
|
|
109
121
|
* Configure (update) this collection (Safe: returns Result instead of throwing).
|
|
110
122
|
*/
|
|
111
|
-
updateSafe(requestBody: UpdateCollectionInput, options?: RequestOptions): Promise<Result<
|
|
123
|
+
updateSafe(requestBody: UpdateCollectionInput, options?: RequestOptions): Promise<Result<UpdateCollectionResponseWithDates, UpdateCollectionError>>;
|
|
112
124
|
/**
|
|
113
125
|
* Delete this collection.
|
|
114
126
|
*/
|
|
@@ -133,10 +145,11 @@ export declare class CollectionHandle {
|
|
|
133
145
|
/**
|
|
134
146
|
* Document operations scoped to a collection.
|
|
135
147
|
*/
|
|
136
|
-
declare class CollectionDocs {
|
|
148
|
+
export declare class CollectionDocs {
|
|
137
149
|
private readonly client;
|
|
138
150
|
private readonly collectionName;
|
|
139
|
-
|
|
151
|
+
private readonly transferClient;
|
|
152
|
+
constructor(client: LambdaDBCore, collectionName: string, transferClient: HTTPClient);
|
|
140
153
|
/**
|
|
141
154
|
* List documents in the collection.
|
|
142
155
|
* When the API returns docs via docsUrl (isDocsInline false), documents are
|
|
@@ -209,11 +222,13 @@ declare class CollectionDocs {
|
|
|
209
222
|
/**
|
|
210
223
|
* Get presigned URL and metadata for bulk upload (up to 200MB). Not supported for collections with managed embedding vector fields.
|
|
211
224
|
*/
|
|
212
|
-
getBulkUpsert(options?: RequestOptions): Promise<
|
|
225
|
+
getBulkUpsert(options?: RequestOptions): Promise<GetBulkUpsertDocsResponse>;
|
|
226
|
+
getBulkUpsert(input: GetBulkUpsertInput, options?: RequestOptions): Promise<GetBulkUpsertDocsResponse>;
|
|
213
227
|
/**
|
|
214
228
|
* Get presigned URL and metadata for bulk upload (Safe: returns Result instead of throwing). Not supported for collections with managed embedding vector fields.
|
|
215
229
|
*/
|
|
216
230
|
getBulkUpsertSafe(options?: RequestOptions): Promise<Result<GetBulkUpsertDocsResponse, GetBulkUpsertDocsError>>;
|
|
231
|
+
getBulkUpsertSafe(input: GetBulkUpsertInput, options?: RequestOptions): Promise<Result<GetBulkUpsertDocsResponse, GetBulkUpsertDocsError>>;
|
|
217
232
|
/**
|
|
218
233
|
* Trigger bulk upsert with an object key from getBulkUpsert(). Not supported for collections with managed embedding vector fields.
|
|
219
234
|
*/
|
|
@@ -230,7 +245,7 @@ declare class CollectionDocs {
|
|
|
230
245
|
bulkUpsertDocs(body: UpsertDocsInput, options?: RequestOptions): Promise<MessageResponse>;
|
|
231
246
|
/**
|
|
232
247
|
* Bulk upsert documents in one call (Safe: returns Result instead of throwing). Not supported for collections with managed embedding vector fields.
|
|
233
|
-
* May return Error for local failures (payload size, upload). API errors use GetBulkUpsertDocsError or BulkUpsertDocsError.
|
|
248
|
+
* May return Error for local failures (serialization, payload size, upload). API errors use GetBulkUpsertDocsError or BulkUpsertDocsError.
|
|
234
249
|
*/
|
|
235
250
|
bulkUpsertDocsSafe(body: UpsertDocsInput, options?: RequestOptions): Promise<Result<MessageResponse, GetBulkUpsertDocsError | BulkUpsertDocsError | Error>>;
|
|
236
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|