Skip to content

feat: implement WarpGridEngine wrapper API (US-121)#109

Merged
tervezo-ai[bot] merged 3 commits intomainfrom
feat/implement-warpgridengine-wrapper-api-dc9gv9qclbyw1ye459pnzj6a
Mar 14, 2026
Merged

feat: implement WarpGridEngine wrapper API (US-121)#109
tervezo-ai[bot] merged 3 commits intomainfrom
feat/implement-warpgridengine-wrapper-api-dc9gv9qclbyw1ye459pnzj6a

Conversation

@tervezo-ai
Copy link
Copy Markdown
Contributor

@tervezo-ai tervezo-ai bot commented Mar 14, 2026

Summary

  • WarpGridEngine::new(config: ShimConfig) — accepts a ShimConfig at construction time, stores it, and selectively registers only enabled shim interfaces with the Wasmtime linker (filesystem, dns, signals, database_proxy, threading) via per-interface add_to_linker calls instead of the world-level WarpgridShims::add_to_linker
  • build_host_state() — now uses the stored config (removed the separate &config parameter), simplifying the API surface
  • instantiate(module_bytes) — new convenience method that compiles a Wasm component, builds host state, creates a store with 64 MiB memory limit, and instantiates in one call
  • async_handler_linker() — updated to use same selective registration pattern, always registers http_types interface
  • config() accessor — exposes stored ShimConfig for inspection
  • Structured startup logging — logs all shim enable/disable flags and key config values (DNS TTL, pool size, timezone) at tracing::info level
  • Re-exported ShimConfig from warp-runtime for downstream crate convenience
  • Updated all callers across 21 files: runtime, scheduler, daemon, and all 17 integration test files

Test plan

  • 360 warpgrid-host unit tests pass (14 engine tests including new API tests)
  • 13 warp-runtime tests pass
  • 31 warpgrid-scheduler tests pass
  • cargo check across full workspace — clean
  • cargo clippy -D warnings on modified packages — clean
  • Integration tests (require Wasm guest components, run in CI)

Closes #23

🤖 Generated with Claude Code

nadilas and others added 3 commits March 14, 2026 09:53
…r registration

- WarpGridEngine::new(config: ShimConfig) stores config and registers
  only enabled shim interfaces with the linker (filesystem, dns, signals,
  database_proxy, threading) via per-interface add_to_linker calls
- build_host_state() now uses stored config (removed &config parameter)
- async_handler_linker() uses same selective registration, always
  registers http_types interface
- config() accessor exposes stored ShimConfig
- Structured startup logging with all shim enable/disable flags and
  key config values (DNS TTL, pool size, timezone)
- Updated Runtime::new(config), WasmInstance::new() (removed shim_config
  param), InstanceFactory::create_instance(), PoolConfig (removed
  shim_config field)
- Re-exported ShimConfig from warp-runtime for downstream crates
- Updated all 17 integration test files, scheduler, and daemon callers

Closes #23

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a one-call method that compiles a Wasm component from bytes,
builds host state from stored config, creates a store with 64 MiB
memory limit, and instantiates via the linker.

Closes #23

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ate with factory

Closes gaps in critical path coverage for WarpGridEngine:
- Test that all 4 database_proxy Host trait methods return descriptive errors when db_proxy is disabled
- Test that build_host_state creates DbProxyHost when database_proxy is enabled with a factory

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tervezo-ai tervezo-ai bot merged commit 3e04dbf into main Mar 14, 2026
3 of 10 checks passed
@tervezo-ai tervezo-ai bot deleted the feat/implement-warpgridengine-wrapper-api-dc9gv9qclbyw1ye459pnzj6a branch March 14, 2026 10:32
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.

US-121: Implement WarpGridEngine wrapper API

1 participant