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>
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* AgentConfigEditor
|
||||
*
|
||||
* Monaco-based YAML editor component for editing agent configuration files.
|
||||
* Provides syntax highlighting, line numbers, and configurable editor options.
|
||||
* Validation is handled externally via the onValidate callback.
|
||||
*/
|
||||
|
||||
import React, { useRef, useEffect } from 'react';
|
||||
import Editor, { type OnMount } from '@monaco-editor/react';
|
||||
import type { editor } from 'monaco-editor';
|
||||
|
||||
interface AgentConfigEditorProps {
|
||||
value: string;
|
||||
onChange: (value: string) => void;
|
||||
onValidate?: (markers: editor.IMarker[]) => void;
|
||||
readOnly?: boolean;
|
||||
height?: string;
|
||||
}
|
||||
|
||||
export default function AgentConfigEditor({
|
||||
value,
|
||||
onChange,
|
||||
onValidate,
|
||||
readOnly = false,
|
||||
height = '100%',
|
||||
}: AgentConfigEditorProps) {
|
||||
const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
// Set up validation when editor is mounted
|
||||
if (editorRef.current && onValidate) {
|
||||
const model = editorRef.current.getModel();
|
||||
if (model) {
|
||||
// Server-side validation is handled via API
|
||||
// Monaco provides basic YAML syntax highlighting
|
||||
}
|
||||
}
|
||||
}, [onValidate]);
|
||||
|
||||
const handleEditorDidMount: OnMount = (editorInstance) => {
|
||||
editorRef.current = editorInstance as editor.IStandaloneCodeEditor;
|
||||
|
||||
// Configure editor options
|
||||
editorInstance.updateOptions({
|
||||
minimap: { enabled: false },
|
||||
scrollBeyondLastLine: false,
|
||||
fontSize: 13,
|
||||
lineNumbers: 'on',
|
||||
renderLineHighlight: 'all',
|
||||
folding: true,
|
||||
automaticLayout: true,
|
||||
});
|
||||
};
|
||||
|
||||
const handleEditorChange = (value: string | undefined) => {
|
||||
if (value !== undefined) {
|
||||
onChange(value);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Editor
|
||||
height={height}
|
||||
defaultLanguage="yaml"
|
||||
value={value}
|
||||
onChange={handleEditorChange}
|
||||
onMount={handleEditorDidMount}
|
||||
theme="vs-dark"
|
||||
options={{
|
||||
readOnly,
|
||||
wordWrap: 'on',
|
||||
tabSize: 2,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user