Files
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
16 KiB
JSON

{"repo": "batnieluyo/datastreaming", "files": {"config/vizra-adk.php": {"d91fc1768ac4145a1646ec81b904b9fe019e658a": {"t": 1786068320.3219504, "n": 15477, "h": "4abbb22c117d565f", "c": "<?php\n\nreturn [\n /**\n * Master switch to enable/disable the Vizra ADK package.\n * When false, the package will not initialize or perform any operations.\n */\n 'enabled' => env('VIZRA_ADK_ENABLED', true),\n\n /**\n * Logging configuration for the package.\n * Control how the package logs information, warnings, and errors.\n */\n 'logging' => [\n /**\n * Enable or disable logging across the entire package.\n * When false, no logs will be written by any Vizra ADK component.\n */\n 'enabled' => env('VIZRA_ADK_LOGGING_ENABLED', true),\n\n /**\n * Log level threshold. Only messages of this level or higher will be logged.\n * Options: 'debug', 'info', 'warning', 'error', 'critical', 'none'\n */\n 'level' => env('VIZRA_ADK_LOGGING_LEVEL', 'warning'),\n\n /**\n * Specific component logging controls.\n * Fine-grained control over which components can log.\n */\n 'components' => [\n 'vector_memory' => env('VIZRA_ADK_LOG_VECTOR_MEMORY', false),\n 'agents' => env('VIZRA_ADK_LOG_AGENTS', true),\n 'tools' => env('VIZRA_ADK_LOG_TOOLS', true),\n 'mcp' => env('VIZRA_ADK_LOG_MCP', true),\n 'traces' => env('VIZRA_ADK_LOG_TRACES', false),\n ],\n ],\n\n /**\n * Default LLM provider to use with Prism-PHP.\n * This can be overridden by specific agent configurations.\n *\n * Supported providers:\n * - 'openai' - OpenAI (GPT-4, GPT-3.5, etc.)\n * - 'anthropic' - Anthropic (Claude models)\n * - 'gemini' or 'google' - Google Gemini\n * - 'deepseek' - DeepSeek AI\n * - 'ollama' - Ollama (local models like Llama, CodeLlama, Phi)\n * - 'mistral' - Mistral AI (Mistral, Mixtral models)\n * - 'groq' - Groq (Fast inference)\n * - 'xai' or 'grok' - xAI (Grok models)\n * - 'voyageai' or 'voyage' - Voyage AI (Embeddings)\n * - 'openrouter' - OpenRouter (Access 100+ models through unified API)\n */\n 'default_provider' => env('VIZRA_ADK_DEFAULT_PROVIDER', 'google'),\n\n /**\n * Default LLM model to use with Prism-PHP.\n * This can be overridden by specific agent configurations.\n * Example: 'gemini-pro', 'gpt-4-turbo', 'claude-3-opus-20240229'\n */\n 'default_model' => env('VIZRA_ADK_DEFAULT_MODEL', 'gemini-1.5-flash'),\n\n /**\n * Default generation parameters for LLM requests.\n * These can be overridden by specific agent configurations.\n */\n 'default_generation_params' => [\n 'temperature' => env('VIZRA_ADK_DEFAULT_TEMPERATURE', null), // null means use provider default\n 'max_tokens' => env('VIZRA_ADK_DEFAULT_MAX_TOKENS', null), // null means use provider default\n 'top_p' => env('VIZRA_ADK_DEFAULT_TOP_P', null), // null means use provider default\n ],\n\n /**\n * HTTP client configuration for LLM API calls.\n * Controls timeout settings for API requests to prevent premature timeouts.\n */\n 'http' => [\n 'timeout' => env('VIZRA_ADK_HTTP_TIMEOUT', 120), // Total timeout in seconds (default: 2 minutes)\n 'connect_timeout' => env('VIZRA_ADK_HTTP_CONNECT_TIMEOUT', 10), // Connection timeout in seconds\n ],\n\n /**\n * Provider-specific configurations.\n * Configure API keys and settings for each LLM provider.\n * \n * Note: Most providers are configured through Prism PHP's configuration.\n * Set these environment variables in your .env file:\n * - OPENAI_API_KEY\n * - ANTHROPIC_API_KEY\n * - GEMINI_API_KEY\n * - DEEPSEEK_API_KEY\n * - MISTRAL_API_KEY\n * - GROQ_API_KEY\n * - XAI_API_KEY\n * - VOYAGEAI_API_KEY\n * - OPENROUTER_API_KEY\n * \n * For OpenRouter:\n * - API Key: Get from https://openrouter.ai/settings\n * - Base URL: https://openrouter.ai/api/v1 (handled by Prism)\n * - Models: Use format \"provider/model\" (e.g., \"openai/gpt-4\", \"anthropic/claude-3-opus\")\n */\n 'providers' => [\n 'openrouter' => [\n 'api_key' => env('OPENROUTER_API_KEY'),\n 'base_url' => 'https://openrouter.ai/api/v1',\n // Optional: Set default headers for OpenRouter\n 'http_referer' => env('OPENROUTER_HTTP_REFERER', config('app.url')),\n 'app_name' => env('OPENROUTER_APP_NAME', config('app.name')),\n ],\n ],\n\n /**\n * Sub-agent delegation settings.\n * Controls behavior of agent hierarchies and delegation.\n */\n 'max_delegation_depth' => env('VIZRA_ADK_MAX_DELEGATION_DEPTH', 5), // Maximum depth for nested sub-agent delegation\n\n /**\n * Database table names used by the package.\n * You can change these if they conflict with existing tables.\n */\n 'tables' => [\n 'agent_sessions' => 'agent_sessions',\n 'agent_messages' => 'agent_messages',\n 'agent_memories' => 'agent_memories',\n 'agent_vector_memories' => 'agent_vector_memories',\n 'agent_trace_spans' => 'agent_trace_spans',\n ],\n\n /**\n * Tracing configuration.\n * Controls the execution tracing system for debugging and performance analysis.\n */\n 'tracing' => [\n 'enabled' => env('VIZRA_ADK_TRACING_ENABLED', true),\n 'cleanup_days' => env('VIZRA_ADK_TRACING_CLEANUP_DAYS', 30), // Days to keep trace data\n ],\n\n /**\n * Namespaces for user-defined classes.\n * These are used by the artisan 'make' commands.\n */\n 'namespaces' => [\n 'agents' => 'App\\Agents', // Default namespace for generated Agent classes\n 'tools' => 'App\\Tools', // Default namespace for generated Tool classes\n 'evaluations' => 'App\\Evaluations', // Default namespace for generated Evaluation classes\n ],\n\n 'routes' => [\n 'enabled' => true, // Master switch for package routes\n 'prefix' => 'api/vizra-adk', // Default prefix for all package API routes\n 'middleware' => ['api'], // Default middleware group for package routes\n 'web' => [\n 'enabled' => env('VIZRA_ADK_WEB_ENABLED', true), // Enable web interface\n 'prefix' => 'vizra', // Prefix for web routes\n 'middleware' => ['web'], // Middleware for web routes\n ],\n ],\n\n /**\n * OpenAI API Compatibility Configuration\n * Maps OpenAI model names to your agent names for the /chat/completions endpoint.\n */\n 'openai_model_mapping' => [\n 'gpt-4' => env('VIZRA_ADK_OPENAI_GPT4_AGENT', 'chat_agent'),\n 'gpt-4-turbo' => env('VIZRA_ADK_OPENAI_GPT4_TURBO_AGENT', 'chat_agent'),\n 'gpt-3.5-turbo' => env('VIZRA_ADK_OPENAI_GPT35_AGENT', 'chat_agent'),\n 'gpt-4o' => env('VIZRA_ADK_OPENAI_GPT4O_AGENT', 'chat_agent'),\n 'gpt-4o-mini' => env('VIZRA_ADK_OPENAI_GPT4O_MINI_AGENT', 'chat_agent'),\n // Add more mappings as needed\n ],\n\n /**\n * Default agent to use when no specific mapping is found\n */\n 'default_chat_agent' => env('VIZRA_ADK_DEFAULT_CHAT_AGENT', 'chat_agent'),\n\n /**\n * Model Context Protocol (MCP) Configuration\n * Define MCP servers that agents can connect to for enhanced capabilities.\n *\n * Supported transports:\n * - 'stdio': Subprocess communication via stdin/stdout (default)\n * - 'http': Remote HTTP/SSE server communication\n *\n * STDIO Transport Configuration:\n * - transport: 'stdio' (optional, default)\n * - command: The command to start the MCP server\n * - args: Arguments to pass to the server command\n * - enabled: Whether this server is enabled (default: true)\n * - timeout: Connection timeout in seconds (default: 30)\n * - use_pty: Use pseudo-terminal for interactive processes (default: false)\n *\n * HTTP Transport Configuration:\n * - transport: 'http'\n * - url: The HTTP endpoint URL for the MCP server\n * - api_key: Optional API key for authentication\n * - enabled: Whether this server is enabled (default: true)\n * - timeout: Request timeout in seconds (default: 30)\n * - headers: Optional additional HTTP headers (default: [])\n */\n 'mcp_servers' => [\n // STDIO transport example - local MCP server via subprocess\n 'filesystem' => [\n 'transport' => 'stdio', // Optional, default is 'stdio'\n 'command' => env('MCP_NPX_PATH', 'npx'),\n 'args' => [\n '@modelcontextprotocol/server-filesystem',\n env('MCP_FILESYSTEM_PATH', app_path()), // Changed to allow access to app directory\n ],\n 'enabled' => env('MCP_FILESYSTEM_ENABLED', false),\n 'timeout' => 30,\n ],\n\n // STDIO transport example - GitHub MCP server\n 'github' => [\n 'transport' => 'stdio',\n 'command' => env('MCP_NPX_PATH', 'npx'),\n 'args' => [\n '@modelcontextprotocol/server-github',\n '--token',\n env('GITHUB_TOKEN', ''),\n ],\n 'enabled' => env('MCP_GITHUB_ENABLED', false) && ! empty(env('GITHUB_TOKEN')),\n 'timeout' => 45,\n ],\n\n // HTTP transport example - remote MCP server via HTTP/SSE\n 'github_http' => [\n 'transport' => 'http',\n 'url' => env('MCP_GITHUB_HTTP_URL', 'http://localhost:8001/api/mcp'),\n 'api_key' => env('MCP_GITHUB_HTTP_API_KEY'),\n 'enabled' => env('MCP_GITHUB_HTTP_ENABLED', false),\n 'timeout' => 45,\n 'headers' => [\n // Optional additional headers\n // 'X-Custom-Header' => 'value',\n ],\n ],\n\n 'postgres' => [\n 'command' => env('MCP_NPX_PATH', 'npx'),\n 'args' => [\n '@modelcontextprotocol/server-postgres',\n '--connection-string',\n env('MCP_POSTGRES_URL', env('DATABASE_URL', '')),\n ],\n 'enabled' => env('MCP_POSTGRES_ENABLED', false) && ! empty(env('DATABASE_URL')),\n 'timeout' => 30,\n ],\n\n 'brave_search' => [\n 'command' => env('MCP_NPX_PATH', 'npx'),\n 'args' => [\n '@modelcontextprotocol/server-brave-search',\n '--api-key',\n env('BRAVE_API_KEY', ''),\n ],\n 'enabled' => env('MCP_BRAVE_SEARCH_ENABLED', false) && ! empty(env('BRAVE_API_KEY')),\n 'timeout' => 30,\n ],\n\n 'slack' => [\n 'command' => env('MCP_NPX_PATH', 'npx'),\n 'args' => [\n '@modelcontextprotocol/server-slack',\n '--bot-token',\n env('SLACK_BOT_TOKEN', ''),\n ],\n 'enabled' => env('MCP_SLACK_ENABLED', false) && ! empty(env('SLACK_BOT_TOKEN')),\n 'timeout' => 30,\n ],\n\n // Example custom MCP server\n // 'custom_api' => [\n // 'command' => 'python',\n // 'args' => ['/path/to/your/mcp-server.py'],\n // 'enabled' => true,\n // 'timeout' => 60,\n // ],\n ],\n\n /**\n * Prompt versioning configuration.\n * Controls how agent prompts are stored and versioned.\n */\n 'prompts' => [\n /**\n * Enable database storage for prompts.\n * When true, prompts can be stored in the database for dynamic updates.\n */\n 'use_database' => env('VIZRA_ADK_PROMPTS_USE_DATABASE', false),\n\n /**\n * Path where file-based prompts are stored.\n * Default: resources/prompts\n */\n 'storage_path' => env('VIZRA_ADK_PROMPTS_PATH', resource_path('prompts')),\n\n /**\n * Enable prompt usage tracking.\n * When true, tracks which prompt versions are used in each session.\n */\n 'track_usage' => env('VIZRA_ADK_PROMPTS_TRACK_USAGE', false),\n\n /**\n * Cache TTL for database prompts (in seconds).\n * Set to 0 to disable caching.\n */\n 'cache_ttl' => env('VIZRA_ADK_PROMPTS_CACHE_TTL', 300),\n\n /**\n * Default prompt version to use when none is specified.\n * Can be 'latest', 'default', or a specific version string.\n */\n 'default_version' => env('VIZRA_ADK_PROMPTS_DEFAULT_VERSION', 'default'),\n ],\n\n /**\n * Vector Memory & RAG Configuration\n * Configure semantic search and document retrieval capabilities.\n */\n 'vector_memory' => [\n /**\n * Enable vector memory functionality.\n */\n 'enabled' => env('VIZRA_ADK_VECTOR_ENABLED', true),\n\n /**\n * Vector storage driver.\n * Supported: 'pgvector', 'meilisearch'\n */\n 'driver' => env('VIZRA_ADK_VECTOR_DRIVER', 'pgvector'),\n\n /**\n * Embedding provider for generating vectors.\n * Supported: 'openai', 'cohere', 'ollama', 'gemini'\n */\n 'embedding_provider' => env('VIZRA_ADK_EMBEDDING_PROVIDER', 'openai'),\n\n /**\n * Embedding models for each provider.\n */\n 'embedding_models' => [\n 'openai' => env('VIZRA_ADK_OPENAI_EMBEDDING_MODEL', 'text-embedding-3-small'),\n 'cohere' => env('VIZRA_ADK_COHERE_EMBEDDING_MODEL', 'embed-english-v3.0'),\n 'ollama' => env('VIZRA_ADK_OLLAMA_EMBEDDING_MODEL', 'nomic-embed-text'),\n 'gemini' => env('VIZRA_ADK_GEMINI_EMBEDDING_MODEL', 'text-embedding-004'),\n ],\n\n /**\n * Model dimensions for calculating similarity.\n */\n 'dimensions' => [\n // OpenAI models\n 'text-embedding-3-small' => 1536,\n 'text-embedding-3-large' => 3072,\n 'text-embedding-ada-002' => 1536,\n // Cohere models\n 'embed-english-v3.0' => 1024,\n 'embed-multilingual-v3.0' => 1024,\n // Ollama models\n 'nomic-embed-text' => 768,\n 'mxbai-embed-large' => 1024,\n // Gemini models\n 'text-embedding-004' => 768,\n ],\n\n /**\n * Driver-specific configurations.\n */\n 'drivers' => [\n 'pgvector' => [\n 'connection' => env('VIZRA_ADK_PGVECTOR_CONNECTION', 'pgsql'),\n ],\n\n 'meilisearch' => [\n 'host' => env('MEILISEARCH_HOST', 'http://localhost:7700'),\n 'api_key' => env('MEILISEARCH_KEY'),\n 'index_prefix' => env('MEILISEARCH_PREFIX', 'agent_vectors_'),\n 'embedder' => env('MEILISEARCH_EMBEDDER', 'default'),\n 'semantic_ratio' => env('MEILISEARCH_SEMANTIC_RATIO', 1.0),\n ],\n ],\n\n /**\n * Document chunking configuration.\n */\n 'chunking' => [\n 'strategy' => env('VIZRA_ADK_CHUNK_STRATEGY', 'sentence'), // 'sentence' or 'paragraph'\n 'chunk_size' => env('VIZRA_ADK_CHUNK_SIZE', 1000), // Characters per chunk\n 'overlap' => env('VIZRA_ADK_CHUNK_OVERLAP', 200), // Overlap between chunks\n 'separators' => [\"\\n\\n\", \"\\n\", \". \", \", \", \" \"],\n 'keep_separators' => true,\n ],\n\n /**\n * RAG (Retrieval-Augmented Generation) configuration.\n */\n 'rag' => [\n 'context_template' => \"Based on the following context:\\n{context}\\n\\nAnswer this question: {query}\",\n 'max_context_length' => env('VIZRA_ADK_RAG_MAX_CONTEXT', 4000),\n 'include_metadata' => env('VIZRA_ADK_RAG_INCLUDE_METADATA', true),\n ],\n ],\n];\n"}}}}