package cactus:needle@3.0.0; interface engine { record failure { code: s32, message: string, } load: func(model: list) -> result<_, failure>; init: func( system-prompt: option, tools-json: option, tool-index-path: option, ) -> result; complete: func( input: string, max-new-tokens: u32, ) -> result; embed: func( input: string, ) -> result, failure>; reset: func(); } world needle { export engine; }