Skip to main content

Interface: ForgeToolRequest

Defined in: packages/agentos/src/emergent/types.ts:533

Request payload for the forge_tool system tool.

An agent submits this to request the creation of a new emergent tool. The engine validates the request, runs the judge, and returns a ForgeResult.

Properties

description

description: string

Defined in: packages/agentos/src/emergent/types.ts:544

Natural language description of the tool's purpose and behaviour. Used verbatim as the tool's description in the LLM tool list.


implementation

implementation: ToolImplementation

Defined in: packages/agentos/src/emergent/types.ts:559

Implementation specification — composable pipeline or sandboxed code.


inputSchema

inputSchema: JSONSchemaObject

Defined in: packages/agentos/src/emergent/types.ts:549

JSON Schema for the tool's input arguments.


name

name: string

Defined in: packages/agentos/src/emergent/types.ts:538

Desired machine-readable name for the new tool. Must be unique among tools currently visible to the requesting agent.


outputSchema

outputSchema: JSONSchemaObject

Defined in: packages/agentos/src/emergent/types.ts:554

JSON Schema for the tool's expected output.


testCases

testCases: [ForgeTestCase, ...ForgeTestCase[]]

Defined in: packages/agentos/src/emergent/types.ts:565

One or more test cases the judge uses to evaluate correctness. At least one test case is required for the forge request to be accepted.