ExtensionInputSchema class

Typed JSON Schema for the input parameters of a custom Marionette extension.

Equivalent of ToolInputSchema from the mcp_dart package, restricted to what the Dart VM service can actually carry: a flat object whose properties are scalar types. Nested objects/arrays cannot travel as a single VM service param (params are flattened to strings on the wire), so the type system makes that constraint a compile-time guarantee.

toJson() emits a JSON Schema object compatible with what marionette_mcp parses via mcp_dart's JsonSchema.fromJson — devs don't have to memorize the JSON Schema field names.

Annotations

Constructors

ExtensionInputSchema({Map<String, ExtensionParam> properties = const {}, List<String> required = const [], String? title, String? description})
const

Properties

description → String?
Human-readable description for the schema. Optional.
final
hashCode → int
The hash code for this object.
no setterinherited
properties → Map<String, ExtensionParam>
Per-property schemas keyed by parameter name.
final
required → List<String>
Names of properties that must be present.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
title → String?
Human-readable title for the schema. Optional.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Serializes to a JSON Schema object as expected by the MCP wire format produced by marionette.listExtensions.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited