From ad81677f83662fbf8bdd3cb1924abcc5e786728b Mon Sep 17 00:00:00 2001 From: Dominic Bosco Date: Fri, 30 May 2025 15:48:13 -0400 Subject: [PATCH 1/2] Explicitly define W3CCredential type --- packages/vc/src/types.ts | 30 +++++++++++++++---- .../verification/verify-parsed-credential.ts | 1 + 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/packages/vc/src/types.ts b/packages/vc/src/types.ts index bddef5d..5f8d857 100644 --- a/packages/vc/src/types.ts +++ b/packages/vc/src/types.ts @@ -1,8 +1,28 @@ -import type { - JwtCredentialPayload, - Verifiable, - W3CCredential -} from "did-jwt-vc" +/* eslint-disable @typescript-eslint/no-explicit-any */ +import type { JwtCredentialPayload, Verifiable } from "did-jwt-vc" + +type Extensible = T & Record + +export interface CredentialStatus { + id: string + type: string +} + +type W3CCredential = { + "@context": string[] + id?: string + type: string[] + issuer: Extensible<{ id: string }> + issuanceDate: string + expirationDate?: string + credentialSubject: Extensible<{ + id?: string + }> + credentialStatus?: CredentialStatus + + evidence?: any + termsOfUse?: any +} export type CredentialSubject = W3CCredential["credentialSubject"] export type { JwtCredentialPayload, Verifiable, W3CCredential } diff --git a/packages/vc/src/verification/verify-parsed-credential.ts b/packages/vc/src/verification/verify-parsed-credential.ts index 8e37781..933c327 100644 --- a/packages/vc/src/verification/verify-parsed-credential.ts +++ b/packages/vc/src/verification/verify-parsed-credential.ts @@ -32,6 +32,7 @@ function isVerifiable( ): credential is Verifiable { return ( "proof" in credential && + credential.proof !== null && typeof credential.proof === "object" && "type" in credential.proof ) From f83d9558b71e9d665d4e4f0fb7e9b94af97165bd Mon Sep 17 00:00:00 2001 From: Dominic Bosco Date: Fri, 30 May 2025 16:26:27 -0400 Subject: [PATCH 2/2] add changeset --- .changeset/tired-cycles-tease.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tired-cycles-tease.md diff --git a/.changeset/tired-cycles-tease.md b/.changeset/tired-cycles-tease.md new file mode 100644 index 0000000..8863eeb --- /dev/null +++ b/.changeset/tired-cycles-tease.md @@ -0,0 +1,5 @@ +--- +"@agentcommercekit/vc": patch +--- + +Define explicit W3CCredential type to resolve TS compiler issues with inferred return types