@astrasyncai/verification-gateway 4.5.0 → 4.6.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/README.md +1 -1
- package/dist/adapter-interface/interface.d.mts +2 -2
- package/dist/adapter-interface/interface.d.ts +2 -2
- package/dist/adapters/express.d.mts +2 -2
- package/dist/adapters/express.d.ts +2 -2
- package/dist/adapters/express.js +6 -1
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +6 -1
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/mcp.d.mts +3 -394
- package/dist/adapters/mcp.d.ts +3 -394
- package/dist/adapters/mcp.js +6 -1
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +6 -1
- package/dist/adapters/mcp.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 +6 -1
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +6 -1
- 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 +6 -1
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +6 -1
- package/dist/adapters/sdk.mjs.map +1 -1
- package/dist/agent/index.d.mts +2 -2
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/index.mjs +1 -1
- package/dist/agent/index.mjs.map +1 -1
- package/dist/bin/astrasync-claude-hook.js +60 -13
- package/dist/bin/astrasync-codex-hook.js +60 -13
- package/dist/bin/astrasync-guard.js +60 -13
- package/dist/bin/astrasync.js +68 -15
- package/dist/browser/background.js +60 -13
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +60 -13
- package/dist/browser/background.mjs.map +1 -1
- package/dist/browser/browser-adapter.d.mts +2 -2
- package/dist/browser/browser-adapter.d.ts +2 -2
- package/dist/claude-code/claude-code-adapter.d.mts +2 -2
- package/dist/claude-code/claude-code-adapter.d.ts +2 -2
- package/dist/cli/index.d.mts +2 -2
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +33 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +33 -6
- package/dist/cli/index.mjs.map +1 -1
- package/dist/codex/index.d.mts +2 -2
- package/dist/codex/index.d.ts +2 -2
- package/dist/codex/index.js +60 -13
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +60 -13
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/cursor-adapter.d.mts +2 -2
- package/dist/cursor/cursor-adapter.d.ts +2 -2
- package/dist/cursor/extension.d.mts +2 -2
- package/dist/cursor/extension.d.ts +2 -2
- package/dist/cursor/extension.js +60 -13
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +60 -13
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/edge-config.d.mts +1 -1
- package/dist/edge-config.d.ts +1 -1
- package/dist/edge-config.js +1 -1
- package/dist/edge-config.js.map +1 -1
- package/dist/edge-config.mjs +1 -1
- package/dist/edge-config.mjs.map +1 -1
- package/dist/edge-core/index.d.mts +1 -1
- package/dist/edge-core/index.d.ts +1 -1
- package/dist/edge-core/index.js +6 -1
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +6 -1
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/{express-DaqL11tx.d.ts → express-D-8Ks2Uo.d.ts} +1 -1
- package/dist/{express-CR6F3njD.d.mts → express-DBtPKXOL.d.mts} +1 -1
- package/dist/gateway/gateway.d.mts +2 -2
- package/dist/gateway/gateway.d.ts +2 -2
- package/dist/gateway/gateway.js +60 -13
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +60 -13
- package/dist/gateway/gateway.mjs.map +1 -1
- package/dist/git-trigger/git-hooks.d.mts +2 -2
- package/dist/git-trigger/git-hooks.d.ts +2 -2
- package/dist/{index-BfIxCYIZ.d.ts → index-BND3kQev.d.ts} +1 -2
- package/dist/{index-CwAh7Tln.d.mts → index-CUfmJ1Dq.d.mts} +1 -2
- package/dist/{index-B5Ts1WtM.d.ts → index-DlZORQsb.d.ts} +1 -1
- package/dist/{index-Cub7lK-T.d.mts → index-kGCGWd5x.d.mts} +1 -1
- package/dist/index.d.mts +10 -10
- package/dist/index.d.ts +10 -10
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12 -1
- package/dist/index.mjs.map +1 -1
- package/dist/local-evaluator/evaluator.d.mts +2 -2
- package/dist/local-evaluator/evaluator.d.ts +2 -2
- package/dist/local-evaluator/evaluator.js +22 -7
- package/dist/local-evaluator/evaluator.js.map +1 -1
- package/dist/local-evaluator/evaluator.mjs +22 -7
- package/dist/local-evaluator/evaluator.mjs.map +1 -1
- package/dist/mcp-DToTlwIn.d.ts +396 -0
- package/dist/mcp-ZRN4kY3b.d.mts +396 -0
- package/dist/{nextjs-DlX6xwbU.d.mts → nextjs-C0KASOy_.d.mts} +1 -1
- package/dist/{nextjs-DL6uE1ye.d.ts → nextjs-lwNvWYWT.d.ts} +1 -1
- package/dist/registration/index.d.mts +5 -1
- package/dist/registration/index.d.ts +5 -1
- package/dist/registration/index.js +2 -1
- package/dist/registration/index.js.map +1 -1
- package/dist/registration/index.mjs +2 -1
- package/dist/registration/index.mjs.map +1 -1
- package/dist/{sdk-C6SASmsh.d.ts → sdk-B4aodEwj.d.ts} +1 -1
- package/dist/{sdk-Bbh9B_dw.d.mts → sdk-B9dSwum7.d.mts} +1 -1
- package/dist/transport/index.d.mts +2 -2
- package/dist/transport/index.d.ts +2 -2
- package/dist/transport/index.js +1 -1
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/index.mjs +1 -1
- package/dist/transport/index.mjs.map +1 -1
- package/dist/{types-DwSfO7Sb.d.ts → types-CGPU7HLi.d.ts} +8 -0
- package/dist/{types-nIh3HtuA.d.ts → types-CfSJLS4i.d.mts} +14 -1
- package/dist/{types-C0zfSXMB.d.mts → types-Cx9hTpKI.d.mts} +8 -0
- package/dist/{types-C7Rb-w0d.d.mts → types-DhhJxKIC.d.ts} +14 -1
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/verify.d.mts +1 -1
- package/dist/verify.d.ts +1 -1
- package/dist/verify.js +6 -1
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +6 -1
- package/dist/verify.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PlatformAdapter, AdapterConfig } from '../adapter-interface/interface.mjs';
|
|
2
|
-
import { P as PDLSSContext, V as VerificationDecision, A as AgentAction, I as InterceptResult } from '../types-
|
|
2
|
+
import { P as PDLSSContext, V as VerificationDecision, A as AgentAction, I as InterceptResult } from '../types-CfSJLS4i.mjs';
|
|
3
3
|
import '../gateway/gateway.mjs';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-Cx9hTpKI.mjs';
|
|
5
5
|
import '../metadata-capture.mjs';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PlatformAdapter, AdapterConfig } from '../adapter-interface/interface.js';
|
|
2
|
-
import { P as PDLSSContext, V as VerificationDecision, A as AgentAction, I as InterceptResult } from '../types-
|
|
2
|
+
import { P as PDLSSContext, V as VerificationDecision, A as AgentAction, I as InterceptResult } from '../types-DhhJxKIC.js';
|
|
3
3
|
import '../gateway/gateway.js';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-CGPU7HLi.js';
|
|
5
5
|
import '../metadata-capture.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { VSCodeAPI } from './cursor-adapter.mjs';
|
|
2
2
|
import '../adapter-interface/interface.mjs';
|
|
3
3
|
import '../gateway/gateway.mjs';
|
|
4
|
-
import '../types-
|
|
5
|
-
import '../types-
|
|
4
|
+
import '../types-CfSJLS4i.mjs';
|
|
5
|
+
import '../types-Cx9hTpKI.mjs';
|
|
6
6
|
import '../metadata-capture.mjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { VSCodeAPI } from './cursor-adapter.js';
|
|
2
2
|
import '../adapter-interface/interface.js';
|
|
3
3
|
import '../gateway/gateway.js';
|
|
4
|
-
import '../types-
|
|
5
|
-
import '../types-
|
|
4
|
+
import '../types-DhhJxKIC.js';
|
|
5
|
+
import '../types-CGPU7HLi.js';
|
|
6
6
|
import '../metadata-capture.js';
|
|
7
7
|
|
|
8
8
|
/**
|
package/dist/cursor/extension.js
CHANGED
|
@@ -501,9 +501,9 @@ var LocalEvaluator = class {
|
|
|
501
501
|
if (scopeBlock) {
|
|
502
502
|
return { recommendation: "DENY", reason: scopeBlock };
|
|
503
503
|
}
|
|
504
|
-
const
|
|
505
|
-
if (
|
|
506
|
-
return
|
|
504
|
+
const limitDecision = this.checkLimits(context);
|
|
505
|
+
if (limitDecision) {
|
|
506
|
+
return limitDecision;
|
|
507
507
|
}
|
|
508
508
|
if (context.purpose === "sub_agent.spawn" && this.policy.selfInstantiation) {
|
|
509
509
|
if (!this.policy.selfInstantiation.allowed) {
|
|
@@ -568,9 +568,21 @@ var LocalEvaluator = class {
|
|
|
568
568
|
checkLimits(context) {
|
|
569
569
|
const limits = this.policy.limits;
|
|
570
570
|
if (!limits) return null;
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
571
|
+
const value = context.transactionValue;
|
|
572
|
+
if (value !== void 0 && value > 0 && (limits.autonomousThreshold !== void 0 || limits.maxTransactionAmount !== void 0)) {
|
|
573
|
+
const autonomousThreshold = limits.autonomousThreshold ?? 0;
|
|
574
|
+
const hardLimit = limits.maxTransactionAmount ?? limits.autonomousThreshold ?? 0;
|
|
575
|
+
if (value > autonomousThreshold) {
|
|
576
|
+
if (value >= hardLimit) {
|
|
577
|
+
return {
|
|
578
|
+
recommendation: "DENY",
|
|
579
|
+
reason: `Transaction value ${value} at or above Hard Limit ${hardLimit}`
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
return {
|
|
583
|
+
recommendation: "MANUAL_REVIEW",
|
|
584
|
+
reason: `Transaction value ${value} is in the human-approval band (${autonomousThreshold}, ${hardLimit})`
|
|
585
|
+
};
|
|
574
586
|
}
|
|
575
587
|
}
|
|
576
588
|
if (limits.maxRequestsPerHour !== void 0) {
|
|
@@ -583,7 +595,10 @@ var LocalEvaluator = class {
|
|
|
583
595
|
} else {
|
|
584
596
|
entry.count++;
|
|
585
597
|
if (entry.count > limits.maxRequestsPerHour) {
|
|
586
|
-
return
|
|
598
|
+
return {
|
|
599
|
+
recommendation: "DENY",
|
|
600
|
+
reason: `Rate limit exceeded: ${entry.count}/${limits.maxRequestsPerHour} requests per hour`
|
|
601
|
+
};
|
|
587
602
|
}
|
|
588
603
|
}
|
|
589
604
|
}
|
|
@@ -3792,10 +3807,16 @@ function validatePurpose(purpose, path) {
|
|
|
3792
3807
|
errors.push({ path: `${path}.targets`, message: "targets must be an array of strings" });
|
|
3793
3808
|
}
|
|
3794
3809
|
if (p.blockedPatterns !== void 0 && !isStringArray(p.blockedPatterns)) {
|
|
3795
|
-
errors.push({
|
|
3810
|
+
errors.push({
|
|
3811
|
+
path: `${path}.blockedPatterns`,
|
|
3812
|
+
message: "blockedPatterns must be an array of strings"
|
|
3813
|
+
});
|
|
3796
3814
|
}
|
|
3797
3815
|
if (p.requiresApproval !== void 0 && typeof p.requiresApproval !== "boolean") {
|
|
3798
|
-
errors.push({
|
|
3816
|
+
errors.push({
|
|
3817
|
+
path: `${path}.requiresApproval`,
|
|
3818
|
+
message: "requiresApproval must be a boolean"
|
|
3819
|
+
});
|
|
3799
3820
|
}
|
|
3800
3821
|
return errors;
|
|
3801
3822
|
}
|
|
@@ -3818,11 +3839,29 @@ function validateLimits(limits, path) {
|
|
|
3818
3839
|
return [{ path, message: "limits must be an object" }];
|
|
3819
3840
|
}
|
|
3820
3841
|
const l = limits;
|
|
3842
|
+
if (l.autonomousThreshold !== void 0 && typeof l.autonomousThreshold !== "number") {
|
|
3843
|
+
errors.push({
|
|
3844
|
+
path: `${path}.autonomousThreshold`,
|
|
3845
|
+
message: "autonomousThreshold must be a number"
|
|
3846
|
+
});
|
|
3847
|
+
}
|
|
3821
3848
|
if (l.maxTransactionAmount !== void 0 && typeof l.maxTransactionAmount !== "number") {
|
|
3822
|
-
errors.push({
|
|
3849
|
+
errors.push({
|
|
3850
|
+
path: `${path}.maxTransactionAmount`,
|
|
3851
|
+
message: "maxTransactionAmount must be a number"
|
|
3852
|
+
});
|
|
3853
|
+
}
|
|
3854
|
+
if (typeof l.autonomousThreshold === "number" && typeof l.maxTransactionAmount === "number" && l.autonomousThreshold > l.maxTransactionAmount) {
|
|
3855
|
+
errors.push({
|
|
3856
|
+
path: `${path}.autonomousThreshold`,
|
|
3857
|
+
message: "autonomousThreshold (Autonomous Limit) must be <= maxTransactionAmount (Hard Limit)"
|
|
3858
|
+
});
|
|
3823
3859
|
}
|
|
3824
3860
|
if (l.maxRequestsPerHour !== void 0 && typeof l.maxRequestsPerHour !== "number") {
|
|
3825
|
-
errors.push({
|
|
3861
|
+
errors.push({
|
|
3862
|
+
path: `${path}.maxRequestsPerHour`,
|
|
3863
|
+
message: "maxRequestsPerHour must be a number"
|
|
3864
|
+
});
|
|
3826
3865
|
}
|
|
3827
3866
|
if (l.currency !== void 0 && typeof l.currency !== "string") {
|
|
3828
3867
|
errors.push({ path: `${path}.currency`, message: "currency must be a string" });
|
|
@@ -3837,7 +3876,10 @@ function validateRiskThresholds(thresholds, path) {
|
|
|
3837
3876
|
const t = thresholds;
|
|
3838
3877
|
for (const range of ["autoAllow", "requireApproval", "autoBlock"]) {
|
|
3839
3878
|
if (!t[range] || typeof t[range] !== "object") {
|
|
3840
|
-
errors.push({
|
|
3879
|
+
errors.push({
|
|
3880
|
+
path: `${path}.${range}`,
|
|
3881
|
+
message: `${range} is required and must be an object with min and max`
|
|
3882
|
+
});
|
|
3841
3883
|
continue;
|
|
3842
3884
|
}
|
|
3843
3885
|
const r = t[range];
|
|
@@ -3942,7 +3984,7 @@ function getTrustLevel(score) {
|
|
|
3942
3984
|
}
|
|
3943
3985
|
|
|
3944
3986
|
// src/version.ts
|
|
3945
|
-
var SDK_VERSION = "4.
|
|
3987
|
+
var SDK_VERSION = "4.6.0";
|
|
3946
3988
|
|
|
3947
3989
|
// src/http.ts
|
|
3948
3990
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -4166,6 +4208,11 @@ function createGuidanceResponse(_config, reason, options = {}) {
|
|
|
4166
4208
|
// 4.0.0: typed marker so adapters render the misconfig envelope (503 +
|
|
4167
4209
|
// MERCHANT_VERIFICATION_MISCONFIGURED) without string-matching.
|
|
4168
4210
|
...isMisconfig && { misconfigured: true },
|
|
4211
|
+
// 4.6.0: a transient api_error is retryable — mark it so consumers surface
|
|
4212
|
+
// "temporarily unavailable, retry" (recommendation 'error') instead of
|
|
4213
|
+
// coercing the absent recommendation to a policy 'deny'. Misconfig is
|
|
4214
|
+
// deterministic and intentionally NOT marked retryable.
|
|
4215
|
+
...isApiError && { retryable: true },
|
|
4169
4216
|
correlationId: options.correlationId,
|
|
4170
4217
|
attemptId: options.attemptId,
|
|
4171
4218
|
verifiedAt: /* @__PURE__ */ new Date()
|