From 37a6183eb452b9bcdf77f3263fb2ede13428968a Mon Sep 17 00:00:00 2001 From: root Date: Wed, 22 Oct 2025 00:43:05 +0000 Subject: [PATCH] Fix code quality violations and add VS Code extension features Fix VS Code extension storage paths for new directory structure Fix jqhtml compiled files missing from bundle Fix bundle babel transformation and add rsxrealpath() function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit šŸ¤– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .env.dist | 2 +- .gitignore | 3 +- app/Http/Middleware/Gatekeeper.php | 5 - .../HardcodedInternalUrl_CodeQualityRule.php | 5 + .../JQueryLengthCheck_CodeQualityRule.php | 8 +- .../JQueryVariableNaming_CodeQualityRule.php | 77 ++- .../JavaScript/ThisUsage_CodeQualityRule.php | 23 +- .../JavaScript/resource/this-usage-parser.js | 47 +- .../ModelEnumColumns_CodeQualityRule.php | 2 +- .../Models/ModelEnums_CodeQualityRule.php | 45 +- .../PHP/RealpathUsage_CodeQualityRule.php | 105 ++++ app/RSpade/Commands/Rsx/Rsx_Check_Command.php | 89 +--- app/RSpade/Core/Bundle/BundleCompiler.php | 84 ++- app/RSpade/Core/Dispatch/AssetHandler.php | 4 + app/RSpade/Core/Manifest/Manifest.php | 14 +- app/RSpade/Core/PHP/Php_Fixer.php | 6 +- app/RSpade/Ide/Services/handler.php | 496 ++++++++++++++++++ .../Scss/Scss_BundleProcessor.php | 4 +- app/RSpade/helpers.php | 65 +++ .../out/auto_rename_provider.js | 0 .../out/auto_rename_provider.js.map | 0 .../vscode_extension/out/blade_client.js | 0 .../vscode_extension/out/blade_client.js.map | 0 .../out/blade_component_provider.js | 0 .../out/blade_component_provider.js.map | 0 .../vscode_extension/out/blade_spacer.js | 0 .../vscode_extension/out/blade_spacer.js.map | 0 .../out/class_refactor_code_actions.js | 0 .../out/class_refactor_code_actions.js.map | 0 .../out/class_refactor_provider.js | 0 .../out/class_refactor_provider.js.map | 0 .../resource/vscode_extension/out/config.js | 0 .../vscode_extension/out/config.js.map | 0 .../out/convention_method_provider.js | 0 .../out/convention_method_provider.js.map | 0 .../vscode_extension/out/debug_client.js | 0 .../vscode_extension/out/debug_client.js.map | 0 .../out/decoration_provider.js | 0 .../out/decoration_provider.js.map | 0 .../out/definition_provider.js | 55 +- .../out/definition_provider.js.map | 2 +- .../vscode_extension/out/extension.js | 0 .../vscode_extension/out/extension.js.map | 0 .../vscode_extension/out/file_watcher.js | 0 .../vscode_extension/out/file_watcher.js.map | 0 .../out/folder_color_provider.js | 0 .../out/folder_color_provider.js.map | 0 .../vscode_extension/out/folding_provider.js | 0 .../out/folding_provider.js.map | 0 .../out/formatting_provider.js | 10 +- .../out/formatting_provider.js.map | 2 +- .../vscode_extension/out/git_diff_provider.js | 4 +- .../out/git_diff_provider.js.map | 2 +- .../out/git_status_provider.js | 4 +- .../out/git_status_provider.js.map | 2 +- .../vscode_extension/out/ide_bridge_client.js | 23 +- .../out/ide_bridge_client.js.map | 2 +- .../out/jqhtml_lifecycle_provider.js | 2 +- .../out/jqhtml_lifecycle_provider.js.map | 2 +- .../out/laravel_completion_provider.js | 0 .../out/laravel_completion_provider.js.map | 0 .../out/php_attribute_provider.js | 0 .../out/php_attribute_provider.js.map | 0 .../out/refactor_code_actions.js | 0 .../out/refactor_code_actions.js.map | 0 .../vscode_extension/out/refactor_provider.js | 0 .../out/refactor_provider.js.map | 0 .../out/sort_class_methods_provider.js | 0 .../out/sort_class_methods_provider.js.map | 0 .../resource/vscode_extension/package.json | 4 +- .../vscode_extension/rspade-framework.vsix | Bin 92699 -> 93164 bytes .../src/definition_provider.ts | 63 ++- .../src/formatting_provider.ts | 10 +- .../vscode_extension/src/git_diff_provider.ts | 4 +- .../src/git_status_provider.ts | 4 +- .../vscode_extension/src/ide_bridge_client.ts | 24 +- .../src/jqhtml_lifecycle_provider.ts | 2 +- config/rsx.php | 4 +- docs/CLAUDE.dist.md | 6 + routes/web.php | 6 +- 80 files changed, 1066 insertions(+), 255 deletions(-) create mode 100755 app/RSpade/CodeQuality/Rules/PHP/RealpathUsage_CodeQualityRule.php mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/auto_rename_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/auto_rename_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/blade_client.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/blade_client.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/blade_component_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/blade_component_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/blade_spacer.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/blade_spacer.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/config.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/config.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/convention_method_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/convention_method_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/debug_client.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/debug_client.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/decoration_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/decoration_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/definition_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/definition_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/extension.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/extension.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/file_watcher.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/file_watcher.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folder_color_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folder_color_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folding_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folding_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/formatting_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/formatting_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_diff_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_status_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_status_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/ide_bridge_client.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/php_attribute_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/php_attribute_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_code_actions.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_code_actions.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js.map diff --git a/.env.dist b/.env.dist index a6592ecd6..65630d526 100755 --- a/.env.dist +++ b/.env.dist @@ -46,7 +46,7 @@ SHOW_CONSOLE_DEBUG_HTTP=false # FORCE_REBUILD_EVERY_REQUEST: Clear build cache on each request (development only) # Gatekeeper Development Preview Authentication -GATEKEEPER_ENABLED=true +GATEKEEPER_ENABLED=false GATEKEEPER_PASSWORD=preview123 GATEKEEPER_TITLE="Development Preview" GATEKEEPER_SUBTITLE="This is a restricted development preview site. Please enter the access password to continue." diff --git a/.gitignore b/.gitignore index 5bb662b97..8a0fa2b40 100755 --- a/.gitignore +++ b/.gitignore @@ -38,8 +38,7 @@ supervisord.pid* # RSX Framework .rsx-manifest-cache .migrating -_rsx_helper.php -rsx/_rsx_helper.php +._rsx_helper.php _ide_helper.php # Build artifacts diff --git a/app/Http/Middleware/Gatekeeper.php b/app/Http/Middleware/Gatekeeper.php index f7601c9b8..9b45dc693 100755 --- a/app/Http/Middleware/Gatekeeper.php +++ b/app/Http/Middleware/Gatekeeper.php @@ -25,11 +25,6 @@ class Gatekeeper return $next($request); } - // Always allow IDE helper endpoints for VS Code extension integration - if (str_starts_with($request->path(), '_idehelper')) { - return $next($request); - } - // Check if request is whitelisted (localhost without reverse proxy headers) if ($this->is_whitelisted($request)) { return $next($request); diff --git a/app/RSpade/CodeQuality/Rules/Common/HardcodedInternalUrl_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/Common/HardcodedInternalUrl_CodeQualityRule.php index 8901ab8d7..9fe98f809 100755 --- a/app/RSpade/CodeQuality/Rules/Common/HardcodedInternalUrl_CodeQualityRule.php +++ b/app/RSpade/CodeQuality/Rules/Common/HardcodedInternalUrl_CodeQualityRule.php @@ -186,6 +186,11 @@ class HardcodedInternalUrl_CodeQualityRule extends CodeQualityRule_Abstract return false; } + // Allow exactly "/" (root/home URL) - common and acceptable + if ($url === '/') { + return false; + } + // Skip absolute URLs (with protocol) if (preg_match('#^//#', $url)) { return false; diff --git a/app/RSpade/CodeQuality/Rules/JavaScript/JQueryLengthCheck_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/JavaScript/JQueryLengthCheck_CodeQualityRule.php index adfb2bbf8..c97224764 100755 --- a/app/RSpade/CodeQuality/Rules/JavaScript/JQueryLengthCheck_CodeQualityRule.php +++ b/app/RSpade/CodeQuality/Rules/JavaScript/JQueryLengthCheck_CodeQualityRule.php @@ -98,8 +98,14 @@ class JQueryLengthCheck_CodeQualityRule extends CodeQualityRule_Abstract } if ($found) { + // Check if .length is followed by comparison or assignment operators + // These are valid uses: .length > 1, .length = x, etc. + if (preg_match('/\.length\s*([><=!]+|[+\-*\/]=)/', $sanitized_line)) { + continue; // Skip - this is a numeric comparison or assignment + } + $original_line = $original_lines[$line_num] ?? $sanitized_line; - + $this->add_violation( $file_path, $line_number, diff --git a/app/RSpade/CodeQuality/Rules/JavaScript/JQueryVariableNaming_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/JavaScript/JQueryVariableNaming_CodeQualityRule.php index 3817f3635..561e54769 100755 --- a/app/RSpade/CodeQuality/Rules/JavaScript/JQueryVariableNaming_CodeQualityRule.php +++ b/app/RSpade/CodeQuality/Rules/JavaScript/JQueryVariableNaming_CodeQualityRule.php @@ -51,13 +51,20 @@ class JQueryVariableNaming_CodeQualityRule extends CodeQualityRule_Abstract ]; /** - * jQuery methods that return scalar values (not jQuery objects) + * jQuery methods that return scalar values ONLY when called as getters (no arguments) + * When called with arguments, these return jQuery object for chaining */ - private const SCALAR_METHODS = [ + private const GETTER_METHODS = [ 'data', 'attr', 'val', 'text', 'html', 'prop', 'css', 'offset', 'position', 'scrollTop', 'scrollLeft', 'width', 'height', 'innerWidth', 'innerHeight', 'outerWidth', 'outerHeight', + ]; + + /** + * jQuery methods that ALWAYS return scalar values + */ + private const SCALAR_METHODS = [ 'index', 'size', 'length', 'get', 'toArray', 'serialize', 'serializeArray', 'is', 'hasClass', 'is_visible' // Custom RSpade methods @@ -155,7 +162,23 @@ class JQueryVariableNaming_CodeQualityRule extends CodeQualityRule_Abstract // Direct jQuery selector: $(...) if (preg_match('/^\$\s*\(/', $expr)) { - // Check if followed by method chain + // Check if it's creating an element: $('') + if (preg_match('/^\$\s*\(\s*[\'"]') with no methods + } + // Only check if chain ENDS with a scalar method + return $this->analyze_method_chain($chain); + } + return 'jquery'; + } + + // Regular selector or other jQuery call if (preg_match('/^\$\s*\([^)]*\)(.*)/', $expr, $matches)) { $chain = trim($matches[1]); if ($chain === '') { @@ -201,25 +224,57 @@ class JQueryVariableNaming_CodeQualityRule extends CodeQualityRule_Abstract // Find the last method call in the chain // Match patterns like .method() or .method(args) + // Also capture what's inside the parentheses $methods = []; - preg_match_all('/\.([a-zA-Z_][a-zA-Z0-9_]*)\s*\([^)]*\)/', $chain, $methods); - - if (empty($methods[1])) { + preg_match_all('/\.([a-zA-Z_][a-zA-Z0-9_]*)\s*\(([^)]*)\)/', $chain, $methods, PREG_SET_ORDER); + + if (empty($methods)) { // No method calls found return 'unknown'; } - + // Check the last method to determine return type - $last_method = end($methods[1]); - + $last_method_data = end($methods); + $last_method = $last_method_data[1]; + $last_args = trim($last_method_data[2] ?? ''); + if (in_array($last_method, self::JQUERY_OBJECT_METHODS, true)) { return 'jquery'; } - + if (in_array($last_method, self::SCALAR_METHODS, true)) { return 'scalar'; } - + + // Check getter methods - return scalar for getters, jQuery for setters + if (in_array($last_method, self::GETTER_METHODS, true)) { + // Count arguments by splitting on commas (simple heuristic) + // Note: This won't handle nested function calls perfectly, but works for common cases + $arg_count = $last_args === '' ? 0 : (substr_count($last_args, ',') + 1); + + // Special handling for methods that take a key parameter + // .data('key') - 1 arg = getter (returns value) + // .data('key', value) - 2 args = setter (returns jQuery) + // .attr('name') - 1 arg = getter (returns attribute value) + // .attr('name', value) - 2 args = setter (returns jQuery) + if (in_array($last_method, ['data', 'attr', 'prop', 'css'], true)) { + if ($arg_count <= 1) { + return 'scalar'; // Getter with key - returns scalar value + } else { + return 'jquery'; // Setter with key and value - returns jQuery for chaining + } + } + + // For other getter methods (text, html, val, etc.) + // .text() - no args = getter (returns text) + // .text('value') - 1 arg = setter (returns jQuery) + if ($last_args === '') { + return 'scalar'; // Getter mode - returns scalar + } else { + return 'jquery'; // Setter mode - returns jQuery object for chaining + } + } + // Unknown method - could be custom plugin return 'unknown'; } diff --git a/app/RSpade/CodeQuality/Rules/JavaScript/ThisUsage_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/JavaScript/ThisUsage_CodeQualityRule.php index f57d7fa92..22683de2a 100755 --- a/app/RSpade/CodeQuality/Rules/JavaScript/ThisUsage_CodeQualityRule.php +++ b/app/RSpade/CodeQuality/Rules/JavaScript/ThisUsage_CodeQualityRule.php @@ -7,23 +7,24 @@ use App\RSpade\CodeQuality\Rules\CodeQualityRule_Abstract; /** * JavaScript 'this' Usage Rule * - * PHILOSOPHY: Remove ambiguity about what 'this' refers to in all contexts. + * PHILOSOPHY: Enforce clear 'this' patterns in anonymous functions and static methods. * * RULES: - * 1. Anonymous functions: Can use 'const $var = $(this)' as first line (jQuery pattern) - * 2. Instance methods: Must use 'const that = this' as first line (constructors exempt) - * 3. Static methods: Use Class_Name OR 'const CurrentClass = this' for polymorphism - * 4. Arrow functions: Ignored (they inherit 'this' context) - * 5. Constructors: Direct 'this' usage allowed for property assignment + * 1. Anonymous functions: MUST use 'const $element = $(this)' or 'const that = this' as first line + * 2. Static methods: MUST NOT use naked 'this' - use Class_Name or 'const CurrentClass = this' + * 3. Instance methods: EXEMPT - can use 'this' directly (no aliasing required) + * 4. Arrow functions: EXEMPT - they inherit 'this' context + * 5. Constructors: EXEMPT - 'this' allowed directly for property assignment * * PATTERNS: - * - jQuery: const $element = $(this) // Variable must start with $ - * - Instance: const that = this // Standard instance aliasing - * - Static (exact): Use Class_Name // When you need exact class + * - jQuery callback: const $element = $(this) // Variable must start with $ + * - Anonymous function: const that = this // Instance context aliasing + * - Static (exact): Use Class_Name // When you need exact class * - Static (polymorphic): const CurrentClass = this // When inherited classes need different behavior * - * This rule does NOT try to detect all jQuery callbacks - it offers the jQuery - * pattern as an option when 'this' violations are found in anonymous functions. + * INSTANCE METHODS POLICY: + * Instance methods (on_ready, on_load, etc.) can use 'this' directly. + * This rule only enforces aliasing for anonymous functions and prohibits naked 'this' in static methods. */ class ThisUsage_CodeQualityRule extends CodeQualityRule_Abstract { diff --git a/app/RSpade/CodeQuality/Rules/JavaScript/resource/this-usage-parser.js b/app/RSpade/CodeQuality/Rules/JavaScript/resource/this-usage-parser.js index 108302650..ae28b61a6 100755 --- a/app/RSpade/CodeQuality/Rules/JavaScript/resource/this-usage-parser.js +++ b/app/RSpade/CodeQuality/Rules/JavaScript/resource/this-usage-parser.js @@ -159,7 +159,22 @@ function analyzeFile(filePath) { let isAnonymousFunc = false; let isStaticMethod = false; let isConstructor = false; + let isInstanceMethod = false; + let hasMethodDefinition = false; + // First pass: check if we're in a MethodDefinition + for (let i = ancestors.length - 1; i >= 0; i--) { + const ancestor = ancestors[i]; + if (ancestor.type === 'MethodDefinition') { + hasMethodDefinition = true; + isStaticMethod = ancestor.static; + isConstructor = ancestor.kind === 'constructor'; + isInstanceMethod = !ancestor.static && ancestor.kind !== 'constructor'; + break; + } + } + + // Second pass: find function and class for (let i = ancestors.length - 1; i >= 0; i--) { const ancestor = ancestors[i]; @@ -168,7 +183,8 @@ function analyzeFile(filePath) { ancestor.type === 'FunctionDeclaration' )) { containingFunc = ancestor; - isAnonymousFunc = ancestor.type === 'FunctionExpression'; + // Only mark as anonymous if NOT inside a MethodDefinition + isAnonymousFunc = ancestor.type === 'FunctionExpression' && !hasMethodDefinition; } if (!containingClass && ( @@ -177,11 +193,6 @@ function analyzeFile(filePath) { )) { containingClass = ancestor; } - - if (ancestor.type === 'MethodDefinition') { - isStaticMethod = ancestor.static; - isConstructor = ancestor.kind === 'constructor'; - } } if (!containingFunc) { @@ -193,6 +204,12 @@ function analyzeFile(filePath) { return; } + // Skip instance methods - 'this' is allowed directly in instance methods + // Only enforce aliasing for anonymous functions and static methods + if (isInstanceMethod) { + return; + } + // Check if this is part of the allowed first-line pattern with const const parent = ancestors[ancestors.length - 2]; const firstStmt = containingFunc.body?.body?.[0]; @@ -323,23 +340,9 @@ function analyzeFile(filePath) { if (isAnonymousFunc && !pattern) { remediation += `\nException: If this is a jQuery callback, add 'const $element = $(this);' as the first line.`; } - } else { - // Instance method - if (!pattern) { - message = `Instance method in '${className}' must alias 'this' for clarity.`; - remediation = `Add 'const that = this;' as the first line of this method, then use 'that' instead of 'this'.\n` + - `This applies even to ORM models and similar classes where direct property access is common.\n` + - `Note: Constructors are exempt - 'this' is allowed directly in constructors for property assignment.\n` + - `Example: Instead of 'return this.name;' use 'const that = this; return that.name;'`; - } else if (pattern === 'that-pattern') { - message = `'this' used after aliasing to 'that'. Use 'that' instead.`; - remediation = `You already have 'const that = this'. Use 'that' consistently throughout the method.\n` + - `All property access should use 'that.property' not 'this.property'.`; - } else if (pattern === 'that-pattern-wrong-kind') { - message = `Instance alias must use 'const', not 'let' or 'var'.`; - remediation = `Change to 'const that = this;' - the instance reference should never be reassigned.`; - } } + // NOTE: Instance methods are exempt from this rule - they can use 'this' directly + // The check returns early for instance methods, so this else block is unreachable for them if (message) { violations.push({ diff --git a/app/RSpade/CodeQuality/Rules/Models/ModelEnumColumns_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/Models/ModelEnumColumns_CodeQualityRule.php index 3fa426f7c..76cc4c591 100755 --- a/app/RSpade/CodeQuality/Rules/Models/ModelEnumColumns_CodeQualityRule.php +++ b/app/RSpade/CodeQuality/Rules/Models/ModelEnumColumns_CodeQualityRule.php @@ -99,7 +99,7 @@ class ModelEnumColumns_CodeQualityRule extends CodeQualityRule_Abstract $this->add_violation( $file_path, $line_number, - "Enum field '{$column}' does not exist as a column in table '{$table_name}'", + "Enum field '{$column}' does not exist as a column in table '{$table_name}' (Have migrations been run yet?)", $lines[$line_number - 1] ?? '', "Remove the enum definition for '{$column}' or add the column to the database table", 'high' diff --git a/app/RSpade/CodeQuality/Rules/Models/ModelEnums_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/Models/ModelEnums_CodeQualityRule.php index 6292def1c..85e9ed589 100755 --- a/app/RSpade/CodeQuality/Rules/Models/ModelEnums_CodeQualityRule.php +++ b/app/RSpade/CodeQuality/Rules/Models/ModelEnums_CodeQualityRule.php @@ -85,15 +85,15 @@ class ModelEnums_CodeQualityRule extends CodeQualityRule_Abstract "Model {$class_name} is missing public static \$enums property", $lines[$class_line - 1] ?? '', "Add: public static \$enums = [];\n\n" . - "For models with enum fields (fields ending in _id that reference lookup tables), use:\n" . + "For models with enum fields (fields that reference lookup tables), use:\n" . "public static \$enums = [\n" . - " 'role_id' => [\n" . - " 1 => ['constant' => 'ROLE_OWNER', 'label' => 'Owner'],\n" . - " 2 => ['constant' => 'ROLE_ADMIN', 'label' => 'Admin'],\n" . + " 'status' => [\n" . + " 1 => ['constant' => 'STATUS_ACTIVE', 'label' => 'Active'],\n" . + " 2 => ['constant' => 'STATUS_INACTIVE', 'label' => 'Inactive'],\n" . " ]\n" . "];\n\n" . - "Note: Top-level keys must match column names ending with '_id'. " . - "Second-level keys are the integer values. Third-level arrays must have 'constant' and 'label' fields.", + "Note: Top-level keys are column names. " . + "Second-level keys must be integers. Third-level arrays must have 'constant' and 'label' fields.", 'medium' ); @@ -107,9 +107,9 @@ class ModelEnums_CodeQualityRule extends CodeQualityRule_Abstract if (trim($enums_content) !== '[]') { // Parse the enums array more carefully // We need to identify the structure: - // 'field_id' => [ value_id => ['constant' => ..., 'label' => ...], ... ] + // 'field_name' => [ integer_value => ['constant' => ..., 'label' => ...], ... ] - // First, find the top-level keys (should end with _id or start with is_) + // First, find the top-level keys (any field name allowed, special handling for is_ prefix) // We'll look for patterns like 'key' => [ or "key" => [ $pattern = '/[\'"]([^\'"]+)[\'\"]\s*=>\s*\[/'; if (preg_match_all($pattern, $enums_content, $field_matches, PREG_OFFSET_CAPTURE)) { @@ -117,32 +117,9 @@ class ModelEnums_CodeQualityRule extends CodeQualityRule_Abstract $field = $field_match[0]; $offset = $field_match[1]; - // Check that top-level field names end with _id or start with is_ - if (!str_ends_with($field, '_id') && !str_starts_with($field, 'is_')) { - // Find the line number for this field - $line_number = 1; - $chars_before = substr($enums_content, 0, $offset); - $line_number += substr_count($chars_before, "\n"); - - // Find actual line in original file - foreach ($lines as $i => $line) { - if ((str_contains($line, "'{$field}'") || str_contains($line, "\"{$field}\"")) - && str_contains($line, '=>')) { - $line_number = $i + 1; - break; - } - } - - $this->add_violation( - $file_path, - $line_number, - "Enum field '{$field}' must end with '_id' or start with 'is_'", - $lines[$line_number - 1] ?? '', - "Rename enum field to either '{$field}_id' or 'is_{$field}'. " . - "Enum field names must end with '_id' for ID fields or start with 'is_' for boolean fields.", - 'medium' - ); - } + // No naming convention enforcement - any field name is allowed + // Only requirement: integer keys for values (checked below) + // Special handling for is_ prefix (boolean fields) is kept // Now check the structure under this field // We need to find the content of this particular field's array diff --git a/app/RSpade/CodeQuality/Rules/PHP/RealpathUsage_CodeQualityRule.php b/app/RSpade/CodeQuality/Rules/PHP/RealpathUsage_CodeQualityRule.php new file mode 100755 index 000000000..06a1ad35d --- /dev/null +++ b/app/RSpade/CodeQuality/Rules/PHP/RealpathUsage_CodeQualityRule.php @@ -0,0 +1,105 @@ +add_violation( + $file_path, + $line_number, + "Use rsxrealpath() instead of realpath() + +RSpade uses symlinks for the /rsx/ directory mapping: +- /var/www/html/system/rsx -> /var/www/html/rsx (symlink) + +realpath() resolves symlinks to their physical paths, which breaks path-based comparisons and deduplication when files are accessed via different symlink paths. + +rsxrealpath() normalizes paths without resolving symlinks, ensuring consistent path handling throughout the framework.", + $snippet, + "Replace: realpath(\$path) +With: rsxrealpath(\$path) + +If you need symlink resolution for security (path traversal prevention), add: +// @REALPATH-EXCEPTION - Security: path traversal prevention +\$real_path = realpath(\$path);", + 'high' + ); + } + } + } +} diff --git a/app/RSpade/Commands/Rsx/Rsx_Check_Command.php b/app/RSpade/Commands/Rsx/Rsx_Check_Command.php index 585d7b20b..71e00ee13 100755 --- a/app/RSpade/Commands/Rsx/Rsx_Check_Command.php +++ b/app/RSpade/Commands/Rsx/Rsx_Check_Command.php @@ -163,7 +163,7 @@ class Rsx_Check_Command extends Command $manifest = Manifest::get_all(); $found_in_manifest = false; foreach ($manifest as $manifest_path => $metadata) { - if (realpath($full_path) === realpath(base_path($manifest_path))) { + if (rsxrealpath($full_path) === rsxrealpath(base_path($manifest_path))) { $found_in_manifest = true; break; } @@ -246,71 +246,34 @@ class Rsx_Check_Command extends Command $this->info("Scanning: {$path}/"); } $is_rsx_dir = ($path === 'rsx'); - - // Collect PHP files - $php_finder = new Finder(); - $php_finder->files() - ->in($full_path) - ->name('*.php') - ->exclude(['vendor', 'node_modules', 'storage', 'bootstrap/cache']); - - foreach ($php_finder as $file) { - $total_files++; - $files_to_check[] = $file->getPathname(); - - // Count controller/model files for stats - if ($is_rsx_dir) { - if ($this->is_controller_file($file->getPathname()) || $this->is_model_file($file->getPathname())) { - $controller_files++; + + // Get all manifest files for this directory + $manifest = Manifest::get_all(); + + foreach ($manifest as $manifest_path => $metadata) { + // Convert manifest path to full path + $manifest_full_path = base_path($manifest_path); + + // Check if this manifest file is within the requested directory + // Either the file is directly in the directory or in a subdirectory + if (str_starts_with($manifest_path, $relative_dir . '/') || $manifest_path === $relative_dir) { + // Only include files that exist + if (file_exists($manifest_full_path)) { + // Avoid duplicates + if (!in_array($manifest_full_path, $files_to_check)) { + $total_files++; + $files_to_check[] = $manifest_full_path; + + // Count controller/model files for stats (if in RSX directory) + if ($is_rsx_dir) { + if ($this->is_controller_file($manifest_full_path) || $this->is_model_file($manifest_full_path)) { + $controller_files++; + } + } + } } } } - - // === Additional File Collection === - // Collect all files for filename case checks (RSX only) - if ($is_rsx_dir) { - $all_files_finder = new Finder(); - $all_files_finder->files() - ->in($full_path) - ->exclude(['vendor', 'node_modules', 'storage', 'bootstrap/cache', 'resource']); - - foreach ($all_files_finder as $file) { - $file_path = $file->getPathname(); - if (!in_array($file_path, $files_to_check)) { - $files_to_check[] = $file_path; - } - } - } - - // Collect JavaScript files for all directories - $js_finder = new Finder(); - $js_finder->files() - ->in($full_path) - ->name('*.js') - ->exclude(['vendor', 'node_modules', 'storage', 'public', 'bootstrap/cache']); - - foreach ($js_finder as $file) { - $file_path = $file->getPathname(); - if (!in_array($file_path, $files_to_check)) { - $files_to_check[] = $file_path; - $total_files++; - } - } - - // Collect JSON files for all directories - $json_finder = new Finder(); - $json_finder->files() - ->in($full_path) - ->name('*.json') - ->exclude(['vendor', 'node_modules', 'storage', 'bootstrap/cache']); - - foreach ($json_finder as $file) { - $file_path = $file->getPathname(); - if (!in_array($file_path, $files_to_check)) { - $files_to_check[] = $file_path; - $total_files++; - } - } } // If using default paths, also include Console Commands for rules that support them diff --git a/app/RSpade/Core/Bundle/BundleCompiler.php b/app/RSpade/Core/Bundle/BundleCompiler.php index e067dd281..0a2e51ac2 100755 --- a/app/RSpade/Core/Bundle/BundleCompiler.php +++ b/app/RSpade/Core/Bundle/BundleCompiler.php @@ -89,6 +89,12 @@ class BundleCompiler */ protected array $jqhtml_compiled_files = []; + /** + * Mapping from babel-transformed files to their original source files + * ['storage/rsx-tmp/babel_xxx.js' => 'app/RSpade/Core/Js/SomeFile.js'] + */ + protected array $babel_file_mapping = []; + /** * Compile a bundle */ @@ -607,7 +613,8 @@ class BundleCompiler */ protected function _add_file(string $path): void { - $normalized = realpath($path); + $normalized = rsxrealpath($path); + if (!$normalized) { return; } @@ -694,7 +701,7 @@ class BundleCompiler foreach ($iterator as $file) { if ($file->isFile()) { - $normalized = realpath($file->getPathname()); + $normalized = rsxrealpath($file->getPathname()); if (!isset($this->included_files[$normalized])) { if (!isset($this->watch_files['all'])) { $this->watch_files['all'] = []; @@ -977,6 +984,8 @@ class BundleCompiler */ protected function _order_javascript_files_by_dependency(array $js_files): array { + console_debug('BUNDLE_SORT', 'Starting dependency sort with ' . count($js_files) . ' files'); + $manifest = Manifest::get_full_manifest(); $manifest_files = $manifest['data']['files'] ?? []; @@ -994,7 +1003,8 @@ class BundleCompiler continue; } - // Skip other temp files (they won't be in the manifest) + // Skip ALL temp files - they won't be in manifest + // Babel and other transformations should have been applied to original files if (str_contains($file, 'storage/rsx-tmp/')) { $non_class_files[] = $file; continue; @@ -1278,24 +1288,26 @@ implode("\n", array_map(fn ($f) => ' - ' . str_replace(base_path() . '/', '', }; // Process all class files - try { foreach ($class_files as $file) { if (!isset($visited[$file])) { - $visit($file); + $visit($file); //?? } } - } catch (RuntimeException $e) { - // Re-throw with bundle context if available - if (!empty($this->bundle_class)) { - throw new RuntimeException( - "Bundle compilation failed for {$this->bundle_class}:\n" . $e->getMessage(), - 0, - $e - ); - } - throw $e; - } + // try { + // (code above was here) + // } catch (RuntimeException $e) { + // // Re-throw with bundle context if available + // if (!empty($this->bundle_class)) { + // throw new RuntimeException( + // "Bundle compilation failed for {$this->bundle_class}:\n" . $e->getMessage(), + // 0, + // $e + // ); + // } + + // throw $e; + // } return $sorted; } @@ -1744,12 +1756,12 @@ implode("\n", array_map(fn ($f) => ' - ' . str_replace(base_path() . '/', '', if ($babel_enabled && $decorators_enabled) { // Use the JavaScript Transformer to transpile files with decorators - $transformed_files = []; + // IMPORTANT: We populate $babel_file_mapping but DON'T modify $files array + // This preserves dependency sort order - we substitute babel versions during concat foreach ($files as $file) { // Skip temp files and already processed files if (str_contains($file, 'storage/rsx-tmp/') || str_contains($file, 'storage/rsx-build/')) { - $transformed_files[] = $file; continue; } @@ -1757,11 +1769,13 @@ implode("\n", array_map(fn ($f) => ' - ' . str_replace(base_path() . '/', '', try { $transformed_code = \App\RSpade\Core\JavaScript\Js_Transformer::transform($file); - // Write transformed code to a temp file for concatenation + // Write transformed code to a temp file $temp_file = storage_path('rsx-tmp/babel_' . md5($file) . '_' . uniqid() . '.js'); file_put_contents($temp_file, $transformed_code); - $transformed_files[] = $temp_file; + // Store mapping: original file => babel file + // During concatenation we'll use the babel version + $this->babel_file_mapping[$file] = $temp_file; console_debug('BUNDLE', 'Transformed ' . str_replace(base_path() . '/', '', $file)); } catch (Exception $e) { // FAIL LOUD - Never allow untransformed decorators through @@ -1773,8 +1787,6 @@ implode("\n", array_map(fn ($f) => ' - ' . str_replace(base_path() . '/', '', ); } } - - $files = $transformed_files; } // Add all the JS files @@ -1791,7 +1803,9 @@ implode("\n", array_map(fn ($f) => ' - ' . str_replace(base_path() . '/', '', escapeshellarg($output_file), ]; foreach ($files_to_concat as $file) { - $cmd_parts[] = escapeshellarg($file); + // Use babel-transformed version if it exists, otherwise use original + $file_to_use = $this->babel_file_mapping[$file] ?? $file; + $cmd_parts[] = escapeshellarg($file_to_use); } $cmd = implode(' ', $cmd_parts); @@ -1861,6 +1875,7 @@ implode("\n", array_map(fn ($f) => ' - ' . str_replace(base_path() . '/', '', if ($return_var !== 0) { $error_msg = implode("\n", $output); + throw new RuntimeException('Failed to concatenate CSS files: ' . $error_msg); } @@ -2161,4 +2176,27 @@ JS; // Write to temporary file return $this->_write_temp_file($js_code, 'js'); } + + /** + * Recursively scan directory for files with specific extension + */ + protected function _scan_directory_recursive(string $path, string $extension): array + { + $files = []; + + if (!is_dir($path)) { + return $files; + } + + $directory = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS); + $iterator = new RecursiveIteratorIterator($directory, RecursiveIteratorIterator::SELF_FIRST); + + foreach ($iterator as $file) { + if ($file->isFile() && $file->getExtension() === $extension) { + $files[] = $file->getPathname(); + } + } + + return $files; + } } diff --git a/app/RSpade/Core/Dispatch/AssetHandler.php b/app/RSpade/Core/Dispatch/AssetHandler.php index ab6b76161..fedeb4f17 100755 --- a/app/RSpade/Core/Dispatch/AssetHandler.php +++ b/app/RSpade/Core/Dispatch/AssetHandler.php @@ -391,6 +391,7 @@ class AssetHandler */ protected static function __find_public_directory($full_path) { + // @REALPATH-EXCEPTION - Security: path traversal prevention requires symlink resolution $real_path = realpath($full_path); if (!$real_path) { return null; @@ -398,6 +399,7 @@ class AssetHandler // Find the public directory that contains this file foreach (static::$public_directories as $directory) { + // @REALPATH-EXCEPTION - Security: path traversal prevention requires symlink resolution $real_directory = realpath($directory); if ($real_directory && str_starts_with($real_path, $real_directory)) { return $real_directory; @@ -477,6 +479,7 @@ class AssetHandler */ protected static function __is_safe_path($path) { + // @REALPATH-EXCEPTION - Security: path traversal prevention requires symlink resolution $real_path = realpath($path); if ($real_path === false) { @@ -485,6 +488,7 @@ class AssetHandler // Check if real path is within any allowed directory foreach (static::$public_directories as $directory) { + // @REALPATH-EXCEPTION - Security: path traversal prevention requires symlink resolution $real_directory = realpath($directory); if (str_starts_with($real_path, $real_directory)) { diff --git a/app/RSpade/Core/Manifest/Manifest.php b/app/RSpade/Core/Manifest/Manifest.php index e0011bf41..e5529a838 100755 --- a/app/RSpade/Core/Manifest/Manifest.php +++ b/app/RSpade/Core/Manifest/Manifest.php @@ -2369,9 +2369,9 @@ class Manifest // Get absolute path - rsx/ files are in project root, not system/ if (str_starts_with($file, 'rsx/')) { - $absolute_path = realpath(base_path('../' . $file)); + $absolute_path = rsxrealpath(base_path('../' . $file)); } else { - $absolute_path = realpath(base_path($file)); + $absolute_path = rsxrealpath(base_path($file)); } // Check if this file changed @@ -2904,8 +2904,8 @@ class Manifest // Extract ONLY public static methods - the only methods we care about in RSX $public_static_methods = []; - // Normalize file_path for comparison (resolves symlinks) - $normalized_file_path = realpath($file_path); + // Normalize file_path for comparison (without resolving symlinks) + $normalized_file_path = rsxrealpath($file_path); foreach ($reflection->getMethods(ReflectionMethod::IS_PUBLIC | ReflectionMethod::IS_STATIC) as $method) { // Include methods from: @@ -2915,8 +2915,8 @@ class Manifest $is_from_trait = in_array($method_file, $trait_files); // Skip inherited methods from parent classes (but include trait methods) - // Use realpath for comparison to handle symlinks correctly - if (realpath($method_file) !== $normalized_file_path && !$is_from_trait) { + // Use rsxrealpath for comparison to avoid symlink resolution + if (rsxrealpath($method_file) !== $normalized_file_path && !$is_from_trait) { continue; } @@ -3559,7 +3559,7 @@ class Manifest { // Generate to project root (parent of system/) $project_root = dirname(base_path()); - $stub_file = $project_root . '/_rsx_helper.php'; + $stub_file = $project_root . '/._rsx_helper.php'; $output = " true, 'service' => 'ide', 'version' => '1.0.0']); break; + case 'resolve_class': + handle_resolve_class_service($request_data); + break; + + case 'js_lineage': + handle_js_lineage_service($request_data); + break; + + case 'resolve_url': + handle_resolve_url_service($request_data); + break; + default: error_response('Unknown service: ' . $service_path, 404); } @@ -203,6 +229,7 @@ function handle_format_service($data) { // Get real directory path if (is_dir($dir)) { + // @REALPATH-EXCEPTION - IDE service: runs standalone without framework helpers $real_dir = realpath($dir); if ($real_dir) { $full_path = $real_dir . '/' . $filename; @@ -633,6 +660,7 @@ function handle_git_diff_service($data) { $filename = basename($full_path); if (is_dir($dir)) { + // @REALPATH-EXCEPTION - IDE service: runs standalone without framework helpers $real_dir = realpath($dir); if ($real_dir) { $full_path = $real_dir . '/' . $filename; @@ -754,4 +782,472 @@ function handle_command_service($data) { 'output' => $combined_output, 'exit_code' => $return_var ]); +} + +/** + * Handle resolve_class service - resolve class/view/component definitions + * This is a port of the Ide_Helper_Controller::resolve_class() method + */ +function handle_resolve_class_service($data) { + $identifier = $data['class'] ?? $data['identifier'] ?? null; + $method_name = $data['method'] ?? null; + $type = $data['type'] ?? null; + + if (!$identifier) { + json_response([ + 'error' => 'Missing required parameter: class or identifier', + 'found' => false, + ], 400); + } + + // Load manifest data + $manifest_file = ide_framework_path('storage/rsx-build/manifest_data.php'); + if (!file_exists($manifest_file)) { + error_response('Manifest not found - run php artisan rsx:manifest:build', 500); + } + + $manifest_raw = include $manifest_file; + $manifest_data = $manifest_raw['data'] ?? $manifest_raw; + $files = $manifest_data['files'] ?? []; + + // Helper function to find PHP class in manifest + $find_php_class = function($class_name) use ($files) { + foreach ($files as $file_path => $file_data) { + if (isset($file_data['class']) && $file_data['class'] === $class_name) { + return $file_data; + } + } + return null; + }; + + // Helper function to find view in manifest + $find_view = function($view_name) use ($files) { + foreach ($files as $file_path => $file_data) { + if (isset($file_data['id']) && $file_data['id'] === $view_name) { + return $file_data; + } + } + return null; + }; + + // Helper function to convert PascalCase to snake_case + $camel_to_snake = function($input) { + $result = preg_replace('/(? $line) { + if (preg_match('/^\s*(class|trait)\s+\w+(\s|$)/', $line)) { + $in_class_or_trait = true; + } + + if ($in_class_or_trait) { + $brace_count += substr_count($line, '{'); + $brace_count -= substr_count($line, '}'); + + if (preg_match('/^\s*(public|protected|private)?\s*(static\s+)?function\s+' . preg_quote($method_name, '/') . '\s*\(/', $line)) { + $line_number = $index + 1; + break; + } + + if ($brace_count === 0 && strpos($line, '}') !== false) { + break; + } + } + } + } + } else { + // Find the line with the class definition + foreach ($lines as $index => $line) { + if (preg_match('/^\s*class\s+' . preg_quote($identifier, '/') . '(\s|$)/', $line)) { + $line_number = $index + 1; + break; + } + } + } + } + + $response_data = [ + 'found' => true, + 'type' => 'class', + 'file' => $file_path, + 'line' => $line_number, + 'metadata' => [ + 'namespace' => $class_data['namespace'] ?? null, + 'extends' => $class_data['extends'] ?? null, + 'fqcn' => $class_data['fqcn'] ?? null, + ], + ]; + + if ($method_name) { + $response_data['method'] = $method_name; + } + + json_response($response_data); + } + } + + // Priority 2: Try as RSX blade view + if (!$type || $type === 'view' || !preg_match('/Controller$/', $identifier)) { + $view_data = $find_view($identifier); + + if ($view_data) { + $file_path = $view_data['file']; + $line_number = 1; + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + $lines = explode("\n", $content); + + // Look for @rsx_id('identifier') + foreach ($lines as $index => $line) { + if (preg_match('/@rsx_id\s*\(\s*[\'"]' . preg_quote($identifier, '/') . '[\'"]\s*\)/', $line)) { + $line_number = $index + 1; + break; + } + } + } + + json_response([ + 'found' => true, + 'type' => 'view', + 'file' => $file_path, + 'line' => $line_number, + 'identifier' => $identifier, + ]); + } + } + + // Priority 3: Try as bundle alias + if (!$type || $type === 'bundle_alias' || preg_match('/^[a-z0-9]+$/', $identifier)) { + $config_path = IDE_SYSTEM_PATH . '/config/rsx.php'; + if (file_exists($config_path)) { + $config = include $config_path; + if (isset($config['bundle_aliases'][$identifier])) { + $bundle_class = $config['bundle_aliases'][$identifier]; + + $class_parts = explode('\\', $bundle_class); + $class_name = end($class_parts); + + $class_data = $find_php_class($class_name); + if ($class_data) { + $file_path = $class_data['file']; + $line_number = 1; + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + $lines = explode("\n", $content); + + foreach ($lines as $index => $line) { + if (preg_match('/^\s*class\s+' . preg_quote($class_name, '/') . '(\s|$)/', $line)) { + $line_number = $index + 1; + break; + } + } + } + + json_response([ + 'found' => true, + 'type' => 'bundle_alias', + 'file' => $file_path, + 'line' => $line_number, + 'identifier' => $identifier, + 'resolved_class' => $bundle_class, + ]); + } + } + } + } + + // Priority 4: jqhtml template files + if ($type === 'jqhtml_template') { + $component_snake = $camel_to_snake($identifier); + + foreach ($files as $file_path => $file_data) { + if (str_ends_with($file_path, '.jqhtml')) { + $basename = basename($file_path, '.jqhtml'); + + if ($basename === $component_snake || $snake_to_pascal($basename) === $identifier) { + $line_number = 1; + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + $lines = explode("\n", $content); + + foreach ($lines as $index => $line) { + if (preg_match('/ true, + 'type' => 'jqhtml_template', + 'file' => $file_path, + 'line' => $line_number, + 'identifier' => $identifier, + ]); + } + } + } + } + + // Priority 5: jqhtml JavaScript classes + if ($type === 'jqhtml_class') { + foreach ($files as $file_path => $file_data) { + if (str_ends_with($file_path, '.js')) { + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + + if (preg_match('/class\s+' . preg_quote($identifier, '/') . '\s+extends\s+[A-Za-z_]*Jqhtml_Component/', $content)) { + $lines = explode("\n", $content); + $line_number = 1; + + foreach ($lines as $index => $line) { + if (preg_match('/class\s+' . preg_quote($identifier, '/') . '\s+extends/', $line)) { + $line_number = $index + 1; + break; + } + } + + json_response([ + 'found' => true, + 'type' => 'jqhtml_class', + 'file' => $file_path, + 'line' => $line_number, + 'identifier' => $identifier, + ]); + } + } + } + } + } + + // Priority 6: jqhtml class methods + if ($type === 'jqhtml_class_method' && $method_name) { + $search_method = ($method_name === 'data') ? 'on_load' : $method_name; + + foreach ($files as $file_path => $file_data) { + if (str_ends_with($file_path, '.js')) { + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + + if (preg_match('/class\s+' . preg_quote($identifier, '/') . '\s+extends\s+[A-Za-z_]*Jqhtml_Component/', $content)) { + $lines = explode("\n", $content); + $line_number = 1; + $in_class = false; + $brace_count = 0; + + foreach ($lines as $index => $line) { + if (preg_match('/class\s+' . preg_quote($identifier, '/') . '\s+extends/', $line)) { + $in_class = true; + } + + if ($in_class) { + $brace_count += substr_count($line, '{'); + $brace_count -= substr_count($line, '}'); + + if (preg_match('/(?:async\s+)?' . preg_quote($search_method, '/') . '\s*\(/', $line)) { + $line_number = $index + 1; + break; + } + + if ($brace_count === 0 && strpos($line, '}') !== false) { + break; + } + } + } + + json_response([ + 'found' => true, + 'type' => 'jqhtml_class_method', + 'file' => $file_path, + 'line' => $line_number, + 'identifier' => $identifier, + 'method' => $method_name, + ]); + } + } + } + } + } + + // Nothing found + json_response([ + 'found' => false, + 'error' => 'Identifier not found in manifest', + 'identifier' => $identifier, + 'searched_types' => ['class', 'view', 'bundle_alias', 'jqhtml_template', 'jqhtml_class', 'jqhtml_class_method'], + ]); +} + +/** + * Handle js_lineage service - get JavaScript class inheritance chain + * This is a port of the Ide_Helper_Controller::js_lineage() method + */ +function handle_js_lineage_service($data) { + $class_name = $data['class'] ?? null; + + if (!$class_name) { + json_response([ + 'error' => 'Missing required parameter: class', + ], 400); + } + + // Load manifest data + $manifest_file = ide_framework_path('storage/rsx-build/manifest_data.php'); + if (!file_exists($manifest_file)) { + error_response('Manifest not found - run php artisan rsx:manifest:build', 500); + } + + $manifest_raw = include $manifest_file; + $manifest_data = $manifest_raw['data'] ?? $manifest_raw; + $files = $manifest_data['files'] ?? []; + + // Find the JavaScript class and trace its lineage + $lineage = []; + $current_class = $class_name; + + // Helper to find extends clause in JS file + $find_extends = function($file_path) { + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + if (preg_match('/class\s+\w+\s+extends\s+([A-Za-z_][A-Za-z0-9_]*)/', $content, $matches)) { + return $matches[1]; + } + } + return null; + }; + + // Trace up to 10 levels to prevent infinite loops + for ($i = 0; $i < 10; $i++) { + $found = false; + + foreach ($files as $file_path => $file_data) { + if (str_ends_with($file_path, '.js')) { + $absolute_path = IDE_BASE_PATH . '/' . $file_path; + + if (file_exists($absolute_path)) { + $content = file_get_contents($absolute_path); + + // Check if this file defines the current class + if (preg_match('/class\s+' . preg_quote($current_class, '/') . '\s+extends\s+([A-Za-z_][A-Za-z0-9_]*)/', $content, $matches)) { + $parent_class = $matches[1]; + $lineage[] = $parent_class; + $current_class = $parent_class; + $found = true; + break; + } + } + } + } + + if (!$found) { + break; + } + } + + json_response([ + 'class' => $class_name, + 'lineage' => $lineage, + ]); +} + +/** + * Handle resolve_url service - resolve URL to controller/method + * Takes a URL path and returns the controller and method that handles it + */ +function handle_resolve_url_service($data) { + $url = $data['url'] ?? null; + + if (!$url) { + json_response([ + 'error' => 'Missing required parameter: url', + 'found' => false, + ], 400); + } + + // Load manifest to get routes + $manifest_file = ide_framework_path('storage/rsx-build/manifest_data.php'); + if (!file_exists($manifest_file)) { + error_response('Manifest not found - run php artisan rsx:manifest:build', 500); + } + + $manifest_raw = include $manifest_file; + $manifest_data = $manifest_raw['data'] ?? $manifest_raw; + + // Get routes from manifest + $routes = $manifest_data['php']['routes'] ?? []; + + // Try to find matching route + foreach ($routes as $route) { + $pattern = $route['pattern'] ?? ''; + $controller = $route['class'] ?? ''; + $method = $route['method'] ?? ''; + + // Simple pattern matching - exact match for now + // TODO: Support route parameters like /users/:id + if ($pattern === $url) { + json_response([ + 'found' => true, + 'controller' => $controller, + 'method' => $method, + 'pattern' => $pattern, + ]); + } + } + + // Not found + json_response([ + 'found' => false, + 'url' => $url, + ]); } \ No newline at end of file diff --git a/app/RSpade/Integrations/Scss/Scss_BundleProcessor.php b/app/RSpade/Integrations/Scss/Scss_BundleProcessor.php index 31c82eca6..df20ef78e 100755 --- a/app/RSpade/Integrations/Scss/Scss_BundleProcessor.php +++ b/app/RSpade/Integrations/Scss/Scss_BundleProcessor.php @@ -224,8 +224,8 @@ class Scss_BundleProcessor extends BundleProcessor_Abstract // Try each variation foreach ($variations as $candidate) { - $normalized = realpath($candidate); - if ($normalized && file_exists($normalized)) { + $normalized = rsxrealpath($candidate); + if ($normalized) { return $normalized; } } diff --git a/app/RSpade/helpers.php b/app/RSpade/helpers.php index 2c7c67e62..3d7409316 100755 --- a/app/RSpade/helpers.php +++ b/app/RSpade/helpers.php @@ -1243,3 +1243,68 @@ function text_to_html_with_whitespace(string $text): string // Join lines with
\n return implode("
\n", $processed_lines); } + +/** + * Normalize a path resolving . and .. components without resolving symlinks + * + * Unlike PHP's realpath(), this function normalizes paths by resolving . and .. + * components but does NOT follow symlinks. This is important when working with + * symlinked directories where you need the logical path, not the physical path. + * + * Behavior: + * - Resolves . (current directory) and .. (parent directory) components + * - Does NOT resolve symlinks (unlike realpath()) + * - Converts relative paths to absolute by prepending base_path() + * - Returns normalized absolute path, or false if file doesn't exist + * + * Examples: + * - rsxrealpath('/var/www/html/system/rsx/foo/../bar') + * => '/var/www/html/system/rsx/bar' + * + * - rsxrealpath('rsx/foo/../bar') + * => '/var/www/html/rsx/foo/../bar' (after base_path prepend) + * => '/var/www/html/rsx/bar' + * + * - If /var/www/html/system/rsx is a symlink to /var/www/html/rsx: + * rsxrealpath('/var/www/html/system/rsx/bar') + * => '/var/www/html/system/rsx/bar' (keeps symlink path, unlike realpath) + * + * @param string $path The path to normalize + * @return string|false The normalized absolute path, or false if file doesn't exist + */ +function rsxrealpath(string $path): string|false +{ + // Convert relative path to absolute + if (!str_starts_with($path, '/')) { + $path = base_path() . '/' . $path; + } + + // Split path into components + $parts = explode('/', $path); + $result = []; + + foreach ($parts as $part) { + if ($part === '' || $part === '.') { + // Skip empty parts and current directory references + continue; + } elseif ($part === '..') { + // Go up one directory (remove last component) + if (!empty($result)) { + array_pop($result); + } + } else { + // Regular path component + $result[] = $part; + } + } + + // Rebuild path with leading slash + $normalized = '/' . implode('/', $result); + + // Check if path exists (like realpath does) + if (!file_exists($normalized)) { + return false; + } + + return $normalized; +} diff --git a/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js b/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js.map b/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/blade_client.js b/app/RSpade/resource/vscode_extension/out/blade_client.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/blade_client.js.map b/app/RSpade/resource/vscode_extension/out/blade_client.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/blade_component_provider.js b/app/RSpade/resource/vscode_extension/out/blade_component_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/blade_component_provider.js.map b/app/RSpade/resource/vscode_extension/out/blade_component_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/blade_spacer.js b/app/RSpade/resource/vscode_extension/out/blade_spacer.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/blade_spacer.js.map b/app/RSpade/resource/vscode_extension/out/blade_spacer.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js b/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js.map b/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js b/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js.map b/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/config.js b/app/RSpade/resource/vscode_extension/out/config.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/config.js.map b/app/RSpade/resource/vscode_extension/out/config.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/convention_method_provider.js b/app/RSpade/resource/vscode_extension/out/convention_method_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/convention_method_provider.js.map b/app/RSpade/resource/vscode_extension/out/convention_method_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/debug_client.js b/app/RSpade/resource/vscode_extension/out/debug_client.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/debug_client.js.map b/app/RSpade/resource/vscode_extension/out/debug_client.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/decoration_provider.js b/app/RSpade/resource/vscode_extension/out/decoration_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/decoration_provider.js.map b/app/RSpade/resource/vscode_extension/out/decoration_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/definition_provider.js b/app/RSpade/resource/vscode_extension/out/definition_provider.js old mode 100755 new mode 100644 index d3788d628..c752d3a0f --- a/app/RSpade/resource/vscode_extension/out/definition_provider.js +++ b/app/RSpade/resource/vscode_extension/out/definition_provider.js @@ -36,16 +36,16 @@ class RspadeDefinitionProvider { this.jqhtml_api = jqhtml_api; } /** - * Find the RSpade project root folder (contains app/RSpade/) + * Find the RSpade project root folder (contains system/app/RSpade/) * Works in both single-folder and multi-root workspace modes */ find_rspade_root() { if (!vscode.workspace.workspaceFolders) { return undefined; } - // Check each workspace folder for app/RSpade/ + // Check each workspace folder for system/app/RSpade/ for (const folder of vscode.workspace.workspaceFolders) { - const app_rspade = path.join(folder.uri.fsPath, 'app', 'RSpade'); + const app_rspade = path.join(folder.uri.fsPath, 'system', 'app', 'RSpade'); if (fs.existsSync(app_rspade)) { return folder.uri.fsPath; } @@ -81,6 +81,13 @@ class RspadeDefinitionProvider { if (routeResult) { return routeResult; } + // Check for href="/" pattern in Blade/Jqhtml files + if (fileName.endsWith('.blade.php') || fileName.endsWith('.jqhtml')) { + const hrefResult = await this.handleHrefPattern(document, position); + if (hrefResult) { + return hrefResult; + } + } // Handle "this.xxx" references in .jqhtml files (highest priority for jqhtml files) if (fileName.endsWith('.jqhtml')) { const thisResult = await this.handleThisReference(document, position); @@ -189,6 +196,37 @@ class RspadeDefinitionProvider { } return undefined; } + /** + * Handle href="/" pattern in Blade/Jqhtml files + * Detects when cursor is on "/" within href attribute + * Resolves to the controller action that handles the root URL + */ + async handleHrefPattern(document, position) { + const line = document.lineAt(position.line).text; + // Match href="/" or href='/' + const hrefPattern = /href\s*=\s*(['"])\/\1/g; + let match; + while ((match = hrefPattern.exec(line)) !== null) { + const matchStart = match.index + match[0].indexOf('/'); + const matchEnd = matchStart + 1; // Just the "/" character + // Check if cursor is on the "/" + if (position.character >= matchStart && position.character <= matchEnd) { + try { + // Query IDE bridge to resolve "/" URL to route + const result = await this.ide_bridge.queryUrl('/'); + if (result && result.found && result.controller && result.method) { + // Resolved to controller/method - navigate to it + const phpResult = await this.queryIdeHelper(result.controller, result.method, 'class'); + return this.createLocationFromResult(phpResult); + } + } + catch (error) { + console.error('Error resolving href="/" to route:', error); + } + } + } + return undefined; + } /** * Handle "this.xxx" references in .jqhtml files * Only handles patterns where cursor is on a word after "this." @@ -426,13 +464,8 @@ class RspadeDefinitionProvider { } if (isRsxView && stringContent) { // Query as a view - try { - const result = await this.queryIdeHelper(stringContent, undefined, 'view'); - return this.createLocationFromResult(result); - } - catch (error) { - console.error('Error querying IDE helper for view:', error); - } + const result = await this.queryIdeHelper(stringContent, undefined, 'view'); + return this.createLocationFromResult(result); } } // If not in a string, check for class references (like in PHP files) @@ -558,7 +591,7 @@ class RspadeDefinitionProvider { params.type = type; } try { - const result = await this.ide_bridge.request('/_idehelper', params); + const result = await this.ide_bridge.request('/_ide/service/resolve_class', params); return result; } catch (error) { diff --git a/app/RSpade/resource/vscode_extension/out/definition_provider.js.map b/app/RSpade/resource/vscode_extension/out/definition_provider.js.map old mode 100755 new mode 100644 index 4d35d9c10..22fcc73fd --- a/app/RSpade/resource/vscode_extension/out/definition_provider.js.map +++ b/app/RSpade/resource/vscode_extension/out/definition_provider.js.map @@ -1 +1 @@ -{"version":3,"file":"definition_provider.js","sourceRoot":"","sources":["../src/definition_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"definition_provider.js","sourceRoot":"","sources":["../src/definition_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/extension.js b/app/RSpade/resource/vscode_extension/out/extension.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/extension.js.map b/app/RSpade/resource/vscode_extension/out/extension.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/file_watcher.js b/app/RSpade/resource/vscode_extension/out/file_watcher.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/file_watcher.js.map b/app/RSpade/resource/vscode_extension/out/file_watcher.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folder_color_provider.js b/app/RSpade/resource/vscode_extension/out/folder_color_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folder_color_provider.js.map b/app/RSpade/resource/vscode_extension/out/folder_color_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folding_provider.js b/app/RSpade/resource/vscode_extension/out/folding_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folding_provider.js.map b/app/RSpade/resource/vscode_extension/out/folding_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/formatting_provider.js b/app/RSpade/resource/vscode_extension/out/formatting_provider.js old mode 100755 new mode 100644 index 5b07acb07..8fecf5083 --- a/app/RSpade/resource/vscode_extension/out/formatting_provider.js +++ b/app/RSpade/resource/vscode_extension/out/formatting_provider.js @@ -6,7 +6,7 @@ * All formatting is performed on the server - no local PHP execution. * * Authentication Flow: - * 1. Reads domain from storage/rsx-ide-bridge/domain.txt (auto-discovered) + * 1. Reads domain from system/storage/rsx-ide-bridge/domain.txt (auto-discovered) * 2. Creates session with auth tokens on first use * 3. Signs all requests with SHA1(body + client_key) * 4. Validates server responses with SHA1(body + server_key) @@ -286,7 +286,7 @@ class RspadeFormattingProvider { // Try new structure first const system_app_rspade = path.join(folder.uri.fsPath, 'system', 'app', 'RSpade'); if (fs.existsSync(system_app_rspade)) { - rspade_root = path.join(folder.uri.fsPath, 'system'); + rspade_root = folder.uri.fsPath; // Project root, not system subdirectory break; } // Fall back to legacy structure @@ -301,7 +301,7 @@ class RspadeFormattingProvider { this.output_channel.appendLine('ERROR: RSpade project root not found'); throw new Error('RSpade project root not found'); } - const domain_file = path.join(rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); this.output_channel.appendLine(`Checking for domain file: ${domain_file}`); if (await exists(domain_file)) { const domain = await read_file(domain_file, 'utf8'); @@ -317,14 +317,14 @@ class RspadeFormattingProvider { this.output_channel.appendLine('\nThe extension needs to know your development server URL.'); this.output_channel.appendLine('\nPlease do ONE of the following:\n'); this.output_channel.appendLine('1. Load your site in a web browser'); - this.output_channel.appendLine(' This will auto-create: storage/rsx-ide-bridge/domain.txt\n'); + this.output_channel.appendLine(' This will auto-create: system/storage/rsx-ide-bridge/domain.txt\n'); this.output_channel.appendLine('2. Set VS Code setting: rspade.serverUrl'); this.output_channel.appendLine(' File → Preferences → Settings → Search "rspade"'); this.output_channel.appendLine(' Set to your development URL (e.g., https://myapp.test)\n'); this.output_channel.appendLine('3. Enable IDE integration in Laravel config'); this.output_channel.appendLine(' In config/rsx.php, set ide_integration.enabled = true'); this.output_channel.appendLine('\n════════════════════════════════════════════════════════'); - throw new Error('RSpade: storage/rsx-ide-bridge/domain.txt not found. Please load site in browser or configure server URL.'); + throw new Error('RSpade: system/storage/rsx-ide-bridge/domain.txt not found. Please load site in browser or configure server URL.'); } async make_authenticated_request(endpoint, data, retry_count = 0) { this.output_channel.appendLine(`\n--- AUTHENTICATED REQUEST ${retry_count > 0 ? '(RETRY)' : ''} ---`); diff --git a/app/RSpade/resource/vscode_extension/out/formatting_provider.js.map b/app/RSpade/resource/vscode_extension/out/formatting_provider.js.map old mode 100755 new mode 100644 index fd764bb9f..42b892614 --- a/app/RSpade/resource/vscode_extension/out/formatting_provider.js.map +++ b/app/RSpade/resource/vscode_extension/out/formatting_provider.js.map @@ -1 +1 @@ -{"version":3,"file":"formatting_provider.js","sourceRoot":"","sources":["../src/formatting_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"formatting_provider.js","sourceRoot":"","sources":["../src/formatting_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/git_diff_provider.js b/app/RSpade/resource/vscode_extension/out/git_diff_provider.js old mode 100755 new mode 100644 index 30362d35a..3b1d7b751 --- a/app/RSpade/resource/vscode_extension/out/git_diff_provider.js +++ b/app/RSpade/resource/vscode_extension/out/git_diff_provider.js @@ -231,7 +231,7 @@ class GitDiffProvider { this.server_url = await this.negotiate_protocol(configured_url); return this.server_url; } - const domain_file = path.join(this.rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); if (fs.existsSync(domain_file)) { const domain = fs.readFileSync(domain_file, 'utf8').trim(); this.server_url = await this.negotiate_protocol(domain); @@ -329,7 +329,7 @@ class GitDiffProvider { if (!this.rspade_root) { return; } - const domain_file = path.join(this.rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); const domain_dir = path.dirname(domain_file); // Watch the directory (file might not exist yet) if (fs.existsSync(domain_dir)) { diff --git a/app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map b/app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map old mode 100755 new mode 100644 index f2948ab2a..c30c97a25 --- a/app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map +++ b/app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map @@ -1 +1 @@ -{"version":3,"file":"git_diff_provider.js","sourceRoot":"","sources":["../src/git_diff_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"git_diff_provider.js","sourceRoot":"","sources":["../src/git_diff_provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,2CAA6B;AAC7B,uCAAyB;AACzB,2CAA6B;AAC7B,6CAA+B;AAC/B,+CAAiC;AACjC,6BAA0B;AAe1B;;GAEG;AACH,MAAa,eAAe;IAiBxB,YAAY,WAA+B;QAfnC,cAAS,GAAoB,IAAI,CAAC;QAClC,eAAU,GAAkB,IAAI,CAAC;QACjC,oBAAe,GAA8B,IAAI,CAAC;QAClD,gBAAW,GAA0B,IAAI,CAAC;QAC1C,mBAAc,GAAW,KAAK,CAAC,CAAC,aAAa;QAC7C,wBAAmB,GAAwB,IAAI,CAAC;QAMxD,4DAA4D;QACpD,cAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;QACjD,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAGtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,+BAA+B;QAC/B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC;YACjE,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,sBAAsB;YAC1C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI;YAChD,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAClD,cAAc,EAAE,SAAS;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC;YACpE,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,yBAAyB;YAC7C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI;YAChD,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAClD,cAAc,EAAE,SAAS;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC;YACnE,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,wBAAwB;YAC5C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI;YAChD,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAClD,cAAc,EAAE,SAAS;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,OAAgC;QACrC,oDAAoD;QACpD,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE;gBAC1C,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;aAC/C;QACL,CAAC,CAAC,CACL,CAAC;QAEF,gCAAgC;QAChC,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACxC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;aAC/C;QACL,CAAC,CAAC,CACL,CAAC;QAEF,kDAAkD;QAClD,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACrD,IAAI,MAAM,EAAE;gBACR,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAE/C,2CAA2C;gBAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;oBAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;iBACjE;gBAED,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;aAC/C;QACL,CAAC,CAAC,CACL,CAAC;QAEF,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC9C,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACpC,iDAAiD;QACjD,MAAM,GAAG,GAAG,mGAAmG,KAAK,WAAW,CAAC;QAChI,MAAM,QAAQ,GAAG,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAyB;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO;SACV;QAED,IAAI;YACA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAE7F,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;aAChE;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;SAC/D;IACL,CAAC;IAEO,8BAA8B,CAAC,MAAyB;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO;SACV;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,qBAAqB;QACrB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE;YACvC,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACzB;SACJ;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAC1C,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC5B;SACJ;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YACzC,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC3B;SACJ;QAED,yEAAyE;QACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,aAAa,EAAE;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAElF,8CAA8C;YAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE;gBACpC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,EAAE;gBACvC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC5B;YAED,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,OAAO,EAAE;gBACtC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC3B;SACJ;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3G,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;QACjE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC;IAEO,YAAY,CAAC,QAAgB,EAAE,OAAe;QAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE1C,iDAAiD;QACjD,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;QAChC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAC/B,MAAM,GAAG,GAAe,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;oBAChD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;iBACrC;qBAAM;oBACH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACtD;aACJ;SACJ;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;gBAClE,iBAAiB;gBACjB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACP;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7D,wBAAwB;gBACxB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;gBAC3B,CAAC,EAAE,CAAC;aACP;iBAAM,IAAI,CAAC,GAAG,CAAC,EAAE;gBACd,6BAA6B;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iDAAiD;gBACtE,CAAC,EAAE,CAAC;aACP;SACJ;QAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;SAC1B;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAS,WAAW,CAAC,CAAC;QAEvD,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,UAAU,CAAC;SAC1B;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAEtG,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,UAAU,CAAC;SAC1B;QAED,gDAAgD;QAChD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,eAAuB;QACpD,sCAAsC;QACtC,IAAI,QAAgB,CAAC;QAErB,mCAAmC;QACnC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACjC,MAAM,MAAM,GAAG,IAAI,SAAG,CAAC,eAAe,CAAC,CAAC;YACxC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAE3B,2EAA2E;YAC3E,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;gBACxE,OAAO,GAAG,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;aACjD;SACJ;aAAM;YACH,QAAQ,GAAG,eAAe,CAAC;SAC9B;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACxE,OAAO,GAAG,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;SACjD;QAED,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,WAAW,QAAQ,EAAE,CAAC;QAExC,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAChC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,UAAU,QAAQ,EAAE,CAAC;QAEtC,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,OAAO,QAAQ,CAAC;SACnB;QAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,oBAAoB,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAgB;QAC1C,IAAI;YACA,MAAM,UAAU,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAClD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,SAAS,GAAG,2BAA2B,CAAC;YAE9C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG;oBACZ,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,gBAAgB,EAAE,GAAG;qBACxB;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;gBAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACxC,wDAAwD;oBACxD,uDAAuD;oBACvD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;oBAE3F,wEAAwE;oBACxE,8CAA8C;oBAC9C,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;wBAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,CAAC,UAAU,SAAS,QAAQ,EAAE,CAAC,CAAC;wBACzE,OAAO,CAAC,KAAK,CAAC,CAAC;qBAClB;yBAAM;wBACH,OAAO,CAAC,OAAO,CAAC,CAAC;qBACpB;gBACL,CAAC,CAAC,CAAC;gBAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBACnB,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChB,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO;SACV;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7C,iDAAiD;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC3B,IAAI;gBACA,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;oBACpE,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,QAAQ,EAAE;wBACrD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;wBAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBAEtB,6BAA6B;wBAC7B,IAAI,IAAI,CAAC,WAAW,EAAE;4BAClB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;yBAC3B;wBAED,qCAAqC;wBACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;wBAC9C,IAAI,MAAM,EAAE;4BACR,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;yBAC/B;qBACJ;gBACL,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;aAC3E;SACJ;IACL,CAAC;IAEO,cAAc;QAClB,kCAAkC;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;SACV;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAC,CAAC;QAEtF,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9C,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aAC/B;QACL,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,WAAW;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE5E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAED,IAAI,CAAC,SAAS,GAAG;YACb,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAClC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,QAAgB,EAAE,IAAS;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;SAC5B;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpG,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBACnE,WAAW,EAAE,IAAI,CAAC,SAAU,CAAC,OAAO;gBACpC,aAAa,EAAE,SAAS;aAC3B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;SACnB;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;gBACpF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEpG,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBACzD,WAAW,EAAE,IAAI,CAAC,SAAU,CAAC,OAAO;oBACpC,aAAa,EAAE,SAAS;iBAC3B,CAAC,CAAC;aACN;YACD,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEO,YAAY,CAAC,QAAgB,EAAE,IAAS,EAAE,MAAc,EAAE,MAAe,EAAE,gBAAqB,EAAE;QACtG,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,SAAG,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAClD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,SAAS,GAAG,gBAAgB,QAAQ,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEtC,MAAM,OAAO,GAAG;gBACZ,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC7C,GAAG,aAAa;aACnB,CAAC;YAEF,MAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;aACnB,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxC,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC5D,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;gBAChD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC3E,IAAI;wBACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;wBACzC,OAAO,CAAC,MAAM,CAAC,CAAC;qBACnB;oBAAC,OAAO,CAAC,EAAE;wBACR,OAAO,CAAC,KAAK,CAAC,8CAA8C,aAAa,EAAE,CAAC,CAAC;wBAC7E,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;qBAC9C;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;CACJ;AAtgBD,0CAsgBC"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/git_status_provider.js b/app/RSpade/resource/vscode_extension/out/git_status_provider.js old mode 100755 new mode 100644 index b906989c6..0a2ea7a49 --- a/app/RSpade/resource/vscode_extension/out/git_status_provider.js +++ b/app/RSpade/resource/vscode_extension/out/git_status_provider.js @@ -129,7 +129,7 @@ class GitStatusProvider { return this.server_url; } // Try to auto-discover from domain.txt - const domain_file = path.join(this.rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); if (fs.existsSync(domain_file)) { const domain = fs.readFileSync(domain_file, 'utf8').trim(); this.server_url = await this.negotiate_protocol(domain); @@ -227,7 +227,7 @@ class GitStatusProvider { if (!this.rspade_root) { return; } - const domain_file = path.join(this.rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); const domain_dir = path.dirname(domain_file); // Watch the directory (file might not exist yet) if (fs.existsSync(domain_dir)) { diff --git a/app/RSpade/resource/vscode_extension/out/git_status_provider.js.map b/app/RSpade/resource/vscode_extension/out/git_status_provider.js.map old mode 100755 new mode 100644 index ce1fd9df3..19454c6f2 --- a/app/RSpade/resource/vscode_extension/out/git_status_provider.js.map +++ b/app/RSpade/resource/vscode_extension/out/git_status_provider.js.map @@ -1 +1 @@ -{"version":3,"file":"git_status_provider.js","sourceRoot":"","sources":["../src/git_status_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"git_status_provider.js","sourceRoot":"","sources":["../src/git_status_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js b/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js old mode 100755 new mode 100644 index 194a3477b..d5aff7258 --- a/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js +++ b/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js @@ -11,7 +11,7 @@ * 4. Auto-retries with refreshed URL on connection failure * * AUTHENTICATION FLOW: - * 1. Client requests session from /_idehelper/auth/create + * 1. Client requests session from /_ide/service/auth/create * 2. Server generates session ID, client_key, server_key * 3. Client signs requests: SHA1(body + client_key) * 4. Server validates signature and signs response: SHA1(body + server_key) @@ -32,7 +32,7 @@ * const client = new IdeBridgeClient(output_channel); * * // Make request to IDE helper endpoint - * const response = await client.request('/_idehelper/your_endpoint', { + * const response = await client.request('/_ide/service/your_endpoint', { * param1: 'value1', * param2: 'value2' * }); @@ -49,10 +49,10 @@ * ADDING NEW IDE HELPER ENDPOINTS: * * Backend (PHP): - * 1. Add method to /app/RSpade/Ide/Helper/Ide_Helper_Controller.php - * 2. Register route in /routes/web.php: - * Route::get('/_idehelper/your_endpoint', [Ide_Helper_Controller::class, 'your_method']); - * 3. Return JsonResponse with data + * 1. Add handler function to /app/RSpade/Ide/Services/handler.php + * 2. Add case to switch statement in handler.php: + * case 'your_endpoint': handle_your_endpoint_service($request_data); break; + * 3. Return JSON via json_response() helper * * Frontend (TypeScript): * 1. Use IdeBridgeClient.request() to call endpoint @@ -119,6 +119,15 @@ class IdeBridgeClient { this.output_channel.appendLine(`Time: ${new Date().toISOString()}`); return this.make_request_with_retry(endpoint, data, method, 0); } + /** + * Query URL to resolve it to a route (controller/method) + * + * @param url The URL path to resolve (e.g., "/", "/users/123") + * @returns Promise with { found: boolean, controller?: string, method?: string } + */ + async queryUrl(url) { + return this.request('/_ide/service/resolve_url', { url }, 'GET'); + } async make_request_with_retry(endpoint, data, method, retry_count) { if (retry_count > 0) { this.output_channel.appendLine(`\n--- RETRY ATTEMPT ${retry_count} ---`); @@ -279,7 +288,7 @@ class IdeBridgeClient { this.output_channel.appendLine('\n--- AUTHENTICATION ---'); this.output_channel.appendLine('Creating new auth session...'); // Request new session (this endpoint doesn't require auth) - const response = await this.make_http_request('/auth/create', {}, 'POST', false); + const response = await this.make_http_request('/_ide/service/auth/create', {}, 'POST', false); if (!response.success) { throw new Error('Failed to create auth session'); } diff --git a/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map b/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map old mode 100755 new mode 100644 index 1ccc496b9..107acb8b8 --- a/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map +++ b/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map @@ -1 +1 @@ -{"version":3,"file":"ide_bridge_client.js","sourceRoot":"","sources":["../src/ide_bridge_client.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ide_bridge_client.js","sourceRoot":"","sources":["../src/ide_bridge_client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js old mode 100755 new mode 100644 index 3f286231d..a15ab3cfc --- a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js +++ b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js @@ -77,7 +77,7 @@ async function get_js_lineage(class_name) { ide_bridge_client = new ide_bridge_client_1.IdeBridgeClient(output_channel); } try { - const response = await ide_bridge_client.request('/_idehelper/js_lineage', { class: class_name }); + const response = await ide_bridge_client.request('/_ide/service/js_lineage', { class: class_name }); const lineage = response.lineage || []; // Cache the result lineage_cache.set(class_name, lineage); diff --git a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map old mode 100755 new mode 100644 index 4fd0ab668..0b4a7af2d --- a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map +++ b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map @@ -1 +1 @@ -{"version":3,"file":"jqhtml_lifecycle_provider.js","sourceRoot":"","sources":["../src/jqhtml_lifecycle_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jqhtml_lifecycle_provider.js","sourceRoot":"","sources":["../src/jqhtml_lifecycle_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js b/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js.map b/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js b/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js.map b/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js b/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js.map b/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_provider.js b/app/RSpade/resource/vscode_extension/out/refactor_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_provider.js.map b/app/RSpade/resource/vscode_extension/out/refactor_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js b/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js.map b/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/package.json b/app/RSpade/resource/vscode_extension/package.json index 82394554b..c31d3989c 100755 --- a/app/RSpade/resource/vscode_extension/package.json +++ b/app/RSpade/resource/vscode_extension/package.json @@ -2,7 +2,7 @@ "name": "rspade-framework", "displayName": "RSpade Framework Support", "description": "VS Code extension for RSpade framework with code folding, formatting, and namespace management", - "version": "0.1.170", + "version": "0.1.182", "publisher": "rspade", "engines": { "vscode": "^1.74.0" @@ -13,7 +13,7 @@ "Other" ], "activationEvents": [ - "workspaceContains:**/app/RSpade/**" + "onStartupFinished" ], "main": "./out/extension.js", "contributes": { diff --git a/app/RSpade/resource/vscode_extension/rspade-framework.vsix b/app/RSpade/resource/vscode_extension/rspade-framework.vsix index a43a9bef7f756e37a96d988b629f8df5e6875fe6..72e56f17e5372631bf94860ec78dcbcc40fd5f54 100755 GIT binary patch delta 32642 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 z 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
n-yrEn|~fu*`xr)6CnbS2$e zNbTqHc_{y8(EH~bvnrI|q)bQeF*Ezv#Y@SR$8l=*DtygE-gPjrv8BX|eSZv5kgX`l z#uL4y4}E;5s{$-fuu~;{2j?(;m&zy#&PE;>G{+M<1D{A!a$b6BO7d6ZHa#~U7Rth3 zTJ)VjN4+xoaWj|d8kHz(+KC@oq+bKKmp}PtH8~$j<}&_5?}v4J4Cs|Eq_z>ot2LkE zieLg3H`XtaNJ$rJQV!$Qw8^j!xPDdiSrw#AALx!=8XKI)E z&(bA221gSG-&ZlgWmR-!WSAkg6P6arOR)obOhL};zLh^-1%kh}+^4#>3{r2`FC1ZH zHWh2rae)NYl%rHdf0zQBg}h=I2;{#GV-0s7 zc0Aw_xL6a+mn}u0w61bduv31;!1{BY^y)IivGIafAY^}z&I*Xiy)SF(J-7;~?EZQxGqj{s#0Sk?;{snOAEgj+cH5Fl-SMr^g&k?w5Kmxwd z=lGgqeK?_;Kp8L`cB;ok?I|{)jEllcU1ClP7cBOhtXlG~cgaQ>>PS<{LHny1%cyFq!1UH|VvErCp#ZAOCl&tZ%x6G@8 z5~w0_mQIbSvAn&|F(_<5)!sW``90BUc$)5;ubr8emlunz(Jd1?=aN%dkI1l+vEJ`3 z@Hj6o6s*x+H3uQsno_wgL;6CHKRmQ3bM#1uI!ltBT^P{08ZmwQIQ-}?5@H+f_eQ<` z4DXFr-1(Sfu0e&POhw^&qWVcKqoy+)RqfJJ+pT#+$z}6oMhMJhKjNB`^lS?w)Q2kn z(cBkLyzO$XKOZwj2O{h)iTk&%j-3g6d@!f`$hAcLF!Ong18ZSlrs|sNbUAA00qv+6 z>k)Yi?%S$cf#2r*voBEj@KH8ue3 z`q291M8B3@<-T>*Iixs*a?FQZhxXdSUnU~!dzC_;>bX?!Pzu1q&eLS=X7W-WNN=A) z>Xa)_-mjY^dH7_Xf=o#~|8_I5`} zSP8>v!VAN3G7@lIf7o$Hv7j7fo&_Z;(_3n|S+$sf1C+3BI5Pwxo-y6LxH=!}`N+Jb zkJPIp#E;t$ES4B)jX5_Avi9z>wXn2^gFjJ^wj+l;z4( zDu(ko@!jNYU)^KqaPeIMqKm!*5)X+>2*W|_?>o@&>4)!sk zNg@qCO2(vG{r@rFL}}RO0Q44XcmO5L{~YY6S(pP*T7IGeYX0Ilwz%N}!r}kvZ2^!0 zF8+D~T5c!+F^GT9{Qm)NEVTd-v~;roO#Wgy{^K1WYmw#zsQq;hv=s3JzC-=x|LA!6 zOVYwC1-M3o{gC+=y*rIf55V*H`mTBaKBNzjW9|O|n@sD`1E>P>(lGS_N`TljOMQSK zU@fguAHWYlN;}mD$N`emxC{V9f7$g60C)h_G%o{yzz1!I0YC_#miEU0APbmHlQ9HH zf=eaD_r^$co_@8Nur2mrinigRKVE${D|4bVAwF-bsO#yh|nlnk;(u|k4E&Q#5wf89e-uIN(J4B zeISkof21tn|4Tjil{6wV0L@=^d9x4mWTsi00jU0R{pW)Jw>B`zcxAHO1rlBZ<`QWe#o&9{HFmkZG<0y@xMmR u&=0z-|5$RdA4~4vMuimrFZyyz0LEX-_WmOUAd|LX31El5)dzg2{r>>at9*h0 delta 32241 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�Zi^2x9=!t?E!vKxbKII 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 D<=fy% diff --git a/app/RSpade/resource/vscode_extension/src/definition_provider.ts b/app/RSpade/resource/vscode_extension/src/definition_provider.ts index c903721c5..200285f66 100755 --- a/app/RSpade/resource/vscode_extension/src/definition_provider.ts +++ b/app/RSpade/resource/vscode_extension/src/definition_provider.ts @@ -28,7 +28,7 @@ export class RspadeDefinitionProvider implements vscode.DefinitionProvider { } /** - * Find the RSpade project root folder (contains app/RSpade/) + * Find the RSpade project root folder (contains system/app/RSpade/) * Works in both single-folder and multi-root workspace modes */ private find_rspade_root(): string | undefined { @@ -36,9 +36,9 @@ export class RspadeDefinitionProvider implements vscode.DefinitionProvider { return undefined; } - // Check each workspace folder for app/RSpade/ + // Check each workspace folder for system/app/RSpade/ for (const folder of vscode.workspace.workspaceFolders) { - const app_rspade = path.join(folder.uri.fsPath, 'app', 'RSpade'); + const app_rspade = path.join(folder.uri.fsPath, 'system', 'app', 'RSpade'); if (fs.existsSync(app_rspade)) { return folder.uri.fsPath; } @@ -86,6 +86,14 @@ export class RspadeDefinitionProvider implements vscode.DefinitionProvider { return routeResult; } + // Check for href="/" pattern in Blade/Jqhtml files + if (fileName.endsWith('.blade.php') || fileName.endsWith('.jqhtml')) { + const hrefResult = await this.handleHrefPattern(document, position); + if (hrefResult) { + return hrefResult; + } + } + // Handle "this.xxx" references in .jqhtml files (highest priority for jqhtml files) if (fileName.endsWith('.jqhtml')) { const thisResult = await this.handleThisReference(document, position); @@ -206,6 +214,45 @@ export class RspadeDefinitionProvider implements vscode.DefinitionProvider { return undefined; } + /** + * Handle href="/" pattern in Blade/Jqhtml files + * Detects when cursor is on "/" within href attribute + * Resolves to the controller action that handles the root URL + */ + private async handleHrefPattern( + document: vscode.TextDocument, + position: vscode.Position + ): Promise { + const line = document.lineAt(position.line).text; + + // Match href="/" or href='/' + const hrefPattern = /href\s*=\s*(['"])\/\1/g; + let match; + + while ((match = hrefPattern.exec(line)) !== null) { + const matchStart = match.index + match[0].indexOf('/'); + const matchEnd = matchStart + 1; // Just the "/" character + + // Check if cursor is on the "/" + if (position.character >= matchStart && position.character <= matchEnd) { + try { + // Query IDE bridge to resolve "/" URL to route + const result = await this.ide_bridge.queryUrl('/'); + + if (result && result.found && result.controller && result.method) { + // Resolved to controller/method - navigate to it + const phpResult = await this.queryIdeHelper(result.controller, result.method, 'class'); + return this.createLocationFromResult(phpResult); + } + } catch (error) { + console.error('Error resolving href="/" to route:', error); + } + } + } + + return undefined; + } + /** * Handle "this.xxx" references in .jqhtml files * Only handles patterns where cursor is on a word after "this." @@ -488,12 +535,8 @@ export class RspadeDefinitionProvider implements vscode.DefinitionProvider { if (isRsxView && stringContent) { // Query as a view - try { - const result = await this.queryIdeHelper(stringContent, undefined, 'view'); - return this.createLocationFromResult(result); - } catch (error) { - console.error('Error querying IDE helper for view:', error); - } + const result = await this.queryIdeHelper(stringContent, undefined, 'view'); + return this.createLocationFromResult(result); } } @@ -641,7 +684,7 @@ export class RspadeDefinitionProvider implements vscode.DefinitionProvider { } try { - const result = await this.ide_bridge.request('/_idehelper', params); + const result = await this.ide_bridge.request('/_ide/service/resolve_class', params); return result; } catch (error: any) { this.show_error_status('IDE helper request failed'); diff --git a/app/RSpade/resource/vscode_extension/src/formatting_provider.ts b/app/RSpade/resource/vscode_extension/src/formatting_provider.ts index 4e4091d11..866b66552 100755 --- a/app/RSpade/resource/vscode_extension/src/formatting_provider.ts +++ b/app/RSpade/resource/vscode_extension/src/formatting_provider.ts @@ -5,7 +5,7 @@ * All formatting is performed on the server - no local PHP execution. * * Authentication Flow: - * 1. Reads domain from storage/rsx-ide-bridge/domain.txt (auto-discovered) + * 1. Reads domain from system/storage/rsx-ide-bridge/domain.txt (auto-discovered) * 2. Creates session with auth tokens on first use * 3. Signs all requests with SHA1(body + client_key) * 4. Validates server responses with SHA1(body + server_key) @@ -321,7 +321,7 @@ export class RspadeFormattingProvider implements vscode.DocumentFormattingEditPr // Try new structure first const system_app_rspade = path.join(folder.uri.fsPath, 'system', 'app', 'RSpade'); if (fs.existsSync(system_app_rspade)) { - rspade_root = path.join(folder.uri.fsPath, 'system'); + rspade_root = folder.uri.fsPath; // Project root, not system subdirectory break; } @@ -339,7 +339,7 @@ export class RspadeFormattingProvider implements vscode.DocumentFormattingEditPr throw new Error('RSpade project root not found'); } - const domain_file = path.join(rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); this.output_channel.appendLine(`Checking for domain file: ${domain_file}`); if (await exists(domain_file)) { @@ -357,7 +357,7 @@ export class RspadeFormattingProvider implements vscode.DocumentFormattingEditPr this.output_channel.appendLine('\nThe extension needs to know your development server URL.'); this.output_channel.appendLine('\nPlease do ONE of the following:\n'); this.output_channel.appendLine('1. Load your site in a web browser'); - this.output_channel.appendLine(' This will auto-create: storage/rsx-ide-bridge/domain.txt\n'); + this.output_channel.appendLine(' This will auto-create: system/storage/rsx-ide-bridge/domain.txt\n'); this.output_channel.appendLine('2. Set VS Code setting: rspade.serverUrl'); this.output_channel.appendLine(' File → Preferences → Settings → Search "rspade"'); this.output_channel.appendLine(' Set to your development URL (e.g., https://myapp.test)\n'); @@ -365,7 +365,7 @@ export class RspadeFormattingProvider implements vscode.DocumentFormattingEditPr this.output_channel.appendLine(' In config/rsx.php, set ide_integration.enabled = true'); this.output_channel.appendLine('\n════════════════════════════════════════════════════════'); - throw new Error('RSpade: storage/rsx-ide-bridge/domain.txt not found. Please load site in browser or configure server URL.'); + throw new Error('RSpade: system/storage/rsx-ide-bridge/domain.txt not found. Please load site in browser or configure server URL.'); } private async make_authenticated_request( diff --git a/app/RSpade/resource/vscode_extension/src/git_diff_provider.ts b/app/RSpade/resource/vscode_extension/src/git_diff_provider.ts index f8db7b583..958774094 100755 --- a/app/RSpade/resource/vscode_extension/src/git_diff_provider.ts +++ b/app/RSpade/resource/vscode_extension/src/git_diff_provider.ts @@ -265,7 +265,7 @@ export class GitDiffProvider { return this.server_url; } - const domain_file = path.join(this.rspade_root!, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root!, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); if (fs.existsSync(domain_file)) { const domain = fs.readFileSync(domain_file, 'utf8').trim(); @@ -380,7 +380,7 @@ export class GitDiffProvider { return; } - const domain_file = path.join(this.rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); const domain_dir = path.dirname(domain_file); // Watch the directory (file might not exist yet) diff --git a/app/RSpade/resource/vscode_extension/src/git_status_provider.ts b/app/RSpade/resource/vscode_extension/src/git_status_provider.ts index 34926b0de..20658547d 100755 --- a/app/RSpade/resource/vscode_extension/src/git_status_provider.ts +++ b/app/RSpade/resource/vscode_extension/src/git_status_provider.ts @@ -134,7 +134,7 @@ export class GitStatusProvider implements vscode.FileDecorationProvider { } // Try to auto-discover from domain.txt - const domain_file = path.join(this.rspade_root!, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root!, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); if (fs.existsSync(domain_file)) { const domain = fs.readFileSync(domain_file, 'utf8').trim(); @@ -249,7 +249,7 @@ export class GitStatusProvider implements vscode.FileDecorationProvider { return; } - const domain_file = path.join(this.rspade_root, 'storage', 'rsx-ide-bridge', 'domain.txt'); + const domain_file = path.join(this.rspade_root, 'system', 'storage', 'rsx-ide-bridge', 'domain.txt'); const domain_dir = path.dirname(domain_file); // Watch the directory (file might not exist yet) diff --git a/app/RSpade/resource/vscode_extension/src/ide_bridge_client.ts b/app/RSpade/resource/vscode_extension/src/ide_bridge_client.ts index b9b18db2b..1b642eab8 100755 --- a/app/RSpade/resource/vscode_extension/src/ide_bridge_client.ts +++ b/app/RSpade/resource/vscode_extension/src/ide_bridge_client.ts @@ -10,7 +10,7 @@ * 4. Auto-retries with refreshed URL on connection failure * * AUTHENTICATION FLOW: - * 1. Client requests session from /_idehelper/auth/create + * 1. Client requests session from /_ide/service/auth/create * 2. Server generates session ID, client_key, server_key * 3. Client signs requests: SHA1(body + client_key) * 4. Server validates signature and signs response: SHA1(body + server_key) @@ -31,7 +31,7 @@ * const client = new IdeBridgeClient(output_channel); * * // Make request to IDE helper endpoint - * const response = await client.request('/_idehelper/your_endpoint', { + * const response = await client.request('/_ide/service/your_endpoint', { * param1: 'value1', * param2: 'value2' * }); @@ -48,10 +48,10 @@ * ADDING NEW IDE HELPER ENDPOINTS: * * Backend (PHP): - * 1. Add method to /app/RSpade/Ide/Helper/Ide_Helper_Controller.php - * 2. Register route in /routes/web.php: - * Route::get('/_idehelper/your_endpoint', [Ide_Helper_Controller::class, 'your_method']); - * 3. Return JsonResponse with data + * 1. Add handler function to /app/RSpade/Ide/Services/handler.php + * 2. Add case to switch statement in handler.php: + * case 'your_endpoint': handle_your_endpoint_service($request_data); break; + * 3. Return JSON via json_response() helper * * Frontend (TypeScript): * 1. Use IdeBridgeClient.request() to call endpoint @@ -109,6 +109,16 @@ export class IdeBridgeClient { return this.make_request_with_retry(endpoint, data, method, 0); } + /** + * Query URL to resolve it to a route (controller/method) + * + * @param url The URL path to resolve (e.g., "/", "/users/123") + * @returns Promise with { found: boolean, controller?: string, method?: string } + */ + public async queryUrl(url: string): Promise<{ found: boolean; controller?: string; method?: string }> { + return this.request('/_ide/service/resolve_url', { url }, 'GET'); + } + private async make_request_with_retry( endpoint: string, data: any, @@ -309,7 +319,7 @@ export class IdeBridgeClient { this.output_channel.appendLine('Creating new auth session...'); // Request new session (this endpoint doesn't require auth) - const response = await this.make_http_request('/auth/create', {}, 'POST', false); + const response = await this.make_http_request('/_ide/service/auth/create', {}, 'POST', false); if (!response.success) { throw new Error('Failed to create auth session'); diff --git a/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts b/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts index 9831cf2ea..89b4c74c5 100755 --- a/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts +++ b/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts @@ -59,7 +59,7 @@ async function get_js_lineage(class_name: string): Promise { } try { - const response = await ide_bridge_client.request('/_idehelper/js_lineage', { class: class_name }); + const response = await ide_bridge_client.request('/_ide/service/js_lineage', { class: class_name }); const lineage = response.lineage || []; // Cache the result diff --git a/config/rsx.php b/config/rsx.php index e1bf83fe3..f3595eb20 100755 --- a/config/rsx.php +++ b/config/rsx.php @@ -297,7 +297,7 @@ return [ 'desktop.ini', // Windows folder settings '.gitkeep', // Git empty directory markers '.gitattributes', // Git attributes config - '_rsx_helper.php', // IDE helper stubs (auto-generated) + '._rsx_helper.php', // IDE helper stubs (auto-generated) ], ], @@ -345,7 +345,7 @@ return [ 'webpack.config.js', 'webpack.mix.js', '_ide_helper.php', // Laravel IDE Helper - '_rsx_helper.php', // RSX IDE Helper + '._rsx_helper.php', // RSX IDE Helper '.phpstorm.meta.php', // PhpStorm metadata ], diff --git a/docs/CLAUDE.dist.md b/docs/CLAUDE.dist.md index 2cb17c3db..433babb32 100644 --- a/docs/CLAUDE.dist.md +++ b/docs/CLAUDE.dist.md @@ -155,6 +155,10 @@ is this?", you must never commit to the framework repo. **Framework repo:** `/var/www/html/.git` (read-only, managed by RSpade team - DO NOT TOUCH) **Application repo:** `/var/www/html/rsx/.git` (your code, you control) +### Commit Discipline + +**NEVER commit unless explicitly asked** - You are UNQUALIFIED to decide when to commit. ONLY commit when the user explicitly says "commit" or gives a clear instruction to commit. Commits are MAJOR MILESTONES (like completing all history homework), NOT individual changes (like changing one answer on one assignment). Wait for the user to tell you when to commit. + ### Working Directory Rules **ALWAYS work from `/var/www/html/rsx` for application code:** @@ -2451,6 +2455,8 @@ php artisan rsx:refactor:rename_php_class_function Class old new php artisan rsx:refactor:sort_php_class_functions rsx/path/to/class.php ``` +**#[Instantiatable]**: Applied to abstract classes to whitelist all child classes for instantiation by the framework. + --- ## RSX:MAN DOCUMENTATION diff --git a/routes/web.php b/routes/web.php index 57a17707d..586db0383 100755 --- a/routes/web.php +++ b/routes/web.php @@ -15,7 +15,5 @@ Route::get('/test-bundle-facade', function() { // All RSX routes are handled through the 404 exception handler // This allows Laravel routes to have priority -// IDE Helper endpoints - provide symbol resolution for VS Code extension -// These use the traditional Laravel controller for complex manifest lookups -Route::get('/_idehelper', [\App\RSpade\Ide\Helper\Ide_Helper_Controller::class, 'resolve_class']); -Route::get('/_idehelper/js_lineage', [\App\RSpade\Ide\Helper\Ide_Helper_Controller::class, 'js_lineage']); \ No newline at end of file +// Note: IDE Helper endpoints have been migrated to /_ide/service/* (standalone handler.php) +// This provides better performance by bypassing Laravel for IDE integration requests \ No newline at end of file