@learncard/react 2.12.5 → 2.12.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{BoostGenericCard-8f95d226.js → BoostGenericCard-470b0e5a.js} +4 -4
- package/dist/cjs/BoostGenericCard-470b0e5a.js.map +1 -0
- package/dist/cjs/{CertificateDisplayCard-2f320b5f.js → CertificateDisplayCard-230b3faf.js} +3 -3
- package/dist/cjs/{CertificateDisplayCard-2f320b5f.js.map → CertificateDisplayCard-230b3faf.js.map} +1 -1
- package/dist/cjs/{MeritBadgeDisplayCard-34c47b12.js → MeritBadgeDisplayCard-a15ae981.js} +3 -3
- package/dist/cjs/{MeritBadgeDisplayCard-34c47b12.js.map → MeritBadgeDisplayCard-a15ae981.js.map} +1 -1
- package/dist/cjs/{MeritBadgeSkillsCount-82e3e799.js → MeritBadgeSkillsCount-d6ee29b1.js} +2 -2
- package/dist/cjs/{MeritBadgeSkillsCount-82e3e799.js.map → MeritBadgeSkillsCount-d6ee29b1.js.map} +1 -1
- package/dist/cjs/{SchoolIDCard-10796199.js → SchoolIDCard-2d3cbb2c.js} +3 -1184
- package/dist/cjs/SchoolIDCard-2d3cbb2c.js.map +1 -0
- package/dist/cjs/{VCCard-7f8bbd9e.js → VCCard-ff6aff86.js} +3 -3
- package/dist/cjs/{VCCard-7f8bbd9e.js.map → VCCard-ff6aff86.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-b11ec189.js → VCDisplayBackFace-a2ffb5cf.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-b11ec189.js.map → VCDisplayBackFace-a2ffb5cf.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-1abef239.js → VCDisplayCard-db565cac.js} +3 -3
- package/dist/cjs/{VCDisplayCard-1abef239.js.map → VCDisplayCard-db565cac.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-b6a512f3.js → VCDisplayCard2-023672a4.js} +6 -5
- package/dist/cjs/{VCDisplayCard2-b6a512f3.js.map → VCDisplayCard2-023672a4.js.map} +1 -1
- package/dist/cjs/{VCVerificationPill-f50c4a12.js → VCVerificationPill-0db1d7c8.js} +2 -2
- package/dist/cjs/{VCVerificationPill-f50c4a12.js.map → VCVerificationPill-0db1d7c8.js.map} +1 -1
- package/dist/cjs/{credential.helpers-d70f97fa.js → credential.helpers-88f72e5c.js} +2 -2
- package/dist/cjs/{credential.helpers-d70f97fa.js.map → credential.helpers-88f72e5c.js.map} +1 -1
- package/dist/cjs/index-47efbf5b.js +1186 -0
- package/dist/cjs/index-47efbf5b.js.map +1 -0
- package/dist/cjs/index.js +13 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index14.js +13 -12
- package/dist/cjs/index14.js.map +1 -1
- package/dist/cjs/index22.js +4 -4
- package/dist/cjs/index31.js +2 -1
- package/dist/cjs/index31.js.map +1 -1
- package/dist/cjs/index39.js +10 -9
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index4.js +3 -3
- package/dist/cjs/index40.js +4 -4
- package/dist/cjs/index41.js +5 -5
- package/dist/cjs/index42.js +6 -5
- package/dist/cjs/index42.js.map +1 -1
- package/dist/cjs/index43.js +1 -1
- package/dist/cjs/index46.js +2 -2
- package/dist/cjs/index7.js +3 -3
- package/dist/cjs/{types.esm-41c5e340.js → types.esm-94c6d461.js} +403 -199
- package/dist/cjs/types.esm-94c6d461.js.map +1 -0
- package/dist/esm/{BoostGenericCard-d468ab12.js → BoostGenericCard-c9916371.js} +4 -4
- package/dist/esm/BoostGenericCard-c9916371.js.map +1 -0
- package/dist/esm/{CertificateDisplayCard-d926cd2e.js → CertificateDisplayCard-b5399522.js} +3 -3
- package/dist/esm/{CertificateDisplayCard-d926cd2e.js.map → CertificateDisplayCard-b5399522.js.map} +1 -1
- package/dist/esm/{MeritBadgeDisplayCard-b9e76145.js → MeritBadgeDisplayCard-58245297.js} +3 -3
- package/dist/esm/{MeritBadgeDisplayCard-b9e76145.js.map → MeritBadgeDisplayCard-58245297.js.map} +1 -1
- package/dist/esm/{MeritBadgeSkillsCount-5da775e7.js → MeritBadgeSkillsCount-faee4025.js} +2 -2
- package/dist/esm/{MeritBadgeSkillsCount-5da775e7.js.map → MeritBadgeSkillsCount-faee4025.js.map} +1 -1
- package/dist/esm/{SchoolIDCard-f82e40bc.js → SchoolIDCard-fbd1cf6c.js} +2 -1183
- package/dist/esm/SchoolIDCard-fbd1cf6c.js.map +1 -0
- package/dist/esm/{VCCard-9c291d98.js → VCCard-d72f1f76.js} +3 -3
- package/dist/esm/{VCCard-9c291d98.js.map → VCCard-d72f1f76.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-ccdfca64.js → VCDisplayBackFace-66b2683d.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-ccdfca64.js.map → VCDisplayBackFace-66b2683d.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-b40c212c.js → VCDisplayCard-64896eb8.js} +3 -3
- package/dist/esm/{VCDisplayCard-b40c212c.js.map → VCDisplayCard-64896eb8.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-3a4d2726.js → VCDisplayCard2-54710551.js} +6 -5
- package/dist/esm/{VCDisplayCard2-3a4d2726.js.map → VCDisplayCard2-54710551.js.map} +1 -1
- package/dist/esm/{VCVerificationPill-ce872239.js → VCVerificationPill-3e840476.js} +2 -2
- package/dist/esm/{VCVerificationPill-ce872239.js.map → VCVerificationPill-3e840476.js.map} +1 -1
- package/dist/esm/{credential.helpers-bd90d02f.js → credential.helpers-f4495f8f.js} +2 -2
- package/dist/esm/{credential.helpers-bd90d02f.js.map → credential.helpers-f4495f8f.js.map} +1 -1
- package/dist/esm/index-cbd2e9db.js +1184 -0
- package/dist/esm/index-cbd2e9db.js.map +1 -0
- package/dist/esm/index.js +13 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index14.js +13 -12
- package/dist/esm/index14.js.map +1 -1
- package/dist/esm/index22.js +4 -4
- package/dist/esm/index31.js +2 -1
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index39.js +10 -9
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +3 -3
- package/dist/esm/index40.js +4 -4
- package/dist/esm/index41.js +5 -5
- package/dist/esm/index42.js +6 -5
- package/dist/esm/index42.js.map +1 -1
- package/dist/esm/index43.js +1 -1
- package/dist/esm/index46.js +2 -2
- package/dist/esm/index7.js +3 -3
- package/dist/esm/{types.esm-277415d8.js → types.esm-434cff58.js} +403 -199
- package/dist/esm/types.esm-434cff58.js.map +1 -0
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +4 -4
- package/src/assets/styles/main.css +10 -0
- package/src/components/BoostGenericCard/BoostGenericCard.stories.tsx +41 -1
- package/src/components/BoostGenericCard/BoostGenericCard.tsx +2 -2
- package/src/components/BoostGenericCard/__tests__/BoostGenericCard.a11y.test.tsx +25 -0
- package/dist/cjs/BoostGenericCard-8f95d226.js.map +0 -1
- package/dist/cjs/SchoolIDCard-10796199.js.map +0 -1
- package/dist/cjs/types.esm-41c5e340.js.map +0 -1
- package/dist/esm/BoostGenericCard-d468ab12.js.map +0 -1
- package/dist/esm/SchoolIDCard-f82e40bc.js.map +0 -1
- package/dist/esm/types.esm-277415d8.js.map +0 -1
|
@@ -7557,14 +7557,22 @@ var UnsignedVCValidator = object({
|
|
|
7557
7557
|
}).catchall(any());
|
|
7558
7558
|
var ProofValidator = object({
|
|
7559
7559
|
type: string(),
|
|
7560
|
-
created: string(),
|
|
7560
|
+
created: string().optional(),
|
|
7561
7561
|
challenge: string().optional(),
|
|
7562
7562
|
domain: string().optional(),
|
|
7563
7563
|
nonce: string().optional(),
|
|
7564
7564
|
proofPurpose: string(),
|
|
7565
7565
|
verificationMethod: string(),
|
|
7566
7566
|
jws: string().optional()
|
|
7567
|
-
}).catchall(any())
|
|
7567
|
+
}).catchall(any()).superRefine((proof, ctx) => {
|
|
7568
|
+
if (proof.created === void 0 && (proof.type !== "DataIntegrityProof" || proof.cryptosuite !== "ecdsa-rdfc-2019")) {
|
|
7569
|
+
ctx.addIssue({
|
|
7570
|
+
code: "custom",
|
|
7571
|
+
path: ["created"],
|
|
7572
|
+
message: "created is required for this proof suite"
|
|
7573
|
+
});
|
|
7574
|
+
}
|
|
7575
|
+
});
|
|
7568
7576
|
var VCValidator = UnsignedVCValidator.extend({
|
|
7569
7577
|
proof: ProofValidator.or(ProofValidator.array())
|
|
7570
7578
|
});
|
|
@@ -7999,6 +8007,201 @@ var StringQuery = union([
|
|
|
7999
8007
|
$or: BaseStringQuery.array()
|
|
8000
8008
|
})
|
|
8001
8009
|
]);
|
|
8010
|
+
var LearnCardRefreshAuthorizationValidator = object({ type: literal("LearnCardDIDAuth") }).catchall(any());
|
|
8011
|
+
var ManagedCredentialRefreshServiceValidator = object({
|
|
8012
|
+
id: string().min(1),
|
|
8013
|
+
type: literal("LearnCardCredentialRefresh2026"),
|
|
8014
|
+
authorization: LearnCardRefreshAuthorizationValidator.optional()
|
|
8015
|
+
}).catchall(any());
|
|
8016
|
+
var StandardCredentialRefreshServiceValidator = object({
|
|
8017
|
+
id: string().min(1),
|
|
8018
|
+
type: literal("1EdTechCredentialRefresh")
|
|
8019
|
+
}).catchall(any());
|
|
8020
|
+
union([
|
|
8021
|
+
ManagedCredentialRefreshServiceValidator,
|
|
8022
|
+
StandardCredentialRefreshServiceValidator
|
|
8023
|
+
]);
|
|
8024
|
+
object({
|
|
8025
|
+
holder: object({
|
|
8026
|
+
profileId: string().optional(),
|
|
8027
|
+
did: string().min(1)
|
|
8028
|
+
}),
|
|
8029
|
+
credentialId: string().min(1)
|
|
8030
|
+
});
|
|
8031
|
+
object({
|
|
8032
|
+
refreshId: string().min(1),
|
|
8033
|
+
refreshService: ManagedCredentialRefreshServiceValidator.extend({
|
|
8034
|
+
authorization: LearnCardRefreshAuthorizationValidator
|
|
8035
|
+
})
|
|
8036
|
+
});
|
|
8037
|
+
var ManagedCredentialRefreshReceiptValidator = object({
|
|
8038
|
+
refreshId: string().min(1),
|
|
8039
|
+
refreshService: ManagedCredentialRefreshServiceValidator,
|
|
8040
|
+
credentialId: string().min(1),
|
|
8041
|
+
issuerDid: string().min(1),
|
|
8042
|
+
holderDid: string().min(1),
|
|
8043
|
+
credentialStatus: CredentialStatusValidator.or(
|
|
8044
|
+
CredentialStatusValidator.array()
|
|
8045
|
+
).optional()
|
|
8046
|
+
}).strip();
|
|
8047
|
+
var InboxCredentialRefreshReceiptValidator = ManagedCredentialRefreshReceiptValidator.omit(
|
|
8048
|
+
{ holderDid: true }
|
|
8049
|
+
).extend({ holderDid: string().min(1).optional() });
|
|
8050
|
+
var CredentialRefreshSigningModeValidator = _enum(["issuer-signed", "signing-authority"]);
|
|
8051
|
+
var PublishCredentialRefreshBaseFields = {
|
|
8052
|
+
refreshId: string().min(1),
|
|
8053
|
+
notifyHolder: boolean().optional(),
|
|
8054
|
+
updateSummary: string().optional(),
|
|
8055
|
+
idempotencyKey: string().optional()
|
|
8056
|
+
};
|
|
8057
|
+
object(__spreadProps(__spreadValues({}, PublishCredentialRefreshBaseFields), {
|
|
8058
|
+
mode: literal("issuer-signed"),
|
|
8059
|
+
signedCredential: VCValidator
|
|
8060
|
+
}));
|
|
8061
|
+
object(__spreadProps(__spreadValues({}, PublishCredentialRefreshBaseFields), {
|
|
8062
|
+
mode: literal("signing-authority"),
|
|
8063
|
+
credential: UnsignedVCValidator,
|
|
8064
|
+
signingAuthority: object({
|
|
8065
|
+
type: string().min(1)
|
|
8066
|
+
}).catchall(any())
|
|
8067
|
+
}));
|
|
8068
|
+
object(__spreadProps(__spreadValues({}, PublishCredentialRefreshBaseFields), {
|
|
8069
|
+
mode: CredentialRefreshSigningModeValidator,
|
|
8070
|
+
signedCredential: VCValidator.optional(),
|
|
8071
|
+
credential: UnsignedVCValidator.optional(),
|
|
8072
|
+
signingAuthority: object({
|
|
8073
|
+
type: string().min(1)
|
|
8074
|
+
}).catchall(any()).optional()
|
|
8075
|
+
})).superRefine((input, ctx) => {
|
|
8076
|
+
if (input.mode === "issuer-signed" && !input.signedCredential) {
|
|
8077
|
+
ctx.addIssue({
|
|
8078
|
+
code: "custom",
|
|
8079
|
+
path: ["signedCredential"],
|
|
8080
|
+
message: "signedCredential is required for issuer-signed publication"
|
|
8081
|
+
});
|
|
8082
|
+
}
|
|
8083
|
+
if (input.mode === "issuer-signed" && (input.credential !== void 0 || input.signingAuthority !== void 0)) {
|
|
8084
|
+
ctx.addIssue({
|
|
8085
|
+
code: "custom",
|
|
8086
|
+
path: ["mode"],
|
|
8087
|
+
message: "issuer-signed publication cannot include signing-authority fields"
|
|
8088
|
+
});
|
|
8089
|
+
}
|
|
8090
|
+
if (input.mode === "signing-authority") {
|
|
8091
|
+
if (input.signedCredential !== void 0) {
|
|
8092
|
+
ctx.addIssue({
|
|
8093
|
+
code: "custom",
|
|
8094
|
+
path: ["signedCredential"],
|
|
8095
|
+
message: "signing-authority publication cannot include signedCredential"
|
|
8096
|
+
});
|
|
8097
|
+
}
|
|
8098
|
+
if (!input.credential) {
|
|
8099
|
+
ctx.addIssue({
|
|
8100
|
+
code: "custom",
|
|
8101
|
+
path: ["credential"],
|
|
8102
|
+
message: "credential is required for signing-authority publication"
|
|
8103
|
+
});
|
|
8104
|
+
}
|
|
8105
|
+
if (!input.signingAuthority) {
|
|
8106
|
+
ctx.addIssue({
|
|
8107
|
+
code: "custom",
|
|
8108
|
+
path: ["signingAuthority"],
|
|
8109
|
+
message: "signingAuthority is required for signing-authority publication"
|
|
8110
|
+
});
|
|
8111
|
+
}
|
|
8112
|
+
}
|
|
8113
|
+
});
|
|
8114
|
+
var PublishCredentialRefreshNotificationValidator = _enum([
|
|
8115
|
+
"queued",
|
|
8116
|
+
"suppressed",
|
|
8117
|
+
"not-applicable",
|
|
8118
|
+
/** Publication succeeded, but the post-commit notification enqueue must be retried. */
|
|
8119
|
+
"delivery-failed"
|
|
8120
|
+
]);
|
|
8121
|
+
object({
|
|
8122
|
+
refreshId: string().min(1),
|
|
8123
|
+
version: number().int().positive(),
|
|
8124
|
+
publishedAt: string().min(1),
|
|
8125
|
+
notification: PublishCredentialRefreshNotificationValidator
|
|
8126
|
+
});
|
|
8127
|
+
var CredentialRefreshVersionMetadataValidator = object({
|
|
8128
|
+
version: number().int().positive(),
|
|
8129
|
+
publishedAt: string().min(1),
|
|
8130
|
+
effectiveAt: string().optional(),
|
|
8131
|
+
etag: string().optional(),
|
|
8132
|
+
signingMode: CredentialRefreshSigningModeValidator.optional(),
|
|
8133
|
+
updateSummary: string().optional()
|
|
8134
|
+
});
|
|
8135
|
+
object({
|
|
8136
|
+
refreshId: string().min(1),
|
|
8137
|
+
cursor: string().optional(),
|
|
8138
|
+
limit: number().int().positive().optional()
|
|
8139
|
+
});
|
|
8140
|
+
object({
|
|
8141
|
+
records: CredentialRefreshVersionMetadataValidator.array(),
|
|
8142
|
+
hasMore: boolean(),
|
|
8143
|
+
cursor: string().optional()
|
|
8144
|
+
});
|
|
8145
|
+
object({
|
|
8146
|
+
challenge: string().min(1),
|
|
8147
|
+
expiresAt: string().min(1),
|
|
8148
|
+
domain: string().optional(),
|
|
8149
|
+
scheme: literal("LearnCardDIDAuth").optional()
|
|
8150
|
+
});
|
|
8151
|
+
var PublicCredentialRefreshEnvelopeValidator = object({
|
|
8152
|
+
format: literal("vc"),
|
|
8153
|
+
credential: VCValidator,
|
|
8154
|
+
etag: string().optional()
|
|
8155
|
+
});
|
|
8156
|
+
var JweCredentialRefreshEnvelopeValidator = object({
|
|
8157
|
+
format: literal("jwe"),
|
|
8158
|
+
jwe: JWEValidator,
|
|
8159
|
+
etag: string().optional(),
|
|
8160
|
+
/** Present on LearnCard-managed endpoints; optional for interoperable JWE services. */
|
|
8161
|
+
version: number().int().positive().optional()
|
|
8162
|
+
});
|
|
8163
|
+
discriminatedUnion("format", [
|
|
8164
|
+
PublicCredentialRefreshEnvelopeValidator,
|
|
8165
|
+
JweCredentialRefreshEnvelopeValidator
|
|
8166
|
+
]);
|
|
8167
|
+
var CredentialRefreshFailureCodeValidator = _enum([
|
|
8168
|
+
"UNAVAILABLE",
|
|
8169
|
+
"TIMEOUT",
|
|
8170
|
+
"UNSUPPORTED_SERVICE",
|
|
8171
|
+
"UNAUTHORIZED",
|
|
8172
|
+
"MALFORMED_RESPONSE",
|
|
8173
|
+
"INVALID_PROOF",
|
|
8174
|
+
"ISSUER_MISMATCH",
|
|
8175
|
+
"ID_MISMATCH",
|
|
8176
|
+
"ROLLBACK",
|
|
8177
|
+
"REVOKED",
|
|
8178
|
+
"UNSAFE_ENDPOINT"
|
|
8179
|
+
]);
|
|
8180
|
+
var CredentialRefreshUpdatedResultValidator = object({
|
|
8181
|
+
status: literal("updated"),
|
|
8182
|
+
credential: VCValidator,
|
|
8183
|
+
etag: string().optional(),
|
|
8184
|
+
managedVersion: number().int().positive().optional()
|
|
8185
|
+
});
|
|
8186
|
+
var CredentialRefreshUnchangedResultValidator = object({
|
|
8187
|
+
status: literal("unchanged"),
|
|
8188
|
+
checkedAt: string().min(1),
|
|
8189
|
+
etag: string().optional()
|
|
8190
|
+
});
|
|
8191
|
+
var CredentialRefreshUnsupportedResultValidator = object({
|
|
8192
|
+
status: literal("unsupported")
|
|
8193
|
+
});
|
|
8194
|
+
var CredentialRefreshFailedResultValidator = object({
|
|
8195
|
+
status: literal("failed"),
|
|
8196
|
+
code: CredentialRefreshFailureCodeValidator,
|
|
8197
|
+
retryable: boolean()
|
|
8198
|
+
});
|
|
8199
|
+
discriminatedUnion("status", [
|
|
8200
|
+
CredentialRefreshUpdatedResultValidator,
|
|
8201
|
+
CredentialRefreshUnchangedResultValidator,
|
|
8202
|
+
CredentialRefreshUnsupportedResultValidator,
|
|
8203
|
+
CredentialRefreshFailedResultValidator
|
|
8204
|
+
]);
|
|
8002
8205
|
var LCNProfileDisplayValidator = object({
|
|
8003
8206
|
backgroundColor: string().optional(),
|
|
8004
8207
|
backgroundImage: string().optional(),
|
|
@@ -8334,7 +8537,13 @@ var SendBoostInputValidator = object({
|
|
|
8334
8537
|
"Options for email/phone recipients (Universal Inbox)"
|
|
8335
8538
|
),
|
|
8336
8539
|
templateData: record(string(), unknown()).optional(),
|
|
8337
|
-
integrationId: string().optional().describe("Integration ID for activity tracking")
|
|
8540
|
+
integrationId: string().optional().describe("Integration ID for activity tracking"),
|
|
8541
|
+
refresh: boolean().optional().describe(
|
|
8542
|
+
"Request managed credential refresh for this send. Profile/DID recipients use immediate issuance; email/phone recipients use deferred Universal Inbox signing and bind the holder at claim."
|
|
8543
|
+
),
|
|
8544
|
+
idempotencyKey: string().min(1).max(200).optional().describe(
|
|
8545
|
+
"Caller-chosen key that makes a managed refresh send (refresh: true) safe to retry as a whole: retries with the same key reuse the same boost, refresh allocation and result. Reusing a key for a different request is rejected. With signedCredential, requires prior tRPC prepareRefreshableSend; direct REST callers omit the key and retry the exact signed credential and templateUri."
|
|
8546
|
+
)
|
|
8338
8547
|
}).refine((data) => data.templateUri || data.template || data.signedCredential, {
|
|
8339
8548
|
message: "Either templateUri, template, or signedCredential must be provided.",
|
|
8340
8549
|
path: ["templateUri"]
|
|
@@ -8350,8 +8559,12 @@ var SendBoostInputValidator = object({
|
|
|
8350
8559
|
message: "guardianEmail must differ from recipient (self-approval not allowed)",
|
|
8351
8560
|
path: ["options", "guardianEmail"]
|
|
8352
8561
|
}
|
|
8353
|
-
)
|
|
8562
|
+
).refine((data) => !data.idempotencyKey || data.refresh === true, {
|
|
8563
|
+
message: "idempotencyKey is only supported with refresh: true.",
|
|
8564
|
+
path: ["idempotencyKey"]
|
|
8565
|
+
});
|
|
8354
8566
|
var SendInboxResponseValidator = object({
|
|
8567
|
+
refresh: InboxCredentialRefreshReceiptValidator.optional(),
|
|
8355
8568
|
issuanceId: string(),
|
|
8356
8569
|
status: _enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
|
|
8357
8570
|
claimUrl: string().url().optional().describe("Present when suppressDelivery=true"),
|
|
@@ -8366,8 +8579,34 @@ var SendBoostResponseValidator = object({
|
|
|
8366
8579
|
activityId: string().describe("Links to the activity lifecycle for this issuance"),
|
|
8367
8580
|
inbox: SendInboxResponseValidator.optional().describe(
|
|
8368
8581
|
"Present when sent via email/phone (Universal Inbox)"
|
|
8582
|
+
),
|
|
8583
|
+
refresh: ManagedCredentialRefreshReceiptValidator.optional().describe(
|
|
8584
|
+
"Present when managed refresh was requested: issuance metadata the issuer keeps to publish future updates"
|
|
8369
8585
|
)
|
|
8370
8586
|
});
|
|
8587
|
+
object({
|
|
8588
|
+
recipient: string(),
|
|
8589
|
+
templateUri: string().optional(),
|
|
8590
|
+
template: SendBoostTemplateValidator.optional(),
|
|
8591
|
+
contractUri: string().optional(),
|
|
8592
|
+
templateData: record(string(), unknown()).optional(),
|
|
8593
|
+
integrationId: string().optional(),
|
|
8594
|
+
/** Credential ID to allocate for; generated server-side when omitted. */
|
|
8595
|
+
credentialId: string().min(1).optional(),
|
|
8596
|
+
idempotencyKey: string().min(1).max(200).optional()
|
|
8597
|
+
}).refine((data) => Boolean(data.templateUri) !== Boolean(data.template), {
|
|
8598
|
+
message: "Provide exactly one of templateUri or template."
|
|
8599
|
+
});
|
|
8600
|
+
object({
|
|
8601
|
+
boostUri: string(),
|
|
8602
|
+
credentialId: string(),
|
|
8603
|
+
refreshId: string(),
|
|
8604
|
+
refreshService: ManagedCredentialRefreshServiceValidator,
|
|
8605
|
+
/** The DID to use as credentialSubject.id (recipient DID, or the profile's did:web). */
|
|
8606
|
+
holderDid: string(),
|
|
8607
|
+
/** Present when this idempotencyKey already completed: return it without signing. */
|
|
8608
|
+
completed: SendBoostResponseValidator.optional()
|
|
8609
|
+
});
|
|
8371
8610
|
discriminatedUnion("type", [SendBoostInputValidator]);
|
|
8372
8611
|
discriminatedUnion("type", [SendBoostResponseValidator]);
|
|
8373
8612
|
var ConsentFlowTermsStatusValidator = _enum(["live", "stale", "withdrawn"]);
|
|
@@ -8443,15 +8682,6 @@ var ConsentFlowContractDataValidator = object({
|
|
|
8443
8682
|
PaginationResponseValidator.extend({
|
|
8444
8683
|
records: ConsentFlowContractDataValidator.array()
|
|
8445
8684
|
});
|
|
8446
|
-
var ConsentFlowContractDataForDidValidator = object({
|
|
8447
|
-
credentials: object({ category: string(), uri: string() }).array(),
|
|
8448
|
-
personal: record(string(), string()).default({}),
|
|
8449
|
-
date: string(),
|
|
8450
|
-
contractUri: string()
|
|
8451
|
-
});
|
|
8452
|
-
PaginationResponseValidator.extend({
|
|
8453
|
-
records: ConsentFlowContractDataForDidValidator.array()
|
|
8454
|
-
});
|
|
8455
8685
|
var ConsentFlowTermValidator = object({
|
|
8456
8686
|
sharing: boolean().optional(),
|
|
8457
8687
|
shared: string().array().optional(),
|
|
@@ -8485,6 +8715,34 @@ PaginationResponseValidator.extend({
|
|
|
8485
8715
|
status: ConsentFlowTermsStatusValidator
|
|
8486
8716
|
}).array()
|
|
8487
8717
|
});
|
|
8718
|
+
var ConsentFlowGuardianApprovalValidator = object({
|
|
8719
|
+
guardianProfileId: string(),
|
|
8720
|
+
guardianDid: string(),
|
|
8721
|
+
approvedAt: string().datetime(),
|
|
8722
|
+
contractUpdatedAt: string()
|
|
8723
|
+
});
|
|
8724
|
+
var ConsentFlowContractDataForDidValidator = object({
|
|
8725
|
+
credentials: object({ category: string(), uri: string() }).array(),
|
|
8726
|
+
personal: record(string(), string()).default({}),
|
|
8727
|
+
date: string(),
|
|
8728
|
+
createdAt: string().optional(),
|
|
8729
|
+
contractUpdatedAt: string(),
|
|
8730
|
+
contractExpiresAt: string().optional(),
|
|
8731
|
+
reasonForAccessing: string().optional(),
|
|
8732
|
+
guardian: object({
|
|
8733
|
+
required: boolean(),
|
|
8734
|
+
approved: boolean(),
|
|
8735
|
+
approval: ConsentFlowGuardianApprovalValidator.optional()
|
|
8736
|
+
}),
|
|
8737
|
+
contractUri: string(),
|
|
8738
|
+
termsUri: string(),
|
|
8739
|
+
status: ConsentFlowTermsStatusValidator,
|
|
8740
|
+
expiresAt: string().optional(),
|
|
8741
|
+
terms: ConsentFlowTermsValidator
|
|
8742
|
+
});
|
|
8743
|
+
PaginationResponseValidator.extend({
|
|
8744
|
+
records: ConsentFlowContractDataForDidValidator.array()
|
|
8745
|
+
});
|
|
8488
8746
|
object({
|
|
8489
8747
|
read: object({
|
|
8490
8748
|
anonymize: boolean().optional(),
|
|
@@ -8545,6 +8803,7 @@ var ConsentFlowTransactionValidator = object({
|
|
|
8545
8803
|
expiresAt: string().optional(),
|
|
8546
8804
|
oneTime: boolean().optional(),
|
|
8547
8805
|
terms: ConsentFlowTermsValidator.optional(),
|
|
8806
|
+
guardianApproval: ConsentFlowGuardianApprovalValidator.optional(),
|
|
8548
8807
|
id: string(),
|
|
8549
8808
|
action: ConsentFlowTransactionActionValidator,
|
|
8550
8809
|
date: string(),
|
|
@@ -8678,6 +8937,7 @@ object({
|
|
|
8678
8937
|
}, "error")
|
|
8679
8938
|
}),
|
|
8680
8939
|
scope: string(),
|
|
8940
|
+
actAs: string().optional(),
|
|
8681
8941
|
createdAt: datetime({ error: "createdAt must be a valid ISO 8601 datetime string" }),
|
|
8682
8942
|
expiresAt: datetime({ error: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
|
|
8683
8943
|
});
|
|
@@ -8749,6 +9009,8 @@ object({
|
|
|
8749
9009
|
sessionJwt: string()
|
|
8750
9010
|
});
|
|
8751
9011
|
var InboxCredentialValidator = object({
|
|
9012
|
+
refresh: InboxCredentialRefreshReceiptValidator.optional(),
|
|
9013
|
+
refreshId: string().optional(),
|
|
8752
9014
|
id: string(),
|
|
8753
9015
|
credential: string().optional(),
|
|
8754
9016
|
isSigned: boolean(),
|
|
@@ -8792,7 +9054,7 @@ var IssueInboxSigningAuthorityValidator = object({
|
|
|
8792
9054
|
endpoint: string().url(),
|
|
8793
9055
|
name: string()
|
|
8794
9056
|
});
|
|
8795
|
-
object({
|
|
9057
|
+
var IssueInboxCredentialValidator = object({
|
|
8796
9058
|
// === CORE DATA (Required) ===
|
|
8797
9059
|
// WHAT is being sent and WHO is it for?
|
|
8798
9060
|
recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
|
|
@@ -8803,12 +9065,19 @@ object({
|
|
|
8803
9065
|
templateUri: string().optional().describe(
|
|
8804
9066
|
"URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
|
|
8805
9067
|
),
|
|
9068
|
+
refresh: boolean().optional().describe(
|
|
9069
|
+
"Allocate managed refresh before signing. Requires unsigned content and a registered signing authority; binds the holder on claim."
|
|
9070
|
+
),
|
|
9071
|
+
idempotencyKey: string().min(1).max(200).optional(),
|
|
8806
9072
|
// === OPTIONAL FEATURES ===
|
|
8807
9073
|
// Add major, distinct features at the top level.
|
|
8808
9074
|
//consentRequest: ConsentRequestValidator.optional(),
|
|
8809
9075
|
// === PROCESS CONFIGURATION (Optional) ===
|
|
8810
9076
|
// HOW should this issuance be handled?
|
|
8811
9077
|
configuration: object({
|
|
9078
|
+
guardianEmail: string().email().optional().describe(
|
|
9079
|
+
"Require approval from this guardian before the recipient can claim. Must differ from the recipient email."
|
|
9080
|
+
),
|
|
8812
9081
|
signingAuthority: IssueInboxSigningAuthorityValidator.optional().describe(
|
|
8813
9082
|
"The signing authority to use for the credential. If not provided, the users default signing authority will be used if the credential is not signed."
|
|
8814
9083
|
),
|
|
@@ -8862,17 +9131,133 @@ object({
|
|
|
8862
9131
|
}).optional().describe(
|
|
8863
9132
|
"Configuration for the credential issuance. If not provided, the default configuration will be used."
|
|
8864
9133
|
)
|
|
9134
|
+
}).refine((data) => !data.idempotencyKey || data.refresh === true, {
|
|
9135
|
+
message: "idempotencyKey requires refresh: true."
|
|
8865
9136
|
}).refine((data) => data.credential || data.templateUri, {
|
|
8866
9137
|
message: "Either credential or templateUri must be provided.",
|
|
8867
9138
|
path: ["credential"]
|
|
8868
|
-
})
|
|
8869
|
-
|
|
9139
|
+
}).refine(
|
|
9140
|
+
(data) => {
|
|
9141
|
+
var _a2;
|
|
9142
|
+
return !((_a2 = data.configuration) == null ? void 0 : _a2.guardianEmail) || data.recipient.type !== "email" || data.configuration.guardianEmail.toLowerCase() !== data.recipient.value.toLowerCase();
|
|
9143
|
+
},
|
|
9144
|
+
{
|
|
9145
|
+
message: "guardianEmail must differ from recipient (self-approval not allowed)",
|
|
9146
|
+
path: ["configuration", "guardianEmail"]
|
|
9147
|
+
}
|
|
9148
|
+
);
|
|
9149
|
+
var IssueInboxCredentialResponseValidator = object({
|
|
9150
|
+
refresh: InboxCredentialRefreshReceiptValidator.optional(),
|
|
8870
9151
|
issuanceId: string(),
|
|
8871
9152
|
status: LCNInboxStatusEnumValidator,
|
|
8872
9153
|
recipient: ContactMethodQueryValidator,
|
|
8873
9154
|
claimUrl: string().url().optional(),
|
|
8874
9155
|
recipientDid: string().optional()
|
|
8875
9156
|
});
|
|
9157
|
+
var InboxBatchConfigurationValidator = IssueInboxCredentialValidator.shape.configuration.unwrap().extend({
|
|
9158
|
+
refresh: IssueInboxCredentialValidator.shape.refresh.describe(
|
|
9159
|
+
"Enable managed refresh by default. An item configuration.refresh overrides this value, including false."
|
|
9160
|
+
),
|
|
9161
|
+
delivery: IssueInboxCredentialValidator.shape.configuration.unwrap().shape.delivery.unwrap().extend({ suppress: boolean().optional() }).optional()
|
|
9162
|
+
});
|
|
9163
|
+
var InboxBatchItemConfigurationValidator = InboxBatchConfigurationValidator.extend({
|
|
9164
|
+
guardianEmail: InboxBatchConfigurationValidator.shape.guardianEmail.nullable().describe(
|
|
9165
|
+
"Require guardian approval, or set null to clear a batch-level guardianEmail for this item."
|
|
9166
|
+
)
|
|
9167
|
+
});
|
|
9168
|
+
var IssueInboxCredentialBatchItemValidator = object(__spreadProps(__spreadValues({}, IssueInboxCredentialValidator.shape), {
|
|
9169
|
+
configuration: InboxBatchItemConfigurationValidator.optional(),
|
|
9170
|
+
idempotencyKey: string().max(256).optional()
|
|
9171
|
+
})).refine((data) => data.credential || data.templateUri, {
|
|
9172
|
+
message: "Either credential or templateUri must be provided.",
|
|
9173
|
+
path: ["credential"]
|
|
9174
|
+
}).describe(
|
|
9175
|
+
"One issuance: provide credential or templateUri. Invalid input is rejected at submission with its item index."
|
|
9176
|
+
);
|
|
9177
|
+
object({
|
|
9178
|
+
requestId: string().min(1).max(256).optional(),
|
|
9179
|
+
items: array(IssueInboxCredentialBatchItemValidator).min(1).max(100),
|
|
9180
|
+
configuration: InboxBatchConfigurationValidator.optional()
|
|
9181
|
+
}).superRefine((batch, ctx) => {
|
|
9182
|
+
batch.items.forEach((item, index) => {
|
|
9183
|
+
var _a2, _b;
|
|
9184
|
+
const itemGuardian = (_a2 = item.configuration) == null ? void 0 : _a2.guardianEmail;
|
|
9185
|
+
const guardian = itemGuardian === null ? void 0 : itemGuardian != null ? itemGuardian : (_b = batch.configuration) == null ? void 0 : _b.guardianEmail;
|
|
9186
|
+
if (guardian && item.recipient.type === "email" && guardian.toLowerCase() === item.recipient.value.toLowerCase()) {
|
|
9187
|
+
ctx.addIssue({
|
|
9188
|
+
code: "custom",
|
|
9189
|
+
path: ["items", index, "configuration", "guardianEmail"],
|
|
9190
|
+
message: "guardianEmail must differ from recipient (self-approval not allowed)"
|
|
9191
|
+
});
|
|
9192
|
+
}
|
|
9193
|
+
});
|
|
9194
|
+
});
|
|
9195
|
+
var InboxBatchErrorReasonValidator = _enum([
|
|
9196
|
+
"DUPLICATE_KEY",
|
|
9197
|
+
"IDEMPOTENCY_MISMATCH",
|
|
9198
|
+
"IN_PROGRESS",
|
|
9199
|
+
"UNCONFIRMED"
|
|
9200
|
+
]);
|
|
9201
|
+
var IssueInboxCredentialBatchItemResultValidator = discriminatedUnion("success", [
|
|
9202
|
+
IssueInboxCredentialResponseValidator.extend({
|
|
9203
|
+
success: literal(true),
|
|
9204
|
+
index: number().int().nonnegative(),
|
|
9205
|
+
deduplicated: boolean().optional(),
|
|
9206
|
+
guardianStatus: GuardianStatusValidator.optional(),
|
|
9207
|
+
idempotencyKey: string().optional()
|
|
9208
|
+
}),
|
|
9209
|
+
object({
|
|
9210
|
+
success: literal(false),
|
|
9211
|
+
index: number().int().nonnegative(),
|
|
9212
|
+
idempotencyKey: string().optional(),
|
|
9213
|
+
recipient: ContactMethodQueryValidator.optional(),
|
|
9214
|
+
error: object({
|
|
9215
|
+
code: string(),
|
|
9216
|
+
message: string(),
|
|
9217
|
+
reason: InboxBatchErrorReasonValidator.optional()
|
|
9218
|
+
}),
|
|
9219
|
+
issuanceId: string().optional().describe(
|
|
9220
|
+
"Present when issuance completed but replay storage could not be confirmed. Reconcile this issuance; do not issue again with a new key."
|
|
9221
|
+
),
|
|
9222
|
+
claimUrl: string().url().optional().describe(
|
|
9223
|
+
"Claim URL of the completed issuance, if available, when replay storage could not be confirmed."
|
|
9224
|
+
)
|
|
9225
|
+
})
|
|
9226
|
+
]);
|
|
9227
|
+
var IssueInboxCredentialBatchResponseValidator = object({
|
|
9228
|
+
results: array(IssueInboxCredentialBatchItemResultValidator),
|
|
9229
|
+
summary: object({
|
|
9230
|
+
total: number(),
|
|
9231
|
+
succeeded: number(),
|
|
9232
|
+
failed: number(),
|
|
9233
|
+
deduplicated: number()
|
|
9234
|
+
})
|
|
9235
|
+
});
|
|
9236
|
+
object({
|
|
9237
|
+
batchId: string(),
|
|
9238
|
+
status: _enum(["QUEUED", "PROCESSING", "COMPLETED", "NEEDS_RECONCILIATION"]),
|
|
9239
|
+
createdAt: string()
|
|
9240
|
+
});
|
|
9241
|
+
object({
|
|
9242
|
+
batchId: string(),
|
|
9243
|
+
createdAt: string(),
|
|
9244
|
+
done: boolean().describe(
|
|
9245
|
+
"True when no queued or processing items remain, including unconfirmed outcomes."
|
|
9246
|
+
),
|
|
9247
|
+
status: _enum(["QUEUED", "PROCESSING", "COMPLETED", "NEEDS_RECONCILIATION"]),
|
|
9248
|
+
items: array(
|
|
9249
|
+
object({
|
|
9250
|
+
index: number().int().nonnegative(),
|
|
9251
|
+
state: _enum(["QUEUED", "PROCESSING", "COMPLETED", "NEEDS_RECONCILIATION"]),
|
|
9252
|
+
result: IssueInboxCredentialBatchItemResultValidator.optional()
|
|
9253
|
+
})
|
|
9254
|
+
),
|
|
9255
|
+
summary: IssueInboxCredentialBatchResponseValidator.shape.summary.extend({
|
|
9256
|
+
completed: number(),
|
|
9257
|
+
pending: number(),
|
|
9258
|
+
unconfirmed: number()
|
|
9259
|
+
})
|
|
9260
|
+
});
|
|
8876
9261
|
var CredentialNameRefValidator = object({ name: string() }).passthrough();
|
|
8877
9262
|
object({
|
|
8878
9263
|
credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).or(CredentialNameRefValidator).describe("The credential to issue, or a { name } reference to resolve a boost template."),
|
|
@@ -9358,6 +9743,7 @@ var CredentialActivityValidator = object({
|
|
|
9358
9743
|
eventType: CredentialActivityEventTypeValidator,
|
|
9359
9744
|
timestamp: string(),
|
|
9360
9745
|
actorProfileId: string().optional(),
|
|
9746
|
+
onBehalfOf: string().optional(),
|
|
9361
9747
|
recipientType: CredentialActivityRecipientTypeValidator,
|
|
9362
9748
|
recipientIdentifier: string(),
|
|
9363
9749
|
boostUri: string().optional(),
|
|
@@ -9506,188 +9892,6 @@ object({
|
|
|
9506
9892
|
version: number().default(1),
|
|
9507
9893
|
messages: array(inAppMessageValidator).default([])
|
|
9508
9894
|
}).passthrough();
|
|
9509
|
-
var LearnCardRefreshAuthorizationValidator = object({ type: literal("LearnCardDIDAuth") }).catchall(any());
|
|
9510
|
-
var ManagedCredentialRefreshServiceValidator = object({
|
|
9511
|
-
id: string().min(1),
|
|
9512
|
-
type: literal("LearnCardCredentialRefresh2026"),
|
|
9513
|
-
authorization: LearnCardRefreshAuthorizationValidator.optional()
|
|
9514
|
-
}).catchall(any());
|
|
9515
|
-
var StandardCredentialRefreshServiceValidator = object({
|
|
9516
|
-
id: string().min(1),
|
|
9517
|
-
type: literal("1EdTechCredentialRefresh")
|
|
9518
|
-
}).catchall(any());
|
|
9519
|
-
union([
|
|
9520
|
-
ManagedCredentialRefreshServiceValidator,
|
|
9521
|
-
StandardCredentialRefreshServiceValidator
|
|
9522
|
-
]);
|
|
9523
|
-
object({
|
|
9524
|
-
holder: object({
|
|
9525
|
-
profileId: string().optional(),
|
|
9526
|
-
did: string().min(1)
|
|
9527
|
-
}),
|
|
9528
|
-
credentialId: string().min(1)
|
|
9529
|
-
});
|
|
9530
|
-
object({
|
|
9531
|
-
refreshId: string().min(1),
|
|
9532
|
-
refreshService: ManagedCredentialRefreshServiceValidator.extend({
|
|
9533
|
-
authorization: LearnCardRefreshAuthorizationValidator
|
|
9534
|
-
})
|
|
9535
|
-
});
|
|
9536
|
-
var CredentialRefreshSigningModeValidator = _enum(["issuer-signed", "signing-authority"]);
|
|
9537
|
-
var PublishCredentialRefreshBaseFields = {
|
|
9538
|
-
refreshId: string().min(1),
|
|
9539
|
-
notifyHolder: boolean().optional(),
|
|
9540
|
-
updateSummary: string().optional(),
|
|
9541
|
-
idempotencyKey: string().optional()
|
|
9542
|
-
};
|
|
9543
|
-
object(__spreadProps(__spreadValues({}, PublishCredentialRefreshBaseFields), {
|
|
9544
|
-
mode: literal("issuer-signed"),
|
|
9545
|
-
signedCredential: VCValidator
|
|
9546
|
-
}));
|
|
9547
|
-
object(__spreadProps(__spreadValues({}, PublishCredentialRefreshBaseFields), {
|
|
9548
|
-
mode: literal("signing-authority"),
|
|
9549
|
-
credential: UnsignedVCValidator,
|
|
9550
|
-
signingAuthority: object({
|
|
9551
|
-
type: string().min(1)
|
|
9552
|
-
}).catchall(any())
|
|
9553
|
-
}));
|
|
9554
|
-
object(__spreadProps(__spreadValues({}, PublishCredentialRefreshBaseFields), {
|
|
9555
|
-
mode: CredentialRefreshSigningModeValidator,
|
|
9556
|
-
signedCredential: VCValidator.optional(),
|
|
9557
|
-
credential: UnsignedVCValidator.optional(),
|
|
9558
|
-
signingAuthority: object({
|
|
9559
|
-
type: string().min(1)
|
|
9560
|
-
}).catchall(any()).optional()
|
|
9561
|
-
})).superRefine((input, ctx) => {
|
|
9562
|
-
if (input.mode === "issuer-signed" && !input.signedCredential) {
|
|
9563
|
-
ctx.addIssue({
|
|
9564
|
-
code: "custom",
|
|
9565
|
-
path: ["signedCredential"],
|
|
9566
|
-
message: "signedCredential is required for issuer-signed publication"
|
|
9567
|
-
});
|
|
9568
|
-
}
|
|
9569
|
-
if (input.mode === "issuer-signed" && (input.credential !== void 0 || input.signingAuthority !== void 0)) {
|
|
9570
|
-
ctx.addIssue({
|
|
9571
|
-
code: "custom",
|
|
9572
|
-
path: ["mode"],
|
|
9573
|
-
message: "issuer-signed publication cannot include signing-authority fields"
|
|
9574
|
-
});
|
|
9575
|
-
}
|
|
9576
|
-
if (input.mode === "signing-authority") {
|
|
9577
|
-
if (input.signedCredential !== void 0) {
|
|
9578
|
-
ctx.addIssue({
|
|
9579
|
-
code: "custom",
|
|
9580
|
-
path: ["signedCredential"],
|
|
9581
|
-
message: "signing-authority publication cannot include signedCredential"
|
|
9582
|
-
});
|
|
9583
|
-
}
|
|
9584
|
-
if (!input.credential) {
|
|
9585
|
-
ctx.addIssue({
|
|
9586
|
-
code: "custom",
|
|
9587
|
-
path: ["credential"],
|
|
9588
|
-
message: "credential is required for signing-authority publication"
|
|
9589
|
-
});
|
|
9590
|
-
}
|
|
9591
|
-
if (!input.signingAuthority) {
|
|
9592
|
-
ctx.addIssue({
|
|
9593
|
-
code: "custom",
|
|
9594
|
-
path: ["signingAuthority"],
|
|
9595
|
-
message: "signingAuthority is required for signing-authority publication"
|
|
9596
|
-
});
|
|
9597
|
-
}
|
|
9598
|
-
}
|
|
9599
|
-
});
|
|
9600
|
-
var PublishCredentialRefreshNotificationValidator = _enum([
|
|
9601
|
-
"queued",
|
|
9602
|
-
"suppressed",
|
|
9603
|
-
"not-applicable",
|
|
9604
|
-
/** Publication succeeded, but the post-commit notification enqueue must be retried. */
|
|
9605
|
-
"delivery-failed"
|
|
9606
|
-
]);
|
|
9607
|
-
object({
|
|
9608
|
-
refreshId: string().min(1),
|
|
9609
|
-
version: number().int().positive(),
|
|
9610
|
-
publishedAt: string().min(1),
|
|
9611
|
-
notification: PublishCredentialRefreshNotificationValidator
|
|
9612
|
-
});
|
|
9613
|
-
var CredentialRefreshVersionMetadataValidator = object({
|
|
9614
|
-
version: number().int().positive(),
|
|
9615
|
-
publishedAt: string().min(1),
|
|
9616
|
-
effectiveAt: string().optional(),
|
|
9617
|
-
etag: string().optional(),
|
|
9618
|
-
signingMode: CredentialRefreshSigningModeValidator.optional(),
|
|
9619
|
-
updateSummary: string().optional()
|
|
9620
|
-
});
|
|
9621
|
-
object({
|
|
9622
|
-
refreshId: string().min(1),
|
|
9623
|
-
cursor: string().optional(),
|
|
9624
|
-
limit: number().int().positive().optional()
|
|
9625
|
-
});
|
|
9626
|
-
object({
|
|
9627
|
-
records: CredentialRefreshVersionMetadataValidator.array(),
|
|
9628
|
-
hasMore: boolean(),
|
|
9629
|
-
cursor: string().optional()
|
|
9630
|
-
});
|
|
9631
|
-
object({
|
|
9632
|
-
challenge: string().min(1),
|
|
9633
|
-
expiresAt: string().min(1),
|
|
9634
|
-
domain: string().optional(),
|
|
9635
|
-
scheme: literal("LearnCardDIDAuth").optional()
|
|
9636
|
-
});
|
|
9637
|
-
var PublicCredentialRefreshEnvelopeValidator = object({
|
|
9638
|
-
format: literal("vc"),
|
|
9639
|
-
credential: VCValidator,
|
|
9640
|
-
etag: string().optional()
|
|
9641
|
-
});
|
|
9642
|
-
var JweCredentialRefreshEnvelopeValidator = object({
|
|
9643
|
-
format: literal("jwe"),
|
|
9644
|
-
jwe: JWEValidator,
|
|
9645
|
-
etag: string().optional(),
|
|
9646
|
-
/** Present on LearnCard-managed endpoints; optional for interoperable JWE services. */
|
|
9647
|
-
version: number().int().positive().optional()
|
|
9648
|
-
});
|
|
9649
|
-
discriminatedUnion("format", [
|
|
9650
|
-
PublicCredentialRefreshEnvelopeValidator,
|
|
9651
|
-
JweCredentialRefreshEnvelopeValidator
|
|
9652
|
-
]);
|
|
9653
|
-
var CredentialRefreshFailureCodeValidator = _enum([
|
|
9654
|
-
"UNAVAILABLE",
|
|
9655
|
-
"TIMEOUT",
|
|
9656
|
-
"UNSUPPORTED_SERVICE",
|
|
9657
|
-
"UNAUTHORIZED",
|
|
9658
|
-
"MALFORMED_RESPONSE",
|
|
9659
|
-
"INVALID_PROOF",
|
|
9660
|
-
"ISSUER_MISMATCH",
|
|
9661
|
-
"ID_MISMATCH",
|
|
9662
|
-
"ROLLBACK",
|
|
9663
|
-
"REVOKED",
|
|
9664
|
-
"UNSAFE_ENDPOINT"
|
|
9665
|
-
]);
|
|
9666
|
-
var CredentialRefreshUpdatedResultValidator = object({
|
|
9667
|
-
status: literal("updated"),
|
|
9668
|
-
credential: VCValidator,
|
|
9669
|
-
etag: string().optional(),
|
|
9670
|
-
managedVersion: number().int().positive().optional()
|
|
9671
|
-
});
|
|
9672
|
-
var CredentialRefreshUnchangedResultValidator = object({
|
|
9673
|
-
status: literal("unchanged"),
|
|
9674
|
-
checkedAt: string().min(1),
|
|
9675
|
-
etag: string().optional()
|
|
9676
|
-
});
|
|
9677
|
-
var CredentialRefreshUnsupportedResultValidator = object({
|
|
9678
|
-
status: literal("unsupported")
|
|
9679
|
-
});
|
|
9680
|
-
var CredentialRefreshFailedResultValidator = object({
|
|
9681
|
-
status: literal("failed"),
|
|
9682
|
-
code: CredentialRefreshFailureCodeValidator,
|
|
9683
|
-
retryable: boolean()
|
|
9684
|
-
});
|
|
9685
|
-
discriminatedUnion("status", [
|
|
9686
|
-
CredentialRefreshUpdatedResultValidator,
|
|
9687
|
-
CredentialRefreshUnchangedResultValidator,
|
|
9688
|
-
CredentialRefreshUnsupportedResultValidator,
|
|
9689
|
-
CredentialRefreshFailedResultValidator
|
|
9690
|
-
]);
|
|
9691
9895
|
|
|
9692
9896
|
export { VerificationStatusEnum as V };
|
|
9693
|
-
//# sourceMappingURL=types.esm-
|
|
9897
|
+
//# sourceMappingURL=types.esm-434cff58.js.map
|