contentful-management
Version:
Client for Contentful's Content Management API
98 lines (97 loc) • 2.92 kB
TypeScript
import type { DefaultElements, MakeRequest, MetaSysProps } from '../common-types';
import { type AiActionInvocationType, type AiActionInvocation } from './ai-action-invocation';
export declare enum StatusFilter {
ALL = "all",
PUBLISHED = "published"
}
export declare enum VariableType {
RESOURCE_LINK = "ResourceLink",
TEXT = "Text",
STANDARD_INPUT = "StandardInput",
LOCALE = "Locale",
MEDIA_REFERENCE = "MediaReference",
REFERENCE = "Reference",
SMART_CONTEXT = "SmartContext"
}
export declare enum EntityTypeEntry {
ENTRY = "Entry"
}
export type ReferenceVariableConfiguration = {
allowedEntities: Array<EntityTypeEntry>;
};
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 type SysLinkUserOrApp = {
sys: {
id: string;
linkType: 'User' | 'App';
type: 'Link';
};
};
export interface AiActionQueryOptions {
limit?: number;
skip?: number;
status?: StatusFilter;
}
export type AiActionProps = {
sys: MetaSysProps & {
type: 'AiAction';
space: {
sys: {
id: string;
};
};
publishedBy?: SysLinkUserOrApp;
updatedBy: SysLinkUserOrApp;
createdBy: SysLinkUserOrApp;
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>;