@go.Package { name = "github.com/onsonr/sonr/internal/vfs/models" } module models import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl" typealias Base58 = String typealias Base64 = String typealias Bech32 = String typealias Keccak = String typealias DID = String typealias ChainCode = UInt typealias Scope = String typealias Hex = String typealias UTF8 = String class PrimaryKey extends go.Field { structTags { ["json"] = "%{name},omitempty" ["query"] = "%{name}" } } class JsonField extends go.Field { structTags { ["json"] = "%{name},omitempty" } } class Account { @PrimaryKey id: DID @JsonField name: String @JsonField address: Bech32|Keccak|String @JsonField publicKey: Base58 @JsonField chainCode: ChainCode @JsonField index: Int @JsonField controller: Bech32 @JsonField createdAt: String? } class Asset { @PrimaryKey id: DID @JsonField name: String @JsonField symbol: String @JsonField decimals: Int @JsonField chainCode: ChainCode @JsonField createdAt: String? } class Chain { @PrimaryKey id: DID @JsonField name: String @JsonField networkId: String @JsonField chainCode: ChainCode @JsonField createdAt: String? } class Credential { @PrimaryKey id: DID @JsonField subject: String @JsonField controller: Bech32 @JsonField attestationType: String @JsonField origin: String @JsonField credentialId: Base64 @JsonField publicKey: Base64 @JsonField transport: List @JsonField signCount: UInt @JsonField userPresent: Boolean @JsonField userVerified: Boolean @JsonField backupEligible: Boolean @JsonField backupState: Boolean @JsonField cloneWarning: Boolean @JsonField createdAt: String? @JsonField updatedAt: String? } class Grant { @PrimaryKey id: UInt @JsonField subject: String @JsonField controller: Bech32 @JsonField origin: String @JsonField token: String @JsonField scopes: List @JsonField createdAt: String? @JsonField updatedAt: String? } class Keyshare { @PrimaryKey id: DID @JsonField data: Base64 @JsonField role: Int @JsonField createdAt: String? @JsonField lastRefreshed: String? } class PublicKey { @PrimaryKey id: DID } class Profile { @PrimaryKey id: String @JsonField subject: String @JsonField controller: Bech32 @JsonField originUri: String? @JsonField publicMetadata: String? @JsonField privateMetadata: String? @JsonField createdAt: String? @JsonField updatedAt: String? }