Types TypeScript
Types principaux exportés par le SDK PluginFactory.
PluginContext
Contexte injecté dans chaque appel d'outil.
interface PluginContext {
user: { id: string; email: string } | null;
session: SessionStore;
db: PrismaClient;
http: HttpClient;
logger: Logger;
}
Result<T, E>
Type Result fonctionnel pour les opérations faillibles.
type Result<T, E = string> =
| { success: true; data: T }
| { success: false; error: E };
// Usage
function createLead(input: unknown): Result<Lead> {
const parsed = LeadSchema.safeParse(input);
if (!parsed.success) return { success: false, error: "Invalid input" };
return { success: true, data: parsed.data };
}
PluginConfig
Configuration passée à createPlugin().
interface PluginConfig<T extends Record<string, Tool>> {
name: string;
tools: T;
onBeforeCall?: BeforeCallHook;
onAfterCall?: AfterCallHook;
onError?: ErrorHook;
}