Skip to content

Conversation

@designcode
Copy link
Collaborator

@designcode designcode commented Dec 9, 2025

Note

Introduces @tigrisdata/kv package (TTL, namespaces, batch ops, iterators, events) and updates workflows/scripts to build and test it across the monorepo.

  • New Package: @tigrisdata/kv
    • Implements KV class over Tigris Storage with get/set/delete, getMany/setMany/deleteMany, has/hasMany, clear, async iterator, entries/keys/values.
    • Supports TTL expiration, optional namespace prefixes, and error events.
    • Adds README.md, tsconfig.json, tsup.config.ts, vitest.config.ts, and entry points in src/.
  • Tests:
    • Comprehensive Vitest suite covering basic, batch, TTL, namespace, iteration, complex values, and error scenarios.
  • Repo/Build Integration:
    • Adds packages/kv to workspaces; new script build:kv.
    • Updates release/test workflows to build and run npm run test across all packages and include kv; removes release dry-run and NPM_TOKEN env from release.

Written by Cursor Bugbot for commit 997197e. This will update automatically on new commits. Configure here.

@greptile-apps
Copy link

greptile-apps bot commented Dec 9, 2025

Greptile Overview

Greptile Summary

Adds a new standalone KV store package (@tigrisdata/kv) built on top of Tigris Storage, providing a simple key-value interface with namespaces, TTL support, and batch operations.

Key changes:

  • New packages/kv workspace with complete implementation, tests, and documentation
  • KV class wraps Tigris Storage API with namespace prefixing and client-side TTL expiration
  • Comprehensive test suite with 100+ test cases covering basic ops, namespaces, TTL, and iteration
  • Added build step for kv package in release workflow

Critical issues:

  • Syntax error in release.yaml: GITHUB_TOKEN has trailing = that will break the workflow
  • Missing test step for kv package in CI pipeline
  • NPM_TOKEN secret was removed from workflow but may be needed for npm publishing

Confidence Score: 2/5

  • This PR has critical syntax errors that will break the release workflow
  • Score reflects two critical issues: the trailing = in GITHUB_TOKEN will cause workflow failure, and missing test step means the kv package won't be tested in CI. The kv implementation itself is well-written with comprehensive tests, but the workflow issues must be fixed before merge.
  • .github/workflows/release.yaml requires immediate attention to fix syntax error and add missing test step

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/release.yaml 2/5 Added kv build step; removed NPM_TOKEN; syntax error with GITHUB_TOKEN (extra =); missing kv tests
packages/kv/src/lib/kv.ts 5/5 KV store implementation with namespaces, TTL, batch operations, and iteration
packages/kv/README.md 5/5 Complete documentation with examples for all KV features

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments (1)

  1. .github/workflows/release.yaml, line 52-54 (link)

    logic: tests not running for the new @tigrisdata/kv package - should add npm run test --workspace=@tigrisdata/kv to match the pattern of other packages

10 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@designcode designcode force-pushed the kv/implement-simpler-kv-store branch from 4c42d49 to 5377613 Compare December 9, 2025 13:04
@designcode designcode force-pushed the kv/implement-simpler-kv-store branch from 5377613 to 00392ec Compare December 9, 2025 13:36
@designcode designcode force-pushed the kv/implement-simpler-kv-store branch from 00392ec to 997197e Compare December 9, 2025 13:39
@ovaistariq
Copy link

Is this the keyv integration?

@designcode
Copy link
Collaborator Author

Is this the keyv integration?

@ovaistariq This is a standalone implementation. You don't need KeyV as a dependency. You can use this library without.

@designcode
Copy link
Collaborator Author

Closing this PR as features like TTL are better handled at backend. Will revise it when backend adds support for it

@designcode designcode closed this Dec 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants