Files
SuperCharged-Claude-Code-Up…/dexto/packages/image-local/dexto.image.ts
admin b52318eeae feat: Add intelligent auto-router and enhanced integrations
- 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>
2026-01-28 00:27:56 +04:00

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'],
});