@astrasyncai/verification-gateway 1.0.0 → 1.1.0
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/adapters/express.d.mts +2 -2
- package/dist/adapters/express.d.ts +2 -2
- package/dist/adapters/express.js +41 -3
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +41 -3
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/nextjs.d.mts +2 -2
- package/dist/adapters/nextjs.d.ts +2 -2
- package/dist/adapters/nextjs.js +14 -2
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +14 -2
- package/dist/adapters/nextjs.mjs.map +1 -1
- package/dist/adapters/sdk.d.mts +2 -2
- package/dist/adapters/sdk.d.ts +2 -2
- package/dist/adapters/sdk.js +14 -2
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +14 -2
- package/dist/adapters/sdk.mjs.map +1 -1
- package/dist/{express-BhD3mWsL.d.ts → express-BGZiLINd.d.ts} +1 -1
- package/dist/{express-DUDYpvNZ.d.mts → express-BoayLpqq.d.mts} +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +44 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -6
- package/dist/index.mjs.map +1 -1
- package/dist/{nextjs-BtqyLSVQ.d.mts → nextjs-BNbHm5Ui.d.mts} +1 -1
- package/dist/{nextjs-C9FPOjSh.d.ts → nextjs-DTCS5Sw8.d.ts} +1 -1
- package/dist/{sdk-BkVigGjF.d.ts → sdk-9TKZzhxE.d.ts} +1 -1
- package/dist/{sdk-xCbZgeZx.d.mts → sdk-VAFRmdt7.d.mts} +1 -1
- package/dist/{types-CS6v75-d.d.mts → types-cA_xfFU7.d.mts} +8 -0
- package/dist/{types-CS6v75-d.d.ts → types-cA_xfFU7.d.ts} +8 -0
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -229,6 +229,7 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
229
229
|
if (requestData.enableRuntimeChallenge) body.enableRuntimeChallenge = requestData.enableRuntimeChallenge;
|
|
230
230
|
if (requestData.createSession) body.createSession = requestData.createSession;
|
|
231
231
|
if (requestData.counterpartyType) body.counterpartyType = requestData.counterpartyType;
|
|
232
|
+
if (requestData.counterpartyUrl) body.counterpartyUrl = requestData.counterpartyUrl;
|
|
232
233
|
if (requestData.runtimeChallengeOptions) body.runtimeChallengeOptions = requestData.runtimeChallengeOptions;
|
|
233
234
|
const headers = {
|
|
234
235
|
"Content-Type": "application/json",
|
|
@@ -276,10 +277,17 @@ async function verify(config, request) {
|
|
|
276
277
|
return cached;
|
|
277
278
|
}
|
|
278
279
|
}
|
|
280
|
+
const enrichedRequest = { ...request };
|
|
281
|
+
if (!enrichedRequest.counterpartyUrl && mergedConfig.counterpartyUrl) {
|
|
282
|
+
enrichedRequest.counterpartyUrl = mergedConfig.counterpartyUrl;
|
|
283
|
+
}
|
|
284
|
+
if (!enrichedRequest.counterpartyType && mergedConfig.counterpartyType) {
|
|
285
|
+
enrichedRequest.counterpartyType = mergedConfig.counterpartyType;
|
|
286
|
+
}
|
|
279
287
|
if (mergedConfig.debug) {
|
|
280
288
|
console.log("[VerificationGateway] Calling verify-access API");
|
|
281
289
|
}
|
|
282
|
-
const apiResponse = await callVerifyAccessAPI(mergedConfig,
|
|
290
|
+
const apiResponse = await callVerifyAccessAPI(mergedConfig, enrichedRequest);
|
|
283
291
|
if (!apiResponse.success) {
|
|
284
292
|
return createGuidanceResponse(mergedConfig, apiResponse.error);
|
|
285
293
|
}
|
|
@@ -295,7 +303,11 @@ async function verify(config, request) {
|
|
|
295
303
|
registrationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/register`,
|
|
296
304
|
documentationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/docs/pdlss`
|
|
297
305
|
},
|
|
298
|
-
verifiedAt: /* @__PURE__ */ new Date()
|
|
306
|
+
verifiedAt: /* @__PURE__ */ new Date(),
|
|
307
|
+
// Extract sessionId so decisions can be recorded for denials too
|
|
308
|
+
sessionId: apiResponse.sessionId,
|
|
309
|
+
recommendation: apiResponse.recommendation,
|
|
310
|
+
recommendationReasons: apiResponse.recommendationReasons
|
|
299
311
|
};
|
|
300
312
|
return result2;
|
|
301
313
|
}
|
|
@@ -379,6 +391,16 @@ async function verify(config, request) {
|
|
|
379
391
|
}
|
|
380
392
|
return result;
|
|
381
393
|
}
|
|
394
|
+
async function recordDecision(config, sessionId, decision, reason) {
|
|
395
|
+
const headers = { "Content-Type": "application/json" };
|
|
396
|
+
if (config.apiKey) headers["X-API-Key"] = config.apiKey;
|
|
397
|
+
await fetch(`${config.apiBaseUrl}/agents/verify-access/${sessionId}/decision`, {
|
|
398
|
+
method: "POST",
|
|
399
|
+
headers,
|
|
400
|
+
body: JSON.stringify({ decision, reason })
|
|
401
|
+
}).catch(() => {
|
|
402
|
+
});
|
|
403
|
+
}
|
|
382
404
|
async function quickVerify(config, credentials) {
|
|
383
405
|
const result = await verify(config, {
|
|
384
406
|
credentials,
|
|
@@ -523,6 +545,7 @@ function createMiddleware(options) {
|
|
|
523
545
|
extractPurpose: customExtractPurpose,
|
|
524
546
|
skipPaths = [],
|
|
525
547
|
onDenied = defaultOnDenied,
|
|
548
|
+
recordDecisions,
|
|
526
549
|
...config
|
|
527
550
|
} = options;
|
|
528
551
|
return async (req, res, next) => {
|
|
@@ -556,16 +579,23 @@ function createMiddleware(options) {
|
|
|
556
579
|
return;
|
|
557
580
|
}
|
|
558
581
|
const purpose = customExtractPurpose ? customExtractPurpose(req) : defaultExtractPurpose(req);
|
|
582
|
+
const shouldRecordDecisions = recordDecisions !== false;
|
|
559
583
|
const result = await verify(config, {
|
|
560
584
|
credentials,
|
|
561
585
|
purpose,
|
|
562
586
|
action: req.method.toLowerCase(),
|
|
563
587
|
resource: req.path,
|
|
564
588
|
clientIp: req.ip,
|
|
565
|
-
userAgent: req.headers["user-agent"]
|
|
589
|
+
userAgent: req.headers["user-agent"],
|
|
590
|
+
createSession: shouldRecordDecisions
|
|
566
591
|
});
|
|
567
592
|
req.agentVerification = result;
|
|
593
|
+
const sessionId = result.sessionId;
|
|
568
594
|
if (!hasMinimumAccess(result.accessLevel, routeConfig.minAccessLevel)) {
|
|
595
|
+
if (shouldRecordDecisions && sessionId) {
|
|
596
|
+
recordDecision(config, sessionId, "denied", result.denialReasons?.[0]).catch(() => {
|
|
597
|
+
});
|
|
598
|
+
}
|
|
569
599
|
onDenied(result, req, res);
|
|
570
600
|
return;
|
|
571
601
|
}
|
|
@@ -574,10 +604,18 @@ function createMiddleware(options) {
|
|
|
574
604
|
result.denialReasons = [
|
|
575
605
|
`Trust score ${result.agent.trustScore} is below required ${routeConfig.minTrustScore}`
|
|
576
606
|
];
|
|
607
|
+
if (shouldRecordDecisions && sessionId) {
|
|
608
|
+
recordDecision(config, sessionId, "denied", result.denialReasons[0]).catch(() => {
|
|
609
|
+
});
|
|
610
|
+
}
|
|
577
611
|
onDenied(result, req, res);
|
|
578
612
|
return;
|
|
579
613
|
}
|
|
580
614
|
}
|
|
615
|
+
if (shouldRecordDecisions && sessionId) {
|
|
616
|
+
recordDecision(config, sessionId, "granted").catch(() => {
|
|
617
|
+
});
|
|
618
|
+
}
|
|
581
619
|
next();
|
|
582
620
|
} catch (error) {
|
|
583
621
|
console.error("[VerificationGateway] Middleware error:", error);
|
|
@@ -1173,7 +1211,7 @@ __export(agent_exports, {
|
|
|
1173
1211
|
ChallengeHandler: () => ChallengeHandler,
|
|
1174
1212
|
formatPDLSSForTransport: () => formatPDLSSForTransport,
|
|
1175
1213
|
parsePDLSSFromTransport: () => parsePDLSSFromTransport,
|
|
1176
|
-
recordDecision: () =>
|
|
1214
|
+
recordDecision: () => recordDecision2
|
|
1177
1215
|
});
|
|
1178
1216
|
|
|
1179
1217
|
// src/agent/client.ts
|
|
@@ -1385,7 +1423,7 @@ function parsePDLSSFromTransport(transport) {
|
|
|
1385
1423
|
}
|
|
1386
1424
|
|
|
1387
1425
|
// src/agent/decision-client.ts
|
|
1388
|
-
async function
|
|
1426
|
+
async function recordDecision2(config, params) {
|
|
1389
1427
|
const { sessionId, ...body } = params;
|
|
1390
1428
|
const baseUrl = config.apiBaseUrl.replace(/\/$/, "");
|
|
1391
1429
|
const url = `${baseUrl}/agents/verify-access/${encodeURIComponent(sessionId)}/decision`;
|
|
@@ -1438,7 +1476,7 @@ export {
|
|
|
1438
1476
|
hasMinimumAccess,
|
|
1439
1477
|
nextjs_exports as nextjs,
|
|
1440
1478
|
quickVerify,
|
|
1441
|
-
recordDecision,
|
|
1479
|
+
recordDecision2 as recordDecision,
|
|
1442
1480
|
sdk_exports as sdk,
|
|
1443
1481
|
transport_exports as transport,
|
|
1444
1482
|
verify
|