UNPKG

contentful-management

Version:
102 lines (101 loc) 3.66 kB
import type { DefaultElements, MakeRequest, SysLink } from '../common-types'; import type { Document as RichTextDocument } from '@contentful/rich-text-types'; export type InvocationStatus = 'SCHEDULED' | 'IN_PROGRESS' | 'FAILED' | 'COMPLETED' | 'CANCELLED'; export type InvocationResultType = 'text'; export declare const AiActionOutputFormat: { readonly RichText: "RichText"; readonly Markdown: "Markdown"; readonly PlainText: "PlainText"; }; export type AiActionOutputFormatType = (typeof AiActionOutputFormat)[keyof typeof AiActionOutputFormat]; export type AiActionInvocationMetadata = { invocationResult?: { modelProvider?: string; modelId?: string; wordCount?: number; outputFormat?: AiActionOutputFormatType; }; statusChangedDates?: { status: InvocationStatus; date: string; }[]; }; export interface InvocationResult { content: string | RichTextDocument; type: InvocationResultType; metadata: AiActionInvocationMetadata; } export type AiActionInvocationProps = { sys: { id: string; type: 'AiActionInvocation'; space: SysLink; environment: SysLink; aiAction: SysLink; status: InvocationStatus; errorCode?: string; }; result?: InvocationResult; }; export type AiActionTextVariable = { id: string; value: string; }; export type AiActionEntityLinkVariable = { id: string; value: { sys: { type: 'Link'; linkType: 'Entry' | 'Asset' | 'ResourceLink'; id: string; release?: SysLink; /** JSON Pointers to entity fields, e.g. `"/fields/title/en-US"` */ entityPaths?: Array<string>; }; }; }; /** @deprecated Use `AiActionEntityLinkVariable` with the sys-nested format instead. */ export type AiActionLegacyEntityPathVariable = { id: string; value: { entityPath: string; entityType: 'Entry' | 'Asset' | 'ResourceLink'; entityId: string; }; }; /** @deprecated Use `AiActionEntityLinkVariable` with the sys-nested format instead. */ export type AiActionLegacyEntityPathsVariable = { id: string; value: { entityPaths: Array<string>; entityType: 'Entry'; entityId: string; }; }; export type AiActionInvocationVariable = AiActionTextVariable | AiActionEntityLinkVariable | AiActionLegacyEntityPathVariable | AiActionLegacyEntityPathsVariable; export type AiActionInvocationType = { outputFormat?: 'RichText' | 'Markdown' | 'PlainText'; variables?: Array<AiActionInvocationVariable>; }; /** * The AI Action Invocation entity. * This entity is read-only and primarily used to inspect the result of an AI action invocation. */ export interface AiActionInvocation extends AiActionInvocationProps, DefaultElements<AiActionInvocationProps> { } /** * Wraps raw AI Action Invocation data with SDK helper methods. * * @param makeRequest - Function to make API requests. * @param data - Raw AI Action Invocation data. * @returns The AI Action Invocation entity. */ export declare function wrapAiActionInvocation(makeRequest: MakeRequest, data: AiActionInvocationProps): AiActionInvocation; /** * Wraps a collection of raw AI Action Invocation data. * * @param makeRequest - Function to make API requests. * @param data - Raw collection data. * @returns A collection of AI Action Invocation entities. */ export declare const wrapAiActionInvocationCollection: (makeRequest: MakeRequest, data: import("..").CollectionProp<AiActionInvocationProps>) => import("..").Collection<AiActionInvocation, AiActionInvocationProps>;