feat: replace hand-written TypeScript types with ts-rs generated bindings - #18
Open
alexmohr wants to merge 4 commits into
Open
feat: replace hand-written TypeScript types with ts-rs generated bindings#18alexmohr wants to merge 4 commits into
alexmohr wants to merge 4 commits into
Conversation
alexmohr
force-pushed
the
feat/ts-rs-generated-types
branch
8 times, most recently
from
July 8, 2026 12:11
2f4f56c to
b04bbcf
Compare
alexmohr
marked this pull request as ready for review
July 8, 2026 12:46
|
is it intentional to have this amount of individual commits for this feature? |
Contributor
Author
It might be a bit too verbose, I will squash before merging. |
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
alexmohr
force-pushed
the
feat/ts-rs-generated-types
branch
from
August 5, 2026 13:01
86f0481 to
162fc79
Compare
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
alexmohr
force-pushed
the
feat/ts-rs-generated-types
branch
from
August 24, 2026 15:08
6a2022c to
43c601a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces hand-written TypeScript interface/type definitions with auto-generated bindings from Rust types using
ts-rsv12. This ensures the frontend types stay in sync with the Rust backend automatically.Rust side
ts-rsworkspace dependency withserde-json-implfeature (v12.0.1)#[derive(TS)] + #[ts(export)]to all DTO types in:src/mdd-core/src/tree/types.rs(19 types)src/mdd-core/src/uds/translator.rs(5 types)src/commands.rs(11 types)src/llm.rs(6 types)TypeScript side
frontend/src/api/generated/with barrel indexcommands.tsto import from generated types instead of local definitionsstores/llm.tsto use generatedSettingsView,ChatMessage,DeviceFlowStart, etc.SettingsPanel.vueto passnullinstead ofundefinedfor nullable fieldsTooling
.cargo/config.tomlaliasgen-typesfor regenerationgenerate-typesnpm scriptTS_RS_LARGE_INT=numberto avoidbigintforu64/i64fieldsreuse-annotateto ignore generated files via--ignore-pathsChecklist
Related
Notes for Reviewers
See individual commit messages for granular changes. To regenerate bindings after Rust type changes:
npm run generate-types.vue-tsc --noEmitandvite buildboth pass cleanly.Alexander Mohr alexander.m.mohr@mercedes-benz.com, Mercedes-Benz Tech Innovation GmbH
Provider Information