@astrasyncai/verification-gateway 3.11.0 → 3.11.1
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/adapter-interface/interface.d.mts +1 -1
- package/dist/adapter-interface/interface.d.ts +1 -1
- package/dist/adapters/express.js +1 -1
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +1 -1
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/mcp.js +1 -1
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +1 -1
- package/dist/adapters/mcp.mjs.map +1 -1
- package/dist/adapters/nextjs.js +1 -1
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +1 -1
- package/dist/adapters/nextjs.mjs.map +1 -1
- package/dist/adapters/sdk.js +1 -1
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +1 -1
- package/dist/adapters/sdk.mjs.map +1 -1
- package/dist/bin/astrasync-claude-hook.js +63 -19
- package/dist/bin/astrasync-codex-hook.js +63 -19
- package/dist/bin/astrasync-guard.js +63 -19
- package/dist/bin/astrasync.js +63 -19
- package/dist/browser/background.js +63 -19
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +63 -19
- package/dist/browser/background.mjs.map +1 -1
- package/dist/browser/browser-adapter.d.mts +1 -1
- package/dist/browser/browser-adapter.d.ts +1 -1
- package/dist/claude-code/claude-code-adapter.d.mts +1 -1
- package/dist/claude-code/claude-code-adapter.d.ts +1 -1
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/codex/index.d.mts +1 -1
- package/dist/codex/index.d.ts +1 -1
- package/dist/codex/index.js +63 -19
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +63 -19
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/cursor-adapter.d.mts +1 -1
- package/dist/cursor/cursor-adapter.d.ts +1 -1
- package/dist/cursor/extension.d.mts +1 -1
- package/dist/cursor/extension.d.ts +1 -1
- package/dist/cursor/extension.js +63 -19
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +63 -19
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/gateway/gateway.d.mts +1 -1
- package/dist/gateway/gateway.d.ts +1 -1
- package/dist/gateway/gateway.js +63 -19
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +63 -19
- package/dist/gateway/gateway.mjs.map +1 -1
- package/dist/git-trigger/git-hooks.d.mts +1 -1
- package/dist/git-trigger/git-hooks.d.ts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/local-evaluator/evaluator.d.mts +10 -1
- package/dist/local-evaluator/evaluator.d.ts +10 -1
- package/dist/local-evaluator/evaluator.js +20 -9
- package/dist/local-evaluator/evaluator.js.map +1 -1
- package/dist/local-evaluator/evaluator.mjs +20 -9
- package/dist/local-evaluator/evaluator.mjs.map +1 -1
- package/dist/{types-C23_uaY8.d.ts → types-DhFPiZ3t.d.ts} +6 -1
- package/dist/{types-BV6abBnF.d.mts → types-cQVCMeNV.d.mts} +6 -1
- package/dist/verify.js +1 -1
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +1 -1
- package/dist/verify.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
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-cQVCMeNV.mjs';
|
|
3
3
|
import '../gateway/gateway.mjs';
|
|
4
4
|
import '../types-sy3tq8lp.mjs';
|
|
5
5
|
import '../metadata-capture.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
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-DhFPiZ3t.js';
|
|
3
3
|
import '../gateway/gateway.js';
|
|
4
4
|
import '../types-9tns4wyl.js';
|
|
5
5
|
import '../metadata-capture.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VSCodeAPI } from './cursor-adapter.mjs';
|
|
2
2
|
import '../adapter-interface/interface.mjs';
|
|
3
3
|
import '../gateway/gateway.mjs';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-cQVCMeNV.mjs';
|
|
5
5
|
import '../types-sy3tq8lp.mjs';
|
|
6
6
|
import '../metadata-capture.mjs';
|
|
7
7
|
|
package/dist/cursor/extension.js
CHANGED
|
@@ -391,8 +391,9 @@ function extractBacktickSubstitutions(text, collect) {
|
|
|
391
391
|
return kept.join(" ");
|
|
392
392
|
}
|
|
393
393
|
function basename(token) {
|
|
394
|
-
const slash = token.lastIndexOf("/");
|
|
395
|
-
|
|
394
|
+
const slash = Math.max(token.lastIndexOf("/"), token.lastIndexOf("\\"));
|
|
395
|
+
const name = slash === -1 ? token : token.slice(slash + 1);
|
|
396
|
+
return name.replace(/\.(exe|cmd|bat|ps1)$/i, "");
|
|
396
397
|
}
|
|
397
398
|
function matchSegment(segment, list) {
|
|
398
399
|
const tokens = segment.split(/\s+/).filter((t) => /[a-z0-9]/.test(t));
|
|
@@ -525,7 +526,9 @@ var LocalEvaluator = class {
|
|
|
525
526
|
}
|
|
526
527
|
return {
|
|
527
528
|
recommendation: "ALLOW",
|
|
528
|
-
|
|
529
|
+
// "evaluated": dimensions absent from the policy are skipped, not
|
|
530
|
+
// failed — evaluatedDimensions below records which ones ran.
|
|
531
|
+
reason: "All evaluated PDLSS checks passed",
|
|
529
532
|
evaluatedDimensions: {
|
|
530
533
|
purpose: true,
|
|
531
534
|
scope: !!this.policy.scope,
|
|
@@ -624,7 +627,7 @@ var LocalEvaluator = class {
|
|
|
624
627
|
}
|
|
625
628
|
}
|
|
626
629
|
if ((context.purpose === "file.read" || context.purpose === "file.write" || context.purpose === "file.delete") && context.target) {
|
|
627
|
-
const targetLower = context.target.toLowerCase();
|
|
630
|
+
const targetLower = context.target.toLowerCase().replace(/\\/g, "/");
|
|
628
631
|
for (const sensitivePath of SENSITIVE_PATHS) {
|
|
629
632
|
if (targetLower.includes(sensitivePath.toLowerCase())) {
|
|
630
633
|
score = Math.max(score, 50);
|
|
@@ -653,12 +656,20 @@ var LocalEvaluator = class {
|
|
|
653
656
|
matchesAnyPattern(value, patterns) {
|
|
654
657
|
return patterns.some((pattern) => this.matchGlob(value, pattern));
|
|
655
658
|
}
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
659
|
+
homePrefix() {
|
|
660
|
+
if (this.cachedHomePrefix !== void 0) return this.cachedHomePrefix;
|
|
661
|
+
const env = typeof process !== "undefined" ? process.env : void 0;
|
|
662
|
+
const home = env?.HOME || env?.USERPROFILE;
|
|
663
|
+
this.cachedHomePrefix = home ? home.replace(/\\/g, "/") : null;
|
|
664
|
+
return this.cachedHomePrefix;
|
|
665
|
+
}
|
|
661
666
|
matchGlob(value, pattern) {
|
|
667
|
+
value = value.replace(/\\/g, "/");
|
|
668
|
+
pattern = pattern.replace(/\\/g, "/");
|
|
669
|
+
if (pattern === "~" || pattern.startsWith("~/")) {
|
|
670
|
+
const home = this.homePrefix();
|
|
671
|
+
if (home) pattern = home + pattern.slice(1);
|
|
672
|
+
}
|
|
662
673
|
if (pattern === value) return true;
|
|
663
674
|
const starCount = (pattern.match(/\*/g) ?? []).length;
|
|
664
675
|
if (starCount > 8) {
|
|
@@ -3931,7 +3942,7 @@ function getTrustLevel(score) {
|
|
|
3931
3942
|
}
|
|
3932
3943
|
|
|
3933
3944
|
// src/version.ts
|
|
3934
|
-
var SDK_VERSION = "3.11.
|
|
3945
|
+
var SDK_VERSION = "3.11.1";
|
|
3935
3946
|
|
|
3936
3947
|
// src/well-known.ts
|
|
3937
3948
|
var CACHE_TTL_MS = 60 * 60 * 1e3;
|
|
@@ -4695,13 +4706,29 @@ var TraceLogger = class {
|
|
|
4695
4706
|
*/
|
|
4696
4707
|
logEvaluation(context, decision) {
|
|
4697
4708
|
if (!this.enabled) return;
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4709
|
+
let event;
|
|
4710
|
+
try {
|
|
4711
|
+
event = {
|
|
4712
|
+
id: this.generateId(),
|
|
4713
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
4714
|
+
type: "evaluation",
|
|
4715
|
+
context: redactDeep(context),
|
|
4716
|
+
decision: redactDeep(decision)
|
|
4717
|
+
};
|
|
4718
|
+
} catch (err) {
|
|
4719
|
+
event = {
|
|
4720
|
+
id: this.generateId(),
|
|
4721
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
4722
|
+
type: "error",
|
|
4723
|
+
metadata: {
|
|
4724
|
+
error: `trace redaction failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
4725
|
+
recommendation: decision.recommendation,
|
|
4726
|
+
purpose: context.purpose,
|
|
4727
|
+
action: context.action
|
|
4728
|
+
}
|
|
4729
|
+
};
|
|
4730
|
+
}
|
|
4731
|
+
this.write(event);
|
|
4705
4732
|
}
|
|
4706
4733
|
/**
|
|
4707
4734
|
* Log a tool call the guard saw but did not govern. One line per skip
|
|
@@ -4743,17 +4770,34 @@ var TraceLogger = class {
|
|
|
4743
4770
|
});
|
|
4744
4771
|
}
|
|
4745
4772
|
write(event) {
|
|
4773
|
+
let line;
|
|
4774
|
+
try {
|
|
4775
|
+
line = JSON.stringify(event) + "\n";
|
|
4776
|
+
} catch {
|
|
4777
|
+
return;
|
|
4778
|
+
}
|
|
4746
4779
|
try {
|
|
4747
4780
|
const filePath = this.getCurrentFilePath();
|
|
4748
|
-
const line = JSON.stringify(event) + "\n";
|
|
4749
4781
|
if ((0, import_fs3.existsSync)(filePath)) {
|
|
4750
4782
|
const stats = (0, import_fs3.statSync)(filePath);
|
|
4751
4783
|
if (stats.size > MAX_FILE_SIZE) {
|
|
4752
4784
|
this.rotate();
|
|
4753
4785
|
}
|
|
4754
4786
|
}
|
|
4755
|
-
(0
|
|
4787
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
4788
|
+
try {
|
|
4789
|
+
(0, import_fs3.appendFileSync)(filePath, line);
|
|
4790
|
+
return;
|
|
4791
|
+
} catch {
|
|
4792
|
+
}
|
|
4793
|
+
}
|
|
4794
|
+
const fallbackPath = filePath.replace(/\.jsonl$/, `-r${process.pid}.jsonl`);
|
|
4795
|
+
(0, import_fs3.appendFileSync)(fallbackPath, line);
|
|
4756
4796
|
} catch {
|
|
4797
|
+
try {
|
|
4798
|
+
console.error(`[AstraSync TraceLogger] failed to persist trace line: ${line.trim()}`);
|
|
4799
|
+
} catch {
|
|
4800
|
+
}
|
|
4757
4801
|
}
|
|
4758
4802
|
}
|
|
4759
4803
|
getCurrentFilePath() {
|