@kya-os/mcp-i-cloudflare 1.12.0 → 1.12.2
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/delegation-http/anchor-do.d.ts.map +1 -1
- package/dist/delegation-http/anchor-do.js +36 -2
- package/dist/delegation-http/anchor-do.js.map +1 -1
- package/dist/delegation-http/anchor-registration-validate.d.ts.map +1 -1
- package/dist/delegation-http/anchor-registration-validate.js +54 -26
- package/dist/delegation-http/anchor-registration-validate.js.map +1 -1
- package/dist/delegation-http/anchor-registration.d.ts.map +1 -1
- package/dist/delegation-http/anchor-registration.js +67 -45
- package/dist/delegation-http/anchor-registration.js.map +1 -1
- package/dist/delegation-http/consent-anchor-bridge.d.ts.map +1 -1
- package/dist/delegation-http/consent-anchor-bridge.js +175 -16
- package/dist/delegation-http/consent-anchor-bridge.js.map +1 -1
- package/dist/delegation-http/credential-consent.d.ts +147 -0
- package/dist/delegation-http/credential-consent.d.ts.map +1 -0
- package/dist/delegation-http/credential-consent.js +287 -0
- package/dist/delegation-http/credential-consent.js.map +1 -0
- package/dist/delegation-http/types.d.ts +4 -0
- package/dist/delegation-http/types.d.ts.map +1 -1
- package/dist/services/delegation.service.d.ts.map +1 -1
- package/dist/services/delegation.service.js +7 -0
- package/dist/services/delegation.service.js.map +1 -1
- package/package.json +3 -3
|
@@ -24,8 +24,10 @@ import { wrapDelegationAsVC, createUnsignedVCJWT, completeVCJWT, base64urlEncode
|
|
|
24
24
|
import { WebCryptoProvider } from "../providers/crypto";
|
|
25
25
|
import { getConfiguredIdentity } from "../providers/storage";
|
|
26
26
|
import { escapeHtml } from "../services/consent-templates/base/escape";
|
|
27
|
+
import { createCredentialAuthHandler } from "../services/credential-auth.handler";
|
|
27
28
|
import { getAnchorStub } from "./anchor-routing";
|
|
28
29
|
import { INTERNAL_PICKUP_INFO, INTERNAL_PICKUP_APPROVE } from "./constants";
|
|
30
|
+
import { resolveAnchorCredentialProvider, resolveCredentialIdentity, notifyDelegation, } from "./credential-consent";
|
|
29
31
|
/** Internal origin for durable-object stub fetches — the DO routes by pathname only. */
|
|
30
32
|
const DO_INTERNAL_ORIGIN = "https://do.internal";
|
|
31
33
|
/**
|
|
@@ -114,6 +116,57 @@ function approveFormPage(sid, info, csrfToken) {
|
|
|
114
116
|
</form>
|
|
115
117
|
</main>`);
|
|
116
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* The form input names a credential provider expects, derived from the
|
|
121
|
+
* `{{placeholder}}` tokens in its `requestBodyTemplate` values. E.g.
|
|
122
|
+
* `{ email: "{{email}}", password: "{{password}}" }` → `["email", "password"]`.
|
|
123
|
+
* The credential auth handler reads the POSTed credentials by these same
|
|
124
|
+
* placeholder names (`resolveCredentialField`), so the form and the handler stay
|
|
125
|
+
* in lock-step off one source of truth.
|
|
126
|
+
*/
|
|
127
|
+
function credentialFieldNames(provider) {
|
|
128
|
+
const names = [];
|
|
129
|
+
for (const template of Object.values(provider.config.requestBodyTemplate)) {
|
|
130
|
+
const match = /\{\{(\w+)\}\}/.exec(template);
|
|
131
|
+
if (match && !names.includes(match[1]))
|
|
132
|
+
names.push(match[1]);
|
|
133
|
+
}
|
|
134
|
+
// Deterministic fallback so a misconfigured template still renders a usable form.
|
|
135
|
+
return names.length > 0 ? names : ["email", "password"];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Render the credential sign-in form for `GET /consent?sid=…` when the anchored
|
|
139
|
+
* scopes are protected by a credential provider. Same CSRF-protected POST target
|
|
140
|
+
* as {@link approveFormPage}; the extra inputs are the provider's own fields, so
|
|
141
|
+
* the shopper signs in on the deployment's OWN branded page before authorizing.
|
|
142
|
+
*/
|
|
143
|
+
function credentialFormPage(sid, info, provider, csrfToken) {
|
|
144
|
+
const scopeItems = info.requiredScopes.length > 0
|
|
145
|
+
? info.requiredScopes
|
|
146
|
+
.map((s) => `<li class="kya-scope-item">${escapeHtml(s)}</li>`)
|
|
147
|
+
.join("")
|
|
148
|
+
: `<li class="kya-scope-item">No specific permissions required.</li>`;
|
|
149
|
+
const fieldInputs = credentialFieldNames(provider)
|
|
150
|
+
.map((name) => {
|
|
151
|
+
const isSecret = /pass|secret|token|pin/i.test(name);
|
|
152
|
+
const label = name.charAt(0).toUpperCase() + name.slice(1);
|
|
153
|
+
return `<label class="kya-field-label" for="kya-field-${escapeHtml(name)}">${escapeHtml(label)}</label>
|
|
154
|
+
<input class="kya-field-input" id="kya-field-${escapeHtml(name)}" name="${escapeHtml(name)}" type="${isSecret ? "password" : "text"}" autocomplete="${isSecret ? "current-password" : "username"}" required>`;
|
|
155
|
+
})
|
|
156
|
+
.join("");
|
|
157
|
+
return page("Permission Request", `<main class="kya-consent">
|
|
158
|
+
<h1>Sign in to authorize</h1>
|
|
159
|
+
<p class="kya-provider-name">${escapeHtml(provider.displayName)}</p>
|
|
160
|
+
<p class="kya-permissions-header">This request needs the following permissions:</p>
|
|
161
|
+
<ul class="kya-permissions-list">${scopeItems}</ul>
|
|
162
|
+
<form method="POST" action="/consent/approve?sid=${encodeURIComponent(sid)}">
|
|
163
|
+
<input type="hidden" name="sid" value="${escapeHtml(sid)}">
|
|
164
|
+
<input type="hidden" name="csrf_token" value="${escapeHtml(csrfToken)}">
|
|
165
|
+
${fieldInputs}
|
|
166
|
+
<button type="submit" class="kya-consent-allow">Sign in & allow</button>
|
|
167
|
+
</form>
|
|
168
|
+
</main>`);
|
|
169
|
+
}
|
|
117
170
|
// ── CSRF (mirrors consent.service's HMAC token format, bound to the anchor sid) ──
|
|
118
171
|
/** Base64url-encode bytes without padding. */
|
|
119
172
|
function base64UrlEncodeBytes(bytes) {
|
|
@@ -296,6 +349,10 @@ async function mintDelegationVcJwt(env, sid, info, expiresInS) {
|
|
|
296
349
|
scopes: info.requiredScopes,
|
|
297
350
|
notBefore: nowS,
|
|
298
351
|
notAfter: nowS + expiresInS,
|
|
352
|
+
// §11.7 outer===inner audience invariant (checkpoint's own mints bind the
|
|
353
|
+
// audience in BOTH the JWT aud and constraints.audience): set the inner
|
|
354
|
+
// half for cross-resource anchors so verifiers reading either slot agree.
|
|
355
|
+
...(info.audience ? { audience: info.audience } : {}),
|
|
299
356
|
},
|
|
300
357
|
signature: "",
|
|
301
358
|
status: "active",
|
|
@@ -312,7 +369,13 @@ async function mintDelegationVcJwt(env, sid, info, expiresInS) {
|
|
|
312
369
|
const signingInput = withCrossResourceClaims(unsigned, info, sid);
|
|
313
370
|
const signatureBytes = await cryptoProvider.sign(new TextEncoder().encode(signingInput), signingPrivateKey);
|
|
314
371
|
const signature = base64urlEncodeFromBytes(signatureBytes);
|
|
315
|
-
|
|
372
|
+
// Return the resolved subject alongside the JWT so the notify report sends the
|
|
373
|
+
// SAME DID the VC carries (never an empty `agent_did`, which mismatches the VC
|
|
374
|
+
// and fails checkpoint's notify schema).
|
|
375
|
+
return {
|
|
376
|
+
vcJwt: completeVCJWT(signingInput, signature),
|
|
377
|
+
subjectDid: agentDid,
|
|
378
|
+
};
|
|
316
379
|
}
|
|
317
380
|
// ── Public handlers ──────────────────────────────────────────────────────────
|
|
318
381
|
/**
|
|
@@ -331,6 +394,19 @@ export async function handleAnchorConsentGet(c, sid, env, _cfg) {
|
|
|
331
394
|
}
|
|
332
395
|
const info = (await infoResponse.json());
|
|
333
396
|
const csrfToken = await mintCsrfToken(env, sid);
|
|
397
|
+
// When the project protects these scopes with a credential provider (merchant
|
|
398
|
+
// sign-in), render the branded sign-in form instead of the bare "Allow" form —
|
|
399
|
+
// so the shopper authenticates before authorizing and the minted delegation is
|
|
400
|
+
// bound to their identity. Falls back to consent-only when there is no such
|
|
401
|
+
// provider (resolution failed, or no checkpoint link), preserving today's
|
|
402
|
+
// behavior exactly.
|
|
403
|
+
const resolution = await resolveAnchorCredentialProvider(env, info.requiredScopes);
|
|
404
|
+
if (resolution.status === "credential") {
|
|
405
|
+
return htmlResponse(credentialFormPage(sid, info, resolution.provider, csrfToken), 200);
|
|
406
|
+
}
|
|
407
|
+
// "none" and "unavailable" both render the consent-only form. On "unavailable"
|
|
408
|
+
// the approve POST re-resolves and FAILS CLOSED, so a form shown during a
|
|
409
|
+
// transient error can never lead to an anonymous mint for a credential project.
|
|
334
410
|
return htmlResponse(approveFormPage(sid, info, csrfToken), 200);
|
|
335
411
|
}
|
|
336
412
|
/**
|
|
@@ -338,10 +414,14 @@ export async function handleAnchorConsentGet(c, sid, env, _cfg) {
|
|
|
338
414
|
* parks it on the anchor; an expired/unknown anchor makes the approval FAIL.
|
|
339
415
|
*/
|
|
340
416
|
export async function handleAnchorConsentApprove(c, sid, env, cfg) {
|
|
417
|
+
// Read the POST body EXACTLY ONCE. The CSRF token and the credential fields
|
|
418
|
+
// both live in it; reading it twice (a second clone after CSRF) is unreliable
|
|
419
|
+
// across runtimes — the second read can throw and silently yield empty
|
|
420
|
+
// credentials, failing every sign-in. Extract everything from this one parse.
|
|
421
|
+
const bodyFields = await readBodyFields(c);
|
|
341
422
|
// CSRF, unless test mode relaxes it for miniflare POSTs.
|
|
342
423
|
if (!isTestConsentMode(env)) {
|
|
343
|
-
const
|
|
344
|
-
const valid = await validateCsrfToken(env, sid, csrfToken);
|
|
424
|
+
const valid = await validateCsrfToken(env, sid, bodyFields.csrf_token);
|
|
345
425
|
if (!valid) {
|
|
346
426
|
return htmlResponse(page("Authorization failed", `<main class="kya-consent-failed"><h1>Authorization failed</h1><p>Invalid or missing security token. Please reload and try again.</p></main>`), 403);
|
|
347
427
|
}
|
|
@@ -359,9 +439,55 @@ export async function handleAnchorConsentApprove(c, sid, env, cfg) {
|
|
|
359
439
|
return approvalFailedPage("This authorization request could not be loaded. Please start over.", 502);
|
|
360
440
|
}
|
|
361
441
|
const info = (await infoResponse.json());
|
|
442
|
+
// Credential path: when a credential provider protects these scopes, the
|
|
443
|
+
// shopper must sign in before we mint. Authenticate against the provider's own
|
|
444
|
+
// endpoint, then resolve the checkpoint user DID — both BEFORE minting, so a
|
|
445
|
+
// bad password parks nothing. `null` provider → consent-only (unchanged).
|
|
446
|
+
const resolution = await resolveAnchorCredentialProvider(env, info.requiredScopes);
|
|
447
|
+
// Fail CLOSED when the sign-in requirement could not be determined (a
|
|
448
|
+
// checkpoint /providers error or ambiguous config). Falling through to a
|
|
449
|
+
// consent-only mint here would skip merchant sign-in for a credential-
|
|
450
|
+
// protected project on a transient error — the exact bypass we must prevent.
|
|
451
|
+
if (resolution.status === "unavailable") {
|
|
452
|
+
return approvalFailedPage("We could not verify the sign-in requirement for this request. Please try again.", 503);
|
|
453
|
+
}
|
|
454
|
+
const provider = resolution.status === "credential" ? resolution.provider : null;
|
|
455
|
+
let authorizedUser = null;
|
|
456
|
+
if (provider) {
|
|
457
|
+
const credentials = {};
|
|
458
|
+
for (const name of credentialFieldNames(provider)) {
|
|
459
|
+
if (bodyFields[name] !== undefined)
|
|
460
|
+
credentials[name] = bodyFields[name];
|
|
461
|
+
}
|
|
462
|
+
const handler = createCredentialAuthHandler({
|
|
463
|
+
fetch: (...args) => globalThis.fetch(...args),
|
|
464
|
+
logger: (msg, data) => console.debug(`[kya-http] ${msg}`, data),
|
|
465
|
+
});
|
|
466
|
+
const authResult = await handler.authenticate(provider.config, credentials);
|
|
467
|
+
if (!authResult.success) {
|
|
468
|
+
return htmlResponse(page("Sign-in failed", `<main class="kya-consent-failed"><h1>Sign-in failed</h1><p>${escapeHtml(authResult.error ||
|
|
469
|
+
"Those credentials were not accepted. Please try again.")}</p></main>`), 401);
|
|
470
|
+
}
|
|
471
|
+
const identity = await resolveCredentialIdentity(env, {
|
|
472
|
+
projectId: env.AGENTSHIELD_PROJECT_ID || "",
|
|
473
|
+
provider: provider.providerId,
|
|
474
|
+
userId: authResult.userId || "unknown",
|
|
475
|
+
userEmail: authResult.userEmail,
|
|
476
|
+
userDisplayName: authResult.userDisplayName,
|
|
477
|
+
});
|
|
478
|
+
if (!identity.success || !identity.userDid) {
|
|
479
|
+
return approvalFailedPage("We signed you in but could not resolve your identity. Please start over.", 500);
|
|
480
|
+
}
|
|
481
|
+
authorizedUser = {
|
|
482
|
+
userDid: identity.userDid,
|
|
483
|
+
userId: authResult.userId,
|
|
484
|
+
userEmail: authResult.userEmail,
|
|
485
|
+
};
|
|
486
|
+
}
|
|
362
487
|
let vcJwt;
|
|
488
|
+
let subjectDid;
|
|
363
489
|
try {
|
|
364
|
-
vcJwt = await mintDelegationVcJwt(env, sid, info, cfg.delegationExpiresInS);
|
|
490
|
+
({ vcJwt, subjectDid } = await mintDelegationVcJwt(env, sid, info, cfg.delegationExpiresInS));
|
|
365
491
|
}
|
|
366
492
|
catch (error) {
|
|
367
493
|
// A mint failure (keygen/sign) must surface as a styled no-store error page, not
|
|
@@ -385,30 +511,63 @@ export async function handleAnchorConsentApprove(c, sid, env, cfg) {
|
|
|
385
511
|
if (!approveResponse.ok) {
|
|
386
512
|
return approvalFailedPage("We could not complete the authorization. Please start over.", 502);
|
|
387
513
|
}
|
|
514
|
+
// Report the minted delegation to checkpoint so it appears in the dashboard,
|
|
515
|
+
// attributed to the signed-in customer. Only the credential path has a
|
|
516
|
+
// `user_did` (the notify schema requires one), so a consent-only anchor
|
|
517
|
+
// reports nothing — there is no user to attribute it to.
|
|
518
|
+
if (authorizedUser && provider) {
|
|
519
|
+
// FIRE-AND-FORGET: dispatch the report but NEVER await it — the VC is already
|
|
520
|
+
// parked and the shopper's approval must not hang on a slow/hung checkpoint.
|
|
521
|
+
// `waitUntil` (when the runtime provides it) lets the report finish after the
|
|
522
|
+
// success page is returned; `notifyDelegation` swallows its own errors.
|
|
523
|
+
const report = notifyDelegation(env, {
|
|
524
|
+
sid,
|
|
525
|
+
agentDid: subjectDid,
|
|
526
|
+
userDid: authorizedUser.userDid,
|
|
527
|
+
userId: authorizedUser.userId,
|
|
528
|
+
userIdentifier: authorizedUser.userEmail,
|
|
529
|
+
scopes: info.requiredScopes,
|
|
530
|
+
provider: provider.providerId,
|
|
531
|
+
// Record the same expiry the VC was minted with, matching the OAuth path.
|
|
532
|
+
expiresAt: new Date(Date.now() + cfg.delegationExpiresInS * 1000).toISOString(),
|
|
533
|
+
});
|
|
534
|
+
const execCtx = c.executionCtx;
|
|
535
|
+
execCtx?.waitUntil?.(report);
|
|
536
|
+
}
|
|
388
537
|
return successPage();
|
|
389
538
|
}
|
|
390
539
|
/**
|
|
391
|
-
* Read
|
|
392
|
-
* Request (`c.req.raw`)
|
|
393
|
-
*
|
|
540
|
+
* Read every string field from the POST body ONCE via the underlying native
|
|
541
|
+
* Request (`c.req.raw`), for both the CSRF token and the credential fields. Reads
|
|
542
|
+
* `raw` directly (no clone) because it is consumed a single time — a second read
|
|
543
|
+
* of the same body is unreliable across runtimes. The sid travels in the query,
|
|
544
|
+
* so consuming the body here never interferes with route-order interception.
|
|
545
|
+
* Returns an empty object on parse failure.
|
|
394
546
|
*/
|
|
395
|
-
async function
|
|
547
|
+
async function readBodyFields(c) {
|
|
548
|
+
const out = {};
|
|
396
549
|
const raw = c.req?.raw;
|
|
397
550
|
if (!raw)
|
|
398
|
-
return
|
|
551
|
+
return out;
|
|
399
552
|
try {
|
|
400
553
|
const contentType = raw.headers.get("Content-Type") || "";
|
|
401
554
|
if (contentType.includes("application/json")) {
|
|
402
|
-
const body = (await raw.
|
|
403
|
-
const
|
|
404
|
-
|
|
555
|
+
const body = (await raw.json());
|
|
556
|
+
for (const [key, value] of Object.entries(body)) {
|
|
557
|
+
if (typeof value === "string")
|
|
558
|
+
out[key] = value;
|
|
559
|
+
}
|
|
560
|
+
return out;
|
|
405
561
|
}
|
|
406
|
-
const form = await raw.
|
|
407
|
-
|
|
408
|
-
|
|
562
|
+
const form = await raw.formData();
|
|
563
|
+
form.forEach((value, key) => {
|
|
564
|
+
if (typeof value === "string")
|
|
565
|
+
out[key] = value;
|
|
566
|
+
});
|
|
567
|
+
return out;
|
|
409
568
|
}
|
|
410
569
|
catch {
|
|
411
|
-
return
|
|
570
|
+
return out;
|
|
412
571
|
}
|
|
413
572
|
}
|
|
414
573
|
//# sourceMappingURL=consent-anchor-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-anchor-bridge.js","sourceRoot":"","sources":["../../src/delegation-http/consent-anchor-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,GAEf,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE5E,wFAAwF;AACxF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AA2BjD;;;GAGG;AACH,KAAK,UAAU,UAAU,CACvB,GAAkB,EAClB,GAAW,EACX,YAAoB,EACpB,IAAa;IAEb,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,IAAI,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EACpD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IACF,OAAO,QAA0C,CAAC;AACpD,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc;IAChD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,0BAA0B;YAC1C,eAAe,EAAE,UAAU;SAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,SAAS,IAAI,CAAC,KAAa,EAAE,SAAiB;IAC5C,OAAO;;;;;SAKA,UAAU,CAAC,KAAK,CAAC;;;EAGxB,SAAS;;QAEH,CAAC;AACT,CAAC;AAED,sDAAsD;AACtD,SAAS,WAAW;IAClB,OAAO,YAAY,CACjB,IAAI,CACF,4BAA4B,EAC5B;;;QAGE,CACH,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,SAAS,YAAY;IACnB,OAAO,YAAY,CACjB,IAAI,CACF,iCAAiC,EACjC;;;QAGE,CACH,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,kBAAkB,CAAC,OAAe,EAAE,MAAM,GAAG,GAAG;IACvD,OAAO,YAAY,CACjB,IAAI,CACF,sBAAsB,EACtB;;KAED,UAAU,CAAC,OAAO,CAAC;QAChB,CACH,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,WAAW;IAClB,OAAO,YAAY,CACjB,IAAI,CACF,wBAAwB,EACxB;;;QAGE,CACH,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,GAAW,EACX,IAAgB,EAChB,SAAiB;IAEjB,MAAM,UAAU,GACd,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC,cAAc;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;aAC9D,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,mEAAmE,CAAC;IAE1E,OAAO,IAAI,CACT,oBAAoB,EACpB;;;mCAG+B,UAAU;mDACM,kBAAkB,CAAC,GAAG,CAAC;yCACjC,UAAU,CAAC,GAAG,CAAC;gDACR,UAAU,CAAC,SAAS,CAAC;;;QAG7D,CACL,CAAC;AACJ,CAAC;AAED,oFAAoF;AAEpF,8CAA8C;AAC9C,SAAS,oBAAoB,CAAC,KAAiB;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;SACvC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,uDAAuD;AACvD,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,oBAAoB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,wFAAwF;AACxF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAc,EACd,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,QAAQ,MAAM,EAAE,CAAC,EAChC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,GAAkB,EAAE,GAAW;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,uBAAuB,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,oBAAoB,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAChD,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,oBAAoB,CAClC,IAAI,UAAU,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAC1D,CAAC;IACF,OAAO,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,sFAAsF;AACtF,KAAK,UAAU,iBAAiB,CAC9B,GAAkB,EAClB,GAAW,EACX,KAAyB;IAEzB,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,uBAAuB,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,gFAAgF;QAChF,gFAAgF;QAChF,gFAAgF;QAChF,uEAAuE;QACvE,8EAA8E;QAC9E,OAAO,CAAC,IAAI,CACV,oFAAoF,GAAG,GAAG,CAC3F,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAG3D,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACtC,IACE,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAC/B,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAC3C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,WAAW,GAAG,oBAAoB,CACtC,IAAI,UAAU,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAC1D,CAAC;QACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,+EAA+E;IAC/E,oFAAoF;IACpF,MAAM,GAAG,GAAG,GAAyC,CAAC;IACtD,IAAI,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3D,oFAAoF;IACpF,oDAAoD;IACpD,MAAM,WAAW,GAAG,MAAM,CACxB,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CACtC,CAAC,WAAW,EAAE,CAAC;IAChB,OAAO,WAAW,KAAK,aAAa,CAAC;AACvC,CAAC;AAED,mFAAmF;AAEnF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,uBAAuB,CAC9B,QAAgD,EAChD,IAAgB,EAChB,GAAW;IAEX,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC;IACjD,MAAM,OAAO,GAA4B;QACvC,GAAG,QAAQ,CAAC,OAAO;QACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;QAClB,GAAG;QACH,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;IACF,OAAO,GAAG,QAAQ,CAAC,aAAa,IAAI,qBAAqB,CACvD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB,EAAE,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,mBAAmB,CAChC,GAAkB,EAClB,GAAW,EACX,IAAgB,EAChB,UAAkB;IAElB,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC/C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAEtD,IAAI,SAAiB,CAAC;IACtB,IAAI,KAAa,CAAC;IAClB,IAAI,iBAAyB,CAAC;IAC9B,IAAI,kBAAkB,EAAE,CAAC;QACvB,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC;QACnC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC;QAC/B,iBAAiB,GAAG,kBAAkB,CAAC,UAAU,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;QAC1D,SAAS,GAAG,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3D,KAAK,GAAG,GAAG,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,sBAAsB,IAAI,SAAS,CAAC;IAE1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAqB;QACnC,EAAE,EAAE,YAAY,GAAG,EAAE;QACrB,SAAS;QACT,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,YAAY,GAAG,EAAE;QACvB,WAAW,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI,GAAG,UAAU;SAC5B;QACD,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE;QAChD,EAAE,EAAE,YAAY,GAAG,EAAE;QACrB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE1D,MAAM,QAAQ,GAAG,mBAAmB,CAClC,YAAuC,EACvC,EAAE,KAAK,EAAE,CACV,CAAC;IACF,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,IAAI,CAC9C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EACtC,iBAAiB,CAClB,CAAC;IACF,MAAM,SAAS,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAE3D,OAAO,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,CAAc,EACd,GAAW,EACX,GAAkB,EAClB,IAAmC;IAEnC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE;QACpE,GAAG;KACJ,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,YAAY,EAAE,CAAC;IACvD,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,kBAAkB,CACvB,oEAAoE,EACpE,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAe,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,CAAc,EACd,GAAW,EACX,GAAkB,EAClB,GAAkC;IAElC,yDAAyD;IACzD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,YAAY,CACjB,IAAI,CACF,sBAAsB,EACtB,6IAA6I,CAC9I,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE;QACpE,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,YAAY,EAAE,CAAC;IACvD,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,kBAAkB,CACvB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,kBAAkB,CACvB,oEAAoE,EACpE,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAe,CAAC;IAEvD,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iFAAiF;QACjF,iFAAiF;QACjF,kDAAkD;QAClD,OAAO,CAAC,IAAI,CACV,0CAA0C,GAAG,IAAI,EACjD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,kBAAkB,CACvB,6DAA6D,EAC7D,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,EAAE;QAC1E,GAAG;QACH,KAAK;QACL,UAAU,EAAE,GAAG,CAAC,oBAAoB;KACrC,CAAC,CAAC;IAEH,iFAAiF;IACjF,2EAA2E;IAC3E,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACnC,OAAO,kBAAkB,CACvB,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,YAAY,EAAE,CAAC;IAC1D,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,kBAAkB,CACvB,6DAA6D,EAC7D,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,CAAc;IAEd,MAAM,GAAG,GAAI,CAA4C,CAAC,GAAG,EAAE,GAAG,CAAC;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAA4B,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC;YAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"consent-anchor-bridge.js","sourceRoot":"","sources":["../../src/delegation-http/consent-anchor-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credential-backed consent for the §8.1 anchor path.
|
|
3
|
+
*
|
|
4
|
+
* The anchor consent bridge (`consent-anchor-bridge.ts`) was consent-only: it
|
|
5
|
+
* rendered an "Allow" form, minted an anonymous delegation, and reported
|
|
6
|
+
* nothing to checkpoint. When a project's tool protection requires a credential
|
|
7
|
+
* provider (merchant sign-in), the branded consent an agent is redirected to
|
|
8
|
+
* must instead authenticate the shopper and mint a delegation bound to their
|
|
9
|
+
* identity — the same outcome the NATIVE MCP consent (`consent.service.ts`)
|
|
10
|
+
* produces, reached here for the HTTP-challenge transport.
|
|
11
|
+
*
|
|
12
|
+
* This module holds the runtime-agnostic pieces that don't belong inline in the
|
|
13
|
+
* bridge:
|
|
14
|
+
* - {@link resolveCredentialIdentity} — customer → `user_did` via checkpoint's
|
|
15
|
+
* `/api/v1/bouncer/identity/resolve` (lifted verbatim from
|
|
16
|
+
* `consent.service.ts`, which needs nothing but `env`).
|
|
17
|
+
* - {@link notifyDelegation} — fire-and-forget report to checkpoint's
|
|
18
|
+
* `/api/v1/bouncer/delegations/notify` so the minted delegation appears in
|
|
19
|
+
* the dashboard, attributed to the signed-in customer. This call is the ONLY
|
|
20
|
+
* path that populates dashboard visibility, and its schema REQUIRES a
|
|
21
|
+
* `user_did` — which is exactly why the anchor path could never show up
|
|
22
|
+
* while it was consent-only.
|
|
23
|
+
* - {@link sidToDelegationUuid} — the anchor sid (`kya-…`) is not a UUID, but
|
|
24
|
+
* the notify schema demands `delegation_id` be one; this maps a sid to a
|
|
25
|
+
* stable UUID so repeated notifies for the same anchor stay idempotent.
|
|
26
|
+
*
|
|
27
|
+
* @module @kya-os/mcp-i-cloudflare/delegation-http/credential-consent
|
|
28
|
+
*/
|
|
29
|
+
import type { CredentialProviderConfig } from "@kya-os/contracts/config";
|
|
30
|
+
import type { CloudflareEnv } from "../types";
|
|
31
|
+
/** A resolved credential provider the anchor consent should authenticate with. */
|
|
32
|
+
export interface ResolvedCredentialProvider {
|
|
33
|
+
/** The provider id (dashboard key), used for identity resolution + notify. */
|
|
34
|
+
providerId: string;
|
|
35
|
+
/** Human-readable name for the consent page heading. */
|
|
36
|
+
displayName: string;
|
|
37
|
+
/** The provider config the credential auth handler consumes. */
|
|
38
|
+
config: CredentialProviderConfig;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The result of resolving whether the anchored scopes need credential auth.
|
|
42
|
+
*
|
|
43
|
+
* `unavailable` is deliberately distinct from `none`: it means we could NOT
|
|
44
|
+
* determine the requirement (the checkpoint `/providers` fetch failed, or its
|
|
45
|
+
* answer was ambiguous/malformed). The approve handler MUST fail closed on
|
|
46
|
+
* `unavailable` rather than mint an anonymous delegation — otherwise a transient
|
|
47
|
+
* error would silently skip merchant sign-in for a credential-protected project.
|
|
48
|
+
*/
|
|
49
|
+
export type AnchorCredentialResolution = {
|
|
50
|
+
status: "credential";
|
|
51
|
+
provider: ResolvedCredentialProvider;
|
|
52
|
+
} | {
|
|
53
|
+
status: "none";
|
|
54
|
+
} | {
|
|
55
|
+
status: "unavailable";
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Resolve whether the project has a credential (merchant sign-in) provider the
|
|
59
|
+
* anchor consent should authenticate against, by fetching checkpoint's
|
|
60
|
+
* `/api/v1/bouncer/projects/{projectId}/providers` (the CRED-001 endpoint that
|
|
61
|
+
* returns full credential configs — authEndpoint / requestBodyTemplate /
|
|
62
|
+
* responseFields / successCheck — the same source the native consent uses).
|
|
63
|
+
*
|
|
64
|
+
* Returns `none` (→ consent-only) when the deployment has no checkpoint link or
|
|
65
|
+
* the project has no credential provider; `unavailable` (→ fail closed on mint)
|
|
66
|
+
* when the requirement could not be determined (fetch error / ambiguous config);
|
|
67
|
+
* `credential` with the provider otherwise. NEVER throws.
|
|
68
|
+
*
|
|
69
|
+
* v1 selection: prefer the project's `configuredProvider` when it is a credential
|
|
70
|
+
* provider; otherwise the single configured credential provider. When several
|
|
71
|
+
* credential providers exist with no default, resolution is `unavailable` (fail
|
|
72
|
+
* closed) rather than a silent anonymous mint — per-scope provider mapping is a
|
|
73
|
+
* documented follow-up.
|
|
74
|
+
*/
|
|
75
|
+
export declare function resolveAnchorCredentialProvider(env: CloudflareEnv, _scopes: string[]): Promise<AnchorCredentialResolution>;
|
|
76
|
+
/** Params for {@link resolveCredentialIdentity}. */
|
|
77
|
+
export interface ResolveCredentialIdentityParams {
|
|
78
|
+
projectId: string;
|
|
79
|
+
/** Credential provider id (e.g. the merchant provider). */
|
|
80
|
+
provider: string;
|
|
81
|
+
/** The customer id the provider's login returned. */
|
|
82
|
+
userId: string;
|
|
83
|
+
userEmail?: string;
|
|
84
|
+
userDisplayName?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Resolve a signed-in customer to a checkpoint `user_did` via
|
|
88
|
+
* `/api/v1/bouncer/identity/resolve`. Mirrors
|
|
89
|
+
* `ConsentService.resolveCredentialIdentity` — it depends only on `env`
|
|
90
|
+
* (`AGENTSHIELD_API_URL` + `AGENTSHIELD_API_KEY`), never session/audit state, so
|
|
91
|
+
* it lives here as a free function the bridge can call directly. Returns
|
|
92
|
+
* `{ success: false }` (never throws) on any failure so the caller fails closed.
|
|
93
|
+
*/
|
|
94
|
+
export declare function resolveCredentialIdentity(env: CloudflareEnv, params: ResolveCredentialIdentityParams): Promise<{
|
|
95
|
+
success: boolean;
|
|
96
|
+
userDid?: string;
|
|
97
|
+
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Map an anchor sid (`kya-` + 16–64 hex) to a stable RFC-4122 v4-shaped UUID.
|
|
100
|
+
*
|
|
101
|
+
* The notify schema pins `delegation_id` to a UUID, but a sid is not one. We
|
|
102
|
+
* derive it from the SHA-256 of the WHOLE sid so a repeated notify for the same
|
|
103
|
+
* anchor is idempotent (same sid → same id) while distinct sids stay distinct —
|
|
104
|
+
* hashing the full value avoids the collisions that truncating/repeating the raw
|
|
105
|
+
* hex would cause (sids longer than 32 hex would drop entropy; padded short sids
|
|
106
|
+
* could alias). The version nibble is forced to `4` and the variant nibble into
|
|
107
|
+
* the `8–b` range so the result passes strict UUID validators. This id
|
|
108
|
+
* identifies the dashboard row; it is intentionally NOT the VC's own
|
|
109
|
+
* `urn:uuid:${sid}` id.
|
|
110
|
+
*/
|
|
111
|
+
export declare function sidToDelegationUuid(sid: string): string;
|
|
112
|
+
/** Params for {@link notifyDelegation}. */
|
|
113
|
+
export interface NotifyDelegationParams {
|
|
114
|
+
/** The anchor sid the delegation was minted for. */
|
|
115
|
+
sid: string;
|
|
116
|
+
/** Subject (agent) DID the delegation was granted to. */
|
|
117
|
+
agentDid: string;
|
|
118
|
+
/** Human-readable agent name for the dashboard, if known. */
|
|
119
|
+
agentName?: string;
|
|
120
|
+
/** REQUIRED by the notify schema: the authorizing customer's DID. */
|
|
121
|
+
userDid: string;
|
|
122
|
+
/** Provider-native customer id. */
|
|
123
|
+
userId?: string;
|
|
124
|
+
/** Human-readable customer identifier (email) for dashboard display. */
|
|
125
|
+
userIdentifier?: string;
|
|
126
|
+
/** Granted scopes (at least one). */
|
|
127
|
+
scopes: string[];
|
|
128
|
+
/** Credential provider id. */
|
|
129
|
+
provider: string;
|
|
130
|
+
/** ISO-8601 expiry, if the delegation expires. */
|
|
131
|
+
expiresAt?: string;
|
|
132
|
+
/** Extra audit metadata merged into the report. */
|
|
133
|
+
metadata?: Record<string, unknown>;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Report a minted delegation to checkpoint so it appears in the dashboard,
|
|
137
|
+
* attributed to the signed-in customer. Fire-and-forget and best-effort: it
|
|
138
|
+
* NEVER throws and never blocks the consent response — a checkpoint hiccup must
|
|
139
|
+
* not fail an approval the user already granted. Matches the payload the OAuth
|
|
140
|
+
* path sends (`oauth-handler.ts`) against checkpoint's `notifyDelegationSchema`.
|
|
141
|
+
*
|
|
142
|
+
* No-ops (returns without a request) when the deployment has no
|
|
143
|
+
* `AGENTSHIELD_API_KEY` or `AGENTSHIELD_PROJECT_ID` — a self-hosted anchor with
|
|
144
|
+
* no checkpoint link has nothing to report to.
|
|
145
|
+
*/
|
|
146
|
+
export declare function notifyDelegation(env: CloudflareEnv, params: NotifyDelegationParams): Promise<void>;
|
|
147
|
+
//# sourceMappingURL=credential-consent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-consent.d.ts","sourceRoot":"","sources":["../../src/delegation-http/credential-consent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,kFAAkF;AAClF,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAClC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,0BAA0B,CAAA;CAAE,GAC9D;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAuI9B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,0BAA0B,CAAC,CAwFrC;AAED,oDAAoD;AACpD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,+BAA+B,GACtC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgCjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|