UNPKG

neuwo-api

Version:

TypeScript/JavaScript SDK client for the Neuwo content classification API

279 lines 10 kB
/** * Data models for Neuwo API requests and responses. * * This module defines internal API interfaces (exact API structure) and * exported SDK classes (JavaScript conventions) with transformation methods. */ interface ApiTagParent { [key: string]: { value: string; URI?: string; uri?: string; }; } interface ApiTag { URI?: string; uri?: string; value: string; score: string; parents?: ApiTagParent[][]; } interface ApiBrandSafetyTag { BS_score?: string; BS_indication?: "yes" | "no"; score?: string; indication?: boolean; } interface ApiTaxonomyArticle { ID: string; label: string; relevance: string; } interface ApiMarketingCategories { iab_tier_1?: ApiTaxonomyArticle[]; iab_tier_2?: ApiTaxonomyArticle[]; iab_tier_3?: ApiTaxonomyArticle[]; iab_audience_tier_3?: ApiTaxonomyArticle[]; iab_audience_tier_4?: ApiTaxonomyArticle[]; iab_audience_tier_5?: ApiTaxonomyArticle[]; google_topics?: ApiTaxonomyArticle[]; Marketing_items?: ApiTaxonomyArticle[]; } interface ApiSmartTag { ID: string; name: string; } interface ApiTrainingTag { articleID: string; tag: string; addedDate: string; } interface ApiSimilarArticle { articleID: string; headline?: string; articleURL?: string; imageURL?: string; score: number; published?: string; publicationID?: string; } /** * Internal API response interface for Article data. * Used for parsing JSON responses from the API. */ export interface ApiArticle { articleID: string; fetchDate: string; published?: string; headline?: string; writer?: string; category?: string; content?: string; summary?: string; publicationID?: string; articleURL?: string; imageURL?: string; includeInSim?: string | boolean; } /** * Internal API response interface for GetAiTopics endpoint. * Used for parsing JSON responses from the API. */ export interface ApiGetAiTopicsResponse { tags?: ApiTag[]; brand_safety?: ApiBrandSafetyTag; marketing_categories?: ApiMarketingCategories; smart_tags?: ApiSmartTag[]; } /** * Tag parent in the ontology hierarchy. */ export declare class TagParent { readonly level: string; readonly value: string; readonly uri: string; /** * @param level - Hierarchy level of the parent tag * @param value - Display value of the parent tag * @param uri - URI identifier for the parent tag */ constructor(level: string, value: string, uri: string); static fromApiResponse(data: ApiTagParent): TagParent; } /** * Subject tag with relevance score. */ export declare class Tag { readonly uri: string; readonly value: string; readonly score: number; readonly parents?: TagParent[][] | undefined; /** * @param uri - URI identifier for the tag * @param value - Display value of the tag * @param score - Relevance score (0-1) * @param parents - Optional hierarchy of parent tags */ constructor(uri: string, value: string, score: number, parents?: TagParent[][] | undefined); static fromApiResponse(data: ApiTag): Tag; } /** * Brand safety classification. */ export declare class BrandSafetyTag { readonly score: number; readonly indication: "yes" | "no"; /** * @param score - Brand safety score * @param indication - Brand safety indication ("yes" for safe, "no" for unsafe) */ constructor(score: number, indication: "yes" | "no"); /** * Whether the content is brand safe. */ get isSafe(): boolean; static fromApiResponse(data: ApiBrandSafetyTag): BrandSafetyTag; } /** * Taxonomy classification (IAB, Google Topics, etc.). */ export declare class TaxonomyArticle { readonly id: string; readonly label: string; readonly relevance: number; /** * @param id - Unique identifier for the taxonomy category * @param label - Human-readable label for the category * @param relevance - Relevance score for this classification */ constructor(id: string, label: string, relevance: number); static fromApiResponse(data: ApiTaxonomyArticle): TaxonomyArticle; } /** * Marketing categories including IAB taxonomies and Google Topics. */ export declare class MarketingCategories { readonly iabTier1: TaxonomyArticle[]; readonly iabTier2: TaxonomyArticle[]; readonly iabTier3: TaxonomyArticle[]; readonly iabAudienceTier3: TaxonomyArticle[]; readonly iabAudienceTier4: TaxonomyArticle[]; readonly iabAudienceTier5: TaxonomyArticle[]; readonly googleTopics: TaxonomyArticle[]; readonly marketingItems: TaxonomyArticle[]; /** * @param iabTier1 - IAB Content Taxonomy tier 1 categories * @param iabTier2 - IAB Content Taxonomy tier 2 categories * @param iabTier3 - IAB Content Taxonomy tier 3 categories * @param iabAudienceTier3 - IAB Audience Taxonomy tier 3 categories * @param iabAudienceTier4 - IAB Audience Taxonomy tier 4 categories * @param iabAudienceTier5 - IAB Audience Taxonomy tier 5 categories * @param googleTopics - Google Topics API classifications * @param marketingItems - Custom marketing category items */ constructor(iabTier1: TaxonomyArticle[], iabTier2: TaxonomyArticle[], iabTier3: TaxonomyArticle[], iabAudienceTier3: TaxonomyArticle[], iabAudienceTier4: TaxonomyArticle[], iabAudienceTier5: TaxonomyArticle[], googleTopics: TaxonomyArticle[], marketingItems: TaxonomyArticle[]); static fromApiResponse(data: ApiMarketingCategories): MarketingCategories; } /** * Smart tag classification. */ export declare class SmartTag { readonly id: string; readonly name: string; /** * @param id - Unique identifier for the smart tag * @param name - Display name of the smart tag */ constructor(id: string, name: string); static fromApiResponse(data: ApiSmartTag): SmartTag; } /** * Training tag for model improvement. */ export declare class TrainingTag { readonly articleId: string; readonly tag: string; readonly addedDate: Date; /** * @param articleId - Unique identifier of the article * @param tag - Training tag value * @param addedDate - Date when the training tag was added */ constructor(articleId: string, tag: string, addedDate: Date); static fromApiResponse(data: ApiTrainingTag): TrainingTag; } /** * Similar article result. */ export declare class SimilarArticle { readonly articleId: string; readonly score: number; readonly headline?: string | undefined; readonly articleUrl?: string | undefined; readonly imageUrl?: string | undefined; readonly published?: Date | undefined; readonly publicationId?: string | undefined; /** * @param articleId - Unique identifier of the similar article * @param score - Similarity score * @param headline - Optional article headline * @param articleUrl - Optional URL of the article * @param imageUrl - Optional URL of the article image * @param published - Optional publication date * @param publicationId - Optional publication identifier */ constructor(articleId: string, score: number, headline?: string | undefined, articleUrl?: string | undefined, imageUrl?: string | undefined, published?: Date | undefined, publicationId?: string | undefined); static fromApiResponse(data: ApiSimilarArticle): SimilarArticle; } /** * Article metadata. */ export declare class Article { readonly articleId: string; readonly fetchDate: Date; readonly published?: Date | undefined; readonly headline?: string | undefined; readonly writer?: string | undefined; readonly category?: string | undefined; readonly content?: string | undefined; readonly summary?: string | undefined; readonly publicationId?: string | undefined; readonly articleUrl?: string | undefined; readonly imageUrl?: string | undefined; readonly includeInSim?: boolean | undefined; /** * @param articleId - Unique identifier of the article * @param fetchDate - Date when the article was fetched * @param published - Optional publication date * @param headline - Optional article headline * @param writer - Optional article author * @param category - Optional article category * @param content - Optional article content * @param summary - Optional article summary * @param publicationId - Optional publication identifier * @param articleUrl - Optional URL of the article * @param imageUrl - Optional URL of the article image * @param includeInSim - Optional flag for similarity model inclusion */ constructor(articleId: string, fetchDate: Date, published?: Date | undefined, headline?: string | undefined, writer?: string | undefined, category?: string | undefined, content?: string | undefined, summary?: string | undefined, publicationId?: string | undefined, articleUrl?: string | undefined, imageUrl?: string | undefined, includeInSim?: boolean | undefined); static fromApiResponse(data: ApiArticle): Article; } /** * Complete AI topics response including tags, brand safety, and marketing categories. */ export declare class GetAiTopicsResponse { readonly tags: Tag[]; readonly brandSafety: BrandSafetyTag; readonly marketingCategories: MarketingCategories; readonly smartTags: SmartTag[]; /** * @param tags - List of subject tags with relevance scores * @param brandSafety - Brand safety classification * @param marketingCategories - Marketing categories including IAB and Google Topics * @param smartTags - List of smart tag classifications */ constructor(tags: Tag[], brandSafety: BrandSafetyTag, marketingCategories: MarketingCategories, smartTags: SmartTag[]); static fromApiResponse(data: ApiGetAiTopicsResponse): GetAiTopicsResponse; } export {}; //# sourceMappingURL=models.d.ts.map