packfs-core
Version:
Semantic filesystem operations for LLM agent frameworks with natural language understanding. See LLM_AGENT_GUIDE.md for copy-paste examples.
90 lines • 3.13 kB
TypeScript
/**
* KaibanJS integration for PackFS semantic filesystem
* KaibanJS: The JavaScript Framework for Building Multi-Agent Systems - https://www.kaibanjs.com/
*/
import type { BaseIntegrationConfig, ToolDescription, FrameworkToolAdapter } from './types.js';
/**
* KaibanJS-specific configuration
*/
export interface KaibanIntegrationConfig extends BaseIntegrationConfig {
/** KaibanJS-specific options */
kaiban?: {
/** Agent ID for tracking operations */
agentId?: string;
/** Task context for multi-agent coordination */
taskContext?: Record<string, any>;
/** Enable state persistence */
enableStatePersistence?: boolean;
/** Custom Redux-style state handlers */
stateHandlers?: {
onBeforeOperation?: (operation: string, params: any) => void;
onAfterOperation?: (operation: string, result: any) => void;
onError?: (operation: string, error: Error) => void;
};
};
}
/**
* KaibanJS Tool interface (based on KaibanJS patterns)
*/
interface KaibanTool {
name: string;
description: string;
parameters?: any;
handler: (params: any, context?: any) => Promise<any>;
metadata?: {
agentId?: string;
category?: string;
permissions?: string[];
};
}
/**
* KaibanJS Task Action for file operations
*/
interface KaibanTaskAction {
type: string;
payload: any;
meta?: {
agentId: string;
timestamp: number;
operationType: string;
};
}
/**
* PackFS semantic filesystem tool for KaibanJS
* Integrated with KaibanJS's Redux-inspired state management
*/
export declare class KaibanSemanticFilesystemTool implements FrameworkToolAdapter<KaibanTool> {
createTool(config: KaibanIntegrationConfig): KaibanTool;
getToolDescription(): ToolDescription;
validateParameters(params: any): {
valid: boolean;
errors?: string[];
};
private getKaibanParameters;
private executeOperation;
private executeNaturalLanguageQuery;
private executeKaibanAction;
private handleCollaboration;
private handleCollaborativeOperation;
private formatKaibanResponse;
}
/**
* Create a KaibanJS compatible semantic filesystem tool
*/
export declare function createKaibanSemanticFilesystemTool(config: KaibanIntegrationConfig): KaibanTool;
/**
* Create KaibanJS task actions for file operations
* These can be dispatched through KaibanJS's Redux-style state management
*/
export declare function createKaibanFileSystemActions(config: KaibanIntegrationConfig): {
readFile: (path: string, options?: any) => KaibanTaskAction;
writeFile: (path: string, content: string, options?: any) => KaibanTaskAction;
searchFiles: (query: string, options?: any) => KaibanTaskAction;
collaborateOnFile: (path: string, operation: string, agents: string[]) => KaibanTaskAction;
};
/**
* Create a specialized multi-agent file coordination tool
*/
export declare function createKaibanMultiAgentFileCoordinator(config: KaibanIntegrationConfig): KaibanTool;
export {};
//# sourceMappingURL=kaiban-js.d.ts.map