UNPKG

contentful-management

Version:
76 lines (75 loc) 2.59 kB
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>;