Skip to content

feat(storage): add StorageModuleClient for logos-storage-module#172

Open
jimmy-claw wants to merge 3 commits into
masterfrom
jimmy/lmao-issue-144-20260418
Open

feat(storage): add StorageModuleClient for logos-storage-module#172
jimmy-claw wants to merge 3 commits into
masterfrom
jimmy/lmao-issue-144-20260418

Conversation

@jimmy-claw

Copy link
Copy Markdown
Owner

Summary

  • Adds StorageModuleClient backend behind storage-module feature flag in the storage crate
  • Client connects to a running logos-storage-module instance via REST (/api/v1/init, /api/v1/start, /api/v1/upload, /api/v1/download/{cid})
  • Supports lifecycle management (init → start), throttle config, and an new_unchecked constructor for pre-initialized modules
  • Includes 7 unit tests covering config, connectivity errors, and constructor variants

Test plan

  • cargo test -p logos-messaging-a2a-storage --features storage-module — all 7 new tests pass
  • cargo test --workspace — full workspace passes, no regressions
  • Integration test with a running logos-storage-module v0.3.2 instance

Fixes #144

🤖 Generated with Claude Code

jimmy-claw and others added 3 commits April 18, 2026 04:05
Update logos-module-builder and all transitive Nix inputs to pull in
the latest logos-cpp-sdk. All 1063 Rust workspace tests pass, cargo
build --all-features succeeds with no breaking changes.

Fixes #146

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a new `storage-module` feature and `StorageModuleClient` backend that
connects to a logos-storage-module instance via REST API. This replaces the
need to talk directly to the Codex REST API when a logos-storage-module
instance is available.

The client supports:
- Lifecycle management (init → start) on connection
- upload_file / download_cid via /api/v1/ endpoints
- Configurable upload/download throttle controls
- Unchecked constructor for pre-initialized modules

Fixes #144

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…LMAO #144)

Add storage-module feature flag to the node crate and umbrella crate,
exposing StorageModuleClient as a first-class storage backend. Adds
with_storage_module() convenience builder on WakuA2ANode and re-exports
StorageModuleClient/Config from the umbrella crate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

feat: use logos-storage-module for CID offloading

1 participant