Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 168 additions & 3 deletions pint.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,171 @@
{
"preset": "laravel",
"exclude": [
"stubs"
"preset": "empty",
"rules": {
"align_multiline_comment": true,
"array_indentation": true,
"array_syntax": {
"syntax": "short"
},
"binary_operator_spaces": {
"default": "single_space"
},
"blank_line_after_namespace": true,
"blank_line_after_opening_tag": true,
"blank_line_before_statement": {
"statements": ["return"]
},
"blank_line_between_import_groups": true,
"blank_lines_before_namespace": true,
"braces_position": {
"control_structures_opening_brace": "same_line",
"functions_opening_brace": "next_line_unless_newline_at_signature_end",
"anonymous_functions_opening_brace": "same_line",
"classes_opening_brace": "next_line_unless_newline_at_signature_end",
"anonymous_classes_opening_brace": "next_line_unless_newline_at_signature_end",
"allow_single_line_empty_anonymous_classes": false,
"allow_single_line_anonymous_functions": false
},
"cast_spaces": true,
"class_definition": true,
"class_reference_name_casing": true,
"clean_namespace": true,
"compact_nullable_type_declaration": true,
"concat_space": true,
"constant_case": {
"case": "lower"
},
"control_structure_braces": true,
"declare_equal_normalize": true,
"elseif": true,
"encoding": true,
"full_opening_tag": true,
"function_declaration": true,
"heredoc_to_nowdoc": true,
"include": true,
"increment_style": {
"style": "post"
},
"indentation_type": true,
"integer_literal_case": true,
"lambda_not_used_import": true,
"line_ending": true,
"list_syntax": {
"syntax": "short"
},
"lowercase_cast": true,
"lowercase_keywords": true,
"lowercase_static_reference": true,
"magic_constant_casing": true,
"magic_method_casing": true,
"method_argument_space": {
"on_multiline": "ignore"
},
"method_chaining_indentation": true,
"multiline_whitespace_before_semicolons": {
"strategy": "no_multi_line"
},
"native_function_casing": true,
"native_type_declaration_casing": true,
"no_alternative_syntax": true,
"no_binary_string": true,
"no_blank_lines_after_class_opening": true,
"no_blank_lines_after_phpdoc": true,
"no_closing_tag": true,
"no_empty_phpdoc": true,
"no_empty_statement": true,
"no_extra_blank_lines": {
"tokens": ["extra", "throw", "use"]
},
"no_leading_import_slash": true,
"no_leading_namespace_whitespace": true,
"no_mixed_echo_print": {
"use": "echo"
},
"no_multiline_whitespace_around_double_arrow": true,
"no_short_bool_cast": true,
"no_singleline_whitespace_before_semicolons": true,
"no_space_around_double_colon": true,
"no_spaces_around_offset": {
"positions": ["inside", "outside"]
},
"no_spaces_after_function_name": true,
"no_trailing_comma_in_singleline": true,
"no_trailing_whitespace": true,
"no_trailing_whitespace_in_comment": true,
"no_unneeded_braces": true,
"no_unneeded_control_parentheses": true,
"no_unneeded_import_alias": true,
"no_unset_cast": true,
"no_unused_imports": true,
"no_useless_return": true,
"no_whitespace_before_comma_in_array": true,
"no_whitespace_in_blank_line": true,
"normalize_index_brace": true,
"not_operator_with_successor_space": true,
"nullable_type_declaration_for_default_null_value": true,
"object_operator_without_whitespace": true,
"ordered_imports": {
"sort_algorithm": "alpha",
"imports_order": ["const", "class", "function"]
},
"phpdoc_align": {
"align": "left",
"spacing": {
"param": 2
}
},
"phpdoc_indent": true,
"phpdoc_inline_tag_normalizer": true,
"phpdoc_no_access": true,
"phpdoc_no_package": true,
"phpdoc_no_useless_inheritdoc": true,
"phpdoc_order": {
"order": ["param", "return", "throws"]
},
"phpdoc_return_self_reference": true,
"phpdoc_scalar": true,
"phpdoc_separation": {
"groups": [
["deprecated", "link", "see", "since"],
["author", "copyright", "license"],
["category", "package", "subpackage"],
["property", "property-read", "property-write"],
["param", "return"]
]
},
"phpdoc_single_line_var_spacing": true,
"phpdoc_summary": true,
"phpdoc_trim": true,
"phpdoc_types": true,
"phpdoc_var_without_name": true,
"return_type_declaration": {
"space_before": "none"
},
"short_scalar_cast": true,
"single_blank_line_at_eof": true,
"single_class_element_per_statement": true,
"single_import_per_statement": true,
"single_line_after_imports": true,
"single_line_comment_style": true,
"single_quote": true,
"space_after_semicolon": true,
"spaces_inside_parentheses": true,
"standardize_not_equals": true,
"switch_case_semicolon_to_colon": true,
"switch_case_space": true,
"switch_continue_to_break": true,
"ternary_operator_spaces": true,
"trailing_comma_in_multiline": true,
"trim_array_spaces": true,
"type_declaration_spaces": true,
"types_spaces": true,
"unary_operator_spaces": true,
"visibility_required": {
"elements": ["method", "property"]
},
"whitespace_after_comma_in_array": true
},
"notPath" :[
"stubs/tool.stub.php"
]
}
2 changes: 1 addition & 1 deletion src/BoostServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public function boot(Router $router): void
return;
}

/* @phpstan-ignore-next-line */
// @phpstan-ignore-next-line
Mcp::local('laravel-boost', Boost::class);

$this->registerPublishing();
Expand Down
4 changes: 2 additions & 2 deletions src/Install/GuidelineComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function config(GuidelineConfig $config): self
}

/**
* Auto discovers the guideline files and composes them into one string
* Auto discovers the guideline files and composes them into one string.
*/
public function compose(): string
{
Expand Down Expand Up @@ -62,7 +62,7 @@ public function guidelines(): Collection
}

/**
* Key is the 'guideline key' and value is the rendered blade
* Key is the 'guideline key' and value is the rendered blade.
*
* @return \Illuminate\Support\Collection<string, string>
*/
Expand Down
4 changes: 3 additions & 1 deletion src/Install/GuidelineWriter.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ class GuidelineWriter

public const NOOP = 3;

public function __construct(protected Agent $agent) {}
public function __construct(protected Agent $agent)
{
}

/**
* @return \Laravel\Boost\Install\GuidelineWriter::NEW|\Laravel\Boost\Install\GuidelineWriter::REPLACED|\Laravel\Boost\Install\GuidelineWriter::FAILED|\Laravel\Boost\Install\GuidelineWriter::NOOP
Expand Down
4 changes: 3 additions & 1 deletion src/Mcp/Resources/ApplicationInfo.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@

class ApplicationInfo extends Resource
{
public function __construct(protected ToolExecutor $toolExecutor) {}
public function __construct(protected ToolExecutor $toolExecutor)
{
}

public function description(): string
{
Expand Down
12 changes: 6 additions & 6 deletions src/Mcp/ToolExecutor.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public function __construct()
}

/**
* Execute a tool with the given arguments
* Execute a tool with the given arguments.
*
* @param array<string, mixed> $arguments
*/
Expand All @@ -35,7 +35,7 @@ public function execute(string $toolClass, array $arguments = []): ToolResult
}

/**
* Execute tool in a separate process for isolation
* Execute tool in a separate process for isolation.
*
* @param array<string, mixed> $arguments
*/
Expand Down Expand Up @@ -78,7 +78,7 @@ protected function executeInProcess(string $toolClass, array $arguments): ToolRe
}

/**
* Execute tool inline (current process)
* Execute tool inline (current process).
*
* @param array<string, mixed> $arguments
*/
Expand All @@ -94,7 +94,7 @@ protected function executeInline(string $toolClass, array $arguments): ToolResul
}

/**
* Check if process isolation should be used
* Check if process isolation should be used.
*/
protected function shouldUseProcessIsolation(): bool
{
Expand All @@ -107,15 +107,15 @@ protected function shouldUseProcessIsolation(): bool
}

/**
* Get the execution timeout
* Get the execution timeout.
*/
protected function getTimeout(): int
{
return config('boost.process_isolation.timeout', 180);
}

/**
* Reconstruct a ToolResult from JSON data
* Reconstruct a ToolResult from JSON data.
*
* @param array<string, mixed> $data
*/
Expand Down
8 changes: 4 additions & 4 deletions src/Mcp/ToolRegistry.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class ToolRegistry
private static ?array $cachedTools = null;

/**
* Get all available tools based on the discovery logic from Boost server
* Get all available tools based on the discovery logic from Boost server.
*
* @return array<int, class-string>
*/
Expand Down Expand Up @@ -49,23 +49,23 @@ public static function getAvailableTools(): array
}

/**
* Check if a tool class is allowed to be executed
* Check if a tool class is allowed to be executed.
*/
public static function isToolAllowed(string $toolClass): bool
{
return in_array($toolClass, self::getAvailableTools(), true);
}

/**
* Clear the cached tools (useful for testing or when configuration changes)
* Clear the cached tools (useful for testing or when configuration changes).
*/
public static function clearCache(): void
{
self::$cachedTools = null;
}

/**
* Get tool names (class basenames) mapped to their full class names
* Get tool names (class basenames) mapped to their full class names.
*
* @return array<string, class-string>
*/
Expand Down
6 changes: 4 additions & 2 deletions src/Mcp/Tools/ApplicationInfo.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
#[IsReadOnly]
class ApplicationInfo extends Tool
{
public function __construct(protected Roster $roster) {}
public function __construct(protected Roster $roster)
{
}

public function description(): string
{
Expand All @@ -44,7 +46,7 @@ public function handle(array $arguments): ToolResult
}

/**
* Discover all Eloquent models in the application
* Discover all Eloquent models in the application.
*
* @return array<string, string>
*/
Expand Down
4 changes: 3 additions & 1 deletion src/Mcp/Tools/SearchDocs.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ class SearchDocs extends Tool
{
use MakesHttpRequests;

public function __construct(protected Roster $roster) {}
public function __construct(protected Roster $roster)
{
}

public function description(): string
{
Expand Down
3 changes: 2 additions & 1 deletion tests/Feature/Mcp/Tools/BrowserLogsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@

test('@boostJs blade directive renders browser logger script', function () {
// Ensure route exists
Route::post('/_boost/browser-logs', function () {})->name('boost.browser-logs');
Route::post('/_boost/browser-logs', function () {
})->name('boost.browser-logs');

$blade = Blade::compileString('@boostJs');

Expand Down
Loading