Search by

adachsoft / ai-agent-config-repository-json

Arkadiusz Adach

File-based JSON and Markdown implementations for AI agent configuration repositories.

Package info

gitlab.com/a.adach/ai-agent-config-repository-json

Issues

pkg:composer/adachsoft/ai-agent-config-repository-json

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

v0.1.0 2026-09-30 09:12 UTC

This package is not auto-updated.

Last update: 2026-10-01 06:10:16 UTC


README

File-based implementations of the SPI repositories from adachsoft/ai-agent-config-repository. The package stores agent configurations and tool groups as JSON, system prompts as Markdown, and conversation context profiles as JSON.

Installation

composer require adachsoft/ai-agent-config-repository-json

Usage

All implementations are created through JsonFileRepositoryFactory:

use AdachSoft\AiAgentConfigRepositoryJson\JsonFileRepositoryFactory;

$factory = new JsonFileRepositoryFactory();
$agentGroups = $factory->createAgentGroupRepository(__DIR__ . '/config/agent-groups.json');
$toolGroups = $factory->createToolGroupRepository(__DIR__ . '/config/tool-groups');
$profiles = $factory->createConversationContextProfileRepository(__DIR__ . '/config/profiles');
$prompts = $factory->createDefaultSystemPromptRepository(__DIR__ . '/prompts', [
    'support' => 'support/system.md',
]);
$agents = $factory->createAgentConfigRepository(
    __DIR__ . '/config/agents',
    $prompts,
    $toolGroups,
    $agentGroups,
    $profiles,
);

A custom prompt engine can be supplied when prompt rendering needs custom functions:

$prompts = $factory->createSystemPromptRepository(__DIR__ . '/prompts', $promptEngine, $promptMap);

The factory exposes repository creators for agent groups, tool groups, conversation context profiles, system prompts, default system prompts, and agent configurations. Concrete repository classes are internal implementation details.

File formats

Agent files are named <agent-id>.json and contain name, description, provider_id, model_id, prompt_id, parameters, timeout_seconds, tool_ids, and policies. Optional tool_group_ids and agent_group_ids reference group repositories. Conversation context can be configured inline with conversation_context_strategy_id and conversation_context_strategy_params, or by using conversation_context_strategy_profile_id.

Tool group files are named <group-id>.json and contain optional name, optional description, and a tool_ids array. Agent groups are stored in one JSON object keyed by group identifier; each definition contains name and description. Conversation context profile files contain optional extends, strategy_id, and params fields.

System prompts are Markdown files. Their identifier is the relative path without the .md suffix; a prompt map can provide explicit identifiers and file paths. Prompt templates are rendered by the injected prompt engine.