Skip to content

✨ Node.js / TypeScript bindings (turbovec-node) #111

Description

@a-tokyo

Hi @RyanCodrai,

Thanks a lot for building this!, it's a great contribution to the ecosystem.

I've built first-class Node.js / TypeScript bindings for turbovec and would like to contribute them upstream. I tried to open a PR but PR creation here is limited to collaborators, so I'm opening this issue ask how you'd prefer to go about it (whether merge or keep separate).

What was built:

  • turbovec-node/ package (npm name turbovec) built with napi-rs v3, native SIMD + BLAS exposing the same surface as the Python bindings: TurboQuantIndex and IdMapIndex (flat Float32Array I/O, bigint u64 ids, typed err.code errors).
  • Framework integrations: LangChain.js (turbovec/langchain) and LlamaIndex.TS (turbovec/llamaindex).
  • Multi-platform prebuilds (5 targets), a CI matrix, and a guarded npm release workflow. Full JS docs + error-code table.

State:

  • Nothing publishes: npm version pinned to 0.0.0 behind a release guard.
  • Green: 193 vitest tests, cargo test -p turbovec, clippy-clean, 11/11 CI on the fork.

How to review:

How would you like to proceed?

Again Thanks for Turbovec! Would love to have it int the JS ecosystem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions