Enhanced Kata with ThoughtSystem integration. Extends the core Kata with advanced reasoning capabilities.

Hierarchy

  • Kata
    • Kata

Constructors

Methods

  • Add a shuriken capability to this kata. The shuriken will be available for the AI to use during conversations.

    Parameters

    • shuriken: Shuriken

      The Shuriken instance to add

    Returns void

    Example: Adding Shurikens to a Kata

    const kata = new Kata(runtime, config);
    kata.addShuriken(weatherShuriken);
    kata.addShuriken(calculatorShuriken);

    Since

    1.0.0

  • Get total estimated cost for this kata.

    Returns number

    Total cost in USD across all executions

    Since

    1.0.0

  • Get total token usage for this kata.

    Returns {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    }

    Aggregated token usage across all executions

    • prompt_tokens: number
    • completion_tokens: number
    • total_tokens: number

    Since

    1.0.0

  • Get the number of registered shurikens.

    Returns number

    Count of available shurikens

    Since

    1.0.0

  • Get the names of all registered shurikens.

    Returns string[]

    Array of shuriken names

    Since

    1.0.0

  • Update kata configuration.

    Parameters

    • updates: Partial<KataConfig>

      Partial configuration updates to apply

    Returns void

    Since

    1.0.0

  • Check if kata has streaming enabled.

    Returns boolean

    True if streaming is enabled

    Since

    1.0.0

  • Check if kata has response schema configured.

    Returns boolean

    True if structured output is configured

    Since

    1.0.0

  • Check if kata requires human input.

    Returns boolean

    True if human input is required during execution

    Since

    1.0.0

  • Get enhanced information including thought module

    Returns {
        model: string;
        title: string;
        description: string;
        shurikens?: Shuriken[];
        stream?: boolean;
        responseSchema?: ZodType<any, ZodTypeDef, any>;
        parameters?: OpenAIParameters;
        shinobiPersona?: ShinobiPersonaContext;
        requiresHumanInput?: boolean;
        hasThoughtModule: boolean;
        thoughtModule: undefined | {
            id: string;
            name: string;
            description: undefined | string;
            strategies: string[];
            hasSchema: boolean;
        };
    }

    • model: string

      The OpenAI model to use for this Kata (e.g., 'gpt-4o-mini', 'gpt-4')

    • title: string

      A descriptive title for this Kata that explains its role

    • description: string

      Detailed description of what this Kata specializes in

    • Optional shurikens?: Shuriken[]

      Optional array of Shuriken capabilities this Kata can use

    • Optional stream?: boolean

      Whether to enable streaming responses (default: false)

    • Optional responseSchema?: ZodType<any, ZodTypeDef, any>

      Optional Zod schema for structured output validation

    • Optional parameters?: OpenAIParameters

      OpenAI API parameters (temperature, max_tokens, etc.)

    • Optional shinobiPersona?: ShinobiPersonaContext

      Shinobi persona context when this Kata is part of a Shinobi crew

    • Optional requiresHumanInput?: boolean

      Whether this Kata requires human input during execution (default: false)

    • hasThoughtModule: boolean
    • thoughtModule: undefined | {
          id: string;
          name: string;
          description: undefined | string;
          strategies: string[];
          hasSchema: boolean;
      }