@summarisation/summarise
Version:
cli for summariser
66 lines (65 loc) • 2.21 kB
TypeScript
import { RetryPolicyConfig, Throttling } from "@itsmworkbench/kleislis";
import { ValidateFn } from "@itsmworkbench/cli";
import { NameAnd } from "@laoban/utils";
export declare function abortIfDirectoryDoesNotExist(dir: string, message: string): Promise<void>;
export type SummariseConfig = {
directories: SummariseDirectories;
ai: SummariseAi;
tika: SummariseTika;
nonfunctionals: SummariseNonfunctionals;
report: SumariseReport;
transform: SummariseTransform;
};
type TransformationType = 'onePerFile' | 'onePerPage';
export type SummariseTransform = {
type: TransformationType;
schema: SummariseSchema;
prompt: string;
};
export type SumariseReport = {
categories: string[];
fields: NameAnd<SumariseReportField>;
};
export type SummariseReportEnum = {
type: 'enum';
enum: string[];
};
export type SummariseReportNumber = {
type: 'number';
};
export type SumariseReportField = SummariseReportEnum | SummariseReportNumber;
export type SummariseTika = {
type: 'jar';
jar: string;
};
export type SummariseDirectories = {
inputs: string;
tika: string;
text: string;
summary: string;
};
export type SummariseAi = {
type: 'openai';
url: string;
model: string;
token: string;
};
export type SummariseNonfunctionals = {
throttlingPerHour: number;
concurrent: number;
retry: RetryPolicyConfig;
};
export declare function configToThrottling(config: SummariseNonfunctionals): Throttling;
export type SummariseSchema = {
type: 'inline';
value: any;
};
export declare function validateDirectory(directories: SummariseDirectories): string[];
export declare function validateAi(ai: SummariseAi): string[];
export declare function validateNonfunctionals(nonfunctionals: SummariseNonfunctionals): string[];
export declare function validateSchema(schema: SummariseSchema, name: string): string[];
export declare function validateTika(tika: SummariseTika): string[];
export declare function validateReport(report: SumariseReport): string[];
export declare function validationTransform(tx: SummariseTransform): string[];
export declare const validateConfig: ValidateFn<SummariseConfig, SummariseConfig>;
export {};