UNPKG

agentfootprint

Version:

The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.

98 lines • 9.59 kB
"use strict"; /** * LLM provider adapters — implementation behind the `agentfootprint/providers` * subpath (which re-exports this file). * * The standalone `agentfootprint/providers` subpath alias was removed in 4.0.0. * Import from the canonical subpath: * * import { mock, anthropic, openai } from 'agentfootprint/providers'; * * Pattern: Adapter (GoF) — concrete `LLMProvider` implementations that * translate the agentfootprint port to a specific vendor SDK. * Role: Outer ring (Hexagonal). Swappable at runtime; the Agent * knows nothing about vendor specifics. * * What's here today: * • `mock` / `MockProvider` — deterministic + realistic-mode mock * • `ollama` / `OllamaProvider` — local models, free, no API key * • `anthropic` / `AnthropicProvider` — real provider (Claude) * • `openai` / `OpenAIProvider` — real provider (GPT) * • `gemini` / `GeminiProvider` — Gemini on Vertex or the Gemini API * • `bedrock`, `azureOpenai`, and the `browser*` variants * • `foundry` / `foundryLocal` — Microsoft Foundry: a project endpoint in * the cloud (Entra or key), and the on-device Foundry Local service * * The ladder these are FOR: `mock()` while you shape the logic → * `ollama('<model>')` for a real model that costs nothing and needs no * key → a paid API in production. The agent code above them does not * change between the three; that is the whole point of the port. * * Bring your own (BYO): * For Cohere / on-prem / fine-tuned models, implement the * `LLMProvider` interface (see `LLMProvider` exported from the main * barrel) — `complete()` is required, `stream()` is optional. The * `MockProvider` source is the canonical reference. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createProvider = exports.BrowserAzureOpenAIProvider = exports.browserAzureOpenai = exports.BrowserOpenAIProvider = exports.browserOpenai = exports.InvokeModelGatewayError = exports.InvokeModelGatewayProvider = exports.invokeModelGateway = exports.BrowserAnthropicProvider = exports.browserAnthropic = exports.GeminiProvider = exports.gemini = exports.BedrockProvider = exports.bedrock = exports.FoundryLocalUnavailableError = exports.FoundryLocalProvider = exports.foundryLocal = exports.foundryInferenceUrl = exports.foundry = exports.OllamaUnavailableError = exports.OllamaProvider = exports.ollama = exports.azureOpenai = exports.OpenAIProvider = exports.openai = exports.AnthropicProvider = exports.anthropic = exports.mock = exports.MockProvider = exports.UnsafeThinkingReplayError = exports.UnsupportedNativeOutputError = exports.nativeOutputSchemaFor = exports.UnsupportedToolChoiceError = exports.forcedToolChoiceFor = void 0; var forcedToolChoice_js_1 = require("./provider-contract/forcedToolChoice.js"); Object.defineProperty(exports, "forcedToolChoiceFor", { enumerable: true, get: function () { return forcedToolChoice_js_1.forcedToolChoiceFor; } }); Object.defineProperty(exports, "UnsupportedToolChoiceError", { enumerable: true, get: function () { return forcedToolChoice_js_1.UnsupportedToolChoiceError; } }); var nativeOutputSchema_js_1 = require("./provider-contract/nativeOutputSchema.js"); Object.defineProperty(exports, "nativeOutputSchemaFor", { enumerable: true, get: function () { return nativeOutputSchema_js_1.nativeOutputSchemaFor; } }); Object.defineProperty(exports, "UnsupportedNativeOutputError", { enumerable: true, get: function () { return nativeOutputSchema_js_1.UnsupportedNativeOutputError; } }); var replay_js_1 = require("./thinking/replay.js"); Object.defineProperty(exports, "UnsafeThinkingReplayError", { enumerable: true, get: function () { return replay_js_1.UnsafeThinkingReplayError; } }); var MockProvider_js_1 = require("./adapters/llm/MockProvider.js"); Object.defineProperty(exports, "MockProvider", { enumerable: true, get: function () { return MockProvider_js_1.MockProvider; } }); Object.defineProperty(exports, "mock", { enumerable: true, get: function () { return MockProvider_js_1.mock; } }); var AnthropicProvider_js_1 = require("./adapters/llm/AnthropicProvider.js"); Object.defineProperty(exports, "anthropic", { enumerable: true, get: function () { return AnthropicProvider_js_1.anthropic; } }); Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: function () { return AnthropicProvider_js_1.AnthropicProvider; } }); var OpenAIProvider_js_1 = require("./adapters/llm/OpenAIProvider.js"); Object.defineProperty(exports, "openai", { enumerable: true, get: function () { return OpenAIProvider_js_1.openai; } }); Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return OpenAIProvider_js_1.OpenAIProvider; } }); Object.defineProperty(exports, "azureOpenai", { enumerable: true, get: function () { return OpenAIProvider_js_1.azureOpenai; } }); var OllamaProvider_js_1 = require("./adapters/llm/OllamaProvider.js"); Object.defineProperty(exports, "ollama", { enumerable: true, get: function () { return OllamaProvider_js_1.ollama; } }); Object.defineProperty(exports, "OllamaProvider", { enumerable: true, get: function () { return OllamaProvider_js_1.OllamaProvider; } }); Object.defineProperty(exports, "OllamaUnavailableError", { enumerable: true, get: function () { return OllamaProvider_js_1.OllamaUnavailableError; } }); // Microsoft Foundry, both doors (9.74.0). `foundry()` speaks a PROJECT // endpoint's `/openai/v1` route — deployment name as the model, Entra // credential or key as the auth; the hosted platform injects // FOUNDRY_PROJECT_ENDPOINT so a deployed container needs zero config. // `entraBearerToken` is deliberately NOT re-exported: it is the two Entra // doors' shared plumbing, not a promise; vend tokens through // `entraIdentity` (agentfootprint/security) instead. var FoundryProvider_js_1 = require("./adapters/llm/FoundryProvider.js"); Object.defineProperty(exports, "foundry", { enumerable: true, get: function () { return FoundryProvider_js_1.foundry; } }); Object.defineProperty(exports, "foundryInferenceUrl", { enumerable: true, get: function () { return FoundryProvider_js_1.foundryInferenceUrl; } }); // Foundry Local: the on-device service. Fetch-only like `ollama()` — the // service's own OpenAI-compatible `/v1` is the wire, the typed refusal // carries the fix (`foundry server start` / `status`; the port is dynamic). var FoundryLocalProvider_js_1 = require("./adapters/llm/FoundryLocalProvider.js"); Object.defineProperty(exports, "foundryLocal", { enumerable: true, get: function () { return FoundryLocalProvider_js_1.foundryLocal; } }); Object.defineProperty(exports, "FoundryLocalProvider", { enumerable: true, get: function () { return FoundryLocalProvider_js_1.FoundryLocalProvider; } }); Object.defineProperty(exports, "FoundryLocalUnavailableError", { enumerable: true, get: function () { return FoundryLocalProvider_js_1.FoundryLocalUnavailableError; } }); var BedrockProvider_js_1 = require("./adapters/llm/BedrockProvider.js"); Object.defineProperty(exports, "bedrock", { enumerable: true, get: function () { return BedrockProvider_js_1.bedrock; } }); Object.defineProperty(exports, "BedrockProvider", { enumerable: true, get: function () { return BedrockProvider_js_1.BedrockProvider; } }); var GeminiProvider_js_1 = require("./adapters/llm/GeminiProvider.js"); Object.defineProperty(exports, "gemini", { enumerable: true, get: function () { return GeminiProvider_js_1.gemini; } }); Object.defineProperty(exports, "GeminiProvider", { enumerable: true, get: function () { return GeminiProvider_js_1.GeminiProvider; } }); var BrowserAnthropicProvider_js_1 = require("./adapters/llm/BrowserAnthropicProvider.js"); Object.defineProperty(exports, "browserAnthropic", { enumerable: true, get: function () { return BrowserAnthropicProvider_js_1.browserAnthropic; } }); Object.defineProperty(exports, "BrowserAnthropicProvider", { enumerable: true, get: function () { return BrowserAnthropicProvider_js_1.BrowserAnthropicProvider; } }); var InvokeModelGatewayProvider_js_1 = require("./adapters/llm/InvokeModelGatewayProvider.js"); Object.defineProperty(exports, "invokeModelGateway", { enumerable: true, get: function () { return InvokeModelGatewayProvider_js_1.invokeModelGateway; } }); Object.defineProperty(exports, "InvokeModelGatewayProvider", { enumerable: true, get: function () { return InvokeModelGatewayProvider_js_1.InvokeModelGatewayProvider; } }); Object.defineProperty(exports, "InvokeModelGatewayError", { enumerable: true, get: function () { return InvokeModelGatewayProvider_js_1.InvokeModelGatewayError; } }); var BrowserOpenAIProvider_js_1 = require("./adapters/llm/BrowserOpenAIProvider.js"); Object.defineProperty(exports, "browserOpenai", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.browserOpenai; } }); Object.defineProperty(exports, "BrowserOpenAIProvider", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.BrowserOpenAIProvider; } }); Object.defineProperty(exports, "browserAzureOpenai", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.browserAzureOpenai; } }); Object.defineProperty(exports, "BrowserAzureOpenAIProvider", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.BrowserAzureOpenAIProvider; } }); var createProvider_js_1 = require("./adapters/llm/createProvider.js"); Object.defineProperty(exports, "createProvider", { enumerable: true, get: function () { return createProvider_js_1.createProvider; } }); //# sourceMappingURL=providers.js.map