Skip to main content
Glama
types.ts2.69 kB
// Core data types for the quoting system export interface RFP { id?: string; rawText: string; qty: number; material?: string; processes?: string[]; // e.g., ["CNC", "Anodize"] tolerances?: string; dueDate?: string; contactEmail?: string; partNumber?: string; drawingRefs?: string[]; finish?: string; specialProc?: string[]; customerName?: string; } export interface ParsedRFP extends RFP { id: string; parsedAt: string; confidence: 'low' | 'medium' | 'high'; } export interface HistoricalQuote { id: string; quoteDate: string; customerName?: string; normalized: { material: string; processes: string[]; qtyRange: [number, number]; tolerances?: string; finish?: string; }; costPerUnit: number; totalCost: number; leadDays: number; actualLeadDays?: number; // if order was placed notes?: string; rfp?: RFP; approved: boolean; approvedBy?: string; sentDate?: string; } export interface QuoteMatch { quote: HistoricalQuote; score: number; matchingFields: string[]; notes: string; } export interface CostBreakdown { materialCost: number; processCost: number; laborCost: number; toolingPerUnit: number; overhead: number; marginPct: number; contingencyPct?: number; } export interface CostEstimate { pricePerUnit: number; totalPrice: number; leadDays: number; confidence: 'low' | 'medium' | 'high'; breakdown: CostBreakdown; bestCase?: { price: number; leadDays: number }; worstCase?: { price: number; leadDays: number }; } export interface QuoteLine { desc: string; qty: number; unit: number; total: number; } export interface QuoteDocument { quoteId: string; to: string; customerName?: string; lines: QuoteLine[]; terms: string; confidence: 'low' | 'medium' | 'high'; validUntil?: string; paymentTerms?: string; createdAt: string; status: 'draft' | 'pending_approval' | 'approved' | 'sent' | 'rejected'; approvedBy?: string; approvedAt?: string; } export interface QuoteEvaluationResult { parsedRfp: ParsedRFP; matches: QuoteMatch[]; estimate: CostEstimate; doc: QuoteDocument; idempotencyKey: string; } // Configuration types export interface MaterialPricing { [material: string]: number; // $ per unit weight/volume } export interface ProcessRates { [process: string]: number; // $ per part or minutes per part } export interface QuotingConfig { materials: MaterialPricing; processes: ProcessRates; machineHourRate: number; laborRate: number; overheadPct: number; marginPct: number; contingencyPct: number; defaultLeadDays: number; similarityThresholds: { high: number; medium: number; }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/r-long/mcp-quoting-system'

If you have feedback or need assistance with the MCP directory API, please join our Discord server