Proto commits in qdrant/qdrant-js

These 50 commits are when the Protocol Buffers files have changed:

Commit:9c83170
Author:Ivan Pleshkov
Committer:GitHub

v1.19 (#164) * v1.19 Regenerate both clients from the qdrant `dev` branch and bump to 1.19.0. gRPC: memory placement (`Memory` enum on vector/index/quantization params, `PayloadStorageParams`), keyword prefix matching, `SliceCondition`, per-request IDF corpus, `Datatype::Turbo4`, `max_disk_usage_percent`, explicit no-stemming. The search/recommend/discover RPCs are marked deprecated upstream. REST: same feature set. Qdrant also dropped the eight deprecated search/recommend/discover endpoints from its OpenAPI spec (qdrant/qdrant#9982), so the generator no longer emits them, but the actix handlers still serve traffic. They are preserved by hand in `src/openapi/deprecated_*.ts` and marked `@deprecated` in `qdrant-client.ts`, matching the additive-only line the Rust and Go clients took for 1.19. Also: - Pin `openapi-typescript` back to 6.2.6. It was bumped to ^7.13.0 in #150 without regenerating; v7 emits `requestBody?: never`, which collapses `OpArgType` to `never` in `@qdrant/openapi-typescript-fetch@1.2.6` and breaks every call site. Later 6.x patches widen nullable `anyOf` fields such as `ScoredPoint.payload` to `unknown`. - Teach `generate_client_construction.ts` to skip semicolons inside doc comments; the rewritten `/readyz` description contains one and split an interface member in half. - Forward `payload` and `metadata` from `createCollection`/`recreateCollection` (`metadata` was missed in 1.18). - Cover the new API surface in the REST integration tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Drop the REST search/recommend/discover methods Reverses the previous commit's decision to keep them alive by hand. Qdrant removed the eight endpoints from its OpenAPI spec in qdrant/qdrant#9982, and we follow the spec: the actix handlers still answer, but an endpoint that is not in the spec is not part of the client's contract. This breaks semver — the removal is agreed on for 1.19 rather than deferred to a major. Removed from `QdrantClient`: `search`, `searchBatch`, `searchPointGroups`, `recommend`, `recommendBatch`, `recommend_batch`, `recommendPointGroups`, `discoverPoints`, `discoverBatchPoints`. Their request types leave `Schemas` with them, since the generator no longer emits them. `src/openapi/deprecated_{schema,api_client}.ts` are deleted and `api-client.ts` and `types.ts` go back to consuming the generated output unchanged. The gRPC client is untouched: those RPCs are only marked deprecated upstream, so they are still generated and still work. Tests and the node-js-basic example move to `query`/`queryBatch`. The example's sample-output comments are refreshed against a real run — note `query` returns `{points: [...]}` where `search` returned a bare array. `search points filter` is dropped rather than migrated: it was identical to the existing `query nearest points`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: explain the openapi-typescript pin accurately The note added with the pin named `requestBody?: never` as the cause. It is not: an absent request body infers harmlessly. The breakage comes from the placeholder parameter slots (`query?: never`, `path?: never`) — an optional `never` property has type `undefined`, and `OpArgType` intersects the slots, so `{collection_name: string} & undefined` is `never`. Measured against the v1.19 dev schema: 16 of 67 operations become `never` and 11 become `undefined`, not "every call site". Upstream openapi-typescript-fetch 2.x already solved this with a `NonNever` guard; with it all 67 operations resolve. Our fork is two years behind, and exists for BigInt point ids that upstream lacks, so the way out is to port the guard into the fork rather than migrate off it. Separately, the 6.x type erosion starts exactly at 6.7.2, and it traces back to Qdrant's own spec: 260 nullable fields are written as a bare `{nullable: true}` anyOf branch, which carries no type and so renders as `unknown`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Revert the openapi-typescript bump instead of pinning it #150 raised openapi-typescript from ^6.2.6 to ^7.13.0 without regenerating the client, so the incompatibility with @qdrant/openapi-typescript-fetch@1.2.6 went unnoticed until this release regenerated. Put the range back exactly as it was before that bump rather than hard-pinning: it is a dev dependency, the lockfile still resolves 6.2.6, and the generated output is unchanged. Also drop the notes this branch added to how_to_release.md, leaving it as it is on master. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Resync with qdrant dev: global quota API `dev` moved while this branch was being prepared — qdrant/qdrant#10035 landed the cluster-wide quota API. Regenerating picks up: - REST `GET /quotas` and `PUT /quotas`, wrapped as `getQuotas` / `updateQuotas`, plus the `QuotaConfig`, `QuotaStatus`, `QuotaUsage`, `PeerQuotaUsage`, `QuotaExceeded` and `QuotaTelemetry` schemas, and `TelemetryData.quota`. - `max_disk_usage_percent` leaves `StrictModeConfig` — it is now cluster-wide on the quota config. The gRPC field is reserved and `max_resident_memory_percent` is deprecated there, with removal announced for 1.21. This branch had shipped the strict-mode field and asserted on it; both are updated. - `quota_internal.proto` is new and internal — `qdrant.proto` does not import it, and its name matches every other excluded internal proto — so it is added to the removal list in `generate-grpc-sources.sh`. Without that, the next codegen would emit a `quota_internal_pb.ts` we do not want. Both codegens are idempotent against dev@aa6c5d84, and the integration suites run green against the matching `qdrant/qdrant:dev` image. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * old qdrant integration test version * Skip the v1.19 integration block on pre-1.19 servers CI pins the image to v1.18.0 until 1.19 is published, and the whole `Qdrant v1.19 API` block targets API that server does not have. Half of it fails loudly there, but `memory`, `payload` and `params.idf` are accepted and silently ignored rather than rejected, so those tests failed as `expected undefined to match object` and `0.5288952 not to be 0.5288952` — noise that says nothing about the client. The gate probes `/quotas`, which shipped in the same release and answers 404 on older servers. Version comparison would not work: qdrant's `dev` branch reports `1.18.3-dev` while carrying the full 1.19 API, so a `semver.gte(…, '1.19.0')` check would skip the block exactly where it needs to run. Only a 404 counts as "old server" — anything else propagates, so an unreachable server still fails the run instead of quietly skipping it. Verified against all three: v1.18.0 skips the block (18 passed, 7 skipped), dev runs it (25 passed), and a stopped server aborts with ECONNREFUSED. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Run integration tests against qdrant:dev, drop the version split The pin to v1.18.0 was only there because 1.19 is not tagged yet, and it forced the suite to carry a release-shaped seam: a `/quotas` probe, a `describe.skipIf` and a separate "Qdrant v1.19 API" block whose tests were skipped on the very server CI ran. Point the script at `dev` instead — the client tracks that branch until the release is tagged, so it is the server the generated code actually matches — and fold the block back into the single `QdrantClient` suite. No probe, no skips, every test runs the same way. Collections renamed off the release too: `test_collection_v1_19` is now `test_collection_params` and `test_collection_v1_19_sparse` is `test_collection_sparse`. Ran through `integration-tests.sh` itself: 25 REST + 17 gRPC, none skipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * qdrant latest docker --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

The documentation is generated from this commit.

Commit:5b6d708
Author:Ivan Pleshkov
Committer:Ivan Pleshkov

Resync with qdrant dev: global quota API `dev` moved while this branch was being prepared — qdrant/qdrant#10035 landed the cluster-wide quota API. Regenerating picks up: - REST `GET /quotas` and `PUT /quotas`, wrapped as `getQuotas` / `updateQuotas`, plus the `QuotaConfig`, `QuotaStatus`, `QuotaUsage`, `PeerQuotaUsage`, `QuotaExceeded` and `QuotaTelemetry` schemas, and `TelemetryData.quota`. - `max_disk_usage_percent` leaves `StrictModeConfig` — it is now cluster-wide on the quota config. The gRPC field is reserved and `max_resident_memory_percent` is deprecated there, with removal announced for 1.21. This branch had shipped the strict-mode field and asserted on it; both are updated. - `quota_internal.proto` is new and internal — `qdrant.proto` does not import it, and its name matches every other excluded internal proto — so it is added to the removal list in `generate-grpc-sources.sh`. Without that, the next codegen would emit a `quota_internal_pb.ts` we do not want. Both codegens are idempotent against dev@aa6c5d84, and the integration suites run green against the matching `qdrant/qdrant:dev` image. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

The documentation is generated from this commit.

Commit:9b26d8a
Author:Ivan Pleshkov
Committer:Ivan Pleshkov

v1.19 Regenerate both clients from the qdrant `dev` branch and bump to 1.19.0. gRPC: memory placement (`Memory` enum on vector/index/quantization params, `PayloadStorageParams`), keyword prefix matching, `SliceCondition`, per-request IDF corpus, `Datatype::Turbo4`, `max_disk_usage_percent`, explicit no-stemming. The search/recommend/discover RPCs are marked deprecated upstream. REST: same feature set. Qdrant also dropped the eight deprecated search/recommend/discover endpoints from its OpenAPI spec (qdrant/qdrant#9982), so the generator no longer emits them, but the actix handlers still serve traffic. They are preserved by hand in `src/openapi/deprecated_*.ts` and marked `@deprecated` in `qdrant-client.ts`, matching the additive-only line the Rust and Go clients took for 1.19. Also: - Pin `openapi-typescript` back to 6.2.6. It was bumped to ^7.13.0 in #150 without regenerating; v7 emits `requestBody?: never`, which collapses `OpArgType` to `never` in `@qdrant/openapi-typescript-fetch@1.2.6` and breaks every call site. Later 6.x patches widen nullable `anyOf` fields such as `ScoredPoint.payload` to `unknown`. - Teach `generate_client_construction.ts` to skip semicolons inside doc comments; the rewritten `/readyz` description contains one and split an interface member in half. - Forward `payload` and `metadata` from `createCollection`/`recreateCollection` (`metadata` was missed in 1.18). - Cover the new API surface in the REST integration tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Commit:39ac6c3
Author:Ivan Pleshkov

Resync with qdrant dev: global quota API `dev` moved while this branch was being prepared — qdrant/qdrant#10035 landed the cluster-wide quota API. Regenerating picks up: - REST `GET /quotas` and `PUT /quotas`, wrapped as `getQuotas` / `updateQuotas`, plus the `QuotaConfig`, `QuotaStatus`, `QuotaUsage`, `PeerQuotaUsage`, `QuotaExceeded` and `QuotaTelemetry` schemas, and `TelemetryData.quota`. - `max_disk_usage_percent` leaves `StrictModeConfig` — it is now cluster-wide on the quota config. The gRPC field is reserved and `max_resident_memory_percent` is deprecated there, with removal announced for 1.21. This branch had shipped the strict-mode field and asserted on it; both are updated. - `quota_internal.proto` is new and internal — `qdrant.proto` does not import it, and its name matches every other excluded internal proto — so it is added to the removal list in `generate-grpc-sources.sh`. Without that, the next codegen would emit a `quota_internal_pb.ts` we do not want. Both codegens are idempotent against dev@aa6c5d84, and the integration suites run green against the matching `qdrant/qdrant:dev` image. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

The documentation is generated from this commit.

Commit:b5c3cd2
Author:Ivan Pleshkov

v1.19 Regenerate both clients from the qdrant `dev` branch and bump to 1.19.0. gRPC: memory placement (`Memory` enum on vector/index/quantization params, `PayloadStorageParams`), keyword prefix matching, `SliceCondition`, per-request IDF corpus, `Datatype::Turbo4`, `max_disk_usage_percent`, explicit no-stemming. The search/recommend/discover RPCs are marked deprecated upstream. REST: same feature set. Qdrant also dropped the eight deprecated search/recommend/discover endpoints from its OpenAPI spec (qdrant/qdrant#9982), so the generator no longer emits them, but the actix handlers still serve traffic. They are preserved by hand in `src/openapi/deprecated_*.ts` and marked `@deprecated` in `qdrant-client.ts`, matching the additive-only line the Rust and Go clients took for 1.19. Also: - Pin `openapi-typescript` back to 6.2.6. It was bumped to ^7.13.0 in #150 without regenerating; v7 emits `requestBody?: never`, which collapses `OpArgType` to `never` in `@qdrant/openapi-typescript-fetch@1.2.6` and breaks every call site. Later 6.x patches widen nullable `anyOf` fields such as `ScoredPoint.payload` to `unknown`. - Teach `generate_client_construction.ts` to skip semicolons inside doc comments; the rewritten `/readyz` description contains one and split an interface member in half. - Forward `payload` and `metadata` from `createCollection`/`recreateCollection` (`metadata` was missed in 1.18). - Cover the new API surface in the REST integration tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Commit:b3c0278
Author:Ivan Pleshkov
Committer:GitHub

v1.18 (#133) * v1.18 * undici from 6.23.0 to 6.24.0 * test CI using v1.17 * grpc update * grpc update * QDRANT_LATEST version up

Commit:392a2bd
Author:Ivan Pleshkov
Committer:Ivan Pleshkov

grpc update

Commit:90201f3
Author:Ivan Pleshkov
Committer:Ivan Pleshkov

grpc update

Commit:0e5d911
Author:Ivan Pleshkov
Committer:Ivan Pleshkov

v1.18

Commit:3ef2a8b
Author:Andrey Vasnetsov
Committer:GitHub

Upgrade to 1.17 (#122) * [AI] version upgrade according to docs/how_to_release.md * [AI] add missing timeout parameter for upsert operation * [AI] add missing timeout parameter for deletePoints operation * audit fix * Revert "audit fix" This reverts commit 6f88ec20b482ae5d6751147502e32dd9650f0133. * audit fix * update rest based on `fix-rest-api-for-feedback-strategy` * update api schema: timeout for create and delete of payload index --------- Co-authored-by: Luis Cossío <luis.cossio@outlook.com>

Commit:a978757
Author:generall

[AI] version upgrade according to docs/how_to_release.md

Commit:bcdc6bf
Author:Luis Cossío
Committer:GitHub

Bump v1.16.0 (#114) * bump version to 1.16.0 * update changelogs * Apply suggestions from code review * update version in integration tests * mark connect v2 upgrade as breaking * regenerate from latest protos * export common_pb.ts --------- Co-authored-by: Tim Visée <tim+github@visee.me> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>

Commit:ee056a1
Author:Luis Cossío

regenerate from latest protos

Commit:fe11db5
Author:Luis Cossío
Committer:GitHub

Migrate to connect v2 and generate with buf (#112)

Commit:a640780
Author:Luis Cossío

regenerate client

Commit:165d83e
Author:Luis Cossío
Committer:GitHub

Prepare clients for v1.16.0 (#111) * update clients for Qdrant v1.16 * add REST return types, get rid of maybe package * update lock file * no explicit type in test * use helper for throwing error * use shorter `Schemas` type * review remarks --------- Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>

Commit:7e1d850
Author:Luis Cossío
Committer:Luis Cossío

update clients for Qdrant v1.16

Commit:d3d3856
Author:Andrey Vasnetsov
Committer:GitHub

introduce Implement missing `updateCollectionCluster` API (#107) * introduce Implement missing `updateCollectionCluster` API * restore autogenerated files

Commit:131885d
Author:generall

restore autogenerated files

Commit:1386856
Author:Jojii
Committer:GitHub

Bump 1.15.0 (#105) * Update grpc files and documentation for releasing * Missing word * version up * version up in integration tests * Add MMR feature --------- Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>

Commit:a6e36f7
Author:Ivan Pleshkov

Add MMR feature

Commit:3235fa5
Author:jojii

Update grpc files and documentation for releasing

Commit:c308ff0
Author:Ivan Pleshkov
Committer:GitHub

V1.14.0 (#96) * update obsolete comment * version up * update openapi schema * update grpc * restore test * fix TS7056 * update latest version * update openmapi

Commit:ff564b1
Author:Ivan Pleshkov
Committer:Ivan Pleshkov

update grpc

Commit:7fd84c7
Author:Ivan Pleshkov

update grpc

Commit:1c43b2d
Author:Ivan Pleshkov
Committer:GitHub

V1.13.0 (#91) * update protofiles * update openapi * v1.13 * Update Docker image to 1.13 Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> --------- Co-authored-by: Tim Visée <tim+github@visee.me>

Commit:9e24c48
Author:Ivan Pleshkov

update protofiles

Commit:c45d94b
Author:Ivan Pleshkov
Committer:GitHub

V1.12.0 (#85) * update grpc protos * rest api * version up * apply api updates * make api names consistent with other clients * Update container version to 1.12.0 --------- Co-authored-by: generall <andrey@vasnetsov.com> Co-authored-by: Tim Visée <tim+github@visee.me>

Commit:56676d1
Author:Ivan Pleshkov
Committer:GitHub

V1.11.0 (#82) * update grpc * update rest * version up * integration test qdrant version up * use dev version in integration test (temp) * update grpc * update openapi * Update latest Qdrant version to v1.11.0 --------- Co-authored-by: timvisee <tim@visee.me>

Commit:04eab7d
Author:Ivan Pleshkov

update grpc

Commit:2c3d603
Author:Ivan Pleshkov

update grpc

Commit:768f4cd
Author:Ivan Pleshkov
Committer:GitHub

V1.10.0 (#79) * update api * version up * test query points * Rename queryPoints into query

Commit:cf9d316
Author:Ivan Pleshkov

update api

Commit:a2de790
Author:Ivan Pleshkov
Committer:GitHub

V1.9.0 (#72) * v1.9.0 * qdrant docker image vecrsion up * remove vectors_count from tests * remove vectors_count from tests --------- Co-authored-by: generall <andrey@vasnetsov.com>

Commit:512d2a3
Author:Ivan Pleshkov

v1.9.0

Commit:f58e567
Author:Ivan Pleshkov
Committer:GitHub

v1.8.0 (#66) * v1.8.0 rest api update * grpc api update * version up * remove checksum query path param * comments and renamings * qdrant version up in integration tests

Commit:6d0c50b
Author:Ivan Pleshkov

grpc api update

Commit:48db336
Author:Ivan Pleshkov
Committer:GitHub

V1.7.0 (#56) * update grpc * update generated_schema * provide timeout to api * create shards api * shard keys public api * discovery api * add new fields * v1.7.0 * update proto (#57) * update undici * fix unit tests * renamed recommend_batch to recommendBatch for consistency and kept alias (#54) Co-authored-by: Mohamed Morad <mohamed.morad@syncore.at> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> * fix ci * restore tests * add comments to new api * shard_key args docs * create collection docs * qdrant integration tests version up * thanks to Morad-m11 --------- Co-authored-by: Morad-m11 <80397392+Morad-m11@users.noreply.github.com> Co-authored-by: Mohamed Morad <mohamed.morad@syncore.at>

Commit:0bb7bfc
Author:Ivan Pleshkov

update grpc

Commit:4456f25
Author:Ivan Pleshkov
Committer:GitHub

V1.6.0 (#50) * update openapi * update proto files * version up * update qdrant version in tests

Commit:034f47d
Author:Ivan Pleshkov

update proto files

Commit:b9f9333
Author:Ivan Pleshkov
Committer:GitHub

v1.5.0 (#47) * api update * version up * update grpc client api * Revert "update grpc client api" This reverts commit a00f857159037e8ba8de0e9f699b6389a0ade63b. * add new internal protofile to ignore * update openapi schema * healthz livez readyz integration * remove internal protofiles * batch update * update shard snapshot api * remove kubernetes related api * revert docker image version to check CI * qdrant docker version up

Commit:bb68378
Author:Ivan Pleshkov

add new internal protofile to ignore

Commit:945ad4f
Author:Ivan Pleshkov

api update

Commit:8b45769
Author:Ivan Pleshkov
Committer:GitHub

V1.4.0 (#40) * update rest api * update grpc client * version up

Commit:9958a68
Author:Ivan Pleshkov

update grpc client

Commit:fdc4e85
Author:Ivan Pleshkov
Committer:GitHub

v1.3.0 (#29) * update openapi and grpc * try to wait qdrant start * more sleep * sleep more * revert sleeps * version up * changeset file * disable audit for dev dependencies * add docker logs * fix client initialization in tests * remove integration test againts cloud --------- Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>

Commit:afad9a7
Author:Ivan Pleshkov

update openapi and grpc

Commit:fb009e1
Author:Luis Merino
Committer:GitHub

gRPC client + project setup overhaul (#24) - Generated gRPC client based on plugins from @bufbuild - REST client accepts maxConnections now using undici.js agent for fetch - Updated OAS definitions and improved generated types - Improved NPM dependency management in monorepo - Improved linting and tooling setup - Added CI check to avoid bumping a version of clients too early

Commit:55ba6a3
Author:Luis Merino
Committer:Luis Merino

Initial commit