@mcp-index/sdk 0.13.1 → 0.14.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/CHANGELOG.md +54 -41
- package/dist/src/canonical.d.ts +4 -0
- package/dist/src/canonical.d.ts.map +1 -1
- package/dist/src/canonical.js +54 -17
- package/dist/src/canonical.js.map +1 -1
- package/dist/src/gate.d.ts +15 -0
- package/dist/src/gate.d.ts.map +1 -1
- package/dist/src/gate.js +165 -17
- package/dist/src/gate.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/schemaDiff.d.ts +5 -0
- package/dist/src/schemaDiff.d.ts.map +1 -1
- package/dist/src/schemaDiff.js +66 -16
- package/dist/src/schemaDiff.js.map +1 -1
- package/dist/src/wrap.d.ts.map +1 -1
- package/dist/src/wrap.js +3 -2
- package/dist/src/wrap.js.map +1 -1
- package/package.json +1 -1
package/dist/src/gate.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* only the PUBLIC contract dict the caller observed.
|
|
8
8
|
*/
|
|
9
9
|
import { Decision, HoldClass, hashTool, makeVerdict, utcNowIso, } from "./preflight.js";
|
|
10
|
-
import { ChangeKind, classifyChange, isNumericOnlyDescriptionChange, isSafetyRelevant, } from "./schemaDiff.js";
|
|
10
|
+
import { ChangeKind, UndiffableError, classifyChange, isNumericOnlyDescriptionChange, isSafetyRelevant, jsonEqual, } from "./schemaDiff.js";
|
|
11
11
|
import { assess, blastRank } from "./risk.js";
|
|
12
12
|
import { classifyToolDef } from "./actionClass.js";
|
|
13
13
|
import { scanSchemaHasMarker } from "./scan.js";
|
|
@@ -35,8 +35,13 @@ export var Posture;
|
|
|
35
35
|
})(Posture || (Posture = {}));
|
|
36
36
|
// The change kinds GUARD treats as UNAMBIGUOUS-DANGEROUS (block even in the
|
|
37
37
|
// lenient default posture). The full genuinely-BREAKING set.
|
|
38
|
-
const GUARD_DANGEROUS_KINDS = new Set([
|
|
38
|
+
export const GUARD_DANGEROUS_KINDS = new Set([
|
|
39
39
|
ChangeKind.ANNOTATION_FLIP_TO_DESTRUCTIVE,
|
|
40
|
+
// A parameter value that newly leaves the request body for an HTTP header.
|
|
41
|
+
// Ranked with the "this tool now does something it did not before" kinds in
|
|
42
|
+
// friendlyBreakingClause. Default guard held the rest of that group and
|
|
43
|
+
// forwarded this one.
|
|
44
|
+
ChangeKind.PARAM_MIRRORED_TO_HEADER,
|
|
40
45
|
ChangeKind.ADDED_REQUIRED_PARAM,
|
|
41
46
|
ChangeKind.REQUIRED_SET_EXPANDED,
|
|
42
47
|
ChangeKind.REMOVED_PARAM,
|
|
@@ -66,6 +71,7 @@ const DANGEROUS_REASON_MARKERS = [
|
|
|
66
71
|
"injection/exfil marker",
|
|
67
72
|
"could not complete",
|
|
68
73
|
"DESCRIPTION changed",
|
|
74
|
+
"schema text changed",
|
|
69
75
|
"behavioral validation FAILED",
|
|
70
76
|
"behavioral validation UNAVAILABLE",
|
|
71
77
|
"behavioral validation DECLINED",
|
|
@@ -552,6 +558,93 @@ function descriptionOf(defn) {
|
|
|
552
558
|
const desc = defn["description"];
|
|
553
559
|
return desc !== undefined && desc !== null ? String(desc) : "";
|
|
554
560
|
}
|
|
561
|
+
const SCHEMA_TYPE_NAMES = new Set([
|
|
562
|
+
"object",
|
|
563
|
+
"array",
|
|
564
|
+
"string",
|
|
565
|
+
"number",
|
|
566
|
+
"integer",
|
|
567
|
+
"boolean",
|
|
568
|
+
"null",
|
|
569
|
+
]);
|
|
570
|
+
function paramCarriesText(node, key) {
|
|
571
|
+
if (typeof node === "string") {
|
|
572
|
+
return !(key === "type" && SCHEMA_TYPE_NAMES.has(node));
|
|
573
|
+
}
|
|
574
|
+
if (Array.isArray(node)) {
|
|
575
|
+
if (key === "type") {
|
|
576
|
+
return node.some((item) => !(typeof item === "string" && SCHEMA_TYPE_NAMES.has(item)));
|
|
577
|
+
}
|
|
578
|
+
return node.some((item) => paramCarriesText(item));
|
|
579
|
+
}
|
|
580
|
+
if (node !== null && typeof node === "object") {
|
|
581
|
+
for (const [k, v] of Object.entries(node)) {
|
|
582
|
+
if (paramCarriesText(v, k))
|
|
583
|
+
return true;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
return false;
|
|
587
|
+
}
|
|
588
|
+
function schemaWithoutAddedParams(live, pinned) {
|
|
589
|
+
const liveProps = live["properties"];
|
|
590
|
+
const pinProps = pinned["properties"];
|
|
591
|
+
if (liveProps === null || typeof liveProps !== "object" || Array.isArray(liveProps))
|
|
592
|
+
return live;
|
|
593
|
+
const pinDict = pinProps !== null && typeof pinProps === "object" && !Array.isArray(pinProps)
|
|
594
|
+
? pinProps
|
|
595
|
+
: {};
|
|
596
|
+
const added = Object.keys(liveProps).filter((name) => !(name in pinDict));
|
|
597
|
+
if (added.length === 0)
|
|
598
|
+
return live;
|
|
599
|
+
const out = { ...live, properties: { ...liveProps } };
|
|
600
|
+
const props = out["properties"];
|
|
601
|
+
for (const name of added)
|
|
602
|
+
delete props[name];
|
|
603
|
+
const req = out["required"];
|
|
604
|
+
if (Array.isArray(req)) {
|
|
605
|
+
const filtered = req.filter((item) => typeof item !== "string" || !added.includes(item));
|
|
606
|
+
if ("required" in pinned)
|
|
607
|
+
out["required"] = filtered;
|
|
608
|
+
else if (filtered.length > 0)
|
|
609
|
+
out["required"] = filtered;
|
|
610
|
+
else
|
|
611
|
+
delete out["required"];
|
|
612
|
+
}
|
|
613
|
+
return out;
|
|
614
|
+
}
|
|
615
|
+
function schemaTextBlocks(pinnedSchema, observed) {
|
|
616
|
+
const pinned = pinnedSchema !== null && typeof pinnedSchema === "object" && !Array.isArray(pinnedSchema)
|
|
617
|
+
? pinnedSchema
|
|
618
|
+
: {};
|
|
619
|
+
const liveIn = observed["inputSchema"];
|
|
620
|
+
const pinIn = pinned["inputSchema"];
|
|
621
|
+
const liveSchema = liveIn !== null && typeof liveIn === "object" && !Array.isArray(liveIn)
|
|
622
|
+
? liveIn
|
|
623
|
+
: {};
|
|
624
|
+
const pinSchema = pinIn !== null && typeof pinIn === "object" && !Array.isArray(pinIn)
|
|
625
|
+
? pinIn
|
|
626
|
+
: {};
|
|
627
|
+
const liveProps = liveSchema["properties"];
|
|
628
|
+
const pinProps = pinSchema["properties"];
|
|
629
|
+
const liveDict = liveProps !== null && typeof liveProps === "object" && !Array.isArray(liveProps)
|
|
630
|
+
? liveProps
|
|
631
|
+
: {};
|
|
632
|
+
const pinDict = pinProps !== null && typeof pinProps === "object" && !Array.isArray(pinProps)
|
|
633
|
+
? pinProps
|
|
634
|
+
: {};
|
|
635
|
+
for (const [name, subtree] of Object.entries(liveDict)) {
|
|
636
|
+
if (!(name in pinDict) && paramCarriesText(subtree))
|
|
637
|
+
return true;
|
|
638
|
+
}
|
|
639
|
+
try {
|
|
640
|
+
return !jsonEqual(schemaWithoutAddedParams(liveSchema, pinSchema), pinSchema);
|
|
641
|
+
}
|
|
642
|
+
catch (exc) {
|
|
643
|
+
if (exc instanceof UndiffableError)
|
|
644
|
+
return true;
|
|
645
|
+
throw exc;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
555
648
|
export class Gate {
|
|
556
649
|
pin;
|
|
557
650
|
_serverId;
|
|
@@ -628,15 +721,43 @@ export class Gate {
|
|
|
628
721
|
* null when the live definition is unavailable or the flag is off. Mirrors the
|
|
629
722
|
* Python wrapper's `build_action_classification`. */
|
|
630
723
|
evaluate(name, observed) {
|
|
631
|
-
const verdict = this.
|
|
724
|
+
const [verdict, effects] = this.collect(name, observed);
|
|
725
|
+
const [withSideEffects] = this.commit(verdict, effects);
|
|
726
|
+
return withSideEffects;
|
|
727
|
+
}
|
|
728
|
+
/** `(static, effective, effects)` with no pin write, telemetry send, or fleet read. */
|
|
729
|
+
assess(name, observed) {
|
|
730
|
+
const [staticVerdict, effects] = this.collect(name, observed);
|
|
731
|
+
return [staticVerdict, this.applyPosture(staticVerdict), effects];
|
|
732
|
+
}
|
|
733
|
+
/** Run effects, then re-apply posture so the fleet advisory rides as `evaluate` did. */
|
|
734
|
+
commit(stat, effects) {
|
|
735
|
+
let staticVerdict = stat;
|
|
736
|
+
for (const effect of effects) {
|
|
737
|
+
if (effect.kind === "repin" && effect.observed != null) {
|
|
738
|
+
this.repinOne(effect.toolName, effect.observed);
|
|
739
|
+
}
|
|
740
|
+
else if (effect.kind === "drift") {
|
|
741
|
+
driftTelemetry.recordDrift(this._serverId, effect.toolName, effect.oldHash ?? "", effect.newHash ?? "", effect.drift ?? [], this.now());
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
if (effects.some((effect) => effect.kind === "fleet")) {
|
|
745
|
+
const adv = driftQuery.lookup(this._serverId, staticVerdict.toolName);
|
|
746
|
+
if (adv !== null)
|
|
747
|
+
staticVerdict = { ...staticVerdict, fleetAdvisory: adv };
|
|
748
|
+
}
|
|
749
|
+
return [staticVerdict, this.applyPosture(staticVerdict)];
|
|
750
|
+
}
|
|
751
|
+
collect(name, observed) {
|
|
752
|
+
const effects = [];
|
|
753
|
+
let verdict = this.decideContract(name, observed, effects);
|
|
632
754
|
const ac = classifyToolDef(name, observed);
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
return adv === null ? withAc : { ...withAc, fleetAdvisory: adv };
|
|
755
|
+
if (ac !== null)
|
|
756
|
+
verdict = { ...verdict, actionClassification: ac };
|
|
757
|
+
effects.push({ kind: "fleet", toolName: name });
|
|
758
|
+
return [verdict, effects];
|
|
638
759
|
}
|
|
639
|
-
decideContract(name, observed) {
|
|
760
|
+
decideContract(name, observed, effects) {
|
|
640
761
|
const pinned = this.pin.get(this._serverId, name);
|
|
641
762
|
if (pinned === null) {
|
|
642
763
|
return this.holdOrFailopen(name,
|
|
@@ -667,8 +788,14 @@ export class Gate {
|
|
|
667
788
|
}
|
|
668
789
|
// The canonical hash CHANGED — a real contract drift. Decide the verdict, then emit the
|
|
669
790
|
// M1 drift telemetry OUTCOME signal (off-path, fail-open: it can never move the verdict).
|
|
670
|
-
const verdict = this.validateDrift(name, pinned, observed);
|
|
671
|
-
|
|
791
|
+
const verdict = this.validateDrift(name, pinned, observed, effects);
|
|
792
|
+
effects.push({
|
|
793
|
+
kind: "drift",
|
|
794
|
+
toolName: name,
|
|
795
|
+
oldHash: pinned.definitionHash,
|
|
796
|
+
newHash: liveHash,
|
|
797
|
+
drift: verdict.drift,
|
|
798
|
+
});
|
|
672
799
|
return verdict;
|
|
673
800
|
}
|
|
674
801
|
classifyDrift(pinned, observed) {
|
|
@@ -709,19 +836,33 @@ export class Gate {
|
|
|
709
836
|
}
|
|
710
837
|
if (pinned.schema === null)
|
|
711
838
|
return null;
|
|
839
|
+
const pinnedRec = pinned.schema;
|
|
840
|
+
const observedRec = observed;
|
|
841
|
+
try {
|
|
842
|
+
const sameUnhashed = jsonEqual(pinnedRec["annotations"], observedRec["annotations"]) &&
|
|
843
|
+
jsonEqual(pinnedRec["outputSchema"], observedRec["outputSchema"]);
|
|
844
|
+
if (sameUnhashed)
|
|
845
|
+
return null;
|
|
846
|
+
}
|
|
847
|
+
catch (exc) {
|
|
848
|
+
if (exc instanceof UndiffableError) {
|
|
849
|
+
return this.driftHold(pinned.toolName, [], "annotations or outputSchema comparison could not complete; fail-closed HOLD", "finding");
|
|
850
|
+
}
|
|
851
|
+
throw exc;
|
|
852
|
+
}
|
|
712
853
|
let drift;
|
|
713
854
|
try {
|
|
714
855
|
drift = this.classifyDrift(pinned, observed);
|
|
715
856
|
}
|
|
716
857
|
catch {
|
|
717
|
-
return
|
|
858
|
+
return this.driftHold(pinned.toolName, [], "unhashed contract classification could not complete; fail-closed HOLD", "finding");
|
|
718
859
|
}
|
|
719
860
|
const mandated = drift.filter((c) => this.behavioralMandatedKinds.has(c.kind)).map((c) => c.kind.toString());
|
|
720
861
|
if (mandated.length === 0)
|
|
721
862
|
return null;
|
|
722
863
|
return this.behavioralInconclusive(pinned.toolName, drift, mandated);
|
|
723
864
|
}
|
|
724
|
-
validateDrift(name, pinned, observed) {
|
|
865
|
+
validateDrift(name, pinned, observed, effects = null) {
|
|
725
866
|
let drift;
|
|
726
867
|
try {
|
|
727
868
|
drift = this.classifyDrift(pinned, observed);
|
|
@@ -785,7 +926,15 @@ export class Gate {
|
|
|
785
926
|
if (hasMarker) {
|
|
786
927
|
return this.driftHold(name, drift, "contract DRIFTED; an injection/exfil marker is present in the new definition (input schema or description)", HoldClass.DRIFT);
|
|
787
928
|
}
|
|
788
|
-
|
|
929
|
+
if (schemaTextBlocks(pinned.schema, observed)) {
|
|
930
|
+
return this.driftHold(name, drift, "contract DRIFTED: schema text changed (an added parameter carries text, or the input schema is not the pinned schema once added parameters are removed)", HoldClass.DRIFT);
|
|
931
|
+
}
|
|
932
|
+
if (effects !== null) {
|
|
933
|
+
effects.push({ kind: "repin", toolName: name, observed });
|
|
934
|
+
}
|
|
935
|
+
else {
|
|
936
|
+
this.repinOne(name, observed);
|
|
937
|
+
}
|
|
789
938
|
return makeVerdict({
|
|
790
939
|
serverId: this._serverId,
|
|
791
940
|
toolName: name,
|
|
@@ -913,9 +1062,8 @@ export class Gate {
|
|
|
913
1062
|
}
|
|
914
1063
|
decide(name, observed) {
|
|
915
1064
|
try {
|
|
916
|
-
const stat = this.
|
|
917
|
-
|
|
918
|
-
return [stat, eff];
|
|
1065
|
+
const [stat, , effects] = this.assess(name, observed);
|
|
1066
|
+
return this.commit(stat, effects);
|
|
919
1067
|
}
|
|
920
1068
|
catch (exc) {
|
|
921
1069
|
this.captureError(exc, Operation.GATE_DECISION, "gate.decide");
|
package/dist/src/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { Gate, Posture, Ownership, BehavioralMethod, BehavioralOutcome, chooseBe
|
|
|
16
16
|
export type { BehavioralVerifier, BehavioralResult, GateOptions } from "./gate.js";
|
|
17
17
|
export { ChangeKind, classifyChange, isSafetyRelevant, MAX_DEPTH } from "./schemaDiff.js";
|
|
18
18
|
export type { Change } from "./schemaDiff.js";
|
|
19
|
-
export { canonicalBytes, toolHash } from "./canonical.js";
|
|
19
|
+
export { canonicalBytes, contractBytes, toolHash } from "./canonical.js";
|
|
20
20
|
export { assess, BlastRadius, DomainClass, blastRank } from "./risk.js";
|
|
21
21
|
export type { RiskAssessment } from "./risk.js";
|
|
22
22
|
export { classify as classifyAction, classifyToolDef, actionClassificationEnabled, ActionType, SideEffectClass, Reversibility, Egress, ScopeHint, PatternShape, AutonomyCeiling, NoteClass, Severity, EvidenceRefType, } from "./actionClass.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EACV,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAElG,OAAO,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1F,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EACV,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAElG,OAAO,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1F,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EACL,QAAQ,IAAI,cAAc,EAC1B,eAAe,EACf,2BAA2B,EAC3B,UAAU,EACV,eAAe,EACf,aAAa,EACb,MAAM,EACN,SAAS,EACT,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export { AmbientMode, AmbientNotifier, resolveMode } from "./ambient.js";
|
|
|
11
11
|
export { PreflightPin, Decision, isProceed, renderVerdict, safetyRelevantDrift, hashTool, } from "./preflight.js";
|
|
12
12
|
export { Gate, Posture, Ownership, BehavioralMethod, BehavioralOutcome, chooseBehavioralMethod, renderHoldBanner, renderHoldMessage, isInternalErrorVerdict, } from "./gate.js";
|
|
13
13
|
export { ChangeKind, classifyChange, isSafetyRelevant, MAX_DEPTH } from "./schemaDiff.js";
|
|
14
|
-
export { canonicalBytes, toolHash } from "./canonical.js";
|
|
14
|
+
export { canonicalBytes, contractBytes, toolHash } from "./canonical.js";
|
|
15
15
|
export { assess, BlastRadius, DomainClass, blastRank } from "./risk.js";
|
|
16
16
|
export { classify as classifyAction, classifyToolDef, actionClassificationEnabled, ActionType, SideEffectClass, Reversibility, Egress, ScopeHint, PatternShape, AutonomyCeiling, NoteClass, Severity, EvidenceRefType, } from "./actionClass.js";
|
|
17
17
|
export { scanSchemaHasMarker, scanResult } from "./scan.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQzE,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1F,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQzE,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1F,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGxE,OAAO,EACL,QAAQ,IAAI,cAAc,EAC1B,eAAe,EACf,2BAA2B,EAC3B,UAAU,EACV,eAAe,EACf,aAAa,EACb,MAAM,EACN,SAAS,EACT,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEvF,+FAA+F;AAC/F,uFAAuF;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,6FAA6F;AAC7F,wFAAwF;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
package/dist/src/schemaDiff.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ export interface Change {
|
|
|
40
40
|
readonly detail: string;
|
|
41
41
|
}
|
|
42
42
|
export declare function isSafetyRelevant(kind: ChangeKind): boolean;
|
|
43
|
+
export declare const JSON_EQUAL_MAX_DEPTH = 64;
|
|
44
|
+
export declare class UndiffableError extends Error {
|
|
45
|
+
constructor(message: string);
|
|
46
|
+
}
|
|
47
|
+
export declare function jsonEqual(a: unknown, b: unknown): boolean;
|
|
43
48
|
/** Classify every delta between two PUBLIC tool definitions into the taxonomy.
|
|
44
49
|
* Total: a structural surprise degrades to no-signal. Mirrors
|
|
45
50
|
* `schema_diff.classify_change`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaDiff.d.ts","sourceRoot":"","sources":["../../src/schemaDiff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAY,UAAU;IACpB,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAC/C,8BAA8B,mCAAmC;IACjE,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAC/C,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IAOjD,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,0BAA0B,+BAA+B;IACzD,mBAAmB,wBAAwB;CAC5C;AAwBD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAExF;AAqBD,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE1D;
|
|
1
|
+
{"version":3,"file":"schemaDiff.d.ts","sourceRoot":"","sources":["../../src/schemaDiff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAY,UAAU;IACpB,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAC/C,8BAA8B,mCAAmC;IACjE,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAC/C,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IAOjD,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,0BAA0B,+BAA+B;IACzD,mBAAmB,wBAAwB;CAC5C;AAwBD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAExF;AAqBD,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE1D;AAyUD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CA6CzD;AA0MD;;oCAEoC;AACpC,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,EAAE,CAiDV"}
|
package/dist/src/schemaDiff.js
CHANGED
|
@@ -350,28 +350,78 @@ function classifyParamTypeDelta(path, oldProp, newProp) {
|
|
|
350
350
|
}
|
|
351
351
|
return classifyConstraintDelta(path, oldProp, newProp);
|
|
352
352
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
353
|
+
export const JSON_EQUAL_MAX_DEPTH = 64;
|
|
354
|
+
export class UndiffableError extends Error {
|
|
355
|
+
constructor(message) {
|
|
356
|
+
super(message);
|
|
357
|
+
this.name = "UndiffableError";
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
export function jsonEqual(a, b) {
|
|
361
|
+
const stack = [[a, b, 0]];
|
|
362
|
+
const seen = new WeakMap();
|
|
363
|
+
const revisit = (x, y) => {
|
|
364
|
+
let inner = seen.get(x);
|
|
365
|
+
if (inner === undefined) {
|
|
366
|
+
inner = new WeakSet();
|
|
367
|
+
seen.set(x, inner);
|
|
368
|
+
}
|
|
369
|
+
if (inner.has(y))
|
|
370
|
+
return true;
|
|
371
|
+
inner.add(y);
|
|
372
|
+
return false;
|
|
373
|
+
};
|
|
374
|
+
while (stack.length > 0) {
|
|
375
|
+
const item = stack.pop();
|
|
376
|
+
if (item === undefined)
|
|
377
|
+
break;
|
|
378
|
+
const [x, y, depth] = item;
|
|
379
|
+
if (depth > JSON_EQUAL_MAX_DEPTH) {
|
|
380
|
+
throw new UndiffableError(`json equality exceeds depth ${JSON_EQUAL_MAX_DEPTH}`);
|
|
381
|
+
}
|
|
382
|
+
if (isDict(x) && isDict(y)) {
|
|
383
|
+
const ak = Object.keys(x);
|
|
384
|
+
const bk = Object.keys(y);
|
|
385
|
+
if (ak.length !== bk.length)
|
|
362
386
|
return false;
|
|
363
|
-
|
|
387
|
+
const bs = new Set(bk);
|
|
388
|
+
for (const k of ak) {
|
|
389
|
+
if (!bs.has(k))
|
|
390
|
+
return false;
|
|
391
|
+
}
|
|
392
|
+
if (revisit(x, y)) {
|
|
393
|
+
throw new UndiffableError("json equality hit a cycle");
|
|
394
|
+
}
|
|
395
|
+
for (const k of ak)
|
|
396
|
+
stack.push([x[k], y[k], depth + 1]);
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
399
|
+
if (Array.isArray(x) && Array.isArray(y)) {
|
|
400
|
+
if (x.length !== y.length)
|
|
364
401
|
return false;
|
|
402
|
+
if (revisit(x, y)) {
|
|
403
|
+
throw new UndiffableError("json equality hit a cycle");
|
|
404
|
+
}
|
|
405
|
+
for (let i = 0; i < x.length; i++)
|
|
406
|
+
stack.push([x[i], y[i], depth + 1]);
|
|
407
|
+
continue;
|
|
365
408
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
if (Array.isArray(a) && Array.isArray(b)) {
|
|
369
|
-
return a.length === b.length && a.every((x, i) => jsonEqual(x, b[i]));
|
|
409
|
+
if (x !== y)
|
|
410
|
+
return false;
|
|
370
411
|
}
|
|
371
|
-
return
|
|
412
|
+
return true;
|
|
372
413
|
}
|
|
373
414
|
function undiffableAtBound(oldV, newV, path) {
|
|
374
|
-
|
|
415
|
+
let equal = false;
|
|
416
|
+
try {
|
|
417
|
+
equal = jsonEqual(oldV, newV);
|
|
418
|
+
}
|
|
419
|
+
catch (exc) {
|
|
420
|
+
if (!(exc instanceof UndiffableError))
|
|
421
|
+
throw exc;
|
|
422
|
+
equal = false;
|
|
423
|
+
}
|
|
424
|
+
if (equal)
|
|
375
425
|
return [];
|
|
376
426
|
return [
|
|
377
427
|
mk(ChangeKind.DEEP_SCHEMA_UNDIFFABLE, path, `schema nesting exceeds MAX_DEPTH=${MAX_DEPTH} and the subtrees differ; ` +
|