UNPKG

contextual-agent-sdk

Version:

SDK for building AI agents with seamless voice-text context switching

123 lines (122 loc) • 4.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAttribution = getAttribution; exports.getHTMLAttribution = getHTMLAttribution; exports.getMarkdownAttribution = getMarkdownAttribution; exports.getTextAttribution = getTextAttribution; exports.getJSONAttribution = getJSONAttribution; exports.reportUsage = reportUsage; exports.logAttribution = logAttribution; exports.validateAttribution = validateAttribution; exports.getAttributionBadge = getAttributionBadge; function getAttribution() { return { library: "Contextual Agent SDK", version: "1.0.0", author: "simcoder technologies a subsidiary of SCS Group", company: "SCS Group", innovation: "Seamless Voice-Text Context Switching Technology", url: "https://github.com/simcoder/contextual-agent-sdk", repository: "https://github.com/simcoder/contextual-agent-sdk", license: "MIT" }; } function getHTMLAttribution() { const info = getAttribution(); return `Powered by <a href="${info.url}">${info.library}</a> by simcoder technologies`; } function getMarkdownAttribution() { const info = getAttribution(); return `Uses [${info.library}](${info.url}) by simcoder technologies for ${info.innovation.toLowerCase()}`; } function getTextAttribution() { const info = getAttribution(); return `Powered by ${info.library} by simcoder technologies - ${info.url}`; } function getJSONAttribution() { const info = getAttribution(); return { "contextual-agent-sdk": { author: info.author, company: info.company, innovation: info.innovation, url: info.url, license: info.license } }; } async function reportUsage(options) { if (options?.disableTelemetry !== false || process.env.NODE_ENV !== 'production') { return; } try { const telemetryEndpoint = 'https://api.simcoder.tech/sdk/usage'; const payload = { sdk: 'contextual-agent-sdk', version: getAttribution().version, timestamp: new Date().toISOString(), environment: options?.environment || 'unknown', features: options?.features || [], instanceId: generateAnonymousId(), projectName: options?.projectName, userAgent: options?.userAgent }; await fetch(telemetryEndpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', 'User-Agent': `contextual-agent-sdk/${payload.version}` }, body: JSON.stringify(payload) }).catch(() => { }); } catch (error) { } } function generateAnonymousId() { const nodeVersion = process.version; const platform = process.platform; const arch = process.arch; const envHash = Buffer.from(`${nodeVersion}-${platform}-${arch}`).toString('base64'); return envHash.substring(0, 16); } function logAttribution() { const info = getAttribution(); console.log(` šŸ¤– ${info.library} v${info.version} šŸ¢ Created by: ${info.author} šŸš€ Innovation: ${info.innovation} šŸ”— Repository: ${info.repository} šŸ“„ License: ${info.license} Thank you for using Contextual Agent SDK! Please include attribution in your project. `); } function validateAttribution(packageJson) { const suggestions = []; let isValid = true; if (!packageJson.author || typeof packageJson.author === 'string' && packageJson.author === '') { suggestions.push("Add author information to package.json"); } if (!packageJson.credits || !packageJson.credits['contextual-agent-sdk']) { suggestions.push("Add credits section with contextual-agent-sdk attribution"); isValid = false; } if (!packageJson.repository || !packageJson.repository.url) { suggestions.push("Add repository URL to package.json"); } return { isValid, suggestions }; } function getAttributionBadge(style = 'markdown') { const info = getAttribution(); const badgeUrl = `https://img.shields.io/badge/Powered%20by-Contextual%20Agent%20SDK-blue`; if (style === 'html') { return `<a href="${info.url}"><img src="${badgeUrl}" alt="Powered by Contextual Agent SDK" /></a>`; } return `[![Powered by Contextual Agent SDK](${badgeUrl})](${info.url})`; } if (process.env.NODE_ENV === 'development') { logAttribution(); } //# sourceMappingURL=attribution.js.map