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:
admin
2026-01-28 00:27:56 +04:00
Unverified
parent 3b128ba3bd
commit b52318eeae
1724 changed files with 351216 additions and 0 deletions

170
dexto/eslint.config.js Normal file
View File

@@ -0,0 +1,170 @@
import tseslint from '@typescript-eslint/eslint-plugin';
import tsParser from '@typescript-eslint/parser';
import js from '@eslint/js';
import prettier from 'eslint-config-prettier';
import requireZodDescribe from './eslint-rules/require-zod-describe.js';
import noOptionalLoggerInConstructor from './eslint-rules/no-optional-logger-in-constructor.js';
export default [
// Base config for all files
js.configs.recommended,
{
linterOptions: {
reportUnusedDisableDirectives: 'warn',
},
},
// TypeScript specific config (general rules)
{
files: ['**/*.ts'],
languageOptions: {
parser: tsParser,
ecmaVersion: 2022,
sourceType: 'module',
globals: {
console: 'readonly',
process: 'readonly',
setTimeout: 'readonly',
clearTimeout: 'readonly',
global: 'readonly',
require: 'readonly',
__dirname: 'readonly',
module: 'readonly',
document: 'readonly',
window: 'readonly',
HTMLElement: 'readonly',
HTMLAnchorElement: 'readonly',
HTMLImageElement: 'readonly',
Element: 'readonly',
Node: 'readonly',
clearInterval: 'readonly',
setInterval: 'readonly',
Buffer: 'readonly',
URL: 'readonly',
AbortController: 'readonly',
AbortSignal: 'readonly',
structuredClone: 'readonly',
NodeJS: 'readonly',
CustomEvent: 'readonly',
localStorage: 'readonly',
FileReader: 'readonly',
fetch: 'readonly',
URLSearchParams: 'readonly',
RequestInfo: 'readonly',
Response: 'readonly',
RequestInit: 'readonly',
// Browser Speech Synthesis API globals used in webui
SpeechSynthesisUtterance: 'readonly',
SpeechSynthesisVoice: 'readonly',
},
},
plugins: {
'@typescript-eslint': tseslint,
},
rules: {
'no-console': 'off',
'no-unused-vars': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^_',
},
],
'no-dupe-class-members': 'off', // Allow TypeScript method overloading
'no-redeclare': 'off', // Disable base rule - replaced by @typescript-eslint/no-redeclare
'@typescript-eslint/no-redeclare': 'error', // TS-aware: allows overloads, catches real redeclarations
'no-restricted-syntax': [
'error',
{
selector:
'TSTypeReference > TSTypeQuery > Identifier[name="z"] ~ TSQualifiedName > Identifier[name="infer"]',
message:
'Use z.output instead of z.infer for better type inference with Zod schemas. z.output includes transformations while z.infer may miss them.',
},
{
selector:
'TSTypeReference[typeName.type="TSQualifiedName"][typeName.left.name="z"][typeName.right.name="infer"]',
message:
'Use z.output instead of z.infer for better type inference with Zod schemas. z.output includes transformations while z.infer may miss them.',
},
],
},
},
// Zod .describe() enforcement for API route files only
{
files: ['**/server/src/**/*.ts', '**/api/routes/**/*.ts'],
plugins: {
'dexto-custom': {
rules: {
'require-zod-describe': requireZodDescribe,
},
},
},
rules: {
// Enforce .describe() on Zod schemas for OpenAPI documentation
// Only applies to API route files where OpenAPI docs are generated
'dexto-custom/require-zod-describe': [
'error',
{
exemptSchemaNames: [
// Add schema names here that should be exempt from requiring .describe()
// Example: 'TestMockSchema', 'InternalConfigSchema'
],
},
],
},
},
// Prevent optional logger parameters in class constructors
{
files: ['packages/core/src/**/*.ts'],
plugins: {
'dexto-custom': {
rules: {
'no-optional-logger-in-constructor': noOptionalLoggerInConstructor,
},
},
},
rules: {
// Enforce required logger parameters in class constructors
// Logger is a critical dependency that should always be provided
'dexto-custom/no-optional-logger-in-constructor': 'error',
},
},
// Ignore patterns (keep existing ignores)
{
ignores: [
'node_modules/**',
'**/dist/**',
'.cursor/**',
'public/**',
// Use the package-local ESLint config for Web UI instead of root config
'packages/webui/**',
'**/build/**',
'**/coverage/**',
'test-temp/**',
'**/*.min.js',
'**/generated/**',
'docs/.docusaurus/**',
'scripts/dev.js',
'scripts/dev-status.js',
'packages/cli/src/web/client/script.js',
'packages/webui/tailwind.config.js',
'**/.venv/**',
'**/venv/**',
'**/env/**',
'**/__pycache__/**',
'**/*.pyc',
'**/*.pyo',
'**/*.pyd',
],
},
prettier,
];