toolup-forgetoolup-forge

Companion catalogue

Every published toolup-forge companion package — providers, sinks, hosts, infrastructure. Drop in what you need; skip what you don't.

Companions sit behind SDK interfaces. The Platform core carries no vendor SDK; every cloud / vendor integration is an opt-in <PackageReference> away. This page lists what's published today.

Per the SDK's companion-authoring guide, every companion: takes its substrate dependencies (typically ISecretStore) through its create function — never reads env vars or config files directly; ships an IHealthCheck probe; registers an IConfigValidator for preflight when connection state is testable.

Want to author a new one? See the per-area "Extending" docs: AI · RAG · Forms · Scheduling · Knowledge Base. Or open an issue at github.com/ToolUp-Forge/toolup-forge.

AI providers — IAIProvider

LLM providers behind one streaming + tool-calling interface. Pick by latency, cost, prompt-caching support, or licensing. Capabilities — SupportsPromptCaching, SupportsVisionInput, etc. — are reported per provider via AIProviderResponse.Capabilities.

Package What it wires Notes
ToolUp.AIProviders.Claude Anthropic Claude (Opus / Sonnet / Haiku) Prompt caching, vision, tool calling. Streaming via message_delta for usage reporting.
ToolUp.AIProviders.OpenAI OpenAI models (GPT-4o / 4-mini / o-series) Streaming via stream_options.include_usage=true.
ToolUp.AIProviders.Gemini Google Gemini Phase 67 substrate.

How to compose: ServerApp.withAIProvider (or via the DefaultAIProviderFactory for multi-provider deployments). Walkthrough at AI getting started; contract at AI extending.

Embedding providers — IEmbeddingProvider

Vector embeddings for RAG ingestion + query.

Package What it wires Notes
ToolUp.EmbeddingProviders.Local In-process embeddings Offline, no API key, no per-call cost. Dev-only — stateful across calls.
ToolUp.EmbeddingProviders.OpenAI OpenAI's text-embedding-3-* models Stateless; distributed-ready.

See RAG extending for the contract; Embedding providers doc for the per-provider reference.

Rerankers

Optional post-retrieval relevance reorder for RAG.

Package What it wires
ToolUp.Rerankers.Local In-process reranking

Auth providers — IAuthProvider

Sign-in + token issue + session lifecycle. Pick one per deployment (or none for Anonymous mode).

Package What it wires Notes
ToolUp.AuthProviders.Oidc Generic OIDC (Auth0, Keycloak, Okta, Microsoft Entra Workforce ID, …) Authorization Code + PKCE. Preset registry for common IdPs.
ToolUp.AuthProviders.OidcClient Browser-side OIDC client Pairs with Oidc server.
ToolUp.AuthProviders.EntraExternalId Microsoft Entra External ID Customer-facing variant of Entra.
ToolUp.AuthProviders.EntraExternalIdClient Browser-side Entra External ID Pairs with EntraExternalId server.
ToolUp.AuthProviders.ClerkUI Clerk hosted sign-in UI Paid by Clerk; opt-in only.

See Auth providers doc for the per-IdP setup; Auth for the SDK-side contract.

Storage — IBlobStorage

Binary blob persistence behind one interface. Scope-aware: every read / write goes through a StorageScope so a tenant can't accidentally read another's data.

Package Backing service
ToolUp.Storage.AwsS3Storage AWS S3
ToolUp.Storage.AzureBlobStorage Azure Blob Storage
ToolUp.Storage.GoogleCloudStorage Google Cloud Storage

The default in-process implementation file-backs to disk under data/ — fine for dev, single-process production. For multi-instance, swap in a cloud companion. See Storage providers doc.

Vector stores — IVectorStore

For RAG vector indexes.

Package What it wires
ToolUp.VectorStores.Hnsw HNSW (Hierarchical Navigable Small World) index

Default in-process implementation is suitable up to single-machine workloads; the HNSW companion scales to millions of vectors. See RAG concepts.

Audit sinks — IAuditSink

Replicates audit events to external archival / SIEM systems. Batch-idempotent — dispatcher retries the whole batch on Result.Error; sinks must use vendor-specific dedup keys.

Package What it wires
ToolUp.AuditSinks.S3Archive S3 (content-addressable archival)
ToolUp.AuditSinks.SplunkHec Splunk HTTP Event Collector
ToolUp.AuditSinks.DatadogLogs Datadog Logs

Notification channels — INotificationChannel / INotificationSink

Two distinct interfaces: INotificationChannel is the distributed pub/sub backbone (scope-isolated topics); INotificationSink is per-Kind transactional delivery (email, SMS, push).

Real-time channel (replaces the default in-memory channel)

Package What it wires
ToolUp.NotificationChannels.Redis Redis pub/sub for cross-instance fan-out

Email sinks

Package What it wires
ToolUp.NotificationChannels.Email.Smtp Generic SMTP (MailKit; no vendor lock-in)
ToolUp.NotificationChannels.Email.SendGrid SendGrid API
ToolUp.NotificationChannels.Email.Postmark Postmark API

SMS sinks

Package What it wires
ToolUp.NotificationChannels.Sms.Twilio Twilio SMS

Push sinks

Package What it wires
ToolUp.NotificationChannels.Push.WebPush Browser Web Push (VAPID)

See Notification channels doc for the substrate contract.

Secrets — ISecretStore

Every API key / provider token / connection string flows through ISecretStore. The store is consulted per-call (token rotation propagates without a redeploy).

Package Backing service
ToolUp.Secrets.AzureKeyVault Azure Key Vault
ToolUp.Secrets.AwsSecretsManager AWS Secrets Manager
ToolUp.Secrets.HashiCorpVault HashiCorp Vault

The default FileSecretStore encrypts JSON to disk under data/secrets/ — fine for dev. Production deployments swap one of the cloud companions in.

Metrics — IMetricsSink

Package What it wires
ToolUp.Metrics.OpenTelemetry OTLP export (any OTel-compatible backend)

Data sources

External-system query connectors for module data ingestion.

Package What it wires
ToolUp.DataSources.BigQuery Google BigQuery

Serverless hosts

Adapters that let an IServerHost-shaped app run inside a serverless platform's invocation model. Pairs with the ToolUp.Platform.Core-only deployment shape — the host adapter brings the request/response loop.

Package What it wires
ToolUp.Hosts.AwsLambda AWS Lambda + API Gateway / ALB
ToolUp.Hosts.AzureFunctions Azure Functions
ToolUp.Hosts.GoogleCloudFunctions Google Cloud Functions

Background: Composition roots.

Infrastructure helpers

Not "providers" in the interface-implementation sense — companions providing infrastructure that's separable from the core.

Package What it wires
ToolUp.PublicRendering SSR public-page substrate — Giraffe.ViewEngine + markdown loader + sitemap + structured-data helpers. This site uses it.
ToolUp.AssetStore Hashed-filename asset publishing for the Client tier (Phase 39).
ToolUp.AgGridEnterprise AG Grid Enterprise initialisation shim — paid licence; opt-in only.
ToolUp.Reporting.{Core,Server} Reporting primitives.

Distribution

Every companion ships as a NuGet package on the ToolUp-Forge GitHub Packages feed. Add the feed per Getting started and reference packages by <PackageReference> like any other.

Version coordinates with the platform via the ToolUp.Sdk meta-manifest. Bumping <ToolUpSdkVersion> in Directory.Packages.props moves every companion in lockstep.