likec4 1.31.0 → 1.32.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.
@@ -1,6 +1,7 @@
1
1
  import * as c4 from '@likec4/core';
2
- import { Fqn, EdgeId, ComputedView, DiagramView, OverviewGraph, MultiMap as MultiMap$1, ProjectId, NonEmptyArray, NonEmptyReadonlyArray, LikeC4Model, ViewId, RelationId, ViewChange } from '@likec4/core';
2
+ import { Fqn, EdgeId, AnyAux, ComputedView, Specification, DiagramView, MultiMap as MultiMap$1, ProjectId, NonEmptyArray, NonEmptyReadonlyArray, ViewId, RelationId, DeploymentFqn, ViewChange } from '@likec4/core';
3
3
  import { Tagged, ValueOf, ConditionalPick, Writable, Simplify, MergeExclusive } from 'type-fest';
4
+ import { LikeC4Model } from '@likec4/core/model';
4
5
  import picomatch from '/home/runner/work/likec4/likec4/node_modules/.pnpm/@types+picomatch@4.0.0/node_modules/@types/picomatch/posix.d.ts';
5
6
  import { ProjectId as ProjectId$1, Fqn as Fqn$1 } from '@likec4/core/types';
6
7
  import { DefaultWeakMap, MultiMap as MultiMap$2 } from '@likec4/core/utils';
@@ -12059,11 +12060,16 @@ declare namespace GraphvizJson {
12059
12060
  }
12060
12061
 
12061
12062
  interface GraphvizPort {
12063
+ get concurrency(): number;
12062
12064
  unflatten(dot: DotSource): Promise<DotSource>;
12063
12065
  acyclic(dot: DotSource): Promise<DotSource>;
12064
12066
  layoutJson(dot: DotSource): Promise<string>;
12065
12067
  svg(dot: DotSource): Promise<string>;
12066
12068
  }
12069
+ type Params<A extends AnyAux = AnyAux> = {
12070
+ view: ComputedView<A>;
12071
+ specification: Specification<A>;
12072
+ };
12067
12073
  type LayoutResult = {
12068
12074
  dot: DotSource;
12069
12075
  diagram: DiagramView;
@@ -12074,13 +12080,12 @@ declare class GraphvizLayouter {
12074
12080
  get port(): GraphvizPort;
12075
12081
  changePort(graphviz: GraphvizPort): void;
12076
12082
  dotToJson(dot: DotSource): Promise<GraphvizJson>;
12077
- layout(view: ComputedView): Promise<LayoutResult>;
12078
- svg(view: ComputedView): Promise<{
12083
+ layout<A extends AnyAux>(params: Params<A>): Promise<LayoutResult>;
12084
+ svg<A extends AnyAux>(params: Params<A>): Promise<{
12079
12085
  svg: string;
12080
12086
  dot: DotSource;
12081
12087
  }>;
12082
- dot(computedView: ComputedView): Promise<DotSource>;
12083
- layoutOverviewGraph(views: ComputedView[]): Promise<OverviewGraph>;
12088
+ dot<A extends AnyAux>(params: Params<A>): Promise<DotSource>;
12084
12089
  }
12085
12090
 
12086
12091
  interface WorkDoneProgressReporter {
@@ -15611,8 +15616,9 @@ type ProjectConfig = InferOutput<typeof ProjectConfig>;
15611
15616
  type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
15612
15617
  type Boolean = boolean;
15613
15618
  type BorderStyleValue = 'none' | LineOptions;
15619
+ type ColorLiteral = HexColor | RGBAColor;
15620
+ declare const ColorLiteral = "ColorLiteral";
15614
15621
  type CustomColorId = 'element' | 'model' | ArrowType | ElementShape | LineOptions | string;
15615
- type CustomColorValue = string;
15616
15622
  type DeploymentElement = DeployedInstance | DeploymentNode;
15617
15623
  declare const DeploymentElement = "DeploymentElement";
15618
15624
  type DeploymentNodeOrElementKind = DeploymentNodeKind | ElementKind;
@@ -15772,6 +15778,7 @@ interface DeploymentRelation extends AstNode {
15772
15778
  readonly $container: DeployedInstanceBody | DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
15773
15779
  readonly $type: 'DeploymentRelation';
15774
15780
  body?: DeploymentRelationBody;
15781
+ dotKind?: RelationKindDotRef;
15775
15782
  kind?: Reference<RelationshipKind>;
15776
15783
  source?: FqnRef;
15777
15784
  tags?: Tags;
@@ -15867,6 +15874,7 @@ interface DynamicViewStep extends AstNode {
15867
15874
  readonly $container: DynamicViewBody | DynamicViewParallelSteps;
15868
15875
  readonly $type: 'DynamicViewStep';
15869
15876
  custom?: CustomRelationProperties;
15877
+ dotKind?: RelationKindDotRef;
15870
15878
  isBackward: boolean;
15871
15879
  kind?: Reference<RelationshipKind>;
15872
15880
  source: ElementRef;
@@ -15901,7 +15909,7 @@ interface ElementKindExpression extends AstNode {
15901
15909
  readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
15902
15910
  readonly $type: 'ElementKindExpression';
15903
15911
  isEqual: boolean;
15904
- kind?: Reference<ElementKind>;
15912
+ kind: Reference<ElementKind>;
15905
15913
  }
15906
15914
  declare const ElementKindExpression = "ElementKindExpression";
15907
15915
  interface ElementRef extends AstNode {
@@ -15928,7 +15936,7 @@ interface ElementTagExpression extends AstNode {
15928
15936
  readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
15929
15937
  readonly $type: 'ElementTagExpression';
15930
15938
  isEqual: boolean;
15931
- tag?: Reference<Tag>;
15939
+ tag: TagRef;
15932
15940
  }
15933
15941
  declare const ElementTagExpression = "ElementTagExpression";
15934
15942
  interface ElementView extends AstNode {
@@ -16069,6 +16077,12 @@ interface GlobalStyleId extends AstNode {
16069
16077
  name: string;
16070
16078
  }
16071
16079
  declare const GlobalStyleId = "GlobalStyleId";
16080
+ interface HexColor extends AstNode {
16081
+ readonly $container: SpecificationColor | SpecificationTag;
16082
+ readonly $type: 'HexColor';
16083
+ hex: number | string;
16084
+ }
16085
+ declare const HexColor = "HexColor";
16072
16086
  interface IconProperty extends AstNode {
16073
16087
  readonly $container: CustomElementProperties | DeployedInstanceBody | DeploymentNodeBody | DeploymentViewRuleStyle | ElementBody | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
16074
16088
  readonly $type: 'IconProperty';
@@ -16214,6 +16228,7 @@ declare const OpacityProperty = "OpacityProperty";
16214
16228
  interface OutgoingRelationExpr extends AstNode {
16215
16229
  readonly $container: DirectedRelationExpr | Expressions | RelationExprWhere | RelationExprWith;
16216
16230
  readonly $type: 'OutgoingRelationExpr';
16231
+ dotKind?: RelationKindDotRef;
16217
16232
  from: FqnExpr;
16218
16233
  isBidirectional: boolean;
16219
16234
  kind?: Reference<RelationshipKind>;
@@ -16230,6 +16245,7 @@ interface Relation extends AstNode {
16230
16245
  readonly $container: ElementBody | ExtendElementBody | Model;
16231
16246
  readonly $type: 'Relation';
16232
16247
  body?: RelationBody;
16248
+ dotKind?: RelationKindDotRef;
16233
16249
  kind?: Reference<RelationshipKind>;
16234
16250
  source?: FqnRef;
16235
16251
  tags?: Tags;
@@ -16259,6 +16275,12 @@ interface RelationExprWith extends AstNode {
16259
16275
  subject: RelationExprOrWhere;
16260
16276
  }
16261
16277
  declare const RelationExprWith = "RelationExprWith";
16278
+ interface RelationKindDotRef extends AstNode {
16279
+ readonly $container: DeploymentRelation | DynamicViewStep | OutgoingRelationExpr | Relation;
16280
+ readonly $type: 'RelationKindDotRef';
16281
+ kind: Reference<RelationshipKind>;
16282
+ }
16283
+ declare const RelationKindDotRef = "RelationKindDotRef";
16262
16284
  interface RelationNavigateToProperty extends AstNode {
16263
16285
  readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
16264
16286
  readonly $type: 'RelationNavigateToProperty';
@@ -16286,6 +16308,15 @@ interface RelationStyleProperty extends AstNode {
16286
16308
  props: Array<RelationshipStyleProperty>;
16287
16309
  }
16288
16310
  declare const RelationStyleProperty = "RelationStyleProperty";
16311
+ interface RGBAColor extends AstNode {
16312
+ readonly $container: SpecificationColor | SpecificationTag;
16313
+ readonly $type: 'RGBAColor';
16314
+ alpha?: number | string;
16315
+ blue: number;
16316
+ green: number;
16317
+ red: number;
16318
+ }
16319
+ declare const RGBAColor = "RGBAColor";
16289
16320
  interface ShapeProperty extends AstNode {
16290
16321
  readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
16291
16322
  readonly $type: 'ShapeProperty';
@@ -16303,7 +16334,7 @@ declare const ShapeSizeProperty = "ShapeSizeProperty";
16303
16334
  interface SpecificationColor extends AstNode {
16304
16335
  readonly $container: SpecificationRule;
16305
16336
  readonly $type: 'SpecificationColor';
16306
- color: CustomColorValue;
16337
+ color: ColorLiteral;
16307
16338
  name: CustomColor;
16308
16339
  }
16309
16340
  declare const SpecificationColor = "SpecificationColor";
@@ -16312,6 +16343,7 @@ interface SpecificationDeploymentNodeKind extends AstNode {
16312
16343
  readonly $type: 'SpecificationDeploymentNodeKind';
16313
16344
  kind: DeploymentNodeKind;
16314
16345
  props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
16346
+ tags?: Tags;
16315
16347
  }
16316
16348
  declare const SpecificationDeploymentNodeKind = "SpecificationDeploymentNodeKind";
16317
16349
  interface SpecificationElementKind extends AstNode {
@@ -16319,6 +16351,7 @@ interface SpecificationElementKind extends AstNode {
16319
16351
  readonly $type: 'SpecificationElementKind';
16320
16352
  kind: ElementKind;
16321
16353
  props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
16354
+ tags?: Tags;
16322
16355
  }
16323
16356
  declare const SpecificationElementKind = "SpecificationElementKind";
16324
16357
  interface SpecificationElementStringProperty extends AstNode {
@@ -16356,6 +16389,7 @@ declare const SpecificationRule = "SpecificationRule";
16356
16389
  interface SpecificationTag extends AstNode {
16357
16390
  readonly $container: SpecificationRule;
16358
16391
  readonly $type: 'SpecificationTag';
16392
+ color?: ColorLiteral;
16359
16393
  tag: Tag;
16360
16394
  }
16361
16395
  declare const SpecificationTag = "SpecificationTag";
@@ -16379,11 +16413,17 @@ interface Tag extends AstNode {
16379
16413
  name: Id;
16380
16414
  }
16381
16415
  declare const Tag = "Tag";
16416
+ interface TagRef extends AstNode {
16417
+ readonly $container: ElementTagExpression | Tags | WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
16418
+ readonly $type: 'TagRef';
16419
+ tag: Reference<Tag>;
16420
+ }
16421
+ declare const TagRef = "TagRef";
16382
16422
  interface Tags extends AstNode {
16383
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | Tags;
16423
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | Tags;
16384
16424
  readonly $type: 'Tags';
16385
16425
  prev?: Tags;
16386
- values: Array<Reference<Tag>>;
16426
+ values: Array<TagRef>;
16387
16427
  }
16388
16428
  declare const Tags = "Tags";
16389
16429
  interface TextSizeProperty extends AstNode {
@@ -16461,7 +16501,7 @@ interface WhereElementKind extends AstNode {
16461
16501
  readonly $type: 'WhereElementKind';
16462
16502
  not: boolean;
16463
16503
  operator: 'is' | string;
16464
- value?: Reference<DeploymentNodeOrElementKind>;
16504
+ value: Reference<DeploymentNodeOrElementKind>;
16465
16505
  }
16466
16506
  declare const WhereElementKind = "WhereElementKind";
16467
16507
  interface WhereElementNegation extends AstNode {
@@ -16475,7 +16515,7 @@ interface WhereElementTag extends AstNode {
16475
16515
  readonly $type: 'WhereElementTag';
16476
16516
  not: boolean;
16477
16517
  operator: 'is' | string;
16478
- value?: Reference<Tag>;
16518
+ value: TagRef;
16479
16519
  }
16480
16520
  declare const WhereElementTag = "WhereElementTag";
16481
16521
  interface WhereRelationKind extends AstNode {
@@ -16483,7 +16523,7 @@ interface WhereRelationKind extends AstNode {
16483
16523
  readonly $type: 'WhereRelationKind';
16484
16524
  not: boolean;
16485
16525
  operator: 'is' | string;
16486
- value?: Reference<RelationshipKind>;
16526
+ value: Reference<RelationshipKind>;
16487
16527
  }
16488
16528
  declare const WhereRelationKind = "WhereRelationKind";
16489
16529
  interface WhereRelationNegation extends AstNode {
@@ -16498,7 +16538,7 @@ interface WhereRelationParticipantKind extends AstNode {
16498
16538
  not: boolean;
16499
16539
  operator: 'is' | string;
16500
16540
  participant: Participant;
16501
- value?: Reference<DeploymentNodeOrElementKind>;
16541
+ value: Reference<DeploymentNodeOrElementKind>;
16502
16542
  }
16503
16543
  declare const WhereRelationParticipantKind = "WhereRelationParticipantKind";
16504
16544
  interface WhereRelationParticipantTag extends AstNode {
@@ -16507,7 +16547,7 @@ interface WhereRelationParticipantTag extends AstNode {
16507
16547
  not: boolean;
16508
16548
  operator: 'is' | string;
16509
16549
  participant: Participant;
16510
- value?: Reference<Tag>;
16550
+ value: TagRef;
16511
16551
  }
16512
16552
  declare const WhereRelationParticipantTag = "WhereRelationParticipantTag";
16513
16553
  interface WhereRelationTag extends AstNode {
@@ -16515,7 +16555,7 @@ interface WhereRelationTag extends AstNode {
16515
16555
  readonly $type: 'WhereRelationTag';
16516
16556
  not: boolean;
16517
16557
  operator: 'is' | string;
16518
- value?: Reference<Tag>;
16558
+ value: TagRef;
16519
16559
  }
16520
16560
  declare const WhereRelationTag = "WhereRelationTag";
16521
16561
  interface WildcardExpression extends AstNode {
@@ -16527,6 +16567,7 @@ declare const WildcardExpression = "WildcardExpression";
16527
16567
  type LikeC4AstType = {
16528
16568
  ArrowProperty: ArrowProperty;
16529
16569
  BorderProperty: BorderProperty;
16570
+ ColorLiteral: ColorLiteral;
16530
16571
  ColorProperty: ColorProperty;
16531
16572
  CustomColor: CustomColor;
16532
16573
  CustomElementProperties: CustomElementProperties;
@@ -16588,6 +16629,7 @@ type LikeC4AstType = {
16588
16629
  GlobalStyleGroup: GlobalStyleGroup;
16589
16630
  GlobalStyleId: GlobalStyleId;
16590
16631
  Globals: Globals;
16632
+ HexColor: HexColor;
16591
16633
  IconProperty: IconProperty;
16592
16634
  Imported: Imported;
16593
16635
  ImportsFromPoject: ImportsFromPoject;
@@ -16613,6 +16655,7 @@ type LikeC4AstType = {
16613
16655
  OpacityProperty: OpacityProperty;
16614
16656
  OutgoingRelationExpr: OutgoingRelationExpr;
16615
16657
  PaddingSizeProperty: PaddingSizeProperty;
16658
+ RGBAColor: RGBAColor;
16616
16659
  Referenceable: Referenceable;
16617
16660
  Relation: Relation;
16618
16661
  RelationBody: RelationBody;
@@ -16621,6 +16664,7 @@ type LikeC4AstType = {
16621
16664
  RelationExprOrWith: RelationExprOrWith;
16622
16665
  RelationExprWhere: RelationExprWhere;
16623
16666
  RelationExprWith: RelationExprWith;
16667
+ RelationKindDotRef: RelationKindDotRef;
16624
16668
  RelationNavigateToProperty: RelationNavigateToProperty;
16625
16669
  RelationProperty: RelationProperty;
16626
16670
  RelationStringProperty: RelationStringProperty;
@@ -16643,6 +16687,7 @@ type LikeC4AstType = {
16643
16687
  StringProperty: StringProperty;
16644
16688
  StyleProperty: StyleProperty;
16645
16689
  Tag: Tag;
16690
+ TagRef: TagRef;
16646
16691
  Tags: Tags;
16647
16692
  TextSizeProperty: TextSizeProperty;
16648
16693
  ViewProperty: ViewProperty;
@@ -16677,7 +16722,7 @@ type LikeC4AstType = {
16677
16722
 
16678
16723
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
16679
16724
  type Guarded<G> = G extends Guard<infer N> ? N : never;
16680
- declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | ElementKindExpression | ElementTagExpression | FqnRefExpr | WildcardExpression | FqnExprWhere | FqnExprWith | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationExprWhere | RelationExprWith | Element | ExtendDeployment | ExtendElement | Imported | DeploymentView | DynamicView | ElementView | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | MultipleProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ViewRulePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | ElementRef | DeploymentRelation | Tags | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | Relation | SpecificationElementKind | Globals | GlobalPredicateGroup | GlobalStyleGroup | ImportsFromPoject | SpecificationRule | SpecificationTag;
16725
+ declare const isValidatableAstNode: (n: AstNode) => n is HexColor | RGBAColor | DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | ElementKindExpression | ElementTagExpression | FqnRefExpr | WildcardExpression | FqnExprWhere | FqnExprWith | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationExprWhere | RelationExprWith | Element | ExtendDeployment | ExtendElement | Imported | DeploymentView | DynamicView | ElementView | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | MultipleProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ViewRulePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | ElementRef | DeploymentRelation | Tags | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | Relation | SpecificationElementKind | Globals | GlobalPredicateGroup | GlobalStyleGroup | SpecificationTag | ImportsFromPoject | SpecificationRule;
16681
16726
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
16682
16727
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
16683
16728
  isValid: (n: ValidatableAstNode) => boolean;
@@ -16727,12 +16772,11 @@ type ParsedElementStyle = {
16727
16772
  textSize?: c4.TextSize;
16728
16773
  };
16729
16774
  interface ParsedAstSpecification {
16730
- tags: Set<c4.Tag>;
16731
- elements: Record<c4.ElementKind, {
16732
- technology?: string;
16733
- notation?: string;
16734
- style: ParsedElementStyle;
16775
+ tags: Record<c4.Tag, {
16776
+ astPath: string;
16777
+ color?: c4.ColorLiteral;
16735
16778
  }>;
16779
+ elements: Record<c4.ElementKind, c4.ElementSpecification>;
16736
16780
  relationships: Record<c4.RelationshipKind, {
16737
16781
  technology?: string;
16738
16782
  notation?: string;
@@ -16742,9 +16786,9 @@ interface ParsedAstSpecification {
16742
16786
  tail?: c4.RelationshipArrowType;
16743
16787
  }>;
16744
16788
  colors: Record<c4.CustomColor, {
16745
- color: c4.HexColorLiteral;
16789
+ color: c4.ColorLiteral;
16746
16790
  }>;
16747
- deployments: Record<c4.DeploymentNodeKind, c4.DeploymentNodeKindSpecification>;
16791
+ deployments: Record<c4.DeploymentKind, c4.ElementSpecification>;
16748
16792
  }
16749
16793
  interface ParsedAstElement {
16750
16794
  id: c4.Fqn;
@@ -16772,8 +16816,8 @@ interface ParsedAstExtend {
16772
16816
  interface ParsedAstRelation {
16773
16817
  id: c4.RelationId;
16774
16818
  astPath: string;
16775
- source: c4.FqnRef.ModelRef | c4.FqnRef.ImportRef;
16776
- target: c4.FqnRef.ModelRef | c4.FqnRef.ImportRef;
16819
+ source: c4.FqnRef.ModelRef;
16820
+ target: c4.FqnRef.ModelRef;
16777
16821
  kind?: c4.RelationshipKind;
16778
16822
  tags?: c4.NonEmptyArray<c4.Tag>;
16779
16823
  title: string;
@@ -16793,15 +16837,14 @@ type ParsedAstDeployment = Simplify<MergeExclusive<ParsedAstDeployment.Node, Par
16793
16837
  declare namespace ParsedAstDeployment {
16794
16838
  type Node = c4.DeploymentNode;
16795
16839
  type Instance = Omit<c4.DeployedInstance, 'element'> & {
16796
- readonly element: c4.FqnRef.ModelRef | c4.FqnRef.ImportRef;
16840
+ readonly element: c4.FqnRef.ModelRef;
16797
16841
  };
16798
16842
  }
16799
- type ParsedAstDeploymentRelation = c4.DeploymentRelation & {
16843
+ type ParsedAstDeploymentRelation = c4.DeploymentRelationship & {
16800
16844
  astPath: string;
16801
16845
  };
16802
16846
  type ParsedAstGlobals = Writable<c4.ModelGlobals>;
16803
16847
  interface ParsedAstElementView {
16804
- __: 'element';
16805
16848
  id: c4.ViewId;
16806
16849
  viewOf?: c4.Fqn;
16807
16850
  extends?: c4.ViewId;
@@ -16810,11 +16853,10 @@ interface ParsedAstElementView {
16810
16853
  description: string | null;
16811
16854
  tags: c4.NonEmptyArray<c4.Tag> | null;
16812
16855
  links: c4.NonEmptyArray<c4.Link> | null;
16813
- rules: c4.ViewRule[];
16856
+ rules: c4.ElementViewRule[];
16814
16857
  manualLayout?: c4.ViewManualLayout;
16815
16858
  }
16816
16859
  interface ParsedAstDynamicView {
16817
- __: 'dynamic';
16818
16860
  id: c4.ViewId;
16819
16861
  astPath: string;
16820
16862
  title: string | null;
@@ -16826,7 +16868,6 @@ interface ParsedAstDynamicView {
16826
16868
  manualLayout?: c4.ViewManualLayout;
16827
16869
  }
16828
16870
  interface ParsedAstDeploymentView {
16829
- __: 'deployment';
16830
16871
  id: c4.ViewId;
16831
16872
  astPath: string;
16832
16873
  title: string | null;
@@ -17093,7 +17134,7 @@ declare class DeploymentsIndex extends FqnIndex<DeploymentElement> {
17093
17134
 
17094
17135
  type ModelParsedListener = (docs: URI[]) => void;
17095
17136
  interface LikeC4ModelBuilder {
17096
- parseModel(projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<c4.ParsedLikeC4ModelData | null>;
17137
+ parseModel(projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<LikeC4Model.Parsed | null>;
17097
17138
  unsafeSyncBuildModel(projectId: c4.ProjectId): LikeC4Model.Computed;
17098
17139
  buildLikeC4Model(projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<LikeC4Model.Computed>;
17099
17140
  computeView(viewId: ViewId, projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<c4.ComputedView | null>;
@@ -17111,7 +17152,7 @@ declare class LikeC4ModelLocator {
17111
17152
  private documents;
17112
17153
  getParsedElement(...args: [Element] | [c4.Fqn] | [c4.Fqn, c4.ProjectId]): ParsedAstElement | null;
17113
17154
  locateElement(fqn: c4.Fqn, projectId?: c4.ProjectId | undefined): Location | null;
17114
- locateDeploymentElement(fqn: c4.Fqn, projectId?: c4.ProjectId | undefined): Location | null;
17155
+ locateDeploymentElement(deploymentFqn: c4.DeploymentFqn, projectId?: c4.ProjectId | undefined): Location | null;
17115
17156
  locateRelation(relationId: c4.RelationId, projectId?: c4.ProjectId): Location | null;
17116
17157
  locateViewAst(viewId: c4.ViewId, projectId?: c4.ProjectId | undefined): null | {
17117
17158
  doc: ParsedLikeC4LangiumDocument;
@@ -17119,6 +17160,12 @@ declare class LikeC4ModelLocator {
17119
17160
  viewAst: LikeC4View;
17120
17161
  };
17121
17162
  locateView(viewId: c4.ViewId, projectId?: c4.ProjectId): Location | null;
17163
+ locateDocumentTags(documentUri: URI, cancelToken?: CancellationToken): Promise<Array<{
17164
+ name: string;
17165
+ color: string;
17166
+ range: Range$1;
17167
+ isSpecification: boolean;
17168
+ }>>;
17122
17169
  }
17123
17170
 
17124
17171
  declare class BaseParser {
@@ -17145,6 +17192,7 @@ declare class BaseParser {
17145
17192
  convertLinks(source?: LinkProperty['$container']): c4.Link[] | undefined;
17146
17193
  parseLinks(source?: LinkProperty['$container']): c4.Link[] | undefined;
17147
17194
  parseIconProperty(prop: IconProperty | undefined): c4.IconUrl | undefined;
17195
+ parseColorLiteral(astNode: ColorLiteral): c4.ColorLiteral | undefined;
17148
17196
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17149
17197
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17150
17198
  }
@@ -17157,16 +17205,15 @@ declare const DocumentParserFromMixins: {
17157
17205
  parseGlobalDynamicPredicateGroup(astRule: GlobalDynamicPredicateGroup): ProjectId[];
17158
17206
  parseGlobalStyleOrGroup(astRule: GlobalStyle | GlobalStyleGroup): ProjectId[];
17159
17207
  parseViews(): void;
17160
- parseElementView(astNode: ElementView, additionalStyles: ProjectId[]): ParsedAstElementView;
17161
- parseViewRule(astRule: ViewRule): ProjectId;
17208
+ parseElementView(astNode: ElementView, additionalStyles: any[]): ParsedAstElementView;
17209
+ parseElementViewRule(astRule: ViewRule): ProjectId;
17162
17210
  parseViewRulePredicate(astNode: ViewRulePredicate): ProjectId;
17163
17211
  parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): ProjectId;
17164
- parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): ProjectId;
17212
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): any;
17165
17213
  parseViewRuleGroup(astNode: ViewRuleGroup): ProjectId;
17166
17214
  parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): ProjectId;
17167
- parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: FqnExpressions, notationProperty?: NotationProperty): ProjectId;
17168
17215
  parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): ProjectId;
17169
- parseDynamicElementView(astNode: DynamicView, additionalStyles: ProjectId[]): ParsedAstDynamicView;
17216
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
17170
17217
  parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
17171
17218
  parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
17172
17219
  parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
@@ -17218,6 +17265,7 @@ declare const DocumentParserFromMixins: {
17218
17265
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17219
17266
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17220
17267
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17268
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17221
17269
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17222
17270
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17223
17271
  parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
@@ -17234,16 +17282,15 @@ declare const DocumentParserFromMixins: {
17234
17282
  } & {
17235
17283
  new (...args: any[]): {
17236
17284
  parseViews(): void;
17237
- parseElementView(astNode: ElementView, additionalStyles: ProjectId[]): ParsedAstElementView;
17238
- parseViewRule(astRule: ViewRule): ProjectId;
17285
+ parseElementView(astNode: ElementView, additionalStyles: any[]): ParsedAstElementView;
17286
+ parseElementViewRule(astRule: ViewRule): ProjectId;
17239
17287
  parseViewRulePredicate(astNode: ViewRulePredicate): ProjectId;
17240
17288
  parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): ProjectId;
17241
- parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): ProjectId;
17289
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): any;
17242
17290
  parseViewRuleGroup(astNode: ViewRuleGroup): ProjectId;
17243
17291
  parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): ProjectId;
17244
- parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: FqnExpressions, notationProperty?: NotationProperty): ProjectId;
17245
17292
  parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): ProjectId;
17246
- parseDynamicElementView(astNode: DynamicView, additionalStyles: ProjectId[]): ParsedAstDynamicView;
17293
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
17247
17294
  parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
17248
17295
  parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
17249
17296
  parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
@@ -17295,6 +17342,7 @@ declare const DocumentParserFromMixins: {
17295
17342
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17296
17343
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17297
17344
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17345
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17298
17346
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17299
17347
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17300
17348
  parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
@@ -17311,7 +17359,8 @@ declare const DocumentParserFromMixins: {
17311
17359
  } & {
17312
17360
  new (...args: any[]): {
17313
17361
  parseSpecification(): void;
17314
- parseSpecificationDeploymentNodeKind({ kind, props }: SpecificationDeploymentNodeKind): {};
17362
+ parseElementSpecificationNode(specAst: SpecificationElementKind): {};
17363
+ parseElementSpecificationNode(specAst: SpecificationDeploymentNodeKind): {};
17315
17364
  isValid: IsValidFn;
17316
17365
  readonly services: LikeC4Services;
17317
17366
  readonly doc: ParsedLikeC4LangiumDocument;
@@ -17334,6 +17383,7 @@ declare const DocumentParserFromMixins: {
17334
17383
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17335
17384
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17336
17385
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17386
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17337
17387
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17338
17388
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17339
17389
  };
@@ -17386,6 +17436,7 @@ declare const DocumentParserFromMixins: {
17386
17436
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17387
17437
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17388
17438
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17439
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17389
17440
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17390
17441
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17391
17442
  };
@@ -17431,6 +17482,7 @@ declare const DocumentParserFromMixins: {
17431
17482
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17432
17483
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17433
17484
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17485
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17434
17486
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17435
17487
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17436
17488
  parseDeployment(): void;
@@ -17484,6 +17536,7 @@ declare const DocumentParserFromMixins: {
17484
17536
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17485
17537
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17486
17538
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17539
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17487
17540
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17488
17541
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17489
17542
  };
@@ -17530,6 +17583,7 @@ declare const DocumentParserFromMixins: {
17530
17583
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17531
17584
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17532
17585
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17586
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17533
17587
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17534
17588
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17535
17589
  };
@@ -17558,6 +17612,7 @@ declare const DocumentParserFromMixins: {
17558
17612
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17559
17613
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17560
17614
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17615
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17561
17616
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17562
17617
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17563
17618
  };
@@ -17599,6 +17654,7 @@ declare const DocumentParserFromMixins: {
17599
17654
  convertLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17600
17655
  parseLinks(source?: LinkProperty["$container"]): ProjectId[] | undefined;
17601
17656
  parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
17657
+ parseColorLiteral(astNode: ColorLiteral): ProjectId | undefined;
17602
17658
  parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
17603
17659
  parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
17604
17660
  };
@@ -17628,7 +17684,7 @@ declare namespace Locate {
17628
17684
  projectId?: string | undefined;
17629
17685
  relation: RelationId;
17630
17686
  } | {
17631
- deployment: Fqn;
17687
+ deployment: DeploymentFqn;
17632
17688
  projectId?: string | undefined;
17633
17689
  property?: string;
17634
17690
  } | {
@@ -17670,7 +17726,6 @@ interface LikeC4Views {
17670
17726
  layoutView(viewId: ViewId, projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<GraphvizOut | null>;
17671
17727
  diagrams(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<Array<DiagramView>>;
17672
17728
  viewsAsGraphvizOut(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<Array<GraphvizSvgOut>>;
17673
- overviewGraph(): Promise<OverviewGraph>;
17674
17729
  }
17675
17730
 
17676
17731
  interface LikeC4LanguageServices {
@@ -18921,6 +18976,22 @@ declare enum ZodFirstPartyTypeKind {
18921
18976
  ZodReadonly = "ZodReadonly"
18922
18977
  }
18923
18978
 
18979
+ declare const RequestMetaSchema: ZodObject<{
18980
+ /**
18981
+ * If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
18982
+ */
18983
+ progressToken: ZodOptional<ZodUnion<[ZodString, ZodNumber]>>;
18984
+ }, "passthrough", ZodTypeAny, objectOutputType<{
18985
+ /**
18986
+ * If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
18987
+ */
18988
+ progressToken: ZodOptional<ZodUnion<[ZodString, ZodNumber]>>;
18989
+ }, ZodTypeAny, "passthrough">, objectInputType<{
18990
+ /**
18991
+ * If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
18992
+ */
18993
+ progressToken: ZodOptional<ZodUnion<[ZodString, ZodNumber]>>;
18994
+ }, ZodTypeAny, "passthrough">>;
18924
18995
  declare const RequestSchema: ZodObject<{
18925
18996
  method: ZodString;
18926
18997
  params: ZodOptional<ZodObject<{
@@ -19647,6 +19718,10 @@ declare const ProgressSchema: ZodObject<{
19647
19718
  * Total number of items to process (or total progress required), if known.
19648
19719
  */
19649
19720
  total: ZodOptional<ZodNumber>;
19721
+ /**
19722
+ * An optional message describing the current progress.
19723
+ */
19724
+ message: ZodOptional<ZodString>;
19650
19725
  }, "passthrough", ZodTypeAny, objectOutputType<{
19651
19726
  /**
19652
19727
  * The progress thus far. This should increase every time progress is made, even if the total is unknown.
@@ -19656,6 +19731,10 @@ declare const ProgressSchema: ZodObject<{
19656
19731
  * Total number of items to process (or total progress required), if known.
19657
19732
  */
19658
19733
  total: ZodOptional<ZodNumber>;
19734
+ /**
19735
+ * An optional message describing the current progress.
19736
+ */
19737
+ message: ZodOptional<ZodString>;
19659
19738
  }, ZodTypeAny, "passthrough">, objectInputType<{
19660
19739
  /**
19661
19740
  * The progress thus far. This should increase every time progress is made, even if the total is unknown.
@@ -19665,6 +19744,10 @@ declare const ProgressSchema: ZodObject<{
19665
19744
  * Total number of items to process (or total progress required), if known.
19666
19745
  */
19667
19746
  total: ZodOptional<ZodNumber>;
19747
+ /**
19748
+ * An optional message describing the current progress.
19749
+ */
19750
+ message: ZodOptional<ZodString>;
19668
19751
  }, ZodTypeAny, "passthrough">>;
19669
19752
  /**
19670
19753
  * A known resource that the server is capable of reading.
@@ -23428,6 +23511,131 @@ declare const GetPromptResultSchema: ZodObject<objectUtil.extendShape<{
23428
23511
  }, ZodTypeAny, "passthrough">>]>;
23429
23512
  }, ZodTypeAny, "passthrough">>, "many">;
23430
23513
  }>, ZodTypeAny, "passthrough">>;
23514
+ /**
23515
+ * Additional properties describing a Tool to clients.
23516
+ *
23517
+ * NOTE: all properties in ToolAnnotations are **hints**.
23518
+ * They are not guaranteed to provide a faithful description of
23519
+ * tool behavior (including descriptive properties like `title`).
23520
+ *
23521
+ * Clients should never make tool use decisions based on ToolAnnotations
23522
+ * received from untrusted servers.
23523
+ */
23524
+ declare const ToolAnnotationsSchema: ZodObject<{
23525
+ /**
23526
+ * A human-readable title for the tool.
23527
+ */
23528
+ title: ZodOptional<ZodString>;
23529
+ /**
23530
+ * If true, the tool does not modify its environment.
23531
+ *
23532
+ * Default: false
23533
+ */
23534
+ readOnlyHint: ZodOptional<ZodBoolean>;
23535
+ /**
23536
+ * If true, the tool may perform destructive updates to its environment.
23537
+ * If false, the tool performs only additive updates.
23538
+ *
23539
+ * (This property is meaningful only when `readOnlyHint == false`)
23540
+ *
23541
+ * Default: true
23542
+ */
23543
+ destructiveHint: ZodOptional<ZodBoolean>;
23544
+ /**
23545
+ * If true, calling the tool repeatedly with the same arguments
23546
+ * will have no additional effect on the its environment.
23547
+ *
23548
+ * (This property is meaningful only when `readOnlyHint == false`)
23549
+ *
23550
+ * Default: false
23551
+ */
23552
+ idempotentHint: ZodOptional<ZodBoolean>;
23553
+ /**
23554
+ * If true, this tool may interact with an "open world" of external
23555
+ * entities. If false, the tool's domain of interaction is closed.
23556
+ * For example, the world of a web search tool is open, whereas that
23557
+ * of a memory tool is not.
23558
+ *
23559
+ * Default: true
23560
+ */
23561
+ openWorldHint: ZodOptional<ZodBoolean>;
23562
+ }, "passthrough", ZodTypeAny, objectOutputType<{
23563
+ /**
23564
+ * A human-readable title for the tool.
23565
+ */
23566
+ title: ZodOptional<ZodString>;
23567
+ /**
23568
+ * If true, the tool does not modify its environment.
23569
+ *
23570
+ * Default: false
23571
+ */
23572
+ readOnlyHint: ZodOptional<ZodBoolean>;
23573
+ /**
23574
+ * If true, the tool may perform destructive updates to its environment.
23575
+ * If false, the tool performs only additive updates.
23576
+ *
23577
+ * (This property is meaningful only when `readOnlyHint == false`)
23578
+ *
23579
+ * Default: true
23580
+ */
23581
+ destructiveHint: ZodOptional<ZodBoolean>;
23582
+ /**
23583
+ * If true, calling the tool repeatedly with the same arguments
23584
+ * will have no additional effect on the its environment.
23585
+ *
23586
+ * (This property is meaningful only when `readOnlyHint == false`)
23587
+ *
23588
+ * Default: false
23589
+ */
23590
+ idempotentHint: ZodOptional<ZodBoolean>;
23591
+ /**
23592
+ * If true, this tool may interact with an "open world" of external
23593
+ * entities. If false, the tool's domain of interaction is closed.
23594
+ * For example, the world of a web search tool is open, whereas that
23595
+ * of a memory tool is not.
23596
+ *
23597
+ * Default: true
23598
+ */
23599
+ openWorldHint: ZodOptional<ZodBoolean>;
23600
+ }, ZodTypeAny, "passthrough">, objectInputType<{
23601
+ /**
23602
+ * A human-readable title for the tool.
23603
+ */
23604
+ title: ZodOptional<ZodString>;
23605
+ /**
23606
+ * If true, the tool does not modify its environment.
23607
+ *
23608
+ * Default: false
23609
+ */
23610
+ readOnlyHint: ZodOptional<ZodBoolean>;
23611
+ /**
23612
+ * If true, the tool may perform destructive updates to its environment.
23613
+ * If false, the tool performs only additive updates.
23614
+ *
23615
+ * (This property is meaningful only when `readOnlyHint == false`)
23616
+ *
23617
+ * Default: true
23618
+ */
23619
+ destructiveHint: ZodOptional<ZodBoolean>;
23620
+ /**
23621
+ * If true, calling the tool repeatedly with the same arguments
23622
+ * will have no additional effect on the its environment.
23623
+ *
23624
+ * (This property is meaningful only when `readOnlyHint == false`)
23625
+ *
23626
+ * Default: false
23627
+ */
23628
+ idempotentHint: ZodOptional<ZodBoolean>;
23629
+ /**
23630
+ * If true, this tool may interact with an "open world" of external
23631
+ * entities. If false, the tool's domain of interaction is closed.
23632
+ * For example, the world of a web search tool is open, whereas that
23633
+ * of a memory tool is not.
23634
+ *
23635
+ * Default: true
23636
+ */
23637
+ openWorldHint: ZodOptional<ZodBoolean>;
23638
+ }, ZodTypeAny, "passthrough">>;
23431
23639
  /**
23432
23640
  * The server's response to a tool call.
23433
23641
  */
@@ -23437,7 +23645,13 @@ declare const CallToolResultSchema: ZodObject<objectUtil.extendShape<{
23437
23645
  */
23438
23646
  _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
23439
23647
  }, {
23440
- content: ZodArray<ZodUnion<[ZodObject<{
23648
+ /**
23649
+ * A list of content objects that represent the result of the tool call.
23650
+ *
23651
+ * If the Tool does not define an outputSchema, this field MUST be present in the result.
23652
+ * For backwards compatibility, this field is always present, but it may be empty.
23653
+ */
23654
+ content: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
23441
23655
  type: ZodLiteral<"text">;
23442
23656
  /**
23443
23657
  * The text content of the message.
@@ -23776,15 +23990,41 @@ declare const CallToolResultSchema: ZodObject<objectUtil.extendShape<{
23776
23990
  */
23777
23991
  blob: ZodString;
23778
23992
  }>, ZodTypeAny, "passthrough">>]>;
23779
- }, ZodTypeAny, "passthrough">>]>, "many">;
23780
- isError: ZodOptional<ZodDefault<ZodBoolean>>;
23993
+ }, ZodTypeAny, "passthrough">>]>, "many">>;
23994
+ /**
23995
+ * An object containing structured tool output.
23996
+ *
23997
+ * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema.
23998
+ */
23999
+ structuredContent: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
24000
+ /**
24001
+ * Whether the tool call ended in an error.
24002
+ *
24003
+ * If not set, this is assumed to be false (the call was successful).
24004
+ *
24005
+ * Any errors that originate from the tool SHOULD be reported inside the result
24006
+ * object, with `isError` set to true, _not_ as an MCP protocol-level error
24007
+ * response. Otherwise, the LLM would not be able to see that an error occurred
24008
+ * and self-correct.
24009
+ *
24010
+ * However, any errors in _finding_ the tool, an error indicating that the
24011
+ * server does not support tool calls, or any other exceptional conditions,
24012
+ * should be reported as an MCP error response.
24013
+ */
24014
+ isError: ZodOptional<ZodBoolean>;
23781
24015
  }>, "passthrough", ZodTypeAny, objectOutputType<objectUtil.extendShape<{
23782
24016
  /**
23783
24017
  * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
23784
24018
  */
23785
24019
  _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
23786
24020
  }, {
23787
- content: ZodArray<ZodUnion<[ZodObject<{
24021
+ /**
24022
+ * A list of content objects that represent the result of the tool call.
24023
+ *
24024
+ * If the Tool does not define an outputSchema, this field MUST be present in the result.
24025
+ * For backwards compatibility, this field is always present, but it may be empty.
24026
+ */
24027
+ content: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
23788
24028
  type: ZodLiteral<"text">;
23789
24029
  /**
23790
24030
  * The text content of the message.
@@ -24123,15 +24363,41 @@ declare const CallToolResultSchema: ZodObject<objectUtil.extendShape<{
24123
24363
  */
24124
24364
  blob: ZodString;
24125
24365
  }>, ZodTypeAny, "passthrough">>]>;
24126
- }, ZodTypeAny, "passthrough">>]>, "many">;
24127
- isError: ZodOptional<ZodDefault<ZodBoolean>>;
24366
+ }, ZodTypeAny, "passthrough">>]>, "many">>;
24367
+ /**
24368
+ * An object containing structured tool output.
24369
+ *
24370
+ * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema.
24371
+ */
24372
+ structuredContent: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
24373
+ /**
24374
+ * Whether the tool call ended in an error.
24375
+ *
24376
+ * If not set, this is assumed to be false (the call was successful).
24377
+ *
24378
+ * Any errors that originate from the tool SHOULD be reported inside the result
24379
+ * object, with `isError` set to true, _not_ as an MCP protocol-level error
24380
+ * response. Otherwise, the LLM would not be able to see that an error occurred
24381
+ * and self-correct.
24382
+ *
24383
+ * However, any errors in _finding_ the tool, an error indicating that the
24384
+ * server does not support tool calls, or any other exceptional conditions,
24385
+ * should be reported as an MCP error response.
24386
+ */
24387
+ isError: ZodOptional<ZodBoolean>;
24128
24388
  }>, ZodTypeAny, "passthrough">, objectInputType<objectUtil.extendShape<{
24129
24389
  /**
24130
24390
  * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
24131
24391
  */
24132
24392
  _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
24133
24393
  }, {
24134
- content: ZodArray<ZodUnion<[ZodObject<{
24394
+ /**
24395
+ * A list of content objects that represent the result of the tool call.
24396
+ *
24397
+ * If the Tool does not define an outputSchema, this field MUST be present in the result.
24398
+ * For backwards compatibility, this field is always present, but it may be empty.
24399
+ */
24400
+ content: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
24135
24401
  type: ZodLiteral<"text">;
24136
24402
  /**
24137
24403
  * The text content of the message.
@@ -24470,8 +24736,28 @@ declare const CallToolResultSchema: ZodObject<objectUtil.extendShape<{
24470
24736
  */
24471
24737
  blob: ZodString;
24472
24738
  }>, ZodTypeAny, "passthrough">>]>;
24473
- }, ZodTypeAny, "passthrough">>]>, "many">;
24474
- isError: ZodOptional<ZodDefault<ZodBoolean>>;
24739
+ }, ZodTypeAny, "passthrough">>]>, "many">>;
24740
+ /**
24741
+ * An object containing structured tool output.
24742
+ *
24743
+ * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema.
24744
+ */
24745
+ structuredContent: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
24746
+ /**
24747
+ * Whether the tool call ended in an error.
24748
+ *
24749
+ * If not set, this is assumed to be false (the call was successful).
24750
+ *
24751
+ * Any errors that originate from the tool SHOULD be reported inside the result
24752
+ * object, with `isError` set to true, _not_ as an MCP protocol-level error
24753
+ * response. Otherwise, the LLM would not be able to see that an error occurred
24754
+ * and self-correct.
24755
+ *
24756
+ * However, any errors in _finding_ the tool, an error indicating that the
24757
+ * server does not support tool calls, or any other exceptional conditions,
24758
+ * should be reported as an MCP error response.
24759
+ */
24760
+ isError: ZodOptional<ZodBoolean>;
24475
24761
  }>, ZodTypeAny, "passthrough">>;
24476
24762
  /**
24477
24763
  * Notification of a log message passed from server to client. If no logging/setLevel request has been sent from the client, the server MAY decide which messages to send automatically.
@@ -27916,6 +28202,10 @@ declare const ServerNotificationSchema: ZodUnion<[ZodObject<objectUtil.extendSha
27916
28202
  * Total number of items to process (or total progress required), if known.
27917
28203
  */
27918
28204
  total: ZodOptional<ZodNumber>;
28205
+ /**
28206
+ * An optional message describing the current progress.
28207
+ */
28208
+ message: ZodOptional<ZodString>;
27919
28209
  }>, {
27920
28210
  /**
27921
28211
  * The progress token which was given in the initial request, used to associate this notification with the request that is proceeding.
@@ -27935,6 +28225,10 @@ declare const ServerNotificationSchema: ZodUnion<[ZodObject<objectUtil.extendSha
27935
28225
  * Total number of items to process (or total progress required), if known.
27936
28226
  */
27937
28227
  total: ZodOptional<ZodNumber>;
28228
+ /**
28229
+ * An optional message describing the current progress.
28230
+ */
28231
+ message: ZodOptional<ZodString>;
27938
28232
  }>, {
27939
28233
  /**
27940
28234
  * The progress token which was given in the initial request, used to associate this notification with the request that is proceeding.
@@ -27954,6 +28248,10 @@ declare const ServerNotificationSchema: ZodUnion<[ZodObject<objectUtil.extendSha
27954
28248
  * Total number of items to process (or total progress required), if known.
27955
28249
  */
27956
28250
  total: ZodOptional<ZodNumber>;
28251
+ /**
28252
+ * An optional message describing the current progress.
28253
+ */
28254
+ message: ZodOptional<ZodString>;
27957
28255
  }>, {
27958
28256
  /**
27959
28257
  * The progress token which was given in the initial request, used to associate this notification with the request that is proceeding.
@@ -27964,6 +28262,7 @@ declare const ServerNotificationSchema: ZodUnion<[ZodObject<objectUtil.extendSha
27964
28262
  params: {
27965
28263
  progressToken: string | number;
27966
28264
  progress: number;
28265
+ message?: string | undefined;
27967
28266
  _meta?: objectOutputType<{}, ZodTypeAny, "passthrough"> | undefined;
27968
28267
  total?: number | undefined;
27969
28268
  } & {
@@ -27974,6 +28273,7 @@ declare const ServerNotificationSchema: ZodUnion<[ZodObject<objectUtil.extendSha
27974
28273
  params: {
27975
28274
  progressToken: string | number;
27976
28275
  progress: number;
28276
+ message?: string | undefined;
27977
28277
  _meta?: objectInputType<{}, ZodTypeAny, "passthrough"> | undefined;
27978
28278
  total?: number | undefined;
27979
28279
  } & {
@@ -33570,7 +33870,13 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
33570
33870
  */
33571
33871
  _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
33572
33872
  }, {
33573
- content: ZodArray<ZodUnion<[ZodObject<{
33873
+ /**
33874
+ * A list of content objects that represent the result of the tool call.
33875
+ *
33876
+ * If the Tool does not define an outputSchema, this field MUST be present in the result.
33877
+ * For backwards compatibility, this field is always present, but it may be empty.
33878
+ */
33879
+ content: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
33574
33880
  type: ZodLiteral<"text">;
33575
33881
  /**
33576
33882
  * The text content of the message.
@@ -33909,15 +34215,41 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
33909
34215
  */
33910
34216
  blob: ZodString;
33911
34217
  }>, ZodTypeAny, "passthrough">>]>;
33912
- }, ZodTypeAny, "passthrough">>]>, "many">;
33913
- isError: ZodOptional<ZodDefault<ZodBoolean>>;
34218
+ }, ZodTypeAny, "passthrough">>]>, "many">>;
34219
+ /**
34220
+ * An object containing structured tool output.
34221
+ *
34222
+ * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema.
34223
+ */
34224
+ structuredContent: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34225
+ /**
34226
+ * Whether the tool call ended in an error.
34227
+ *
34228
+ * If not set, this is assumed to be false (the call was successful).
34229
+ *
34230
+ * Any errors that originate from the tool SHOULD be reported inside the result
34231
+ * object, with `isError` set to true, _not_ as an MCP protocol-level error
34232
+ * response. Otherwise, the LLM would not be able to see that an error occurred
34233
+ * and self-correct.
34234
+ *
34235
+ * However, any errors in _finding_ the tool, an error indicating that the
34236
+ * server does not support tool calls, or any other exceptional conditions,
34237
+ * should be reported as an MCP error response.
34238
+ */
34239
+ isError: ZodOptional<ZodBoolean>;
33914
34240
  }>, "passthrough", ZodTypeAny, objectOutputType<objectUtil.extendShape<{
33915
34241
  /**
33916
34242
  * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
33917
34243
  */
33918
34244
  _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
33919
34245
  }, {
33920
- content: ZodArray<ZodUnion<[ZodObject<{
34246
+ /**
34247
+ * A list of content objects that represent the result of the tool call.
34248
+ *
34249
+ * If the Tool does not define an outputSchema, this field MUST be present in the result.
34250
+ * For backwards compatibility, this field is always present, but it may be empty.
34251
+ */
34252
+ content: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
33921
34253
  type: ZodLiteral<"text">;
33922
34254
  /**
33923
34255
  * The text content of the message.
@@ -34256,15 +34588,41 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34256
34588
  */
34257
34589
  blob: ZodString;
34258
34590
  }>, ZodTypeAny, "passthrough">>]>;
34259
- }, ZodTypeAny, "passthrough">>]>, "many">;
34260
- isError: ZodOptional<ZodDefault<ZodBoolean>>;
34591
+ }, ZodTypeAny, "passthrough">>]>, "many">>;
34592
+ /**
34593
+ * An object containing structured tool output.
34594
+ *
34595
+ * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema.
34596
+ */
34597
+ structuredContent: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34598
+ /**
34599
+ * Whether the tool call ended in an error.
34600
+ *
34601
+ * If not set, this is assumed to be false (the call was successful).
34602
+ *
34603
+ * Any errors that originate from the tool SHOULD be reported inside the result
34604
+ * object, with `isError` set to true, _not_ as an MCP protocol-level error
34605
+ * response. Otherwise, the LLM would not be able to see that an error occurred
34606
+ * and self-correct.
34607
+ *
34608
+ * However, any errors in _finding_ the tool, an error indicating that the
34609
+ * server does not support tool calls, or any other exceptional conditions,
34610
+ * should be reported as an MCP error response.
34611
+ */
34612
+ isError: ZodOptional<ZodBoolean>;
34261
34613
  }>, ZodTypeAny, "passthrough">, objectInputType<objectUtil.extendShape<{
34262
34614
  /**
34263
34615
  * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
34264
34616
  */
34265
34617
  _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34266
34618
  }, {
34267
- content: ZodArray<ZodUnion<[ZodObject<{
34619
+ /**
34620
+ * A list of content objects that represent the result of the tool call.
34621
+ *
34622
+ * If the Tool does not define an outputSchema, this field MUST be present in the result.
34623
+ * For backwards compatibility, this field is always present, but it may be empty.
34624
+ */
34625
+ content: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
34268
34626
  type: ZodLiteral<"text">;
34269
34627
  /**
34270
34628
  * The text content of the message.
@@ -34603,8 +34961,28 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34603
34961
  */
34604
34962
  blob: ZodString;
34605
34963
  }>, ZodTypeAny, "passthrough">>]>;
34606
- }, ZodTypeAny, "passthrough">>]>, "many">;
34607
- isError: ZodOptional<ZodDefault<ZodBoolean>>;
34964
+ }, ZodTypeAny, "passthrough">>]>, "many">>;
34965
+ /**
34966
+ * An object containing structured tool output.
34967
+ *
34968
+ * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema.
34969
+ */
34970
+ structuredContent: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34971
+ /**
34972
+ * Whether the tool call ended in an error.
34973
+ *
34974
+ * If not set, this is assumed to be false (the call was successful).
34975
+ *
34976
+ * Any errors that originate from the tool SHOULD be reported inside the result
34977
+ * object, with `isError` set to true, _not_ as an MCP protocol-level error
34978
+ * response. Otherwise, the LLM would not be able to see that an error occurred
34979
+ * and self-correct.
34980
+ *
34981
+ * However, any errors in _finding_ the tool, an error indicating that the
34982
+ * server does not support tool calls, or any other exceptional conditions,
34983
+ * should be reported as an MCP error response.
34984
+ */
34985
+ isError: ZodOptional<ZodBoolean>;
34608
34986
  }>, ZodTypeAny, "passthrough">>, ZodObject<objectUtil.extendShape<objectUtil.extendShape<{
34609
34987
  /**
34610
34988
  * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
@@ -34632,71 +35010,152 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34632
35010
  inputSchema: ZodObject<{
34633
35011
  type: ZodLiteral<"object">;
34634
35012
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35013
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34635
35014
  }, "passthrough", ZodTypeAny, objectOutputType<{
34636
35015
  type: ZodLiteral<"object">;
34637
35016
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35017
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34638
35018
  }, ZodTypeAny, "passthrough">, objectInputType<{
34639
35019
  type: ZodLiteral<"object">;
34640
35020
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35021
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34641
35022
  }, ZodTypeAny, "passthrough">>;
34642
- }, "passthrough", ZodTypeAny, objectOutputType<{
34643
- /**
34644
- * The name of the tool.
34645
- */
34646
- name: ZodString;
34647
- /**
34648
- * A human-readable description of the tool.
34649
- */
34650
- description: ZodOptional<ZodString>;
34651
35023
  /**
34652
- * A JSON Schema object defining the expected parameters for the tool.
35024
+ * An optional JSON Schema object defining the structure of the tool's output returned in
35025
+ * the structuredContent field of a CallToolResult.
34653
35026
  */
34654
- inputSchema: ZodObject<{
35027
+ outputSchema: ZodOptional<ZodObject<{
34655
35028
  type: ZodLiteral<"object">;
34656
35029
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35030
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34657
35031
  }, "passthrough", ZodTypeAny, objectOutputType<{
34658
35032
  type: ZodLiteral<"object">;
34659
35033
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35034
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34660
35035
  }, ZodTypeAny, "passthrough">, objectInputType<{
34661
35036
  type: ZodLiteral<"object">;
34662
35037
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34663
- }, ZodTypeAny, "passthrough">>;
34664
- }, ZodTypeAny, "passthrough">, objectInputType<{
34665
- /**
34666
- * The name of the tool.
34667
- */
34668
- name: ZodString;
34669
- /**
34670
- * A human-readable description of the tool.
34671
- */
34672
- description: ZodOptional<ZodString>;
35038
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35039
+ }, ZodTypeAny, "passthrough">>>;
34673
35040
  /**
34674
- * A JSON Schema object defining the expected parameters for the tool.
35041
+ * Optional additional tool information.
34675
35042
  */
34676
- inputSchema: ZodObject<{
34677
- type: ZodLiteral<"object">;
34678
- properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35043
+ annotations: ZodOptional<ZodObject<{
35044
+ /**
35045
+ * A human-readable title for the tool.
35046
+ */
35047
+ title: ZodOptional<ZodString>;
35048
+ /**
35049
+ * If true, the tool does not modify its environment.
35050
+ *
35051
+ * Default: false
35052
+ */
35053
+ readOnlyHint: ZodOptional<ZodBoolean>;
35054
+ /**
35055
+ * If true, the tool may perform destructive updates to its environment.
35056
+ * If false, the tool performs only additive updates.
35057
+ *
35058
+ * (This property is meaningful only when `readOnlyHint == false`)
35059
+ *
35060
+ * Default: true
35061
+ */
35062
+ destructiveHint: ZodOptional<ZodBoolean>;
35063
+ /**
35064
+ * If true, calling the tool repeatedly with the same arguments
35065
+ * will have no additional effect on the its environment.
35066
+ *
35067
+ * (This property is meaningful only when `readOnlyHint == false`)
35068
+ *
35069
+ * Default: false
35070
+ */
35071
+ idempotentHint: ZodOptional<ZodBoolean>;
35072
+ /**
35073
+ * If true, this tool may interact with an "open world" of external
35074
+ * entities. If false, the tool's domain of interaction is closed.
35075
+ * For example, the world of a web search tool is open, whereas that
35076
+ * of a memory tool is not.
35077
+ *
35078
+ * Default: true
35079
+ */
35080
+ openWorldHint: ZodOptional<ZodBoolean>;
34679
35081
  }, "passthrough", ZodTypeAny, objectOutputType<{
34680
- type: ZodLiteral<"object">;
34681
- properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35082
+ /**
35083
+ * A human-readable title for the tool.
35084
+ */
35085
+ title: ZodOptional<ZodString>;
35086
+ /**
35087
+ * If true, the tool does not modify its environment.
35088
+ *
35089
+ * Default: false
35090
+ */
35091
+ readOnlyHint: ZodOptional<ZodBoolean>;
35092
+ /**
35093
+ * If true, the tool may perform destructive updates to its environment.
35094
+ * If false, the tool performs only additive updates.
35095
+ *
35096
+ * (This property is meaningful only when `readOnlyHint == false`)
35097
+ *
35098
+ * Default: true
35099
+ */
35100
+ destructiveHint: ZodOptional<ZodBoolean>;
35101
+ /**
35102
+ * If true, calling the tool repeatedly with the same arguments
35103
+ * will have no additional effect on the its environment.
35104
+ *
35105
+ * (This property is meaningful only when `readOnlyHint == false`)
35106
+ *
35107
+ * Default: false
35108
+ */
35109
+ idempotentHint: ZodOptional<ZodBoolean>;
35110
+ /**
35111
+ * If true, this tool may interact with an "open world" of external
35112
+ * entities. If false, the tool's domain of interaction is closed.
35113
+ * For example, the world of a web search tool is open, whereas that
35114
+ * of a memory tool is not.
35115
+ *
35116
+ * Default: true
35117
+ */
35118
+ openWorldHint: ZodOptional<ZodBoolean>;
34682
35119
  }, ZodTypeAny, "passthrough">, objectInputType<{
34683
- type: ZodLiteral<"object">;
34684
- properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34685
- }, ZodTypeAny, "passthrough">>;
34686
- }, ZodTypeAny, "passthrough">>, "many">;
34687
- }>, "passthrough", ZodTypeAny, objectOutputType<objectUtil.extendShape<objectUtil.extendShape<{
34688
- /**
34689
- * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
34690
- */
34691
- _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
34692
- }, {
34693
- /**
34694
- * An opaque token representing the pagination position after the last returned result.
34695
- * If present, there may be more results available.
34696
- */
34697
- nextCursor: ZodOptional<ZodString>;
34698
- }>, {
34699
- tools: ZodArray<ZodObject<{
35120
+ /**
35121
+ * A human-readable title for the tool.
35122
+ */
35123
+ title: ZodOptional<ZodString>;
35124
+ /**
35125
+ * If true, the tool does not modify its environment.
35126
+ *
35127
+ * Default: false
35128
+ */
35129
+ readOnlyHint: ZodOptional<ZodBoolean>;
35130
+ /**
35131
+ * If true, the tool may perform destructive updates to its environment.
35132
+ * If false, the tool performs only additive updates.
35133
+ *
35134
+ * (This property is meaningful only when `readOnlyHint == false`)
35135
+ *
35136
+ * Default: true
35137
+ */
35138
+ destructiveHint: ZodOptional<ZodBoolean>;
35139
+ /**
35140
+ * If true, calling the tool repeatedly with the same arguments
35141
+ * will have no additional effect on the its environment.
35142
+ *
35143
+ * (This property is meaningful only when `readOnlyHint == false`)
35144
+ *
35145
+ * Default: false
35146
+ */
35147
+ idempotentHint: ZodOptional<ZodBoolean>;
35148
+ /**
35149
+ * If true, this tool may interact with an "open world" of external
35150
+ * entities. If false, the tool's domain of interaction is closed.
35151
+ * For example, the world of a web search tool is open, whereas that
35152
+ * of a memory tool is not.
35153
+ *
35154
+ * Default: true
35155
+ */
35156
+ openWorldHint: ZodOptional<ZodBoolean>;
35157
+ }, ZodTypeAny, "passthrough">>>;
35158
+ }, "passthrough", ZodTypeAny, objectOutputType<{
34700
35159
  /**
34701
35160
  * The name of the tool.
34702
35161
  */
@@ -34711,13 +35170,484 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34711
35170
  inputSchema: ZodObject<{
34712
35171
  type: ZodLiteral<"object">;
34713
35172
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35173
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34714
35174
  }, "passthrough", ZodTypeAny, objectOutputType<{
34715
35175
  type: ZodLiteral<"object">;
34716
35176
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35177
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34717
35178
  }, ZodTypeAny, "passthrough">, objectInputType<{
34718
35179
  type: ZodLiteral<"object">;
34719
35180
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35181
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34720
35182
  }, ZodTypeAny, "passthrough">>;
35183
+ /**
35184
+ * An optional JSON Schema object defining the structure of the tool's output returned in
35185
+ * the structuredContent field of a CallToolResult.
35186
+ */
35187
+ outputSchema: ZodOptional<ZodObject<{
35188
+ type: ZodLiteral<"object">;
35189
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35190
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35191
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35192
+ type: ZodLiteral<"object">;
35193
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35194
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35195
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35196
+ type: ZodLiteral<"object">;
35197
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35198
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35199
+ }, ZodTypeAny, "passthrough">>>;
35200
+ /**
35201
+ * Optional additional tool information.
35202
+ */
35203
+ annotations: ZodOptional<ZodObject<{
35204
+ /**
35205
+ * A human-readable title for the tool.
35206
+ */
35207
+ title: ZodOptional<ZodString>;
35208
+ /**
35209
+ * If true, the tool does not modify its environment.
35210
+ *
35211
+ * Default: false
35212
+ */
35213
+ readOnlyHint: ZodOptional<ZodBoolean>;
35214
+ /**
35215
+ * If true, the tool may perform destructive updates to its environment.
35216
+ * If false, the tool performs only additive updates.
35217
+ *
35218
+ * (This property is meaningful only when `readOnlyHint == false`)
35219
+ *
35220
+ * Default: true
35221
+ */
35222
+ destructiveHint: ZodOptional<ZodBoolean>;
35223
+ /**
35224
+ * If true, calling the tool repeatedly with the same arguments
35225
+ * will have no additional effect on the its environment.
35226
+ *
35227
+ * (This property is meaningful only when `readOnlyHint == false`)
35228
+ *
35229
+ * Default: false
35230
+ */
35231
+ idempotentHint: ZodOptional<ZodBoolean>;
35232
+ /**
35233
+ * If true, this tool may interact with an "open world" of external
35234
+ * entities. If false, the tool's domain of interaction is closed.
35235
+ * For example, the world of a web search tool is open, whereas that
35236
+ * of a memory tool is not.
35237
+ *
35238
+ * Default: true
35239
+ */
35240
+ openWorldHint: ZodOptional<ZodBoolean>;
35241
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35242
+ /**
35243
+ * A human-readable title for the tool.
35244
+ */
35245
+ title: ZodOptional<ZodString>;
35246
+ /**
35247
+ * If true, the tool does not modify its environment.
35248
+ *
35249
+ * Default: false
35250
+ */
35251
+ readOnlyHint: ZodOptional<ZodBoolean>;
35252
+ /**
35253
+ * If true, the tool may perform destructive updates to its environment.
35254
+ * If false, the tool performs only additive updates.
35255
+ *
35256
+ * (This property is meaningful only when `readOnlyHint == false`)
35257
+ *
35258
+ * Default: true
35259
+ */
35260
+ destructiveHint: ZodOptional<ZodBoolean>;
35261
+ /**
35262
+ * If true, calling the tool repeatedly with the same arguments
35263
+ * will have no additional effect on the its environment.
35264
+ *
35265
+ * (This property is meaningful only when `readOnlyHint == false`)
35266
+ *
35267
+ * Default: false
35268
+ */
35269
+ idempotentHint: ZodOptional<ZodBoolean>;
35270
+ /**
35271
+ * If true, this tool may interact with an "open world" of external
35272
+ * entities. If false, the tool's domain of interaction is closed.
35273
+ * For example, the world of a web search tool is open, whereas that
35274
+ * of a memory tool is not.
35275
+ *
35276
+ * Default: true
35277
+ */
35278
+ openWorldHint: ZodOptional<ZodBoolean>;
35279
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35280
+ /**
35281
+ * A human-readable title for the tool.
35282
+ */
35283
+ title: ZodOptional<ZodString>;
35284
+ /**
35285
+ * If true, the tool does not modify its environment.
35286
+ *
35287
+ * Default: false
35288
+ */
35289
+ readOnlyHint: ZodOptional<ZodBoolean>;
35290
+ /**
35291
+ * If true, the tool may perform destructive updates to its environment.
35292
+ * If false, the tool performs only additive updates.
35293
+ *
35294
+ * (This property is meaningful only when `readOnlyHint == false`)
35295
+ *
35296
+ * Default: true
35297
+ */
35298
+ destructiveHint: ZodOptional<ZodBoolean>;
35299
+ /**
35300
+ * If true, calling the tool repeatedly with the same arguments
35301
+ * will have no additional effect on the its environment.
35302
+ *
35303
+ * (This property is meaningful only when `readOnlyHint == false`)
35304
+ *
35305
+ * Default: false
35306
+ */
35307
+ idempotentHint: ZodOptional<ZodBoolean>;
35308
+ /**
35309
+ * If true, this tool may interact with an "open world" of external
35310
+ * entities. If false, the tool's domain of interaction is closed.
35311
+ * For example, the world of a web search tool is open, whereas that
35312
+ * of a memory tool is not.
35313
+ *
35314
+ * Default: true
35315
+ */
35316
+ openWorldHint: ZodOptional<ZodBoolean>;
35317
+ }, ZodTypeAny, "passthrough">>>;
35318
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35319
+ /**
35320
+ * The name of the tool.
35321
+ */
35322
+ name: ZodString;
35323
+ /**
35324
+ * A human-readable description of the tool.
35325
+ */
35326
+ description: ZodOptional<ZodString>;
35327
+ /**
35328
+ * A JSON Schema object defining the expected parameters for the tool.
35329
+ */
35330
+ inputSchema: ZodObject<{
35331
+ type: ZodLiteral<"object">;
35332
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35333
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35334
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35335
+ type: ZodLiteral<"object">;
35336
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35337
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35338
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35339
+ type: ZodLiteral<"object">;
35340
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35341
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35342
+ }, ZodTypeAny, "passthrough">>;
35343
+ /**
35344
+ * An optional JSON Schema object defining the structure of the tool's output returned in
35345
+ * the structuredContent field of a CallToolResult.
35346
+ */
35347
+ outputSchema: ZodOptional<ZodObject<{
35348
+ type: ZodLiteral<"object">;
35349
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35350
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35351
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35352
+ type: ZodLiteral<"object">;
35353
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35354
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35355
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35356
+ type: ZodLiteral<"object">;
35357
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35358
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35359
+ }, ZodTypeAny, "passthrough">>>;
35360
+ /**
35361
+ * Optional additional tool information.
35362
+ */
35363
+ annotations: ZodOptional<ZodObject<{
35364
+ /**
35365
+ * A human-readable title for the tool.
35366
+ */
35367
+ title: ZodOptional<ZodString>;
35368
+ /**
35369
+ * If true, the tool does not modify its environment.
35370
+ *
35371
+ * Default: false
35372
+ */
35373
+ readOnlyHint: ZodOptional<ZodBoolean>;
35374
+ /**
35375
+ * If true, the tool may perform destructive updates to its environment.
35376
+ * If false, the tool performs only additive updates.
35377
+ *
35378
+ * (This property is meaningful only when `readOnlyHint == false`)
35379
+ *
35380
+ * Default: true
35381
+ */
35382
+ destructiveHint: ZodOptional<ZodBoolean>;
35383
+ /**
35384
+ * If true, calling the tool repeatedly with the same arguments
35385
+ * will have no additional effect on the its environment.
35386
+ *
35387
+ * (This property is meaningful only when `readOnlyHint == false`)
35388
+ *
35389
+ * Default: false
35390
+ */
35391
+ idempotentHint: ZodOptional<ZodBoolean>;
35392
+ /**
35393
+ * If true, this tool may interact with an "open world" of external
35394
+ * entities. If false, the tool's domain of interaction is closed.
35395
+ * For example, the world of a web search tool is open, whereas that
35396
+ * of a memory tool is not.
35397
+ *
35398
+ * Default: true
35399
+ */
35400
+ openWorldHint: ZodOptional<ZodBoolean>;
35401
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35402
+ /**
35403
+ * A human-readable title for the tool.
35404
+ */
35405
+ title: ZodOptional<ZodString>;
35406
+ /**
35407
+ * If true, the tool does not modify its environment.
35408
+ *
35409
+ * Default: false
35410
+ */
35411
+ readOnlyHint: ZodOptional<ZodBoolean>;
35412
+ /**
35413
+ * If true, the tool may perform destructive updates to its environment.
35414
+ * If false, the tool performs only additive updates.
35415
+ *
35416
+ * (This property is meaningful only when `readOnlyHint == false`)
35417
+ *
35418
+ * Default: true
35419
+ */
35420
+ destructiveHint: ZodOptional<ZodBoolean>;
35421
+ /**
35422
+ * If true, calling the tool repeatedly with the same arguments
35423
+ * will have no additional effect on the its environment.
35424
+ *
35425
+ * (This property is meaningful only when `readOnlyHint == false`)
35426
+ *
35427
+ * Default: false
35428
+ */
35429
+ idempotentHint: ZodOptional<ZodBoolean>;
35430
+ /**
35431
+ * If true, this tool may interact with an "open world" of external
35432
+ * entities. If false, the tool's domain of interaction is closed.
35433
+ * For example, the world of a web search tool is open, whereas that
35434
+ * of a memory tool is not.
35435
+ *
35436
+ * Default: true
35437
+ */
35438
+ openWorldHint: ZodOptional<ZodBoolean>;
35439
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35440
+ /**
35441
+ * A human-readable title for the tool.
35442
+ */
35443
+ title: ZodOptional<ZodString>;
35444
+ /**
35445
+ * If true, the tool does not modify its environment.
35446
+ *
35447
+ * Default: false
35448
+ */
35449
+ readOnlyHint: ZodOptional<ZodBoolean>;
35450
+ /**
35451
+ * If true, the tool may perform destructive updates to its environment.
35452
+ * If false, the tool performs only additive updates.
35453
+ *
35454
+ * (This property is meaningful only when `readOnlyHint == false`)
35455
+ *
35456
+ * Default: true
35457
+ */
35458
+ destructiveHint: ZodOptional<ZodBoolean>;
35459
+ /**
35460
+ * If true, calling the tool repeatedly with the same arguments
35461
+ * will have no additional effect on the its environment.
35462
+ *
35463
+ * (This property is meaningful only when `readOnlyHint == false`)
35464
+ *
35465
+ * Default: false
35466
+ */
35467
+ idempotentHint: ZodOptional<ZodBoolean>;
35468
+ /**
35469
+ * If true, this tool may interact with an "open world" of external
35470
+ * entities. If false, the tool's domain of interaction is closed.
35471
+ * For example, the world of a web search tool is open, whereas that
35472
+ * of a memory tool is not.
35473
+ *
35474
+ * Default: true
35475
+ */
35476
+ openWorldHint: ZodOptional<ZodBoolean>;
35477
+ }, ZodTypeAny, "passthrough">>>;
35478
+ }, ZodTypeAny, "passthrough">>, "many">;
35479
+ }>, "passthrough", ZodTypeAny, objectOutputType<objectUtil.extendShape<objectUtil.extendShape<{
35480
+ /**
35481
+ * This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
35482
+ */
35483
+ _meta: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35484
+ }, {
35485
+ /**
35486
+ * An opaque token representing the pagination position after the last returned result.
35487
+ * If present, there may be more results available.
35488
+ */
35489
+ nextCursor: ZodOptional<ZodString>;
35490
+ }>, {
35491
+ tools: ZodArray<ZodObject<{
35492
+ /**
35493
+ * The name of the tool.
35494
+ */
35495
+ name: ZodString;
35496
+ /**
35497
+ * A human-readable description of the tool.
35498
+ */
35499
+ description: ZodOptional<ZodString>;
35500
+ /**
35501
+ * A JSON Schema object defining the expected parameters for the tool.
35502
+ */
35503
+ inputSchema: ZodObject<{
35504
+ type: ZodLiteral<"object">;
35505
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35506
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35507
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35508
+ type: ZodLiteral<"object">;
35509
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35510
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35511
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35512
+ type: ZodLiteral<"object">;
35513
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35514
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35515
+ }, ZodTypeAny, "passthrough">>;
35516
+ /**
35517
+ * An optional JSON Schema object defining the structure of the tool's output returned in
35518
+ * the structuredContent field of a CallToolResult.
35519
+ */
35520
+ outputSchema: ZodOptional<ZodObject<{
35521
+ type: ZodLiteral<"object">;
35522
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35523
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35524
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35525
+ type: ZodLiteral<"object">;
35526
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35527
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35528
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35529
+ type: ZodLiteral<"object">;
35530
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35531
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35532
+ }, ZodTypeAny, "passthrough">>>;
35533
+ /**
35534
+ * Optional additional tool information.
35535
+ */
35536
+ annotations: ZodOptional<ZodObject<{
35537
+ /**
35538
+ * A human-readable title for the tool.
35539
+ */
35540
+ title: ZodOptional<ZodString>;
35541
+ /**
35542
+ * If true, the tool does not modify its environment.
35543
+ *
35544
+ * Default: false
35545
+ */
35546
+ readOnlyHint: ZodOptional<ZodBoolean>;
35547
+ /**
35548
+ * If true, the tool may perform destructive updates to its environment.
35549
+ * If false, the tool performs only additive updates.
35550
+ *
35551
+ * (This property is meaningful only when `readOnlyHint == false`)
35552
+ *
35553
+ * Default: true
35554
+ */
35555
+ destructiveHint: ZodOptional<ZodBoolean>;
35556
+ /**
35557
+ * If true, calling the tool repeatedly with the same arguments
35558
+ * will have no additional effect on the its environment.
35559
+ *
35560
+ * (This property is meaningful only when `readOnlyHint == false`)
35561
+ *
35562
+ * Default: false
35563
+ */
35564
+ idempotentHint: ZodOptional<ZodBoolean>;
35565
+ /**
35566
+ * If true, this tool may interact with an "open world" of external
35567
+ * entities. If false, the tool's domain of interaction is closed.
35568
+ * For example, the world of a web search tool is open, whereas that
35569
+ * of a memory tool is not.
35570
+ *
35571
+ * Default: true
35572
+ */
35573
+ openWorldHint: ZodOptional<ZodBoolean>;
35574
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35575
+ /**
35576
+ * A human-readable title for the tool.
35577
+ */
35578
+ title: ZodOptional<ZodString>;
35579
+ /**
35580
+ * If true, the tool does not modify its environment.
35581
+ *
35582
+ * Default: false
35583
+ */
35584
+ readOnlyHint: ZodOptional<ZodBoolean>;
35585
+ /**
35586
+ * If true, the tool may perform destructive updates to its environment.
35587
+ * If false, the tool performs only additive updates.
35588
+ *
35589
+ * (This property is meaningful only when `readOnlyHint == false`)
35590
+ *
35591
+ * Default: true
35592
+ */
35593
+ destructiveHint: ZodOptional<ZodBoolean>;
35594
+ /**
35595
+ * If true, calling the tool repeatedly with the same arguments
35596
+ * will have no additional effect on the its environment.
35597
+ *
35598
+ * (This property is meaningful only when `readOnlyHint == false`)
35599
+ *
35600
+ * Default: false
35601
+ */
35602
+ idempotentHint: ZodOptional<ZodBoolean>;
35603
+ /**
35604
+ * If true, this tool may interact with an "open world" of external
35605
+ * entities. If false, the tool's domain of interaction is closed.
35606
+ * For example, the world of a web search tool is open, whereas that
35607
+ * of a memory tool is not.
35608
+ *
35609
+ * Default: true
35610
+ */
35611
+ openWorldHint: ZodOptional<ZodBoolean>;
35612
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35613
+ /**
35614
+ * A human-readable title for the tool.
35615
+ */
35616
+ title: ZodOptional<ZodString>;
35617
+ /**
35618
+ * If true, the tool does not modify its environment.
35619
+ *
35620
+ * Default: false
35621
+ */
35622
+ readOnlyHint: ZodOptional<ZodBoolean>;
35623
+ /**
35624
+ * If true, the tool may perform destructive updates to its environment.
35625
+ * If false, the tool performs only additive updates.
35626
+ *
35627
+ * (This property is meaningful only when `readOnlyHint == false`)
35628
+ *
35629
+ * Default: true
35630
+ */
35631
+ destructiveHint: ZodOptional<ZodBoolean>;
35632
+ /**
35633
+ * If true, calling the tool repeatedly with the same arguments
35634
+ * will have no additional effect on the its environment.
35635
+ *
35636
+ * (This property is meaningful only when `readOnlyHint == false`)
35637
+ *
35638
+ * Default: false
35639
+ */
35640
+ idempotentHint: ZodOptional<ZodBoolean>;
35641
+ /**
35642
+ * If true, this tool may interact with an "open world" of external
35643
+ * entities. If false, the tool's domain of interaction is closed.
35644
+ * For example, the world of a web search tool is open, whereas that
35645
+ * of a memory tool is not.
35646
+ *
35647
+ * Default: true
35648
+ */
35649
+ openWorldHint: ZodOptional<ZodBoolean>;
35650
+ }, ZodTypeAny, "passthrough">>>;
34721
35651
  }, "passthrough", ZodTypeAny, objectOutputType<{
34722
35652
  /**
34723
35653
  * The name of the tool.
@@ -34733,13 +35663,151 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34733
35663
  inputSchema: ZodObject<{
34734
35664
  type: ZodLiteral<"object">;
34735
35665
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35666
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34736
35667
  }, "passthrough", ZodTypeAny, objectOutputType<{
34737
35668
  type: ZodLiteral<"object">;
34738
35669
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35670
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34739
35671
  }, ZodTypeAny, "passthrough">, objectInputType<{
34740
35672
  type: ZodLiteral<"object">;
34741
35673
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35674
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34742
35675
  }, ZodTypeAny, "passthrough">>;
35676
+ /**
35677
+ * An optional JSON Schema object defining the structure of the tool's output returned in
35678
+ * the structuredContent field of a CallToolResult.
35679
+ */
35680
+ outputSchema: ZodOptional<ZodObject<{
35681
+ type: ZodLiteral<"object">;
35682
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35683
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35684
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35685
+ type: ZodLiteral<"object">;
35686
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35687
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35688
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35689
+ type: ZodLiteral<"object">;
35690
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35691
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35692
+ }, ZodTypeAny, "passthrough">>>;
35693
+ /**
35694
+ * Optional additional tool information.
35695
+ */
35696
+ annotations: ZodOptional<ZodObject<{
35697
+ /**
35698
+ * A human-readable title for the tool.
35699
+ */
35700
+ title: ZodOptional<ZodString>;
35701
+ /**
35702
+ * If true, the tool does not modify its environment.
35703
+ *
35704
+ * Default: false
35705
+ */
35706
+ readOnlyHint: ZodOptional<ZodBoolean>;
35707
+ /**
35708
+ * If true, the tool may perform destructive updates to its environment.
35709
+ * If false, the tool performs only additive updates.
35710
+ *
35711
+ * (This property is meaningful only when `readOnlyHint == false`)
35712
+ *
35713
+ * Default: true
35714
+ */
35715
+ destructiveHint: ZodOptional<ZodBoolean>;
35716
+ /**
35717
+ * If true, calling the tool repeatedly with the same arguments
35718
+ * will have no additional effect on the its environment.
35719
+ *
35720
+ * (This property is meaningful only when `readOnlyHint == false`)
35721
+ *
35722
+ * Default: false
35723
+ */
35724
+ idempotentHint: ZodOptional<ZodBoolean>;
35725
+ /**
35726
+ * If true, this tool may interact with an "open world" of external
35727
+ * entities. If false, the tool's domain of interaction is closed.
35728
+ * For example, the world of a web search tool is open, whereas that
35729
+ * of a memory tool is not.
35730
+ *
35731
+ * Default: true
35732
+ */
35733
+ openWorldHint: ZodOptional<ZodBoolean>;
35734
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35735
+ /**
35736
+ * A human-readable title for the tool.
35737
+ */
35738
+ title: ZodOptional<ZodString>;
35739
+ /**
35740
+ * If true, the tool does not modify its environment.
35741
+ *
35742
+ * Default: false
35743
+ */
35744
+ readOnlyHint: ZodOptional<ZodBoolean>;
35745
+ /**
35746
+ * If true, the tool may perform destructive updates to its environment.
35747
+ * If false, the tool performs only additive updates.
35748
+ *
35749
+ * (This property is meaningful only when `readOnlyHint == false`)
35750
+ *
35751
+ * Default: true
35752
+ */
35753
+ destructiveHint: ZodOptional<ZodBoolean>;
35754
+ /**
35755
+ * If true, calling the tool repeatedly with the same arguments
35756
+ * will have no additional effect on the its environment.
35757
+ *
35758
+ * (This property is meaningful only when `readOnlyHint == false`)
35759
+ *
35760
+ * Default: false
35761
+ */
35762
+ idempotentHint: ZodOptional<ZodBoolean>;
35763
+ /**
35764
+ * If true, this tool may interact with an "open world" of external
35765
+ * entities. If false, the tool's domain of interaction is closed.
35766
+ * For example, the world of a web search tool is open, whereas that
35767
+ * of a memory tool is not.
35768
+ *
35769
+ * Default: true
35770
+ */
35771
+ openWorldHint: ZodOptional<ZodBoolean>;
35772
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35773
+ /**
35774
+ * A human-readable title for the tool.
35775
+ */
35776
+ title: ZodOptional<ZodString>;
35777
+ /**
35778
+ * If true, the tool does not modify its environment.
35779
+ *
35780
+ * Default: false
35781
+ */
35782
+ readOnlyHint: ZodOptional<ZodBoolean>;
35783
+ /**
35784
+ * If true, the tool may perform destructive updates to its environment.
35785
+ * If false, the tool performs only additive updates.
35786
+ *
35787
+ * (This property is meaningful only when `readOnlyHint == false`)
35788
+ *
35789
+ * Default: true
35790
+ */
35791
+ destructiveHint: ZodOptional<ZodBoolean>;
35792
+ /**
35793
+ * If true, calling the tool repeatedly with the same arguments
35794
+ * will have no additional effect on the its environment.
35795
+ *
35796
+ * (This property is meaningful only when `readOnlyHint == false`)
35797
+ *
35798
+ * Default: false
35799
+ */
35800
+ idempotentHint: ZodOptional<ZodBoolean>;
35801
+ /**
35802
+ * If true, this tool may interact with an "open world" of external
35803
+ * entities. If false, the tool's domain of interaction is closed.
35804
+ * For example, the world of a web search tool is open, whereas that
35805
+ * of a memory tool is not.
35806
+ *
35807
+ * Default: true
35808
+ */
35809
+ openWorldHint: ZodOptional<ZodBoolean>;
35810
+ }, ZodTypeAny, "passthrough">>>;
34743
35811
  }, ZodTypeAny, "passthrough">, objectInputType<{
34744
35812
  /**
34745
35813
  * The name of the tool.
@@ -34755,13 +35823,151 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34755
35823
  inputSchema: ZodObject<{
34756
35824
  type: ZodLiteral<"object">;
34757
35825
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35826
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34758
35827
  }, "passthrough", ZodTypeAny, objectOutputType<{
34759
35828
  type: ZodLiteral<"object">;
34760
35829
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35830
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34761
35831
  }, ZodTypeAny, "passthrough">, objectInputType<{
34762
35832
  type: ZodLiteral<"object">;
34763
35833
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35834
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34764
35835
  }, ZodTypeAny, "passthrough">>;
35836
+ /**
35837
+ * An optional JSON Schema object defining the structure of the tool's output returned in
35838
+ * the structuredContent field of a CallToolResult.
35839
+ */
35840
+ outputSchema: ZodOptional<ZodObject<{
35841
+ type: ZodLiteral<"object">;
35842
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35843
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35844
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35845
+ type: ZodLiteral<"object">;
35846
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35847
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35848
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35849
+ type: ZodLiteral<"object">;
35850
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35851
+ required: ZodOptional<ZodArray<ZodString, "many">>;
35852
+ }, ZodTypeAny, "passthrough">>>;
35853
+ /**
35854
+ * Optional additional tool information.
35855
+ */
35856
+ annotations: ZodOptional<ZodObject<{
35857
+ /**
35858
+ * A human-readable title for the tool.
35859
+ */
35860
+ title: ZodOptional<ZodString>;
35861
+ /**
35862
+ * If true, the tool does not modify its environment.
35863
+ *
35864
+ * Default: false
35865
+ */
35866
+ readOnlyHint: ZodOptional<ZodBoolean>;
35867
+ /**
35868
+ * If true, the tool may perform destructive updates to its environment.
35869
+ * If false, the tool performs only additive updates.
35870
+ *
35871
+ * (This property is meaningful only when `readOnlyHint == false`)
35872
+ *
35873
+ * Default: true
35874
+ */
35875
+ destructiveHint: ZodOptional<ZodBoolean>;
35876
+ /**
35877
+ * If true, calling the tool repeatedly with the same arguments
35878
+ * will have no additional effect on the its environment.
35879
+ *
35880
+ * (This property is meaningful only when `readOnlyHint == false`)
35881
+ *
35882
+ * Default: false
35883
+ */
35884
+ idempotentHint: ZodOptional<ZodBoolean>;
35885
+ /**
35886
+ * If true, this tool may interact with an "open world" of external
35887
+ * entities. If false, the tool's domain of interaction is closed.
35888
+ * For example, the world of a web search tool is open, whereas that
35889
+ * of a memory tool is not.
35890
+ *
35891
+ * Default: true
35892
+ */
35893
+ openWorldHint: ZodOptional<ZodBoolean>;
35894
+ }, "passthrough", ZodTypeAny, objectOutputType<{
35895
+ /**
35896
+ * A human-readable title for the tool.
35897
+ */
35898
+ title: ZodOptional<ZodString>;
35899
+ /**
35900
+ * If true, the tool does not modify its environment.
35901
+ *
35902
+ * Default: false
35903
+ */
35904
+ readOnlyHint: ZodOptional<ZodBoolean>;
35905
+ /**
35906
+ * If true, the tool may perform destructive updates to its environment.
35907
+ * If false, the tool performs only additive updates.
35908
+ *
35909
+ * (This property is meaningful only when `readOnlyHint == false`)
35910
+ *
35911
+ * Default: true
35912
+ */
35913
+ destructiveHint: ZodOptional<ZodBoolean>;
35914
+ /**
35915
+ * If true, calling the tool repeatedly with the same arguments
35916
+ * will have no additional effect on the its environment.
35917
+ *
35918
+ * (This property is meaningful only when `readOnlyHint == false`)
35919
+ *
35920
+ * Default: false
35921
+ */
35922
+ idempotentHint: ZodOptional<ZodBoolean>;
35923
+ /**
35924
+ * If true, this tool may interact with an "open world" of external
35925
+ * entities. If false, the tool's domain of interaction is closed.
35926
+ * For example, the world of a web search tool is open, whereas that
35927
+ * of a memory tool is not.
35928
+ *
35929
+ * Default: true
35930
+ */
35931
+ openWorldHint: ZodOptional<ZodBoolean>;
35932
+ }, ZodTypeAny, "passthrough">, objectInputType<{
35933
+ /**
35934
+ * A human-readable title for the tool.
35935
+ */
35936
+ title: ZodOptional<ZodString>;
35937
+ /**
35938
+ * If true, the tool does not modify its environment.
35939
+ *
35940
+ * Default: false
35941
+ */
35942
+ readOnlyHint: ZodOptional<ZodBoolean>;
35943
+ /**
35944
+ * If true, the tool may perform destructive updates to its environment.
35945
+ * If false, the tool performs only additive updates.
35946
+ *
35947
+ * (This property is meaningful only when `readOnlyHint == false`)
35948
+ *
35949
+ * Default: true
35950
+ */
35951
+ destructiveHint: ZodOptional<ZodBoolean>;
35952
+ /**
35953
+ * If true, calling the tool repeatedly with the same arguments
35954
+ * will have no additional effect on the its environment.
35955
+ *
35956
+ * (This property is meaningful only when `readOnlyHint == false`)
35957
+ *
35958
+ * Default: false
35959
+ */
35960
+ idempotentHint: ZodOptional<ZodBoolean>;
35961
+ /**
35962
+ * If true, this tool may interact with an "open world" of external
35963
+ * entities. If false, the tool's domain of interaction is closed.
35964
+ * For example, the world of a web search tool is open, whereas that
35965
+ * of a memory tool is not.
35966
+ *
35967
+ * Default: true
35968
+ */
35969
+ openWorldHint: ZodOptional<ZodBoolean>;
35970
+ }, ZodTypeAny, "passthrough">>>;
34765
35971
  }, ZodTypeAny, "passthrough">>, "many">;
34766
35972
  }>, ZodTypeAny, "passthrough">, objectInputType<objectUtil.extendShape<objectUtil.extendShape<{
34767
35973
  /**
@@ -34790,13 +35996,151 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34790
35996
  inputSchema: ZodObject<{
34791
35997
  type: ZodLiteral<"object">;
34792
35998
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
35999
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34793
36000
  }, "passthrough", ZodTypeAny, objectOutputType<{
34794
36001
  type: ZodLiteral<"object">;
34795
36002
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36003
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34796
36004
  }, ZodTypeAny, "passthrough">, objectInputType<{
34797
36005
  type: ZodLiteral<"object">;
34798
36006
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36007
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34799
36008
  }, ZodTypeAny, "passthrough">>;
36009
+ /**
36010
+ * An optional JSON Schema object defining the structure of the tool's output returned in
36011
+ * the structuredContent field of a CallToolResult.
36012
+ */
36013
+ outputSchema: ZodOptional<ZodObject<{
36014
+ type: ZodLiteral<"object">;
36015
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36016
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36017
+ }, "passthrough", ZodTypeAny, objectOutputType<{
36018
+ type: ZodLiteral<"object">;
36019
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36020
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36021
+ }, ZodTypeAny, "passthrough">, objectInputType<{
36022
+ type: ZodLiteral<"object">;
36023
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36024
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36025
+ }, ZodTypeAny, "passthrough">>>;
36026
+ /**
36027
+ * Optional additional tool information.
36028
+ */
36029
+ annotations: ZodOptional<ZodObject<{
36030
+ /**
36031
+ * A human-readable title for the tool.
36032
+ */
36033
+ title: ZodOptional<ZodString>;
36034
+ /**
36035
+ * If true, the tool does not modify its environment.
36036
+ *
36037
+ * Default: false
36038
+ */
36039
+ readOnlyHint: ZodOptional<ZodBoolean>;
36040
+ /**
36041
+ * If true, the tool may perform destructive updates to its environment.
36042
+ * If false, the tool performs only additive updates.
36043
+ *
36044
+ * (This property is meaningful only when `readOnlyHint == false`)
36045
+ *
36046
+ * Default: true
36047
+ */
36048
+ destructiveHint: ZodOptional<ZodBoolean>;
36049
+ /**
36050
+ * If true, calling the tool repeatedly with the same arguments
36051
+ * will have no additional effect on the its environment.
36052
+ *
36053
+ * (This property is meaningful only when `readOnlyHint == false`)
36054
+ *
36055
+ * Default: false
36056
+ */
36057
+ idempotentHint: ZodOptional<ZodBoolean>;
36058
+ /**
36059
+ * If true, this tool may interact with an "open world" of external
36060
+ * entities. If false, the tool's domain of interaction is closed.
36061
+ * For example, the world of a web search tool is open, whereas that
36062
+ * of a memory tool is not.
36063
+ *
36064
+ * Default: true
36065
+ */
36066
+ openWorldHint: ZodOptional<ZodBoolean>;
36067
+ }, "passthrough", ZodTypeAny, objectOutputType<{
36068
+ /**
36069
+ * A human-readable title for the tool.
36070
+ */
36071
+ title: ZodOptional<ZodString>;
36072
+ /**
36073
+ * If true, the tool does not modify its environment.
36074
+ *
36075
+ * Default: false
36076
+ */
36077
+ readOnlyHint: ZodOptional<ZodBoolean>;
36078
+ /**
36079
+ * If true, the tool may perform destructive updates to its environment.
36080
+ * If false, the tool performs only additive updates.
36081
+ *
36082
+ * (This property is meaningful only when `readOnlyHint == false`)
36083
+ *
36084
+ * Default: true
36085
+ */
36086
+ destructiveHint: ZodOptional<ZodBoolean>;
36087
+ /**
36088
+ * If true, calling the tool repeatedly with the same arguments
36089
+ * will have no additional effect on the its environment.
36090
+ *
36091
+ * (This property is meaningful only when `readOnlyHint == false`)
36092
+ *
36093
+ * Default: false
36094
+ */
36095
+ idempotentHint: ZodOptional<ZodBoolean>;
36096
+ /**
36097
+ * If true, this tool may interact with an "open world" of external
36098
+ * entities. If false, the tool's domain of interaction is closed.
36099
+ * For example, the world of a web search tool is open, whereas that
36100
+ * of a memory tool is not.
36101
+ *
36102
+ * Default: true
36103
+ */
36104
+ openWorldHint: ZodOptional<ZodBoolean>;
36105
+ }, ZodTypeAny, "passthrough">, objectInputType<{
36106
+ /**
36107
+ * A human-readable title for the tool.
36108
+ */
36109
+ title: ZodOptional<ZodString>;
36110
+ /**
36111
+ * If true, the tool does not modify its environment.
36112
+ *
36113
+ * Default: false
36114
+ */
36115
+ readOnlyHint: ZodOptional<ZodBoolean>;
36116
+ /**
36117
+ * If true, the tool may perform destructive updates to its environment.
36118
+ * If false, the tool performs only additive updates.
36119
+ *
36120
+ * (This property is meaningful only when `readOnlyHint == false`)
36121
+ *
36122
+ * Default: true
36123
+ */
36124
+ destructiveHint: ZodOptional<ZodBoolean>;
36125
+ /**
36126
+ * If true, calling the tool repeatedly with the same arguments
36127
+ * will have no additional effect on the its environment.
36128
+ *
36129
+ * (This property is meaningful only when `readOnlyHint == false`)
36130
+ *
36131
+ * Default: false
36132
+ */
36133
+ idempotentHint: ZodOptional<ZodBoolean>;
36134
+ /**
36135
+ * If true, this tool may interact with an "open world" of external
36136
+ * entities. If false, the tool's domain of interaction is closed.
36137
+ * For example, the world of a web search tool is open, whereas that
36138
+ * of a memory tool is not.
36139
+ *
36140
+ * Default: true
36141
+ */
36142
+ openWorldHint: ZodOptional<ZodBoolean>;
36143
+ }, ZodTypeAny, "passthrough">>>;
34800
36144
  }, "passthrough", ZodTypeAny, objectOutputType<{
34801
36145
  /**
34802
36146
  * The name of the tool.
@@ -34812,13 +36156,151 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34812
36156
  inputSchema: ZodObject<{
34813
36157
  type: ZodLiteral<"object">;
34814
36158
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36159
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34815
36160
  }, "passthrough", ZodTypeAny, objectOutputType<{
34816
36161
  type: ZodLiteral<"object">;
34817
36162
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36163
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34818
36164
  }, ZodTypeAny, "passthrough">, objectInputType<{
34819
36165
  type: ZodLiteral<"object">;
34820
36166
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36167
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34821
36168
  }, ZodTypeAny, "passthrough">>;
36169
+ /**
36170
+ * An optional JSON Schema object defining the structure of the tool's output returned in
36171
+ * the structuredContent field of a CallToolResult.
36172
+ */
36173
+ outputSchema: ZodOptional<ZodObject<{
36174
+ type: ZodLiteral<"object">;
36175
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36176
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36177
+ }, "passthrough", ZodTypeAny, objectOutputType<{
36178
+ type: ZodLiteral<"object">;
36179
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36180
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36181
+ }, ZodTypeAny, "passthrough">, objectInputType<{
36182
+ type: ZodLiteral<"object">;
36183
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36184
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36185
+ }, ZodTypeAny, "passthrough">>>;
36186
+ /**
36187
+ * Optional additional tool information.
36188
+ */
36189
+ annotations: ZodOptional<ZodObject<{
36190
+ /**
36191
+ * A human-readable title for the tool.
36192
+ */
36193
+ title: ZodOptional<ZodString>;
36194
+ /**
36195
+ * If true, the tool does not modify its environment.
36196
+ *
36197
+ * Default: false
36198
+ */
36199
+ readOnlyHint: ZodOptional<ZodBoolean>;
36200
+ /**
36201
+ * If true, the tool may perform destructive updates to its environment.
36202
+ * If false, the tool performs only additive updates.
36203
+ *
36204
+ * (This property is meaningful only when `readOnlyHint == false`)
36205
+ *
36206
+ * Default: true
36207
+ */
36208
+ destructiveHint: ZodOptional<ZodBoolean>;
36209
+ /**
36210
+ * If true, calling the tool repeatedly with the same arguments
36211
+ * will have no additional effect on the its environment.
36212
+ *
36213
+ * (This property is meaningful only when `readOnlyHint == false`)
36214
+ *
36215
+ * Default: false
36216
+ */
36217
+ idempotentHint: ZodOptional<ZodBoolean>;
36218
+ /**
36219
+ * If true, this tool may interact with an "open world" of external
36220
+ * entities. If false, the tool's domain of interaction is closed.
36221
+ * For example, the world of a web search tool is open, whereas that
36222
+ * of a memory tool is not.
36223
+ *
36224
+ * Default: true
36225
+ */
36226
+ openWorldHint: ZodOptional<ZodBoolean>;
36227
+ }, "passthrough", ZodTypeAny, objectOutputType<{
36228
+ /**
36229
+ * A human-readable title for the tool.
36230
+ */
36231
+ title: ZodOptional<ZodString>;
36232
+ /**
36233
+ * If true, the tool does not modify its environment.
36234
+ *
36235
+ * Default: false
36236
+ */
36237
+ readOnlyHint: ZodOptional<ZodBoolean>;
36238
+ /**
36239
+ * If true, the tool may perform destructive updates to its environment.
36240
+ * If false, the tool performs only additive updates.
36241
+ *
36242
+ * (This property is meaningful only when `readOnlyHint == false`)
36243
+ *
36244
+ * Default: true
36245
+ */
36246
+ destructiveHint: ZodOptional<ZodBoolean>;
36247
+ /**
36248
+ * If true, calling the tool repeatedly with the same arguments
36249
+ * will have no additional effect on the its environment.
36250
+ *
36251
+ * (This property is meaningful only when `readOnlyHint == false`)
36252
+ *
36253
+ * Default: false
36254
+ */
36255
+ idempotentHint: ZodOptional<ZodBoolean>;
36256
+ /**
36257
+ * If true, this tool may interact with an "open world" of external
36258
+ * entities. If false, the tool's domain of interaction is closed.
36259
+ * For example, the world of a web search tool is open, whereas that
36260
+ * of a memory tool is not.
36261
+ *
36262
+ * Default: true
36263
+ */
36264
+ openWorldHint: ZodOptional<ZodBoolean>;
36265
+ }, ZodTypeAny, "passthrough">, objectInputType<{
36266
+ /**
36267
+ * A human-readable title for the tool.
36268
+ */
36269
+ title: ZodOptional<ZodString>;
36270
+ /**
36271
+ * If true, the tool does not modify its environment.
36272
+ *
36273
+ * Default: false
36274
+ */
36275
+ readOnlyHint: ZodOptional<ZodBoolean>;
36276
+ /**
36277
+ * If true, the tool may perform destructive updates to its environment.
36278
+ * If false, the tool performs only additive updates.
36279
+ *
36280
+ * (This property is meaningful only when `readOnlyHint == false`)
36281
+ *
36282
+ * Default: true
36283
+ */
36284
+ destructiveHint: ZodOptional<ZodBoolean>;
36285
+ /**
36286
+ * If true, calling the tool repeatedly with the same arguments
36287
+ * will have no additional effect on the its environment.
36288
+ *
36289
+ * (This property is meaningful only when `readOnlyHint == false`)
36290
+ *
36291
+ * Default: false
36292
+ */
36293
+ idempotentHint: ZodOptional<ZodBoolean>;
36294
+ /**
36295
+ * If true, this tool may interact with an "open world" of external
36296
+ * entities. If false, the tool's domain of interaction is closed.
36297
+ * For example, the world of a web search tool is open, whereas that
36298
+ * of a memory tool is not.
36299
+ *
36300
+ * Default: true
36301
+ */
36302
+ openWorldHint: ZodOptional<ZodBoolean>;
36303
+ }, ZodTypeAny, "passthrough">>>;
34822
36304
  }, ZodTypeAny, "passthrough">, objectInputType<{
34823
36305
  /**
34824
36306
  * The name of the tool.
@@ -34834,13 +36316,151 @@ declare const ServerResultSchema: ZodUnion<[ZodObject<{
34834
36316
  inputSchema: ZodObject<{
34835
36317
  type: ZodLiteral<"object">;
34836
36318
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36319
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34837
36320
  }, "passthrough", ZodTypeAny, objectOutputType<{
34838
36321
  type: ZodLiteral<"object">;
34839
36322
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36323
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34840
36324
  }, ZodTypeAny, "passthrough">, objectInputType<{
34841
36325
  type: ZodLiteral<"object">;
34842
36326
  properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36327
+ required: ZodOptional<ZodArray<ZodString, "many">>;
34843
36328
  }, ZodTypeAny, "passthrough">>;
36329
+ /**
36330
+ * An optional JSON Schema object defining the structure of the tool's output returned in
36331
+ * the structuredContent field of a CallToolResult.
36332
+ */
36333
+ outputSchema: ZodOptional<ZodObject<{
36334
+ type: ZodLiteral<"object">;
36335
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36336
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36337
+ }, "passthrough", ZodTypeAny, objectOutputType<{
36338
+ type: ZodLiteral<"object">;
36339
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36340
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36341
+ }, ZodTypeAny, "passthrough">, objectInputType<{
36342
+ type: ZodLiteral<"object">;
36343
+ properties: ZodOptional<ZodObject<{}, "passthrough", ZodTypeAny, objectOutputType<{}, ZodTypeAny, "passthrough">, objectInputType<{}, ZodTypeAny, "passthrough">>>;
36344
+ required: ZodOptional<ZodArray<ZodString, "many">>;
36345
+ }, ZodTypeAny, "passthrough">>>;
36346
+ /**
36347
+ * Optional additional tool information.
36348
+ */
36349
+ annotations: ZodOptional<ZodObject<{
36350
+ /**
36351
+ * A human-readable title for the tool.
36352
+ */
36353
+ title: ZodOptional<ZodString>;
36354
+ /**
36355
+ * If true, the tool does not modify its environment.
36356
+ *
36357
+ * Default: false
36358
+ */
36359
+ readOnlyHint: ZodOptional<ZodBoolean>;
36360
+ /**
36361
+ * If true, the tool may perform destructive updates to its environment.
36362
+ * If false, the tool performs only additive updates.
36363
+ *
36364
+ * (This property is meaningful only when `readOnlyHint == false`)
36365
+ *
36366
+ * Default: true
36367
+ */
36368
+ destructiveHint: ZodOptional<ZodBoolean>;
36369
+ /**
36370
+ * If true, calling the tool repeatedly with the same arguments
36371
+ * will have no additional effect on the its environment.
36372
+ *
36373
+ * (This property is meaningful only when `readOnlyHint == false`)
36374
+ *
36375
+ * Default: false
36376
+ */
36377
+ idempotentHint: ZodOptional<ZodBoolean>;
36378
+ /**
36379
+ * If true, this tool may interact with an "open world" of external
36380
+ * entities. If false, the tool's domain of interaction is closed.
36381
+ * For example, the world of a web search tool is open, whereas that
36382
+ * of a memory tool is not.
36383
+ *
36384
+ * Default: true
36385
+ */
36386
+ openWorldHint: ZodOptional<ZodBoolean>;
36387
+ }, "passthrough", ZodTypeAny, objectOutputType<{
36388
+ /**
36389
+ * A human-readable title for the tool.
36390
+ */
36391
+ title: ZodOptional<ZodString>;
36392
+ /**
36393
+ * If true, the tool does not modify its environment.
36394
+ *
36395
+ * Default: false
36396
+ */
36397
+ readOnlyHint: ZodOptional<ZodBoolean>;
36398
+ /**
36399
+ * If true, the tool may perform destructive updates to its environment.
36400
+ * If false, the tool performs only additive updates.
36401
+ *
36402
+ * (This property is meaningful only when `readOnlyHint == false`)
36403
+ *
36404
+ * Default: true
36405
+ */
36406
+ destructiveHint: ZodOptional<ZodBoolean>;
36407
+ /**
36408
+ * If true, calling the tool repeatedly with the same arguments
36409
+ * will have no additional effect on the its environment.
36410
+ *
36411
+ * (This property is meaningful only when `readOnlyHint == false`)
36412
+ *
36413
+ * Default: false
36414
+ */
36415
+ idempotentHint: ZodOptional<ZodBoolean>;
36416
+ /**
36417
+ * If true, this tool may interact with an "open world" of external
36418
+ * entities. If false, the tool's domain of interaction is closed.
36419
+ * For example, the world of a web search tool is open, whereas that
36420
+ * of a memory tool is not.
36421
+ *
36422
+ * Default: true
36423
+ */
36424
+ openWorldHint: ZodOptional<ZodBoolean>;
36425
+ }, ZodTypeAny, "passthrough">, objectInputType<{
36426
+ /**
36427
+ * A human-readable title for the tool.
36428
+ */
36429
+ title: ZodOptional<ZodString>;
36430
+ /**
36431
+ * If true, the tool does not modify its environment.
36432
+ *
36433
+ * Default: false
36434
+ */
36435
+ readOnlyHint: ZodOptional<ZodBoolean>;
36436
+ /**
36437
+ * If true, the tool may perform destructive updates to its environment.
36438
+ * If false, the tool performs only additive updates.
36439
+ *
36440
+ * (This property is meaningful only when `readOnlyHint == false`)
36441
+ *
36442
+ * Default: true
36443
+ */
36444
+ destructiveHint: ZodOptional<ZodBoolean>;
36445
+ /**
36446
+ * If true, calling the tool repeatedly with the same arguments
36447
+ * will have no additional effect on the its environment.
36448
+ *
36449
+ * (This property is meaningful only when `readOnlyHint == false`)
36450
+ *
36451
+ * Default: false
36452
+ */
36453
+ idempotentHint: ZodOptional<ZodBoolean>;
36454
+ /**
36455
+ * If true, this tool may interact with an "open world" of external
36456
+ * entities. If false, the tool's domain of interaction is closed.
36457
+ * For example, the world of a web search tool is open, whereas that
36458
+ * of a memory tool is not.
36459
+ *
36460
+ * Default: true
36461
+ */
36462
+ openWorldHint: ZodOptional<ZodBoolean>;
36463
+ }, ZodTypeAny, "passthrough">>>;
34844
36464
  }, ZodTypeAny, "passthrough">>, "many">;
34845
36465
  }>, ZodTypeAny, "passthrough">>]>;
34846
36466
  type Primitive = string | number | boolean | bigint | null | undefined;
@@ -34849,6 +36469,7 @@ type Flatten<T> = T extends Primitive ? T : T extends Array<infer U> ? Array<Fla
34849
36469
  } : T;
34850
36470
  type Infer<Schema extends ZodTypeAny> = Flatten<TypeOf<Schema>>;
34851
36471
  type Request = Infer<typeof RequestSchema>;
36472
+ type RequestMeta = Infer<typeof RequestMetaSchema>;
34852
36473
  type Notification = Infer<typeof NotificationSchema>;
34853
36474
  type Result = Infer<typeof ResultSchema>;
34854
36475
  type RequestId = Infer<typeof RequestIdSchema>;
@@ -34862,6 +36483,7 @@ type ListResourcesResult = Infer<typeof ListResourcesResultSchema>;
34862
36483
  type ReadResourceResult = Infer<typeof ReadResourceResultSchema>;
34863
36484
  type ResourceUpdatedNotification = Infer<typeof ResourceUpdatedNotificationSchema>;
34864
36485
  type GetPromptResult = Infer<typeof GetPromptResultSchema>;
36486
+ type ToolAnnotations = Infer<typeof ToolAnnotationsSchema>;
34865
36487
  type CallToolResult = Infer<typeof CallToolResultSchema>;
34866
36488
  type LoggingMessageNotification = Infer<typeof LoggingMessageNotificationSchema>;
34867
36489
  type CreateMessageRequest = Infer<typeof CreateMessageRequestSchema>;
@@ -35040,6 +36662,15 @@ type RequestHandlerExtra<SendRequestT extends Request, SendNotificationT extends
35040
36662
  * The session ID from the transport, if available.
35041
36663
  */
35042
36664
  sessionId?: string;
36665
+ /**
36666
+ * Metadata from the original request.
36667
+ */
36668
+ _meta?: RequestMeta;
36669
+ /**
36670
+ * The JSON-RPC ID of the request being handled.
36671
+ * This can be useful for tracking or logging purposes.
36672
+ */
36673
+ requestId: RequestId;
35043
36674
  /**
35044
36675
  * Sends a notification that relates to the current request being handled.
35045
36676
  *
@@ -35375,6 +37006,7 @@ declare class McpServer {
35375
37006
  * Registers a resource `name` with a template pattern and metadata, which will use the given callback to respond to read requests.
35376
37007
  */
35377
37008
  resource(name: string, template: ResourceTemplate, metadata: ResourceMetadata, readCallback: ReadResourceTemplateCallback): RegisteredResourceTemplate;
37009
+ private _createRegisteredTool;
35378
37010
  /**
35379
37011
  * Registers a zero-argument tool `name`, which will run the given function when the client calls it.
35380
37012
  */
@@ -35384,13 +37016,39 @@ declare class McpServer {
35384
37016
  */
35385
37017
  tool(name: string, description: string, cb: ToolCallback): RegisteredTool;
35386
37018
  /**
35387
- * Registers a tool `name` accepting the given arguments, which must be an object containing named properties associated with Zod schemas. When the client calls it, the function will be run with the parsed and validated arguments.
37019
+ * Registers a tool taking either a parameter schema for validation or annotations for additional metadata.
37020
+ * This unified overload handles both `tool(name, paramsSchema, cb)` and `tool(name, annotations, cb)` cases.
37021
+ *
37022
+ * Note: We use a union type for the second parameter because TypeScript cannot reliably disambiguate
37023
+ * between ToolAnnotations and ZodRawShape during overload resolution, as both are plain object types.
37024
+ */
37025
+ tool<Args extends ZodRawShape>(name: string, paramsSchemaOrAnnotations: Args | ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool;
37026
+ /**
37027
+ * Registers a tool `name` (with a description) taking either parameter schema or annotations.
37028
+ * This unified overload handles both `tool(name, description, paramsSchema, cb)` and
37029
+ * `tool(name, description, annotations, cb)` cases.
37030
+ *
37031
+ * Note: We use a union type for the third parameter because TypeScript cannot reliably disambiguate
37032
+ * between ToolAnnotations and ZodRawShape during overload resolution, as both are plain object types.
35388
37033
  */
35389
- tool<Args extends ZodRawShape>(name: string, paramsSchema: Args, cb: ToolCallback<Args>): RegisteredTool;
37034
+ tool<Args extends ZodRawShape>(name: string, description: string, paramsSchemaOrAnnotations: Args | ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool;
35390
37035
  /**
35391
- * Registers a tool `name` (with a description) accepting the given arguments, which must be an object containing named properties associated with Zod schemas. When the client calls it, the function will be run with the parsed and validated arguments.
37036
+ * Registers a tool with both parameter schema and annotations.
35392
37037
  */
35393
- tool<Args extends ZodRawShape>(name: string, description: string, paramsSchema: Args, cb: ToolCallback<Args>): RegisteredTool;
37038
+ tool<Args extends ZodRawShape>(name: string, paramsSchema: Args, annotations: ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool;
37039
+ /**
37040
+ * Registers a tool with description, parameter schema, and annotations.
37041
+ */
37042
+ tool<Args extends ZodRawShape>(name: string, description: string, paramsSchema: Args, annotations: ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool;
37043
+ /**
37044
+ * Registers a tool with a config object and callback.
37045
+ */
37046
+ registerTool<InputArgs extends ZodRawShape, OutputArgs extends ZodRawShape>(name: string, config: {
37047
+ description?: string;
37048
+ inputSchema?: InputArgs;
37049
+ outputSchema?: OutputArgs;
37050
+ annotations?: ToolAnnotations;
37051
+ }, cb: ToolCallback<InputArgs>): RegisteredTool;
35394
37052
  /**
35395
37053
  * Registers a zero-argument prompt `name`, which will run the given function when the client calls it.
35396
37054
  */
@@ -35465,20 +37123,29 @@ declare class ResourceTemplate {
35465
37123
  * Callback for a tool handler registered with Server.tool().
35466
37124
  *
35467
37125
  * Parameters will include tool arguments, if applicable, as well as other request handler context.
37126
+ *
37127
+ * The callback should return:
37128
+ * - `structuredContent` if the tool has an outputSchema defined
37129
+ * - `content` if the tool does not have an outputSchema
37130
+ * - Both fields are optional but typically one should be provided
35468
37131
  */
35469
37132
  type ToolCallback<Args extends undefined | ZodRawShape = undefined> = Args extends ZodRawShape ? (args: objectOutputType<Args, ZodTypeAny>, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => CallToolResult | Promise<CallToolResult> : (extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => CallToolResult | Promise<CallToolResult>;
35470
37133
  type RegisteredTool = {
35471
37134
  description?: string;
35472
37135
  inputSchema?: AnyZodObject;
37136
+ outputSchema?: AnyZodObject;
37137
+ annotations?: ToolAnnotations;
35473
37138
  callback: ToolCallback<undefined | ZodRawShape>;
35474
37139
  enabled: boolean;
35475
37140
  enable(): void;
35476
37141
  disable(): void;
35477
- update<Args extends ZodRawShape>(updates: {
37142
+ update<InputArgs extends ZodRawShape, OutputArgs extends ZodRawShape>(updates: {
35478
37143
  name?: string | null;
35479
37144
  description?: string;
35480
- paramsSchema?: Args;
35481
- callback?: ToolCallback<Args>;
37145
+ paramsSchema?: InputArgs;
37146
+ outputSchema?: OutputArgs;
37147
+ annotations?: ToolAnnotations;
37148
+ callback?: ToolCallback<InputArgs>;
35482
37149
  enabled?: boolean;
35483
37150
  }): void;
35484
37151
  remove(): void;
@@ -35556,9 +37223,7 @@ interface LikeC4MCPServer {
35556
37223
  start(port: number): Promise<void>;
35557
37224
  stop(): Promise<void>;
35558
37225
  }
35559
- declare class LikeC4MCPServerFactory {
35560
- private services;
35561
- constructor(services: LikeC4Services);
37226
+ interface LikeC4MCPServerFactory {
35562
37227
  create(options?: ServerOptions): McpServer;
35563
37228
  }
35564
37229