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