Skip to content

refactor!: Centralize KVS value semantics in @crawlee/core#3774

Open
janbuchar wants to merge 6 commits into
v4from
centralize-kvs-value-semantics
Open

refactor!: Centralize KVS value semantics in @crawlee/core#3774
janbuchar wants to merge 6 commits into
v4from
centralize-kvs-value-semantics

Conversation

@janbuchar

Copy link
Copy Markdown
Contributor

KeyValueStore now owns serialize/parse; the storage clients (backends) are pure byte transports.

  • New key_value_store_codec.ts (serializeValue + parseValue); removed maybeStringify.
  • Frontend getValue/iterator parse, setValue serializes.
  • Memory client no longer serializes/parses; deleted body-parser.ts.

Behavior-preserving. Read contract changes atomically across core + memory. fs-storage/apify clients deferred to #3762. Tests green.

@janbuchar janbuchar added the t-tooling Issues with this label are in the ownership of the tooling team. label Jun 22, 2026
@janbuchar janbuchar requested review from B4nan and barjin June 22, 2026 15:43

@barjin barjin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you, @janbuchar, I like the idea of this PR 👍

See some issues I encountered while testing below ⬇️

Comment thread packages/core/src/storages/key_value_store_codec.ts
Comment thread packages/core/src/storages/key_value_store.ts Outdated
@janbuchar janbuchar requested a review from barjin June 23, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants