Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
798e8be
Test SmartResume with console logs
rhen92 Dec 16, 2025
005f05c
Merge main into lc-1313
rhen92 Dec 16, 2025
d7f398f
Add closing div tag and prettier ext used
rhen92 Dec 16, 2025
18bb120
Merge main into lc-1313
rhen92 Dec 19, 2025
1683f8f
Add more console logs for staging
rhen92 Dec 19, 2025
7ecf7e3
Fix Body is unusable error
rhen92 Dec 19, 2025
9263f16
Add console logs to reolveUri function
rhen92 Dec 19, 2025
70b6799
Add more logs
rhen92 Dec 19, 2025
780e6c1
Add keypair to decryptDagJwe
rhen92 Dec 19, 2025
9b717f9
Add more console logs
rhen92 Dec 19, 2025
17c2230
Merge branch 'main' into lc-1313
rhen92 Dec 19, 2025
c8d6a97
Merge branch 'main' into lc-1313
rhen92 Jan 5, 2026
224bd79
Add staging did to decrypt creds
rhen92 Jan 5, 2026
abeff0e
Update contract owner DID
rhen92 Jan 5, 2026
cc91379
Merge branch 'main' into lc-1313
rhen92 Jan 5, 2026
6212182
Add console log for contract details
rhen92 Jan 5, 2026
5a45363
Merge branch 'main' into lc-1313
rhen92 Jan 6, 2026
e30bf90
Try early return
rhen92 Jan 6, 2026
e91996b
Change isSmartResume to true
rhen92 Jan 6, 2026
d6d818f
Change for smartresume
rhen92 Jan 6, 2026
dc44ddd
Try more logs
rhen92 Jan 6, 2026
29422af
Remove console log
rhen92 Jan 6, 2026
d56aaf8
Comment out console.error
rhen92 Jan 6, 2026
2d34145
Comment out transformed credentials
rhen92 Jan 7, 2026
17d32bc
Check for change
rhen92 Jan 7, 2026
69f5771
Change issuer from string to object
rhen92 Jan 9, 2026
975af62
Merge branch 'main' into lc-1313
rhen92 Jan 9, 2026
77bc67e
Bring back transformedCredentials
rhen92 Jan 9, 2026
4792c87
Try skipping certification
rhen92 Jan 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ const ConsentFlowHeader: React.FC<ConsentFlowHeaderProps> = ({
</div>
</div>
<span className="text-grayscale-900 font-notoSans text-[22px] font-[600] leading-[130%] text-center tracking-[-0.25px]">
{name}
{name}!!!!????????
</span>
</header>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,15 @@ const FullScreenConsentFlow: React.FC<FullScreenConsentFlowProps> = ({
}

setStep(ConsentFlowStep.connecting);

console.log('CONSENTING TO CONTRACT!!!!!!!!!!!!!');
try {
const { redirectUrl } = await consentToContract({
terms,
expiresAt: shareDuration.customDuration,
oneTime: shareDuration.oneTimeShare,
});
console.log('redirectUrl', redirectUrl);
return;

// Sync any auto-boost credentials (if any). No need to wait.
fetchNewContractCredentials();
Expand Down
4 changes: 3 additions & 1 deletion apps/learn-card-app/src/pages/launchPad/LaunchPad.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@ const LaunchPad: React.FC = () => {
consentedContractLoading,
hasConsented,
} = useConsentFlowByUri(contractUri);
console.log('contractDetails', contractDetails);
console.log('contractUri', contractUri);

useEffect(() => {
if (contractDetails && !suppressContractModal && !consentedContractLoading) {
Expand Down Expand Up @@ -212,7 +214,7 @@ const LaunchPad: React.FC = () => {
return false;
}

if (item?.displayInLaunchPad === false) return false; // for apps
// if (item?.displayInLaunchPad === false) return false; // for apps

return contractName?.includes(lowerSearch) || appName?.includes(lowerSearch);
});
Expand Down
10 changes: 9 additions & 1 deletion packages/learn-card-base/src/hooks/useSharedUrisInTerms.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,23 @@ export const getOrCreateSharedUriForWallet = async (

// For SmartResume we want to add the generic brain-service wallet's did so that the brain service
// can decrypt the credentials and send them to SmartResume via their API
const isSmartResume =
const isSmartResume = true;
const isSmartResume2 =
contractOwnerDid ===
'did:web:network.learncard.com:users:smart-resume-integration' ||
contractOwnerDid === 'did:web:localhost%3A4000:users:in-service' ||
contractOwnerDid === 'did:web:localhost%3A4000:users:smart-resume' ||
contractOwnerDid === 'did:web:testnet.network.learncard.com:users:testorg1' ||
contractOwnerDid === 'did:web:staging.network.learncard.com:users:testorg1' ||
contractOwnerDid === 'did:web:localhost%3A4000:users:smart-resume-test';

const recipients = [contractOwnerDid];
console.log('contractOwnerDid', contractOwnerDid);
console.log('isSmartResume', isSmartResume);
console.log('isSmartResume2', isSmartResume2);
if (isSmartResume) {
recipients.push('did:web:testnet.network.learncard.com');
recipients.push('did:web:staging.network.learncard.com');
recipients.push('did:web:network.learncard.com');
recipients.push('did:web:localhost%3A4000');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@ export const sendBoost = async ({
skipNotification = false,
autoAcceptCredential = false,
contractTerms,
skipCertification = false,
}: {
from: ProfileType;
to: ProfileType;
Expand All @@ -325,12 +326,18 @@ export const sendBoost = async ({
skipNotification?: boolean;
autoAcceptCredential?: boolean;
contractTerms?: DbTermsType;
skipCertification?: boolean;
}): Promise<string> => {
const decryptedCredential = await decryptCredential(credential);
let boostUri: string | undefined;
if (decryptedCredential) {
if (process.env.NODE_ENV !== 'test') console.log('πŸš€ sendBoost:VC Decrypted');
const certifiedBoost = await issueCertifiedBoost(boost, decryptedCredential, domain);
let certifiedBoost: VC | JWE | false;
if (skipCertification) {
certifiedBoost = decryptedCredential;
} else {
certifiedBoost = await issueCertifiedBoost(boost, decryptedCredential, domain);
}
if (certifiedBoost) {
const credentialInstance = await storeCredential(certifiedBoost);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,15 @@ import { isEncrypted } from '@learncard/helpers';
import { TRPCError } from '@trpc/server';
import { getLearnCard } from './learnCard.helpers';

export const URI_TYPES = ['credential', 'presentation', 'boost', 'contract', 'terms', 'framework', 'skill'] as const;
export const URI_TYPES = [
'credential',
'presentation',
'boost',
'contract',
'terms',
'framework',
'skill',
] as const;

export type URIType = (typeof URI_TYPES)[number];

Expand Down Expand Up @@ -37,7 +45,13 @@ export const getUriParts = (_uri: string, allowOutsideUris: boolean = false): UR
});
}

const [lc, method, domain, type, ...rest] = parts as [string, string, string, string, ...string[]];
const [lc, method, domain, type, ...rest] = parts as [
string,
string,
string,
string,
...string[]
];
const id = rest.join(':');

if ((lc !== 'lc' || method !== 'network') && !allowOutsideUris) {
Expand All @@ -61,9 +75,7 @@ export const constructUri = (type: URIType, id: string, domain: string): string

// Helper specifically for skill URIs which must be of the form
// lc:network:<domain>/trpc:skill:<frameworkId>:<skillId>
export const getSkillCompoundFromUri = (
uri: string
): { frameworkId: string; id: string } => {
export const getSkillCompoundFromUri = (uri: string): { frameworkId: string; id: string } => {
const { type, id } = getUriParts(uri);

if (type !== 'skill') {
Expand All @@ -84,19 +96,47 @@ export const getSkillCompoundFromUri = (

export const resolveUri = async (uri: string) => {
const { domain, type, method } = getUriParts(uri, true);

console.log('uri', uri);
console.log('Parsed URI parts:', { domain, type, method });
if (method === 'cloud') {
const isLocal = domain.includes('localhost');
const url = `http${isLocal ? '' : 's'}://${domain
.replace('%3A', ':')
.replace('/trpc', '/api')}/storage/resolve?uri=${encodeURIComponent(uri)}`;

console.log('url', url);
const res = await fetch(url);
console.log('res', res);
const resolved = await res.json();
console.log('resolved', resolved);
if (isEncrypted(resolved)) {
const learnCard = await getLearnCard();

return await learnCard.invoke.decryptDagJwe(resolved);
try {
const learnCard = await getLearnCard();
console.log('JWE Structure:', {
protected: resolved.protected,
recipients: Array.isArray(resolved.recipients)
? resolved.recipients.map((r: any) => ({
header: r.header, //should show DID
encrypted_key: r.encrypted_key ? '***' : undefined,
}))
: resolved.recipients,
iv: resolved.iv ? '***' : undefined,
ciphertext: resolved.ciphertext ? '***' : undefined,
tag: resolved.tag ? '***' : undefined,
});

const decryptResolved = await learnCard.invoke.decryptDagJwe(resolved);
console.log('decryptResolved', decryptResolved);

return decryptResolved;
} catch (error) {
// console.error('Error in decryptDagJwe:', {
// message: error.message,
// stack: error.stack,
// name: error.name,
// error: error,
// });
throw error;
}
}
return resolved;
}
Expand Down
63 changes: 36 additions & 27 deletions services/learn-card-network/brain-service/src/routes/contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -673,6 +673,7 @@
skipNotification: true,
autoAcceptCredential: false,
contractTerms: terms,
skipCertification: true,
});
}),

Expand Down Expand Up @@ -927,14 +928,11 @@

let redirectUrl: string | undefined;
// SmartResume handling
const isSmartResume =
contractUri === process.env.SMART_RESUME_CONTRACT_URI ||
contractUri ===
'lc:network:network.learncard.com/trpc:contract:55b738f0-49f4-4b33-b6c1-afa99b605cd6'; // hardcode for quick fix purposes
const isSmartResume = true; // hardcode for quick fix purposes
if (isSmartResume) {
if (!recipientToken) {
throw new Error('Missing recipientToken for SmartResume');
}
// if (!recipientToken) {
// throw new Error('Missing recipientToken for SmartResume');
// }

const isProduction = !process.env.IS_OFFLINE;

Expand All @@ -955,9 +953,10 @@
scope: 'delete readonly replace',
}),
}).then(res => res.json())) as { access_token?: string };
console.log('accessTokenResponse', accessTokenResponse);

const accessToken = accessTokenResponse.access_token;
if (!accessToken) throw new Error('Missing access_token for SmartResume');

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should allow you to query the data > should allow combining exclusive queries

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should allow you to query the data > should allow exclusive queries

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should allow you to query the data > should allow combining inclusive queries

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should allow you to query the data > should allow inclusive queries

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should allow you to query the data > should get all data with empty query

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should not allow you to get data for someone else's contracts

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should allow you to get data for contracts you own

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > getConsentedDataForContract > should not allow you to get data without full auth

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > deleteConsentFlowContract > should remove contract from profiles that have consented to it

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

Check failure on line 959 in services/learn-card-network/brain-service/src/routes/contracts.ts

View workflow job for this annotation

GitHub Actions / Test

test/consentflow.spec.ts > Consent Flow Contracts > writeCredentialToContractViaSigningAuthority > should accept mixed-case signingAuthority.name when writing via signing authority

TRPCError: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'INTERNAL_SERVER_ERROR' } Caused by: Error: Missing access_token for SmartResume ❯ src/routes/contracts.ts:959:41 ❯ resolveMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:571:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ outputValidatorMiddleware ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts:218:22 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20 ❯ callRecursive ../../../node_modules/.pnpm/@trpc+server@11.7.1_typescript@5.6.2/node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts:633:20

const parsedTerms = ConsentFlowTermsValidator.parse(terms);

Expand All @@ -968,7 +967,7 @@
// filter out duplicates
...new Set(categoryValues.flatMap(({ shared }) => shared ?? [])),
];

console.log('allSharedCredentialUris', allSharedCredentialUris);
const resolvedCredentials = await Promise.all(
allSharedCredentialUris.map(async uri => {
try {
Expand All @@ -979,7 +978,7 @@
}
})
);

console.log('resolvedCredentials', resolvedCredentials);
type ResolvedCredential = {
issuer?: string | { id: string };
id?: string;
Expand All @@ -996,19 +995,19 @@
? ({ ...cred.boostCredential, id: cred.id } as ResolvedCredential) // unwrap credential, preserve id
: cred
);

const transformedCredentials = credentials.map(cred => {
const issuer =
typeof cred.issuer === 'string'
? { id: cred.issuer }
: cred.issuer || { id: '' };

return {
...cred,
issuer,
};
});

console.log('credentials', credentials);
// const transformedCredentials = credentials.map(cred => {
// const issuer =
// typeof cred.issuer === 'string'
// ? { id: cred.issuer }
// : cred.issuer || { id: '' };

// return {
// ...cred,
// issuer,
// };
// });
// console.log('transformedCredentials', transformedCredentials);
const { name, email } = parsedTerms.read.personal;

const body = JSON.stringify({
Expand All @@ -1024,24 +1023,34 @@
familyName: '', // this is neecessary in order for givenName to be respected
email: email && email !== 'anonymous@hidden.com' ? email : '',
},
credentials: transformedCredentials,
credentials: credentials,
});

console.log('body', body);
try {
const response = await fetch(`${srUrl}api/v1/credentials`, {
method: 'POST',
headers: {
Authorization: `Bearer ${accessToken}`,
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body,
});

const responseBody = await response.text();
console.log('SmartResume API Response:', responseBody);

if (!response.ok) {
throw new Error(`Error (${response.status}): ${await response.text()}`);
throw new Error(`Error (${response.status}): ${responseBody}`);
}

let result;
try {
result = JSON.parse(responseBody);
} catch (e) {
throw new Error(`Failed to parse response: ${responseBody}`);
}

const result = (await response.json()) as { redirect_url?: string };
console.log('Parsed response:', result);
redirectUrl = result.redirect_url;
} catch (error) {
console.error('Error uploading credentials to SmartResume:', error);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ export const credentialsRouter = t.router({
signingAuthority.name
);

credential.issuer = learnCard.id.did();
// credential.issuer = learnCard.id.did();
credential.issuer = { id: learnCard.id.did() };

const verificationMethod = learnCard.id.did().startsWith('did:web')
? `${learnCard.id.did()}#${signingAuthority.name}`
: undefined;
Expand Down
Loading