@opscogs/octools
    Preparing search index...

    Interface OCToolInit

    The fields an OCTool is constructed from.

    Required: name, description, inputSchema, func and access. Every other field has a default, so a field a later minor spec version adds never breaks construction.

    interface OCToolInit {
        access: "local" | "remote";
        deprecated?: boolean;
        description: string;
        destructiveHint?: boolean;
        func: ToolFunc;
        idempotentHint?: boolean;
        inputSchema: JsonSchema;
        meta?: Readonly<Record<string, unknown>>;
        name: string;
        outputSchema?: JsonSchema | null;
        readOnlyHint?: boolean;
        resultKind?: "records" | "artifact";
        tags?: readonly string[];
        target?: string | null;
        title?: string | null;
    }
    Index
    access: "local" | "remote"

    Whether the tool reaches only local state or a remote system.

    deprecated?: boolean

    The tool is kept only as an alias. Defaults to false.

    description: string

    The model-facing description: two to four sentences.

    destructiveHint?: boolean

    A change the tool makes may destroy data. Defaults to false.

    func: ToolFunc

    The synchronous function that does the work.

    idempotentHint?: boolean

    Repeating a call has no further effect. Defaults to true.

    inputSchema: JsonSchema

    JSON Schema of the arguments; the root has type: "object".

    meta?: Readonly<Record<string, unknown>>

    Free-form JSON data for the runtime. Defaults to {}.

    name: string

    Lowercase snake_case, at most 48 characters (NAME_RE).

    outputSchema?: JsonSchema | null

    JSON Schema of the result; the root has type: "object".

    readOnlyHint?: boolean

    The tool changes nothing. Defaults to true.

    resultKind?: "records" | "artifact"

    The envelope the tool returns. Defaults to records.

    tags?: readonly string[]

    What the tool is, for a host to select by. Defaults to none.

    target?: string | null

    The remote system the tool reaches, when it names one.

    title?: string | null

    A display name for a person.