docsGuidesAI Adapters

AI Adapters

This package is provider-agnostic. You inject your own adapter via options.ai.adapter.

Canonical API signatures are documented in README.

Adapter Contract

type PostMetaAIAdapter = {
  name?: string;
  generate: (input: {
    system: string;
    user: string;
    schema: {
      type: "object";
      properties: {
        description: { type: ["string", "null"] };
        tags: { type: "array"; items: { type: "string" } };
      };
      required: ["description", "tags"];
      additionalProperties: false;
    };
  }) => Promise<{ description: string | null; tags: string[] }>;
};

Behavior Notes

  • AI retries default to 3
  • Invalid responses are retried
  • After retries fail: description = null, tags = []
  • Diagnostics are always returned in result.ai