-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
name: Enhancement Proposal
about: Suggest an improvement or new feature for the Memetic Activation Platform
title: "[Enhancement] Phase 4 — Implement TypeScript MAP Commands transport wrapper"
labels: enhancement
assignees:
1. Summary (Required)
What is the enhancement?
Implement a minimal TypeScript module that provides exactly one function:
invokeMapCommand(request: MapRequest): Promise<MapResponse>
This layer does transport only (Tauri invoke), with zero business logic.
2. Problem Statement (Required)
Why is this needed?
We want a strict separation:
- TS “transport” layer: IPC only
- TS SDK layer: ergonomic functions that emit commands
Without this separation, SDK semantics and IPC concerns get entangled.
3. Dependencies (Required)
Does this depend on other issues or features?
- Phase 3 single Tauri command exists (
invoke_map_command) - Phase 2.1 contract types are available to TS (generated types or hand-mirrored)
4. Proposed Solution (Required)
How would you solve it?
- Create a small TS package/module (e.g.,
map-commands) - Implement:
invokeMapCommand(req)which:- validates minimally (optional: runtime schema validation)
- calls Tauri invoke
- returns the response
Constraints:
- no retries
- no sequencing
- no transaction policy
- no auto-binding of references (TS never resolves references)
5. Scope and Impact (Required)
What does this impact?
- Adds a thin TS layer used by the SDK
- Becomes the single integration point to IntegrationHub IPC
6. Testing Considerations (Required)
How will this enhancement be tested?
- Unit tests with mocked Tauri invoke
- Contract tests for representative request/response shapes
- Optional: runtime schema validation tests if adopted
7. Definition of Done (Required)
When is this enhancement complete?
-
invokeMapCommandexists and is the only IPC call site for MAP operations in TS - No policy/logic beyond transport is present
- Tests cover basic request/response behavior
Optional Details (Expand if needed)
8. Alternatives Considered
- Implement SDK directly over Tauri without a transport layer
Rejected: couples SDK semantics to IPC details.
9. Risks or Concerns
- Type drift between Rust contracts and TS typings (mitigate via generation where possible)
10. Additional Context
This is intentionally “thin”; ergonomics belong in the SDK (Phase 5).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request