@startuml skinparam packageStyle rectangle package "thalos-service" { package "Thalos.Service.Identity.Abstractions" { class IssueIdentityTokenRequest class IssueIdentityTokenResponse interface IdentityAbstractionBoundary } package "Thalos.Service.Application" { interface IIssueIdentityTokenUseCase class IssueIdentityTokenUseCase interface IIdentityTokenReadPort } package "Thalos.Service.Grpc" { class Program } IssueIdentityTokenUseCase ..|> IIssueIdentityTokenUseCase IssueIdentityTokenUseCase --> IIdentityTokenReadPort IIssueIdentityTokenUseCase --> IssueIdentityTokenRequest IIssueIdentityTokenUseCase --> IssueIdentityTokenResponse } package "thalos-dal" as ThalosDal IIdentityTokenReadPort ..> ThalosDal @enduml