UNPKG

@growthub/compiler-core

Version:

Core decomposition engine and orchestration logic for Growthub Marketing OS

184 lines (180 loc) 6.92 kB
import { z } from 'zod'; /** * @growthub/compiler-core/csi * Current Step Information (CSI) tracking and coordination utilities */ declare const CSISchema: z.ZodObject<{ completedSteps: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; currentProgress: z.ZodDefault<z.ZodNumber>; totalSteps: z.ZodDefault<z.ZodNumber>; currentStep: z.ZodDefault<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { completedSteps: string[]; currentProgress: number; totalSteps: number; currentStep: string; metadata?: Record<string, any> | undefined; }, { metadata?: Record<string, any> | undefined; completedSteps?: string[] | undefined; currentProgress?: number | undefined; totalSteps?: number | undefined; currentStep?: string | undefined; }>; type CSI = z.infer<typeof CSISchema>; type ThreadExecutionStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED'; declare const MessageMetadataSchema: z.ZodObject<{ type: z.ZodDefault<z.ZodEnum<["agent_step", "system_message", "user_message", "completion"]>>; step: z.ZodOptional<z.ZodString>; status: z.ZodDefault<z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>>; progress: z.ZodDefault<z.ZodNumber>; agentType: z.ZodOptional<z.ZodString>; toolName: z.ZodOptional<z.ZodString>; timestamp: z.ZodDefault<z.ZodString>; stepNumber: z.ZodOptional<z.ZodNumber>; totalSteps: z.ZodOptional<z.ZodNumber>; brandContext: z.ZodOptional<z.ZodString>; referenceImages: z.ZodOptional<z.ZodNumber>; generatedAssets: z.ZodDefault<z.ZodArray<z.ZodObject<{ url: z.ZodString; type: z.ZodString; concept: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type: string; url: string; concept?: string | undefined; }, { type: string; url: string; concept?: string | undefined; }>, "many">>; executionStats: z.ZodOptional<z.ZodObject<{ apiCalls: z.ZodOptional<z.ZodNumber>; storageBytes: z.ZodOptional<z.ZodNumber>; executionTimeMs: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { apiCalls?: number | undefined; storageBytes?: number | undefined; executionTimeMs?: number | undefined; }, { apiCalls?: number | undefined; storageBytes?: number | undefined; executionTimeMs?: number | undefined; }>>; statusVersion: z.ZodOptional<z.ZodNumber>; kvLockReleased: z.ZodOptional<z.ZodBoolean>; emissionTimestamp: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { status: "pending" | "running" | "completed" | "failed" | "cancelled"; type: "completion" | "agent_step" | "system_message" | "user_message"; timestamp: string; progress: number; generatedAssets: { type: string; url: string; concept?: string | undefined; }[]; agentType?: string | undefined; referenceImages?: number | undefined; brandContext?: string | undefined; totalSteps?: number | undefined; step?: string | undefined; toolName?: string | undefined; stepNumber?: number | undefined; executionStats?: { apiCalls?: number | undefined; storageBytes?: number | undefined; executionTimeMs?: number | undefined; } | undefined; statusVersion?: number | undefined; kvLockReleased?: boolean | undefined; emissionTimestamp?: string | undefined; }, { agentType?: string | undefined; status?: "pending" | "running" | "completed" | "failed" | "cancelled" | undefined; type?: "completion" | "agent_step" | "system_message" | "user_message" | undefined; referenceImages?: number | undefined; brandContext?: string | undefined; timestamp?: string | undefined; totalSteps?: number | undefined; step?: string | undefined; progress?: number | undefined; toolName?: string | undefined; stepNumber?: number | undefined; generatedAssets?: { type: string; url: string; concept?: string | undefined; }[] | undefined; executionStats?: { apiCalls?: number | undefined; storageBytes?: number | undefined; executionTimeMs?: number | undefined; } | undefined; statusVersion?: number | undefined; kvLockReleased?: boolean | undefined; emissionTimestamp?: string | undefined; }>; type MessageMetadata = z.infer<typeof MessageMetadataSchema>; /** * Create CSI with default values */ declare function createCSI(currentStep?: string, totalSteps?: number, metadata?: Record<string, any>): CSI; /** * Update CSI with new step completion */ declare function updateCSI(csi: CSI, completedStep: string, newCurrentStep: string, metadata?: Record<string, any>): CSI; /** * Check if CSI represents completed state */ declare function isCSIComplete(csi: CSI): boolean; /** * Extract thread execution status from message metadata */ declare function extractStatusFromMetadata(metadata: MessageMetadata | null): ThreadExecutionStatus; /** * Create step metadata for agent tasks */ declare function createStepMetadata(stepName: string, agentType: string, stepNumber: number, totalSteps: number, toolName: string, additionalMetadata?: Partial<MessageMetadata>): MessageMetadata; /** * Analyze thread state from real-time messages */ interface ThreadAnalysis { hasRunningSteps: boolean; hasFinalCompletion: boolean; shouldSwitchToHistorical: boolean; shouldEnableRealtime: boolean; executionStatus: ThreadExecutionStatus; currentProgress: number; completedSteps: number; totalSteps: number; } declare function analyzeThreadState(threadMessages: Array<{ step?: string; status?: string; progress?: number; stepNumber?: number; totalSteps?: number; }>): ThreadAnalysis; /** * Create message metadata with status versioning */ declare function createVersionedMetadata(step: string, status: MessageMetadata['status'], progress: number, additionalData?: Partial<MessageMetadata>): MessageMetadata; /** * Validate CSI data */ declare function validateCSI(data: unknown): CSI; /** * Validate message metadata */ declare function validateMessageMetadata(data: unknown): MessageMetadata; /** * Merge CSI metadata safely */ declare function mergeCSIMetadata(existing: CSI, updates: Partial<CSI>): CSI; /** * Calculate step progress based on sequence */ declare function calculateStepProgress(stepNumber: number, totalSteps: number, isCompleted?: boolean): number; export { type CSI, CSISchema, type MessageMetadata, MessageMetadataSchema, type ThreadAnalysis, type ThreadExecutionStatus, analyzeThreadState, calculateStepProgress, createCSI, createStepMetadata, createVersionedMetadata, extractStatusFromMetadata, isCSIComplete, mergeCSIMetadata, updateCSI, validateCSI, validateMessageMetadata };