@mcp-index/sdk 0.14.1 → 0.16.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/src/gate.js CHANGED
@@ -656,9 +656,12 @@ export class Gate {
656
656
  _verifier;
657
657
  _posture;
658
658
  errors;
659
+ _newTools;
659
660
  constructor(opts) {
660
661
  this.pin = opts.pin;
661
662
  this._serverId = opts.serverId;
663
+ // A store swapped for one that holds only other servers' pins is not a first run.
664
+ this.pin.expectServer(opts.serverId);
662
665
  this.failOpen = opts.failOpen ?? false;
663
666
  this.autoAcceptBenign = opts.autoAcceptBenign ?? true;
664
667
  this.now = opts.now ?? utcNowIso;
@@ -667,24 +670,45 @@ export class Gate {
667
670
  this._verifier = opts.verifier ?? null;
668
671
  this._posture = opts.posture ?? Posture.GUARD;
669
672
  this.errors = opts.errors ?? null;
673
+ this._newTools = opts.newTools ?? "review";
670
674
  }
671
675
  get serverId() {
672
676
  return this._serverId;
673
677
  }
678
+ get pinPath() {
679
+ return this.pin.path;
680
+ }
674
681
  get posture() {
675
682
  return this._posture;
676
683
  }
684
+ get newTools() {
685
+ return this._newTools;
686
+ }
677
687
  get verifier() {
678
688
  return this._verifier;
679
689
  }
680
690
  get ownership() {
681
691
  return this._ownership;
682
692
  }
693
+ /** The pin store for approvePending and other wrapper helpers. */
694
+ get pinStore() {
695
+ return this.pin;
696
+ }
697
+ reloadPins() {
698
+ this.pin.reloadIfChanged();
699
+ }
700
+ pinnedTools() {
701
+ return this.pin.toolsFor(this._serverId);
702
+ }
683
703
  pinFor(name) {
684
704
  return this.pin.get(this._serverId, name);
685
705
  }
686
- /** TOFU-pin one observed tool if not already pinned. */
687
- observe(name, defn) {
706
+ /**
707
+ * Pin one observed tool if it has no pin yet. The caller decides which tools
708
+ * reach this method. On an already-pinned server, guard and strict do not call
709
+ * it for a tool that was not pinned before the current list.
710
+ */
711
+ observe(name, defn, opts) {
688
712
  if (this.pin.get(this._serverId, name) === null) {
689
713
  const definitionHash = hashTool(defn);
690
714
  this.pin.put({
@@ -693,6 +717,7 @@ export class Gate {
693
717
  definitionHash,
694
718
  pinnedAt: this.now(),
695
719
  schema: defn,
720
+ launchKey: opts?.launchKey,
696
721
  });
697
722
  // M1 drift telemetry — emit the COVERAGE (pin) signal once per first-seen tool.
698
723
  // Opt-in, fail-open, off-path: recordPin never throws and never touches the network
@@ -703,13 +728,19 @@ export class Gate {
703
728
  driftQuery.prefetch(this._serverId, name);
704
729
  }
705
730
  }
706
- repinOne(name, observed) {
731
+ repinOne(name, observed, opts) {
732
+ const existing = this.pin.get(this._serverId, name);
733
+ const keptKey = opts?.launchKey !== undefined
734
+ ? opts.launchKey
735
+ : existing?.launchKey;
707
736
  const p = {
708
737
  serverId: this._serverId,
709
738
  toolName: name,
710
739
  definitionHash: hashTool(observed),
711
740
  pinnedAt: this.now(),
712
741
  schema: observed,
742
+ via: opts?.via,
743
+ launchKey: keptKey,
713
744
  };
714
745
  this.pin.put(p);
715
746
  return p;
@@ -727,6 +758,11 @@ export class Gate {
727
758
  }
728
759
  /** `(static, effective, effects)` with no pin write, telemetry send, or fleet read. */
729
760
  assess(name, observed) {
761
+ const tampered = this.tamperReason();
762
+ if (tampered !== null) {
763
+ const verdict = this.tamperHold(name, tampered);
764
+ return [verdict, verdict, []];
765
+ }
730
766
  const [staticVerdict, effects] = this.collect(name, observed);
731
767
  return [staticVerdict, this.applyPosture(staticVerdict), effects];
732
768
  }
@@ -1049,6 +1085,8 @@ export class Gate {
1049
1085
  applyPosture(stat) {
1050
1086
  if (stat.decision === Decision.PROCEED)
1051
1087
  return stat;
1088
+ if (stat.tamperEvidence)
1089
+ return stat;
1052
1090
  if (this._posture === Posture.STRICT)
1053
1091
  return stat;
1054
1092
  if (this._posture === Posture.MONITOR)
@@ -1071,6 +1109,21 @@ export class Gate {
1071
1109
  return [verdict, verdict];
1072
1110
  }
1073
1111
  }
1112
+ tamperReason() {
1113
+ const tainted = this.pin.tainted;
1114
+ return typeof tainted === "string" && tainted.length > 0 ? tainted : null;
1115
+ }
1116
+ tamperHold(name, reason) {
1117
+ return makeVerdict({
1118
+ serverId: this._serverId,
1119
+ toolName: name,
1120
+ decision: Decision.HOLD,
1121
+ reason,
1122
+ isContractDiff: false,
1123
+ holdClass: HoldClass.UNCHECKABLE,
1124
+ tamperEvidence: true,
1125
+ });
1126
+ }
1074
1127
  internalErrorVerdict(name) {
1075
1128
  return internalErrorHold(this._serverId, name);
1076
1129
  }
@@ -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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"}
@@ -8,9 +8,11 @@
8
8
  */
9
9
  export { wrap, repin, PreflightHold, DEFAULT_SERVER_ID } from "./wrap.js";
10
10
  export type { Wrapped, WrapOptions } from "./wrap.js";
11
+ export { approveOne, defaultStateDir, loadPending, pendingClass, pendingPath, recordPending, resetPins, CLASS_CHANGED, CLASS_FLOATING, } from "./pendingStore.js";
12
+ export type { PendingRecord, ResetPinsResult } from "./pendingStore.js";
11
13
  export { AmbientMode, AmbientNotifier, resolveMode } from "./ambient.js";
12
14
  export type { AmbientNote, AmbientObserver, AmbientNotifierOptions, AmbientFromEnvOptions, } from "./ambient.js";
13
- export { PreflightPin, Decision, isProceed, renderVerdict, safetyRelevantDrift, hashTool, } from "./preflight.js";
15
+ export { PreflightPin, defaultPinStorePath, Decision, isProceed, renderVerdict, safetyRelevantDrift, hashTool, approvalDigest, } from "./preflight.js";
14
16
  export type { PinnedTool, PreflightVerdict, ToolDef, ActionClassification } from "./preflight.js";
15
17
  export { Gate, Posture, Ownership, BehavioralMethod, BehavioralOutcome, chooseBehavioralMethod, renderHoldBanner, renderHoldMessage, isInternalErrorVerdict, } from "./gate.js";
16
18
  export type { BehavioralVerifier, BehavioralResult, GateOptions } from "./gate.js";
@@ -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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -7,8 +7,9 @@
7
7
  * the wrapped session's own authenticated transport.
8
8
  */
9
9
  export { wrap, repin, PreflightHold, DEFAULT_SERVER_ID } from "./wrap.js";
10
+ export { approveOne, defaultStateDir, loadPending, pendingClass, pendingPath, recordPending, resetPins, CLASS_CHANGED, CLASS_FLOATING, } from "./pendingStore.js";
10
11
  export { AmbientMode, AmbientNotifier, resolveMode } from "./ambient.js";
11
- export { PreflightPin, Decision, isProceed, renderVerdict, safetyRelevantDrift, hashTool, } from "./preflight.js";
12
+ export { PreflightPin, defaultPinStorePath, Decision, isProceed, renderVerdict, safetyRelevantDrift, hashTool, approvalDigest, } from "./preflight.js";
12
13
  export { Gate, Posture, Ownership, BehavioralMethod, BehavioralOutcome, chooseBehavioralMethod, renderHoldBanner, renderHoldMessage, isInternalErrorVerdict, } from "./gate.js";
13
14
  export { ChangeKind, classifyChange, isSafetyRelevant, MAX_DEPTH } from "./schemaDiff.js";
14
15
  export { canonicalBytes, contractBytes, toolHash } from "./canonical.js";
@@ -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,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"}
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,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQzE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,cAAc,GACf,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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Which tool-list entries a host is allowed to see.
3
+ *
4
+ * Under guard and strict, each entry is judged with `Gate.assess` and the
5
+ * effects are discarded. An effective PROCEED stays. HOLD, INCONCLUSIVE, a
6
+ * wrong JSON type on inputSchema / annotations / outputSchema, a repeated
7
+ * name, or an exception on that entry is left out. Monitor returns every entry.
8
+ *
9
+ * The caller owns the name set. A wrapper passes the set for the current
10
+ * cursorless list. The client's own listChanged refresh does not come through
11
+ * here: the SDK calls listTools on the inner client.
12
+ */
13
+ import { Gate } from "./gate.js";
14
+ import { Decision, type ToolDef } from "./preflight.js";
15
+ export declare const MAX_LISTED_TOOLS = 2000;
16
+ export declare const WITHHELD_CALL_REASON = "withheld from the tool list; escalation was not attempted for a withheld tool";
17
+ export interface WithheldNotice {
18
+ serverId: string;
19
+ toolName: string;
20
+ reason: string;
21
+ definitionHash: string;
22
+ definition: ToolDef | null;
23
+ /** False for a duplicate name, a wrong JSON type, or a check that raised. */
24
+ reviewable: boolean;
25
+ }
26
+ export interface ListingOutcome {
27
+ kept: unknown[];
28
+ withheld: WithheldNotice[];
29
+ }
30
+ export declare function withheldCallVerdict(serverId: string, toolName: string): {
31
+ serverId: string;
32
+ toolName: string;
33
+ decision: Decision;
34
+ reason: string;
35
+ isContractDiff: boolean;
36
+ holdClass: "uncheckable";
37
+ };
38
+ export declare function rawToolEntries(result: unknown): unknown[];
39
+ export declare function replaceToolList(result: unknown, tools: unknown[]): unknown;
40
+ export declare function filterListing(gate: Gate, entries: unknown[], seen: Set<string>): ListingOutcome;
41
+ //# sourceMappingURL=listingFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listingFilter.d.ts","sourceRoot":"","sources":["../../src/listingFilter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAIrC,eAAO,MAAM,oBAAoB,kFACgD,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;EASrE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CAgBzD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAU1E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc,CAmC/F"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Which tool-list entries a host is allowed to see.
3
+ *
4
+ * Under guard and strict, each entry is judged with `Gate.assess` and the
5
+ * effects are discarded. An effective PROCEED stays. HOLD, INCONCLUSIVE, a
6
+ * wrong JSON type on inputSchema / annotations / outputSchema, a repeated
7
+ * name, or an exception on that entry is left out. Monitor returns every entry.
8
+ *
9
+ * The caller owns the name set. A wrapper passes the set for the current
10
+ * cursorless list. The client's own listChanged refresh does not come through
11
+ * here: the SDK calls listTools on the inner client.
12
+ */
13
+ import { approvalDigest } from "./canonical.js";
14
+ import { Posture } from "./gate.js";
15
+ import { Decision } from "./preflight.js";
16
+ export const MAX_LISTED_TOOLS = 2000;
17
+ const OBJECT_FIELDS = ["inputSchema", "annotations", "outputSchema"];
18
+ export const WITHHELD_CALL_REASON = "withheld from the tool list; escalation was not attempted for a withheld tool";
19
+ export function withheldCallVerdict(serverId, toolName) {
20
+ return {
21
+ serverId,
22
+ toolName,
23
+ decision: Decision.HOLD,
24
+ reason: WITHHELD_CALL_REASON,
25
+ isContractDiff: false,
26
+ holdClass: "uncheckable",
27
+ };
28
+ }
29
+ export function rawToolEntries(result) {
30
+ if (result !== null && typeof result === "object") {
31
+ const obj = result;
32
+ const inner = obj["result"];
33
+ if (inner !== null && typeof inner === "object" && !Array.isArray(inner) && "tools" in inner) {
34
+ const raw = inner["tools"];
35
+ if (!Array.isArray(raw))
36
+ throw new Error("tools");
37
+ return [...raw];
38
+ }
39
+ if ("tools" in obj) {
40
+ const raw = obj["tools"];
41
+ if (!Array.isArray(raw))
42
+ throw new Error("tools");
43
+ return [...raw];
44
+ }
45
+ }
46
+ throw new Error("tools");
47
+ }
48
+ export function replaceToolList(result, tools) {
49
+ if (result !== null && typeof result === "object" && !Array.isArray(result)) {
50
+ const obj = result;
51
+ const inner = obj["result"];
52
+ if (inner !== null && typeof inner === "object" && !Array.isArray(inner) && "tools" in inner) {
53
+ return { ...obj, result: { ...inner, tools: [...tools] } };
54
+ }
55
+ if ("tools" in obj)
56
+ return { ...obj, tools: [...tools] };
57
+ }
58
+ return { tools: [...tools] };
59
+ }
60
+ export function filterListing(gate, entries, seen) {
61
+ if (gate.posture === Posture.MONITOR)
62
+ return { kept: [...entries], withheld: [] };
63
+ const names = entries.map(toolName);
64
+ const counts = new Map();
65
+ for (const name of names) {
66
+ if (name === null)
67
+ continue;
68
+ counts.set(name, (counts.get(name) ?? 0) + 1);
69
+ }
70
+ const kept = [];
71
+ const withheld = [];
72
+ for (let i = 0; i < entries.length; i++) {
73
+ const entry = entries[i];
74
+ const name = names[i];
75
+ if (name === null || name === undefined)
76
+ continue;
77
+ let notice;
78
+ try {
79
+ notice = judge(gate, entry, name, counts, seen);
80
+ }
81
+ catch {
82
+ const contract = publicContract(entry);
83
+ notice = {
84
+ serverId: gate.serverId,
85
+ toolName: name,
86
+ reason: "listing check failed",
87
+ definitionHash: hashOrBlank(contract),
88
+ definition: contract,
89
+ reviewable: false,
90
+ };
91
+ }
92
+ if (notice === null)
93
+ kept.push(entry);
94
+ else
95
+ withheld.push(notice);
96
+ }
97
+ for (const name of names) {
98
+ if (name !== null && name !== undefined)
99
+ seen.add(name);
100
+ }
101
+ return { kept, withheld };
102
+ }
103
+ function judge(gate, entry, name, counts, seen) {
104
+ const wrong = wrongObjectField(entry);
105
+ if (wrong !== null)
106
+ return notice(gate, name, wrong, entry);
107
+ if ((counts.get(name) ?? 0) > 1 || seen.has(name)) {
108
+ return notice(gate, name, "duplicate name in this tool list", entry);
109
+ }
110
+ const contract = publicContract(entry);
111
+ if (contract === null)
112
+ return notice(gate, name, "listing check failed", entry);
113
+ const assessed = gate.assess(name, contract);
114
+ const effective = assessed[1];
115
+ if (effective.decision === Decision.PROCEED)
116
+ return null;
117
+ const reason = effective.decision === Decision.INCONCLUSIVE ? "inconclusive" : effective.reason || "held";
118
+ return notice(gate, name, reason, entry);
119
+ }
120
+ function notice(gate, name, reason, entry) {
121
+ const contract = publicContract(entry);
122
+ const reviewable = reason !== "listing check failed" &&
123
+ reason !== "duplicate name in this tool list" &&
124
+ !reason.endsWith("is not an object");
125
+ return {
126
+ serverId: gate.serverId,
127
+ toolName: name,
128
+ reason,
129
+ definitionHash: hashOrBlank(contract),
130
+ definition: contract,
131
+ reviewable,
132
+ };
133
+ }
134
+ function hashOrBlank(contract) {
135
+ if (contract === null)
136
+ return "";
137
+ try {
138
+ return approvalDigest(contract);
139
+ }
140
+ catch {
141
+ return "";
142
+ }
143
+ }
144
+ function toolName(entry) {
145
+ if (entry === null || typeof entry !== "object")
146
+ return null;
147
+ const name = entry["name"];
148
+ return typeof name === "string" && name.length > 0 ? name : null;
149
+ }
150
+ function wrongObjectField(entry) {
151
+ if (entry === null || typeof entry !== "object")
152
+ return null;
153
+ const obj = entry;
154
+ for (const key of OBJECT_FIELDS) {
155
+ if (!(key in obj))
156
+ continue;
157
+ const value = obj[key];
158
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
159
+ return `${key} is not an object`;
160
+ }
161
+ }
162
+ return null;
163
+ }
164
+ function publicContract(entry) {
165
+ const name = toolName(entry);
166
+ if (name === null || entry === null || typeof entry !== "object")
167
+ return null;
168
+ const obj = entry;
169
+ const schema = obj["inputSchema"];
170
+ const ann = obj["annotations"];
171
+ const outp = obj["outputSchema"];
172
+ const title = obj["title"];
173
+ const record = {
174
+ name,
175
+ description: obj["description"] == null ? "" : String(obj["description"]),
176
+ inputSchema: schema !== null && typeof schema === "object" && !Array.isArray(schema) ? schema : {},
177
+ };
178
+ if (ann !== null && typeof ann === "object" && !Array.isArray(ann))
179
+ record["annotations"] = ann;
180
+ if (outp !== null && typeof outp === "object" && !Array.isArray(outp))
181
+ record["outputSchema"] = outp;
182
+ if (typeof title === "string" && title.length > 0)
183
+ record["title"] = title;
184
+ return record;
185
+ }
186
+ //# sourceMappingURL=listingFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listingFilter.js","sourceRoot":"","sources":["../../src/listingFilter.ts"],"names":[],"mappings":"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"}