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;
}

Previous

← Page précédente

Next

Page suivante →