T-7RNJ-dashboard-transport-adapter
Status: closed/done · Impact: medium · Complexity: medium
The frame reads settings through SettingsTransport (settingGetNamespace /
settingSetNamespace). The dashboard’s transport exposes appSetting* CRUD instead, so it doesn’t
satisfy the contract. Provide the dashboard’s client to the frame via provideTransport, adapting
its settings CRUD to the namespace pair.
| Location | Role today |
|---|---|
apps/sdlc/desktop/src-nuxt/app/generated/transport.ts | sdf-nuxt’s ontogen Transport — has appSettingList/GetById/Create/Update/Delete, but NOT settingGetNamespace/settingSetNamespace. |
apps/sdlc/desktop/src-nuxt/app/composables/useTransport.ts | env-switch over createIpcTransport/createHttpTransport. |
packages/ts/app-frame/app/composables/useTransport.ts | frame’s SettingsTransport + provideTransport({ isTauri?, createIpcTransport?, createHttpTransport? }); env-switch stays in the frame. |
Proposed
Section titled “Proposed”Add a transport.client.ts plugin (enforce: 'pre') in sdf-nuxt that calls the frame’s
provideTransport(...). Because the dashboard’s Transport lacks the namespace methods, wrap its
factories so the returned client also implements settingGetNamespace / settingSetNamespace —
mapping a namespace to the dashboard’s appSetting* keyed store (get = read the namespace record’s
values_json; set = upsert it). Regenerating the ontogen client to emit the namespace pair is an
alternative; the adapter is the lower-risk path.
Approach
Section titled “Approach”- Add
sdf-nuxt/app/plugins/transport.client.ts(enforce: 'pre') callingprovideTransport. - Wrap the dashboard’s
createIpcTransport/createHttpTransportso the client also satisfiesSettingsTransport, adaptingappSetting*CRUD →settingGetNamespace/settingSetNamespace(namespace ↔ a keyed settings record). - Verify a frame settings section reads/writes through the dashboard’s store.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
apps/sdlc/desktop/src-nuxt/app/plugins/transport.client.ts | new | provideTransport + appSetting* → SettingsTransport adapter |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: The frame’s
useTransport()in the dashboard returns a client satisfyingSettingsTransport, backed by the dashboard’sappSetting*store. - AC-2: A frame settings section persists and reads back through the dashboard.
Out of scope
Section titled “Out of scope”- Regenerating the ontogen client — the adapter suffices unless preferred.
Depends on T-IKI3-dashboard-frame-prep.