Create a new ForgeToolMetaTool.
The EmergentCapabilityEngine that will handle the actual forge pipeline (build → test → judge → register).
Execute the forge pipeline via the engine.
Extracts the agent ID and session/correlation ID from the execution context and delegates to EmergentCapabilityEngine.forge.
The forge tool input arguments (name, description, schemas, implementation, test cases).
The tool execution context providing agent and session IDs.
A ToolExecutionResult wrapping the ForgeResult.
Readonly idA globally unique identifier for this specific tool (e.g., "web-search-engine-v1.2", "stock-price-fetcher").
This ID is used for internal registration, management, and precise identification.
It's recommended to use a namespaced, versioned format (e.g., vendor-toolname-version).
Readonly nameThe functional name of the tool, as it should be presented to and used by an LLM in a tool call request (e.g., "searchWeb", "executePythonCode", "getWeatherForecast"). This name must be unique among the set of tools made available to a given GMI/LLM at any time. It should be concise, descriptive, and typically in camelCase or snake_case.
Readonly displayA concise, human-readable title or display name for the tool. Used in user interfaces, logs, or when presenting tool options to developers or users.
"Web Search Engine", "Advanced Python Code Interpreter"
Readonly descriptionA detailed, natural language description of what the tool does, its primary purpose, typical use cases, and any important considerations or limitations for its use. This description is critical for an LLM to understand the tool's capabilities and make informed decisions about when and how to invoke it. It should be comprehensive enough for the LLM to grasp the tool's semantics.
Readonly Optional categoryOptional. A category or group to which this tool belongs (e.g., "data_analysis", "communication", "file_system", "image_generation"). This is useful for organizing tools, for filtering in UIs or registries, and potentially for aiding an LLM in selecting from a large set of tools.
Readonly Optional hasOptional. Indicates if the tool might have side effects on external systems
(e.g., writing to a database, sending an email, making a purchase, modifying a file).
Defaults to false if not specified. LLMs or orchestrators might handle tools with side effects
with greater caution, potentially requiring explicit user confirmation.
Readonly inputThe JSON schema defining the structure, types, and constraints of the input arguments object that this tool expects. This schema is used by:
ToolExecutor: For validating the arguments before invoking the tool's execute method.
It should follow the JSON Schema specification.
Meta-tool enabling agents to create new tools at runtime.
Only registered when the agent is configured with
emergent: true. Adds ~120 tokens to the tool list. Agents provide: name, description, schemas, implementation (compose existing tools or write sandboxed code), and test cases.Example