🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@robinpath/ai

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@robinpath/ai - npm Package Compare versions

Comparing version
0.1.1
to
0.1.2
+13
-3
package.json
{
"name": "@robinpath/ai",
"version": "0.1.1",
"version": "0.1.2",
"description": "LLM integration for OpenAI, Anthropic, and compatible APIs",

@@ -25,9 +25,19 @@ "publishConfig": {

"peerDependencies": {
"@wiredwp/robinpath": ">=0.20.0"
"@robinpath/core": ">=0.20.0"
},
"devDependencies": {
"@wiredwp/robinpath": "^0.30.1",
"@robinpath/core": "^0.30.1",
"tsx": "^4.19.0",
"typescript": "^5.6.0"
},
"keywords": [
"ai"
],
"license": "MIT",
"robinpath": {
"category": "ai",
"type": "integration",
"auth": "api-key",
"functionCount": 10
}
}
-139
import type { BuiltinHandler } from "@wiredwp/robinpath";
export declare const AiFunctions: Record<string, BuiltinHandler>;
export declare const AiFunctionMetadata: {
configure: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
chat: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
complete: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
summarize: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
extract: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
classify: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
translate: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
sentiment: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
generateJson: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
embedding: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
};
export declare const AiModuleMetadata: {
description: string;
methods: string[];
};
//# sourceMappingURL=ai.d.ts.map
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,oBAAoB,CAAC;AAuPlG,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAEtD,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW9B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC"}
const providers = new Map();
const PROVIDER_DEFAULTS = {
openai: { baseUrl: "https://api.openai.com/v1", model: "gpt-4o" },
anthropic: { baseUrl: "https://api.anthropic.com/v1", model: "claude-sonnet-4-5-20250929" },
};
// ── Function Handlers ───────────────────────────────────────────────
const configure = (args) => {
const name = String(args[0] ?? "default");
const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
const provider = String(opts.provider ?? "openai");
const defaults = PROVIDER_DEFAULTS[provider] ?? { baseUrl: "", model: "" };
const config = {
name,
provider,
apiKey: String(opts.apiKey ?? opts.key ?? ""),
baseUrl: String(opts.baseUrl ?? defaults.baseUrl),
defaultModel: String(opts.model ?? defaults.model),
defaultMaxTokens: Number(opts.maxTokens ?? 4096),
};
providers.set(name, config);
return { name, provider, model: config.defaultModel };
};
const chat = async (args) => {
const providerName = String(args[0] ?? "default");
const messages = args[1];
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
const config = providers.get(providerName);
if (!config)
throw new Error(`AI provider "${providerName}" not configured. Use ai.configure first.`);
const model = String(opts.model ?? config.defaultModel);
const maxTokens = Number(opts.maxTokens ?? config.defaultMaxTokens);
const temperature = opts.temperature != null ? Number(opts.temperature) : undefined;
const systemPrompt = opts.system ? String(opts.system) : undefined;
// Normalize messages
let msgArray;
if (typeof messages === "string") {
msgArray = [{ role: "user", content: messages }];
}
else if (Array.isArray(messages)) {
msgArray = messages;
}
else {
msgArray = [{ role: "user", content: String(messages) }];
}
if (config.provider === "anthropic") {
return await callAnthropic(config, msgArray, model, maxTokens, temperature, systemPrompt);
}
// OpenAI-compatible (also works for custom endpoints)
return await callOpenAI(config, msgArray, model, maxTokens, temperature, systemPrompt);
};
async function callOpenAI(config, messages, model, maxTokens, temperature, system) {
const allMessages = system ? [{ role: "system", content: system }, ...messages] : messages;
const body = { model, messages: allMessages, max_tokens: maxTokens };
if (temperature !== undefined)
body.temperature = temperature;
const response = await fetch(`${config.baseUrl}/chat/completions`, {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: `Bearer ${config.apiKey}` },
body: JSON.stringify(body),
});
const data = await response.json();
if (!response.ok)
throw new Error(`OpenAI API error: ${JSON.stringify(data.error ?? data)}`);
const choices = data.choices;
const usage = data.usage;
return {
content: choices?.[0]?.message?.content ?? "",
role: "assistant",
model: data.model,
usage: usage ? { promptTokens: usage.prompt_tokens, completionTokens: usage.completion_tokens, totalTokens: usage.total_tokens } : undefined,
};
}
async function callAnthropic(config, messages, model, maxTokens, temperature, system) {
const body = { model, messages, max_tokens: maxTokens };
if (system)
body.system = system;
if (temperature !== undefined)
body.temperature = temperature;
const response = await fetch(`${config.baseUrl}/messages`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": config.apiKey,
"anthropic-version": "2023-06-01",
},
body: JSON.stringify(body),
});
const data = await response.json();
if (!response.ok)
throw new Error(`Anthropic API error: ${JSON.stringify(data.error ?? data)}`);
const content = data.content?.[0]?.text ?? "";
const usage = data.usage;
return {
content,
role: "assistant",
model: data.model,
usage: usage ? { promptTokens: usage.input_tokens, completionTokens: usage.output_tokens, totalTokens: (usage.input_tokens ?? 0) + (usage.output_tokens ?? 0) } : undefined,
stopReason: data.stop_reason,
};
}
const complete = async (args) => {
const providerName = String(args[0] ?? "default");
const prompt = String(args[1] ?? "");
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
const result = await chat([providerName, prompt, opts]);
return result.content;
};
const summarize = async (args) => {
const providerName = String(args[0] ?? "default");
const text = String(args[1] ?? "");
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
const maxLength = opts.maxLength ? `in ${opts.maxLength} words or less` : "concisely";
const prompt = `Summarize the following text ${maxLength}:\n\n${text}`;
return await complete([providerName, prompt, opts]);
};
const extract = async (args) => {
const providerName = String(args[0] ?? "default");
const text = String(args[1] ?? "");
const fields = Array.isArray(args[2]) ? args[2] : String(args[2] ?? "").split(",").map((s) => s.trim());
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
const prompt = `Extract the following fields from the text below and return ONLY a valid JSON object with these keys: ${fields.join(", ")}.\n\nText:\n${text}\n\nJSON:`;
const result = await complete([providerName, prompt, { ...opts, temperature: 0 }]);
try {
const jsonMatch = result.match(/\{[\s\S]*\}/);
return jsonMatch ? JSON.parse(jsonMatch[0]) : result;
}
catch {
return result;
}
};
const classify = async (args) => {
const providerName = String(args[0] ?? "default");
const text = String(args[1] ?? "");
const categories = Array.isArray(args[2]) ? args[2] : String(args[2] ?? "").split(",").map((s) => s.trim());
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
const prompt = `Classify the following text into exactly one of these categories: ${categories.join(", ")}.\n\nText: ${text}\n\nRespond with ONLY the category name, nothing else.`;
const result = await complete([providerName, prompt, { ...opts, temperature: 0 }]);
return result.trim();
};
const translate = async (args) => {
const providerName = String(args[0] ?? "default");
const text = String(args[1] ?? "");
const targetLang = String(args[2] ?? "English");
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
const prompt = `Translate the following text to ${targetLang}. Return ONLY the translation, nothing else.\n\n${text}`;
return await complete([providerName, prompt, opts]);
};
const sentiment = async (args) => {
const providerName = String(args[0] ?? "default");
const text = String(args[1] ?? "");
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
const prompt = `Analyze the sentiment of the following text. Respond with ONLY a JSON object: {"sentiment": "positive"|"negative"|"neutral", "score": 0.0-1.0, "confidence": 0.0-1.0}\n\nText: ${text}\n\nJSON:`;
const result = await complete([providerName, prompt, { ...opts, temperature: 0 }]);
try {
const jsonMatch = result.match(/\{[\s\S]*\}/);
return jsonMatch ? JSON.parse(jsonMatch[0]) : { sentiment: "neutral", score: 0.5 };
}
catch {
return { sentiment: "neutral", score: 0.5, raw: result };
}
};
const generateJson = async (args) => {
const providerName = String(args[0] ?? "default");
const prompt = String(args[1] ?? "");
const schema = args[2];
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
let fullPrompt = `${prompt}\n\nRespond with ONLY a valid JSON object`;
if (schema)
fullPrompt += ` matching this structure: ${JSON.stringify(schema)}`;
fullPrompt += ". No explanations, no markdown, just JSON.";
const result = await complete([providerName, fullPrompt, { ...opts, temperature: 0 }]);
try {
const jsonMatch = result.match(/\{[\s\S]*\}|\[[\s\S]*\]/);
return jsonMatch ? JSON.parse(jsonMatch[0]) : result;
}
catch {
return result;
}
};
const embedding = async (args) => {
const providerName = String(args[0] ?? "default");
const input = args[1];
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
const config = providers.get(providerName);
if (!config)
throw new Error(`AI provider "${providerName}" not configured.`);
const model = String(opts.model ?? "text-embedding-3-small");
const texts = Array.isArray(input) ? input.map(String) : [String(input)];
const response = await fetch(`${config.baseUrl}/embeddings`, {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: `Bearer ${config.apiKey}` },
body: JSON.stringify({ model, input: texts }),
});
const data = await response.json();
if (!response.ok)
throw new Error(`Embeddings error: ${JSON.stringify(data.error ?? data)}`);
const embeddings = data.data?.map((d) => d.embedding) ?? [];
return texts.length === 1 ? embeddings[0] : embeddings;
};
// ── Exports ─────────────────────────────────────────────────────────
export const AiFunctions = {
configure, chat, complete, summarize, extract, classify, translate, sentiment, generateJson, embedding,
};
export const AiFunctionMetadata = {
configure: { description: "Configure an AI provider (OpenAI, Anthropic, or custom)", parameters: [{ name: "name", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{provider, apiKey, baseUrl, model, maxTokens}", formInputType: "text", required: true }], returnType: "object", returnDescription: "{name, provider, model}", example: 'ai.configure "openai" {"provider": "openai", "apiKey": $key}' },
chat: { description: "Send a chat message and get a response", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "messages", dataType: "any", description: "String or array of {role, content}", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{model, maxTokens, temperature, system}", formInputType: "text", required: false }], returnType: "object", returnDescription: "{content, role, model, usage}", example: 'ai.chat "openai" "Explain quantum computing" {"system": "You are a teacher"}' },
complete: { description: "Get a simple text completion (returns just the text)", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "prompt", dataType: "string", description: "Prompt text", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{model, maxTokens, temperature}", formInputType: "text", required: false }], returnType: "string", returnDescription: "Generated text", example: 'ai.complete "openai" "Write a haiku about automation"' },
summarize: { description: "Summarize text using AI", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "text", dataType: "string", description: "Text to summarize", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{maxLength}", formInputType: "text", required: false }], returnType: "string", returnDescription: "Summary text", example: 'ai.summarize "openai" $longText {"maxLength": 100}' },
extract: { description: "Extract structured data from text using AI", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "text", dataType: "string", description: "Source text", formInputType: "text", required: true }, { name: "fields", dataType: "array", description: "Fields to extract", formInputType: "text", required: true }], returnType: "object", returnDescription: "Extracted key-value object", example: 'ai.extract "openai" "John Smith, age 30, from NYC" ["name", "age", "city"]' },
classify: { description: "Classify text into one of given categories", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "text", dataType: "string", description: "Text to classify", formInputType: "text", required: true }, { name: "categories", dataType: "array", description: "Possible categories", formInputType: "text", required: true }], returnType: "string", returnDescription: "Selected category", example: 'ai.classify "openai" "I love this product!" ["positive", "negative", "neutral"]' },
translate: { description: "Translate text to a target language", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "text", dataType: "string", description: "Text to translate", formInputType: "text", required: true }, { name: "targetLang", dataType: "string", description: "Target language", formInputType: "text", required: true }], returnType: "string", returnDescription: "Translated text", example: 'ai.translate "openai" "Hello world" "Spanish"' },
sentiment: { description: "Analyze the sentiment of text", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "text", dataType: "string", description: "Text to analyze", formInputType: "text", required: true }], returnType: "object", returnDescription: "{sentiment, score, confidence}", example: 'ai.sentiment "openai" "This product is amazing!"' },
generateJson: { description: "Generate structured JSON from a prompt", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "prompt", dataType: "string", description: "Prompt describing what to generate", formInputType: "text", required: true }, { name: "schema", dataType: "object", description: "Optional JSON schema/structure", formInputType: "text", required: false }], returnType: "object", returnDescription: "Generated JSON object", example: 'ai.generateJson "openai" "Generate 3 fake users" {"name": "string", "email": "string"}' },
embedding: { description: "Generate text embeddings (OpenAI only)", parameters: [{ name: "provider", dataType: "string", description: "Provider name", formInputType: "text", required: true }, { name: "input", dataType: "any", description: "String or array of strings", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{model}", formInputType: "text", required: false }], returnType: "array", returnDescription: "Embedding vector(s)", example: 'ai.embedding "openai" "Hello world"' },
};
export const AiModuleMetadata = {
description: "LLM integration: chat, complete, summarize, extract, classify, translate, sentiment analysis, and embeddings",
methods: ["configure", "chat", "complete", "summarize", "extract", "classify", "translate", "sentiment", "generateJson", "embedding"],
};
//# sourceMappingURL=ai.js.map
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
import type { ModuleAdapter } from "@wiredwp/robinpath";
declare const AiModule: ModuleAdapter;
export default AiModule;
export { AiModule };
export { AiFunctions, AiFunctionMetadata, AiModuleMetadata } from "./ai.js";
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,QAAQ,EAAE,aAMf,CAAC;AAEF,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
import { AiFunctions, AiFunctionMetadata, AiModuleMetadata } from "./ai.js";
const AiModule = {
name: "ai",
functions: AiFunctions,
functionMetadata: AiFunctionMetadata,
moduleMetadata: AiModuleMetadata,
global: false,
}; // as ModuleAdapter
export default AiModule;
export { AiModule };
export { AiFunctions, AiFunctionMetadata, AiModuleMetadata } from "./ai.js";
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE5E,MAAM,QAAQ,GAAkB;IAC9B,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAyB;IAC3C,cAAc,EAAE,gBAAuB;IACvC,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,mBAAmB;AAEtB,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}