Skip to main content

Utilities

Collection of 10+ utility modules providing common functionality: template resolution, statistics, retry logic, circuit breakers, logging, and more.

What Problem Does This Solve?

Problem: Common patterns repeated everywhere Solution: Reusable, tested utilities

Available Utilities

Template Resolver

import { TemplateResolver } from 'clear-ai-v2/shared';

const resolver = new TemplateResolver();
const result = resolver.resolve(
"User: {{user.name}}",
{ user: { name: 'John' } }
);
// "User: John"

Statistics

import { mean, median, standardDeviation, detectTrend } from 'clear-ai-v2/shared';

const values = [10, 20, 30, 40, 50];
console.log(mean(values)); // 30
console.log(median(values)); // 30
console.log(detectTrend(values)); // 'up'

Circuit Breaker

import { CircuitBreaker } from 'clear-ai-v2/shared';

const breaker = new CircuitBreaker({ threshold: 5, timeout: 60000 });

try {
await breaker.execute(async () => {
return await unreliableAPI();
});
} catch (error) {
// Circuit open after 5 failures
}

Retry Logic

import { retryWithBackoff } from 'clear-ai-v2/shared';

const result = await retryWithBackoff(
async () => await apiCall(),
{ maxRetries: 3, baseDelay: 1000 }
);

Logger

import { Logger } from 'clear-ai-v2/shared';

const logger = new Logger('MyModule');

logger.info('Operation started');
logger.warn('Approaching limit');
logger.error('Operation failed', { error });

Testing

yarn test utils  # 216 tests

Next: Tools