-
Notifications
You must be signed in to change notification settings - Fork 2
Feature/kv stores #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
initial attempt at adding kvStores ensure we always have an empty array kv opening and returning data
Add FastEdge-wit submodule pinned a v0.0.2
integrated shared wit interface kv-store api's provided
Updated SDK-JS Documentaion to cover KV Stores
Feature release of KV Store for sdk-js
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces Key-Value (KV) store functionality to the FastEdge SDK, enabling developers to interact with persistent key-value storage including standard key-value pairs, sorted sets, and bloom filters.
Key changes:
- Added comprehensive KV store API with support for get, scan, sorted sets (zrange/zscan), and bloom filters (bfExists)
- Integrated WebAssembly Interface Types (WIT) bindings for KV operations through FastEdge-wit submodule
- Updated build configuration to support WASM reference types and corrected asset cache configuration
Reviewed Changes
Copilot reviewed 34 out of 43 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| types/fastedge-kv.d.ts | TypeScript definitions for KV store API |
| types/index.d.ts | Added reference to KV type definitions |
| src/componentize/es-bundle.ts | Added KV module export configuration |
| src/componentize/componentize.ts | Enabled WASM reference types flag |
| src/server/static-assets/asset-manifest/create-manifest.ts | Fixed contentTypes configuration type |
| runtime/fastedge/host-api/wit/deps/fastedge/key-value.wit | WIT interface definition for KV operations |
| runtime/fastedge/host-api/include/fastedge_host_api.h | C++ API declarations for KV store |
| runtime/fastedge/host-api/fastedge_host_api.cpp | C++ implementation of KV store host API |
| runtime/fastedge/builtins/kv-store.cpp | JavaScript bindings for KV store operations |
| runtime/fastedge/host-api/scripts/merge-wit-bindings.js | Updated WIT file merging logic for FastEdge-wit submodule |
| package.json | Updated @bytecodealliance/wizer dependency version |
| docs/* | Added comprehensive documentation and examples for KV store usage |
| .gitmodules | Added FastEdge-wit submodule reference |
Comments suppressed due to low confidence (2)
src/componentize/componentize.ts:1
- This comment suggests code is temporarily disabled but the code immediately following (line 114) is active and uncommented. Either remove this misleading comment or clarify what specifically is meant by 'commented out for now'.
runtime/fastedge/host-api/wit/deps/fastedge/key-value.wit:1 - The function is named 'zrange' but is not exposed in the TypeScript API (types/fastedge-kv.d.ts) which only has 'zrangeByScore'. Either this WIT function should be renamed to 'zrange-by-score' to match the exposed API, or the documentation should clarify the relationship between these differently-named functions.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
🎉 This PR is included in version 2.1.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
No description provided.