contentful-management
Version: 
Client for Contentful's Content Management API
76 lines (75 loc) • 2.59 kB
TypeScript
import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types';
import { type AiActionInvocationType, type AiActionInvocation } from './ai-action-invocation';
export type VariableType = 'ResourceLink' | 'Text' | 'StandardInput' | 'Locale' | 'MediaReference' | 'Reference' | 'SmartContext';
export type ReferenceVariableConfiguration = {
    allowedEntities: Array<'Entry'>;
};
export type VariableConfiguration = {
    strict: boolean;
    in: Array<string>;
} | ReferenceVariableConfiguration;
export type Variable = {
    configuration?: VariableConfiguration;
    description?: string;
    name?: string;
    type: VariableType;
    id: string;
};
export type Instruction = {
    variables: Array<Variable>;
    template: string;
};
export type Configuration = {
    modelType: string;
    modelTemperature: number;
};
export type AiActionTestCase = {
    type?: 'Text';
    value?: string;
} | {
    type?: 'Reference';
    value?: {
        entityPath?: string;
        entityType?: 'Entry';
        entityId?: string;
    };
};
export interface AiActionQueryOptions {
    limit?: number;
    skip?: number;
    status?: 'all' | 'published';
}
export type AiActionProps = {
    sys: MetaSysProps & {
        type: 'AiAction';
        space: {
            sys: {
                id: string;
            };
        };
        publishedBy?: Link<'User'> | Link<'AppDefinition'>;
        updatedBy: Link<'User'> | Link<'AppDefinition'>;
        createdBy: Link<'User'> | Link<'AppDefinition'>;
        publishedVersion?: number;
        version: number;
        publishedAt?: string;
        updatedAt: string;
        createdAt: string;
        id: string;
    };
    name: string;
    description: string;
    configuration: Configuration;
    instruction: Instruction;
    testCases?: Array<AiActionTestCase>;
};
export type CreateAiActionProps = Pick<Omit<AiActionProps, 'sys'>, 'name' | 'description' | 'configuration' | 'instruction' | 'testCases'>;
export interface AiAction extends AiActionProps, DefaultElements<AiActionProps> {
    update(): Promise<AiAction>;
    delete(): Promise<void>;
    publish(): Promise<AiAction>;
    unpublish(): Promise<AiAction>;
    invoke(environmentId: string, payload: AiActionInvocationType): Promise<AiActionInvocation>;
}
export declare function wrapAiAction(makeRequest: MakeRequest, data: AiActionProps): AiAction;
export declare const wrapAiActionCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<AiActionProps>) => import("../common-types").Collection<AiAction, AiActionProps>;