Machine-readable name for the new tool: an ASCII letter, then ASCII letters, digits, underscores and hyphens,
at most 200 characters. Any other name is refused before the forge runs (see forgedToolNameProblem).
Natural language description of the tool's purpose.
JSON Schema for the tool's input arguments.
Optional outputJSON Schema for the tool's expected output (optional).
Implementation specification — either compose (chain existing tools) or
sandbox (arbitrary code). Discriminated on the mode field.
One or more test cases for the judge to evaluate.
Each has an input object and optional expectedOutput.
Optional expectedOptional stepOptional responses?: ForgeTestResponse[]
Input arguments accepted by the
forge_toolmeta-tool.Mirrors ForgeToolRequest but typed as a
Record<string, any>to satisfy theIToolgeneric constraint while retaining semantic clarity.