Table of Contents

Packages

Learn how to connect package stores and deploy plugin packages, artifact packages, and agent templates from the Management Portal.

Overview

The Packages page ("View plugins and agent templates for the FoundationaLLM deployment.") manages the versioned packages installed in your FoundationaLLM instance. It has four tabs:

Tab Purpose
Package Store Configure and validate the public and private package stores that packages are downloaded from
Plugins View and deploy plugin packages (.NET or Python)
Artifacts View and deploy artifact packages that contain FoundationaLLM resources, such as prompts, agents, and Agent Portal themes
Agent Templates View and deploy agent templates, including the template used for self-service agent creation

Every package version is downloaded from a package store:

  • Public — the public package store maintained by FoundationaLLM. Access requires a SAS token.
  • Private — your own package storage account.

Open the Packages Page

  1. Sign in to the Management Portal.
  2. In the sidebar, select Platform > Packages.

Configure the Package Stores

Select the Package Store tab.

Public package store

  1. In SAS Token, paste the SAS token you received for the FoundationaLLM public package store.
  2. Select Save. The token is stored in Key Vault (secret foundationallm-packagestore-sastoken) and referenced from the App Configuration key FoundationaLLM:PackageStore:SASToken. The page then validates the connection automatically.
  3. To check the connection at any time, select Validate. A success message reads "Public package store is correctly configured."

Private package store

Select Validate under Private Package Store to check the connection to your private package storage account. A success message reads "Private package store is correctly configured."

Package Cards

The Plugins, Artifacts, and Agent Templates tabs list packages as cards, sorted by display name. Each card shows:

Element Description
Name and version Display name followed by the installed version. For agent templates, the version is taken from the package file name when the template does not record one.
Download (pi-download) Downloads the installed package file
Version to deploy Prefilled with the next version after the installed one (for example 1.0.1 → 1.0.2, or 1.0.0-rc101 → 1.0.0-rc102). Change it if needed.
Store toggle Globe (Public) or lock (Private) package store for the deployment
Deploy (pi-cloud-upload) Deploys the version from the selected store
Last Updated Date and user of the last deployment
Expand (chevron) Shows Description, Runtime, and Name

Artifact package cards also show Included Resources with a list button that opens Package Resources (the object IDs of the resources the package deployed). A warning icon appears when some resources in the package failed to process; expand the card to see the error message.

Use the refresh button on each tab to reload the list.

Deploy a New Package Version

  1. Open the Plugins, Artifacts, or Agent Templates tab.
  2. On the package card, check or enter the version in the version box (New version to deploy on plugin cards, Version to deploy on the other cards).
  3. Select the Public or Private store.
  4. Select the deploy button. A notification confirms the deployment.

After deploying a new version of the Python agent plugins, restart the LangChain API so it loads the updated package.

Create a Package

Use the + button on a tab to install a package that is not listed yet.

Dialog Fields
Create New Plugin Package Package Name, Runtime (Dotnet or Python), Version, Package Store (Public or Private)
Create New Artifact Package Package Name, Runtime (fixed to FoundationaLLM), Version, Package Store
Create New Agent Template Template Name, Display Name (optional), Description (optional), Runtime (fixed to FoundationaLLM), Version, Package Store

Fill in the name and version, then select Create New. The platform downloads that version from the selected store and installs it. For plugin packages, the package name must match the name declared in the package itself.

Publish a Python Plugin Package Version (FoundationaLLM Developers)

To build a new version of the FoundationaLLM Python agent plugins from the repository:

  1. Create and push a version tag, for example:

    git tag pypi-0.9.9-beta123
    git push origin pypi-0.9.9-beta123
    

    Tags follow the pattern pypi-{major}.{minor}.{patch}-{prerelease}. Pushing the tag triggers the Publish Python Packages GitHub Actions workflow.

  2. When the workflow completes, open Packages > Plugins, enter the version without the pypi- prefix (for example 0.9.9-beta123) on the plugin card, and deploy it.

  3. Restart the LangChain API.

Using Plugins

  • Agent workflows and tools (Python): referenced by package name and class name in the agent editor Workflow tab and in tool definitions. For the generic agent workflow, the package and class dropdowns are loaded from the installed Python plugin packages.
  • Data pipeline plugins (.NET): data source, data pipeline stage, content text extraction, and content text partitioning plugins are selected when you create data sources and data pipelines.
  • Shielding plugins (.NET): selected in the agent editor Shielding settings.

Troubleshooting

Issue Resolution
Public store validation fails Save a valid, unexpired SAS token, then select Validate again.
Deploy fails Check that the version exists in the selected store and is a valid semantic version greater than 0.0.0.
"The plugin package name does not match the name from the package configuration." Use the exact package name declared in the package.
Artifact card shows a warning Expand the card to read the error, fix the package content, and deploy a new version.
New Python plugin code is not used Restart the LangChain API after deploying.