@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,4 +1,4 @@
|
|
|
1
|
-
import { a as AstraSyncGatewayConfig, P as PDLSSContext, V as VerificationDecision } from '../types-
|
|
1
|
+
import { a as AstraSyncGatewayConfig, P as PDLSSContext, V as VerificationDecision } from '../types-cQVCMeNV.mjs';
|
|
2
2
|
import '../types-sy3tq8lp.mjs';
|
|
3
3
|
import '../metadata-capture.mjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as AstraSyncGatewayConfig, P as PDLSSContext, V as VerificationDecision } from '../types-
|
|
1
|
+
import { a as AstraSyncGatewayConfig, P as PDLSSContext, V as VerificationDecision } from '../types-DhFPiZ3t.js';
|
|
2
2
|
import '../types-9tns4wyl.js';
|
|
3
3
|
import '../metadata-capture.js';
|
|
4
4
|
|
package/dist/gateway/gateway.js
CHANGED
|
@@ -147,8 +147,9 @@ function extractBacktickSubstitutions(text, collect) {
|
|
|
147
147
|
return kept.join(" ");
|
|
148
148
|
}
|
|
149
149
|
function basename(token) {
|
|
150
|
-
const slash = token.lastIndexOf("/");
|
|
151
|
-
|
|
150
|
+
const slash = Math.max(token.lastIndexOf("/"), token.lastIndexOf("\\"));
|
|
151
|
+
const name = slash === -1 ? token : token.slice(slash + 1);
|
|
152
|
+
return name.replace(/\.(exe|cmd|bat|ps1)$/i, "");
|
|
152
153
|
}
|
|
153
154
|
function matchSegment(segment, list) {
|
|
154
155
|
const tokens = segment.split(/\s+/).filter((t) => /[a-z0-9]/.test(t));
|
|
@@ -281,7 +282,9 @@ var LocalEvaluator = class {
|
|
|
281
282
|
}
|
|
282
283
|
return {
|
|
283
284
|
recommendation: "ALLOW",
|
|
284
|
-
|
|
285
|
+
// "evaluated": dimensions absent from the policy are skipped, not
|
|
286
|
+
// failed — evaluatedDimensions below records which ones ran.
|
|
287
|
+
reason: "All evaluated PDLSS checks passed",
|
|
285
288
|
evaluatedDimensions: {
|
|
286
289
|
purpose: true,
|
|
287
290
|
scope: !!this.policy.scope,
|
|
@@ -380,7 +383,7 @@ var LocalEvaluator = class {
|
|
|
380
383
|
}
|
|
381
384
|
}
|
|
382
385
|
if ((context.purpose === "file.read" || context.purpose === "file.write" || context.purpose === "file.delete") && context.target) {
|
|
383
|
-
const targetLower = context.target.toLowerCase();
|
|
386
|
+
const targetLower = context.target.toLowerCase().replace(/\\/g, "/");
|
|
384
387
|
for (const sensitivePath of SENSITIVE_PATHS) {
|
|
385
388
|
if (targetLower.includes(sensitivePath.toLowerCase())) {
|
|
386
389
|
score = Math.max(score, 50);
|
|
@@ -409,12 +412,20 @@ var LocalEvaluator = class {
|
|
|
409
412
|
matchesAnyPattern(value, patterns) {
|
|
410
413
|
return patterns.some((pattern) => this.matchGlob(value, pattern));
|
|
411
414
|
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
415
|
+
homePrefix() {
|
|
416
|
+
if (this.cachedHomePrefix !== void 0) return this.cachedHomePrefix;
|
|
417
|
+
const env = typeof process !== "undefined" ? process.env : void 0;
|
|
418
|
+
const home = env?.HOME || env?.USERPROFILE;
|
|
419
|
+
this.cachedHomePrefix = home ? home.replace(/\\/g, "/") : null;
|
|
420
|
+
return this.cachedHomePrefix;
|
|
421
|
+
}
|
|
417
422
|
matchGlob(value, pattern) {
|
|
423
|
+
value = value.replace(/\\/g, "/");
|
|
424
|
+
pattern = pattern.replace(/\\/g, "/");
|
|
425
|
+
if (pattern === "~" || pattern.startsWith("~/")) {
|
|
426
|
+
const home = this.homePrefix();
|
|
427
|
+
if (home) pattern = home + pattern.slice(1);
|
|
428
|
+
}
|
|
418
429
|
if (pattern === value) return true;
|
|
419
430
|
const starCount = (pattern.match(/\*/g) ?? []).length;
|
|
420
431
|
if (starCount > 8) {
|
|
@@ -3687,7 +3698,7 @@ function getTrustLevel(score) {
|
|
|
3687
3698
|
}
|
|
3688
3699
|
|
|
3689
3700
|
// src/version.ts
|
|
3690
|
-
var SDK_VERSION = "3.11.
|
|
3701
|
+
var SDK_VERSION = "3.11.1";
|
|
3691
3702
|
|
|
3692
3703
|
// src/well-known.ts
|
|
3693
3704
|
var CACHE_TTL_MS = 60 * 60 * 1e3;
|
|
@@ -4451,13 +4462,29 @@ var TraceLogger = class {
|
|
|
4451
4462
|
*/
|
|
4452
4463
|
logEvaluation(context, decision) {
|
|
4453
4464
|
if (!this.enabled) return;
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4465
|
+
let event;
|
|
4466
|
+
try {
|
|
4467
|
+
event = {
|
|
4468
|
+
id: this.generateId(),
|
|
4469
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
4470
|
+
type: "evaluation",
|
|
4471
|
+
context: redactDeep(context),
|
|
4472
|
+
decision: redactDeep(decision)
|
|
4473
|
+
};
|
|
4474
|
+
} catch (err) {
|
|
4475
|
+
event = {
|
|
4476
|
+
id: this.generateId(),
|
|
4477
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
4478
|
+
type: "error",
|
|
4479
|
+
metadata: {
|
|
4480
|
+
error: `trace redaction failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
4481
|
+
recommendation: decision.recommendation,
|
|
4482
|
+
purpose: context.purpose,
|
|
4483
|
+
action: context.action
|
|
4484
|
+
}
|
|
4485
|
+
};
|
|
4486
|
+
}
|
|
4487
|
+
this.write(event);
|
|
4461
4488
|
}
|
|
4462
4489
|
/**
|
|
4463
4490
|
* Log a tool call the guard saw but did not govern. One line per skip
|
|
@@ -4499,17 +4526,34 @@ var TraceLogger = class {
|
|
|
4499
4526
|
});
|
|
4500
4527
|
}
|
|
4501
4528
|
write(event) {
|
|
4529
|
+
let line;
|
|
4530
|
+
try {
|
|
4531
|
+
line = JSON.stringify(event) + "\n";
|
|
4532
|
+
} catch {
|
|
4533
|
+
return;
|
|
4534
|
+
}
|
|
4502
4535
|
try {
|
|
4503
4536
|
const filePath = this.getCurrentFilePath();
|
|
4504
|
-
const line = JSON.stringify(event) + "\n";
|
|
4505
4537
|
if ((0, import_fs3.existsSync)(filePath)) {
|
|
4506
4538
|
const stats = (0, import_fs3.statSync)(filePath);
|
|
4507
4539
|
if (stats.size > MAX_FILE_SIZE) {
|
|
4508
4540
|
this.rotate();
|
|
4509
4541
|
}
|
|
4510
4542
|
}
|
|
4511
|
-
(0
|
|
4543
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
4544
|
+
try {
|
|
4545
|
+
(0, import_fs3.appendFileSync)(filePath, line);
|
|
4546
|
+
return;
|
|
4547
|
+
} catch {
|
|
4548
|
+
}
|
|
4549
|
+
}
|
|
4550
|
+
const fallbackPath = filePath.replace(/\.jsonl$/, `-r${process.pid}.jsonl`);
|
|
4551
|
+
(0, import_fs3.appendFileSync)(fallbackPath, line);
|
|
4512
4552
|
} catch {
|
|
4553
|
+
try {
|
|
4554
|
+
console.error(`[AstraSync TraceLogger] failed to persist trace line: ${line.trim()}`);
|
|
4555
|
+
} catch {
|
|
4556
|
+
}
|
|
4513
4557
|
}
|
|
4514
4558
|
}
|
|
4515
4559
|
getCurrentFilePath() {
|