- Add intelligent-router.sh hook for automatic agent routing - Add AUTO-TRIGGER-SUMMARY.md documentation - Add FINAL-INTEGRATION-SUMMARY.md documentation - Complete Prometheus integration (6 commands + 4 tools) - Complete Dexto integration (12 commands + 5 tools) - Enhanced Ralph with access to all agents - Fix /clawd command (removed disable-model-invocation) - Update hooks.json to v5 with intelligent routing - 291 total skills now available - All 21 commands with automatic routing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
105 lines
3.6 KiB
TypeScript
105 lines
3.6 KiB
TypeScript
/**
|
|
* Local Development Image
|
|
*
|
|
* Pre-configured base image for local agent development with:
|
|
* - SQLite database (persistent, local)
|
|
* - Local filesystem blob storage
|
|
* - In-memory caching
|
|
* - FileSystem tools (read, write, edit, glob, grep)
|
|
* - Process tools (bash exec, output, kill)
|
|
* - Offline-capable
|
|
*
|
|
* Tools are automatically registered when this image is imported.
|
|
* Services are initialized on-demand when tools are used.
|
|
*/
|
|
|
|
import { defineImage } from '@dexto/core';
|
|
import { PLUGIN_PATH as planToolsPluginPath } from '@dexto/tools-plan';
|
|
|
|
export default defineImage({
|
|
name: 'image-local',
|
|
version: '1.0.0',
|
|
description: 'Local development image with filesystem and process tools',
|
|
target: 'local-development',
|
|
|
|
// Bundled plugins - automatically discovered alongside user/project plugins
|
|
bundledPlugins: [planToolsPluginPath],
|
|
|
|
// Provider registration
|
|
// These providers are registered as side-effects when the image is imported
|
|
providers: {
|
|
// Blob storage providers from core
|
|
blobStore: {
|
|
register: async () => {
|
|
const { localBlobStoreProvider, inMemoryBlobStoreProvider } = await import(
|
|
'@dexto/core'
|
|
);
|
|
const { blobStoreRegistry } = await import('@dexto/core');
|
|
|
|
blobStoreRegistry.register(localBlobStoreProvider);
|
|
blobStoreRegistry.register(inMemoryBlobStoreProvider);
|
|
},
|
|
},
|
|
|
|
// Custom tool providers from separate packages
|
|
customTools: {
|
|
register: async () => {
|
|
const { fileSystemToolsProvider } = await import('@dexto/tools-filesystem');
|
|
const { processToolsProvider } = await import('@dexto/tools-process');
|
|
const { agentSpawnerToolsProvider } = await import('@dexto/agent-management');
|
|
const { todoToolsProvider } = await import('@dexto/tools-todo');
|
|
const { planToolsProvider } = await import('@dexto/tools-plan');
|
|
const { customToolRegistry } = await import('@dexto/core');
|
|
|
|
customToolRegistry.register(fileSystemToolsProvider);
|
|
customToolRegistry.register(processToolsProvider);
|
|
customToolRegistry.register(agentSpawnerToolsProvider);
|
|
customToolRegistry.register(todoToolsProvider);
|
|
customToolRegistry.register(planToolsProvider);
|
|
},
|
|
},
|
|
},
|
|
|
|
// Default configuration values
|
|
defaults: {
|
|
storage: {
|
|
blob: {
|
|
type: 'local',
|
|
storePath: './data/blobs',
|
|
},
|
|
database: {
|
|
type: 'sqlite',
|
|
path: './data/agent.db',
|
|
},
|
|
cache: {
|
|
type: 'in-memory',
|
|
},
|
|
},
|
|
logging: {
|
|
level: 'info',
|
|
fileLogging: true,
|
|
},
|
|
// Default custom tools configuration
|
|
// Users can add these to their config to enable filesystem and process tools
|
|
customTools: [
|
|
{
|
|
type: 'filesystem-tools',
|
|
allowedPaths: ['.'],
|
|
blockedPaths: ['.git', 'node_modules/.bin', '.env'],
|
|
blockedExtensions: ['.exe', '.dll', '.so'],
|
|
enableBackups: false,
|
|
},
|
|
{
|
|
type: 'process-tools',
|
|
securityLevel: 'moderate',
|
|
},
|
|
{
|
|
type: 'todo-tools',
|
|
},
|
|
],
|
|
},
|
|
|
|
// Runtime constraints
|
|
constraints: ['filesystem-required', 'offline-capable'],
|
|
});
|