Skip to content

feat: surface 17 new commands across cli, grpc, and client libraries - #320

Merged
kacy merged 3 commits into
mainfrom
feat/prometheus-metrics-and-reliability-tests
Feb 27, 2026
Merged

feat: surface 17 new commands across cli, grpc, and client libraries#320
kacy merged 3 commits into
mainfrom
feat/prometheus-metrics-and-reliability-tests

Conversation

@kacy

@kacy kacy commented Feb 27, 2026

Copy link
Copy Markdown
Owner

summary

wires up all 17 commands added in prs #315–319 across every surface that didn't have them yet: the cli autocomplete/help system, the grpc api, and all four client libraries (rust, go, python, typescript).

commands covered

command group
expiretime, pexpiretime, expireat, pexpireat generic
getset, msetnx string
getbit, setbit, bitcount, bitpos, bitop bitmap
smove, sintercard set
lmpop list
hrandfield hash
zmpop, zrandmember sorted_set

three atomic commits:

  • feat(cli) — adds all 17 commands to the autocomplete/help metadata in commands.rs, updates lpop/rpop args to include the optional [count], and introduces the new bitmap group. all 114 cli tests pass.

  • feat(grpc) — adds 17 new proto messages (ExpiretimeRequest, BitcountRequest, LmpopRequest/LmpopResponse, ZmpopRequest/ZmpopResponse, etc.), 17 new unary rpcs in the service, pipeline oneof entries 112–128 in PipelineRequest, and response variants 35–36 in PipelineResponse. grpc.rs gets all 17 handler functions following the existing routing pattern.

  • feat(clients) — adds typed methods to all four clients. the rust client uses the same cmd2/cmd3/bytes_vec/scored_members helpers as the rest of the file; lmpop and zmpop decode the compound [key, elements] response shape inline. go/python/typescript wrap the generated grpc stubs with idiomatic apis including nullable LmpopResult/ZmpopResult types for the multi-key pop responses.

what was tested

  • cargo test -p emberkv-cli — 114 tests pass (includes commands_sorted_within_groups which enforces alphabetical ordering within each group)
  • cargo test -p ember-client — all unit and doc tests pass
  • cargo build -p ember-server — clean build with all new proto-generated types and handlers

kacy added 3 commits February 26, 2026 19:06
adds command metadata for all commands from prs #315–319:
- generic: expireat, expiretime, pexpireat, pexpiretime
- string: getset, msetnx
- bitmap (new group): bitcount, bitop, bitpos, getbit, setbit
- list: lmpop; update lpop/rpop args to include optional count
- hash: hrandfield
- set: sintercard, smove
- sorted_set: zmpop, zrandmember

all entries are alphabetically ordered within their group.
@kacy
kacy merged commit 02b3ec8 into main Feb 27, 2026
4 of 7 checks passed
@kacy
kacy deleted the feat/prometheus-metrics-and-reliability-tests branch February 27, 2026 00:20
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.

1 participant