# `ksp-app-raw-transaction-ingest-desk` Application desktop Tauri KSP destinée à composer et superviser les routes live alimentant le Store commun en `RawTransaction`. Le composant conserve les frontières KSP : Config possède les profils/endpoints/secrets, Transport les clients et sessions, Store la persistance et le Worker la logique d'ingestion. Le shell desktop ne déplace jamais ces responsabilités vers le frontend. ## Package ```text package : ksp-app-raw-transaction-ingest-desk lib : ksp_app_raw_transaction_ingest_desk_lib bin : ksp-app-raw-transaction-ingest-desk ``` ## Frontières ```text Config -> composite, profils, secrets et résolution effective Transport -> capabilities HTTP/WS/gRPC et ressources physiques Desk -> catalogue logique, inventaire Config-only et projections sûres Store -> persistance via la façade KSP Worker -> acquisition continue et lifecycle d'exécution ``` L'inventaire de routes est calculé côté Rust à partir du composite Config validé et des settings Transport/Store résolus. Il ne lance aucun probe réseau et n'ouvre ni Store ni Worker. Les profils applicatifs sont réseau-centriques (`devnet`, `mainnet`, `testnet`). Un profil peut agréger plusieurs profils Transport du même réseau : le provider reste une source de capability et ne devient jamais une identité réseau ni un choix de profil applicatif. Le frontend ne reçoit aucune URL, credential, URI Store, metadata secrète, source key, handle runtime ou payload `RawTransaction`. ## Routes V1 ```text yellowstone-hydrated standard-logs-hydrated standard-block-direct helius-transaction-hydrated http-block-polling ``` Les profils standard publics committés déclarent `Block` en plus de `Logs`; `standard-block-direct` est donc composable depuis Config sur Devnet, Mainnet et Testnet. Cette déclaration ne transforme pas `blockSubscribe` en méthode stable et ne remplace pas la revalidation runtime. Une route `Configured` est uniquement **composable depuis Config**. La disponibilité réelle des connexions, du Store et du Worker est revalidée lors du Start avant qu'une route puisse devenir `Running`. ## Ports de développement ```text Vite HTTP : 1440 Vite WS : 1441 ``` Lancement : ```bash (cd crates/ksp-app-raw-transaction-ingest-desk && cargo tauri dev) ``` Le cycle frontend est déclenché par Tauri via ses hooks configurés ; les scripts npm applicatifs ne sont pas lancés directement par l'opérateur. Voir [`USAGE.md`](USAGE.md) et [`../../docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md`](../../docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md).