From 148d07cf234a3a1e2c88577d358ded5cb4466bba Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:00:36 +0100 Subject: [PATCH 01/63] MCP Servers doc draft --- code_samples/mcp/config/packages/mcp.yaml | 18 ++ code_samples/mcp/mcp.sh | 60 +++++ .../mcp/src/Command/McpServerListCommand.php | 26 ++ code_samples/mcp/src/Mcp/ExampleTools.php | 15 ++ docs/mcp/mcp.md | 12 + docs/mcp/mcp_config.md | 225 ++++++++++++++++++ docs/mcp/mcp_guide.md | 21 ++ mkdocs.yml | 15 +- 8 files changed, 387 insertions(+), 5 deletions(-) create mode 100644 code_samples/mcp/config/packages/mcp.yaml create mode 100644 code_samples/mcp/mcp.sh create mode 100644 code_samples/mcp/src/Command/McpServerListCommand.php create mode 100644 code_samples/mcp/src/Mcp/ExampleTools.php create mode 100644 docs/mcp/mcp.md create mode 100644 docs/mcp/mcp_config.md create mode 100644 docs/mcp/mcp_guide.md diff --git a/code_samples/mcp/config/packages/mcp.yaml b/code_samples/mcp/config/packages/mcp.yaml new file mode 100644 index 0000000000..137ecb0e69 --- /dev/null +++ b/code_samples/mcp/config/packages/mcp.yaml @@ -0,0 +1,18 @@ +ibexa: + repositories: + default: + mcp: + example: + path: /mcp/example + enabled: true + description: 'Example MCP Server' + instructions: 'Use this server to greet someone.' + discovery_cache: cache.tagaware.filesystem + session: + type: file + directory: '%kernel.cache_dir%/mcp/sessions' + system: + default: + mcp: + servers: + - example diff --git a/code_samples/mcp/mcp.sh b/code_samples/mcp/mcp.sh new file mode 100644 index 0000000000..fd87978832 --- /dev/null +++ b/code_samples/mcp/mcp.sh @@ -0,0 +1,60 @@ +baseUrl='http://localhost' # Adapt to your test case + +jwtToken=`curl -s -X 'POST' \ + "$baseUrl/api/ibexa/v2/user/token/jwt" \ + -H 'Content-Type: application/json' \ + -d '{ + "JWTInput": { + "_media-type": "application/vnd.ibexa.api.JWTInput", + "username": "admin", + "password": "publish" + } + }' | jq -r .JWT.token` + +mcpSessionId=`curl -s -i -X 'POST' "$baseUrl/mcp/example" \ + -H "Authorization: Bearer $jwtToken" \ + -d '{ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-03-26", + "capabilities": {}, + "clientInfo": { + "name": "test-curl-client", + "version": "1.0.0" + } + } + }' | grep 'Mcp-Session-Id:' | sed 's/Mcp-Session-Id: \([0-9a-f-]*\).*/\1/'` + +curl -s -i -X 'POST' "$baseUrl/mcp/example" \ + -H "Authorization: Bearer $jwtToken" \ + -H "Mcp-Session-Id: $mcpSessionId" \ + -d '{ + "jsonrpc": "2.0", + "method": "notifications/initialized" + }' + +curl -s -X 'POST' "$baseUrl/mcp/example" \ + -H "Authorization: Bearer $jwtToken" \ + -H "Mcp-Session-Id: $mcpSessionId" \ + -d '{ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list" + }' | jq + +curl -s -X 'POST' "$baseUrl/mcp/example" \ + -H "Authorization: Bearer $jwtToken" \ + -H "Mcp-Session-Id: $mcpSessionId" \ + -d '{ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "greet", + "arguments": { + "name": "World" + } + } + }' | jq diff --git a/code_samples/mcp/src/Command/McpServerListCommand.php b/code_samples/mcp/src/Command/McpServerListCommand.php new file mode 100644 index 0000000000..c3b48dbce9 --- /dev/null +++ b/code_samples/mcp/src/Command/McpServerListCommand.php @@ -0,0 +1,26 @@ +configRegistry->getServerConfigurations() as $serverConfiguration) { + $io->title($serverConfiguration->identifier); + dump($serverConfiguration); + } + + return Command::SUCCESS; + } +} diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php new file mode 100644 index 0000000000..ee19659065 --- /dev/null +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -0,0 +1,15 @@ +: + mcp: + : + path: + enabled: true + # Server options… + discovery_cache: + session: + type: + # Session options… + system: + : + mcp: + servers: + - +``` + +TODO: `ddev php bin/console debug:router --siteaccess=` should list some `ibexa.mcp. GET|POST|DELETE|OPTIONS ` + +TODO: Maybe explain that routes are built automatically from MCP server `path` configs thank to `config/routes/ibexa_mcp.yaml` and `\Ibexa\Bundle\Mcp\Routing\McpRouteLoader` + +### MCP server options + +| Option | Type | Required | Default | Description | +|-------------------|---------|----------|---------|-----------------------------------------------| +| `path` | string | Yes | | MCP server endpoint path | +| `enabled` | boolean | No | `false` | Whether the server is enabled | +| `version` | string | No | `1.0.0` | MCP server version | +| `description` | string | No | `null` | Human-readable server description | +| `instructions` | string | No | `null` | Instructions dedicated for LLM interaction | +| `discovery_cache` | string | Yes | | PSR-6 ou PSR-16 cache pool service identifier | +| `session` | object | Yes | | Session storage configuration | + +Notice that a server is disabled by default, it needs to be explicitly enabled. + +### MCP server discovery cache + +TODO + +### MCP server session storage + +#### Options + +| Option | Type | Default | Description | +|-----------|---------|----------|---------------------------------------------------| +| `type` | enum | `memory` | Session store type: `psr16`, `file`, or `memory` | +| `service` | string | `null` | PSR-16 cache service ID for `psr16` session store | +| `prefix` | string | `mcp_` | Key prefix for `psr16` session store | +| `directory` | string | `null` | Directory path for `file` session store | +| `ttl` | integer | `3600` | Session TTL in seconds | + +#### PSR-16 + +Sessions are stored using a PSR-16 compatible cache implementation. Requires service option pointing to a valid cache service ID. + +```yaml + session: + type: psr16 + service: cache.redis.mcp + prefix: 'mcp__' +services: + cache.redis.mcp: + public: true + class: Symfony\Component\Cache\Adapter\RedisTagAwareAdapter + parent: cache.adapter.redis + tags: + - name: cache.pool + clearer: cache.app_clearer + provider: 'redis://mcp.redis:6379' + namespace: 'mcp' +``` + +#### File + +Sessions are persisted to the filesystem. Requires directory option to be set. + +```yaml + session: + type: file + directory: '%kernel.cache_dir%/mcp/sessions' +``` + +#### Memory + +Sessions are stored in memory. Suitable for development and STDIO transport. + +TODO: Might not work with DDEV or Docker + +```yaml + session: + type: memory +``` + +## MCP server capabilities + +TODO: `Ibexa\Contracts\Mcp\McpCapabilityInterface` + +TODO: `Ibexa\Contracts\Mcp\Attribute` namespace + +## Example + +This example introduce an `example` MCP server with a single `greet` tool, enabled on all SiteAccesses. + +In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: + +``` yaml +[[= include_file('code_samples/mcp/config/packages/mcp.yaml') =]] +``` + +Then, a `McpCapabilityInterface`containing a `greet` function with a `McpTool` attribute associating with the `example` server: + +``` php +[[= include_file('code_samples/mcp/src/Mcp/ExampleTools.php') =]] +``` + +To check the server configuration, a short command using the MCP server configuration registry (injected through `McpServerConfigurationRegistryInterface` and autowiring): + +``` php +[[= include_file('code_samples/mcp/src/Command/McpServerListCommand.php') =]] +``` + +To test the `example` MCP server, a sequence of `curl` commands is used to simulate an AI to MCP server communication. + +- Ask for a [JWT token through REST](/api/rest_api/rest_api_reference/rest_api_reference.html#tag/User-Token/operation/api_usertokenjwt_post) +- Initialize a connection to the MCP server +- Validate the MCP Session ID +- List the available tools +- Call a tool + +`jq`, `grep`, and `sed` are also used to parse or display outputs. + +The [initialization](https://modelcontextprotocol.io/specification/draft/basic/lifecycle#initialization): + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 0, 36) =]] +``` + +``` +HTTP/1.1 202 Accepted +Access-Control-Allow-Headers: Content-Type, Mcp-Session-Id, Mcp-Protocol-Version, Last-Event-ID, Authorization, Accept +Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS +Access-Control-Expose-Headers: Mcp-Session-Id +``` + +The [list of tools](https://modelcontextprotocol.io/specification/draft/server/tools#listing-tools): + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 37, 45) =]] +``` + +```json +{ + "jsonrpc": "2.0", + "id": 2, + "result": { + "tools": [ + { + "name": "greet", + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "description": "Greet a user by name" + } + ] + } +} +``` + +The `greet` [tool usage](https://modelcontextprotocol.io/specification/draft/server/tools#calling-tools): + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 46) =]] +``` + +```json +{ + "jsonrpc": "2.0", + "id": 3, + "result": { + "content": [ + { + "type": "text", + "text": "Hello, World!" + } + ], + "isError": false + } +} +``` + +TODO: Connect an AI client to the MCP server. [Copilot CLI MCP server addition](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) is strangely asking for some OAuth ID even with a proper JWT/Bearer header. diff --git a/docs/mcp/mcp_guide.md b/docs/mcp/mcp_guide.md new file mode 100644 index 0000000000..534320c74a --- /dev/null +++ b/docs/mcp/mcp_guide.md @@ -0,0 +1,21 @@ +--- +description: TODO. +month_change: true +--- + +# Model Context Protocol and [[= product_name_base =]] MCP Servers + +[Model Context Protocol (MCP)](https://en.wikipedia.org/wiki/Model_Context_Protocol) is a protocol standardizing interactions between AIs and systems. + +While [AI actions](ai_actions_guide.md) integrate AI to the back office, +[[= product_name =]]'s MCP servers offer a web interface usable by AIs outside the system. + +`ibexa/mcp` package provides built-in MCP servers and a PHP API to create custom ones. + +TODO: About built-in MCP servers (translations agents, SEO optimization agents,…) + +MCP servers capabilities (tools, prompts, and resources) can be created and associated to MCP servers thanks to a PHP API mainly based on attributes. + +MCP servers are configured per repository then enabled per SiteAccess scope, allowing for flexible configurations adapted to different contexts. + +MCP servers have their own session storage mechanism, TODO: why, benefit,… diff --git a/mkdocs.yml b/mkdocs.yml index 158817bf9a..24aab393d6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -346,11 +346,16 @@ nav: - Add login form: templating/layout/add_login_form.md - Add navigation menu: templating/layout/add_navigation_menu.md - Add search form to front page: templating/layout/add_search_form.md - - AI Actions: - - AI Actions: ai_actions/ai_actions.md - - AI Actions guide: ai_actions/ai_actions_guide.md - - Configure AI Actions: ai_actions/configure_ai_actions.md - - Extend AI Actions: ai_actions/extend_ai_actions.md + - AI: + - AI Actions: + - AI Actions: ai_actions/ai_actions.md + - AI Actions guide: ai_actions/ai_actions_guide.md + - Configure AI Actions: ai_actions/configure_ai_actions.md + - Extend AI Actions: ai_actions/extend_ai_actions.md + - MCP Servers: + - MCP Servers: mcp/mcp.md + - MCP Servers guide: mcp/mcp_guide.md + - Configure MCP Servers: mcp/mcp_config.md - PIM (Product management): - PIM (Product management): pim/pim.md - PIM guide: pim/pim_guide.md From 7307f02ad84cf4ec0bc34f5db3d7ce49d5fc9c18 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:20:18 +0100 Subject: [PATCH 02/63] Fix MkDocs variable VS `cards` mcp_guide.md heading `# Model Context Protocol and [[= product_name_base =]] MCP Servers` was used as-is, without the variable replaced. --- docs/mcp/mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mcp/mcp.md b/docs/mcp/mcp.md index 58217fb62f..b61bcf8add 100644 --- a/docs/mcp/mcp.md +++ b/docs/mcp/mcp.md @@ -7,6 +7,6 @@ month_change: true # MCP Servers [[= cards([ -"mcp/mcp_guide", +("mcp/mcp_guide", "MCP Servers guide", "TODO."), "mcp/mcp_config", ], columns=2) =]] From c2215e56c9275656fced8365e0546286e4af7b08 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:20:43 +0100 Subject: [PATCH 03/63] composer.json: Add ibexa/mcp --- composer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer.json b/composer.json index 1f8cb44b1e..961e030d76 100644 --- a/composer.json +++ b/composer.json @@ -34,6 +34,7 @@ "ibexa/core-persistence": "5.0.x-dev", "ibexa/connector-ai": "5.0.x-dev", "ibexa/connector-openai": "5.0.x-dev", + "ibexa/mcp": "dev-main", "ibexa/migrations": "5.0.x-dev", "ibexa/cart": "5.0.x-dev", "ibexa/installer": "5.0.x-dev", From d1b50e21e64e08a99284840dd533dfbe1f998013 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:23:41 +0100 Subject: [PATCH 04/63] =?UTF-8?q?mcp=5Fconfig.md:=20Fix=20spelling=20authe?= =?UTF-8?q?ntification=20=E2=86=92=20authentication?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/mcp/mcp_config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mcp/mcp_config.md b/docs/mcp/mcp_config.md index 4541737ef4..e4d93e3d64 100644 --- a/docs/mcp/mcp_config.md +++ b/docs/mcp/mcp_config.md @@ -9,7 +9,7 @@ TODO: built-in MCP servers VS custom MCP servers ## JWT -MCP servers use JWT for authentification. +MCP servers use JWT for authentication. TODO: [Enable authorization header in `config/packages/lexik_jwt_authentication.yaml`](development_security.md#jwt-authentication). From 3b4d89ffc412631b8d2a5e044f38cb3bf26e9109 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:35:21 +0100 Subject: [PATCH 05/63] mcp_config.md: Continue example intro --- docs/mcp/mcp_config.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/mcp/mcp_config.md b/docs/mcp/mcp_config.md index e4d93e3d64..e7889d6bd6 100644 --- a/docs/mcp/mcp_config.md +++ b/docs/mcp/mcp_config.md @@ -67,8 +67,8 @@ TODO #### Options -| Option | Type | Default | Description | -|-----------|---------|----------|---------------------------------------------------| +| Option | Type | Default | Description | +|-------------|---------|----------|---------------------------------------------------| | `type` | enum | `memory` | Session store type: `psr16`, `file`, or `memory` | | `service` | string | `null` | PSR-16 cache service ID for `psr16` session store | | `prefix` | string | `mcp_` | Key prefix for `psr16` session store | @@ -125,7 +125,10 @@ TODO: `Ibexa\Contracts\Mcp\Attribute` namespace ## Example -This example introduce an `example` MCP server with a single `greet` tool, enabled on all SiteAccesses. +This example introduce an `example` MCP server with a single `greet` tool. +It's enabled on all SiteAccesses. +It's accessible with the path `/mcp/example` (for example, on `http://localhost/mcp/example` and `http://localhost/admin/mcp/example`). +It uses files for both discovery cache and session storage. In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: From a40d3dc235c211dd5c9af47b73e56446407c5315 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:47:23 +0100 Subject: [PATCH 06/63] mcp.md: Short intro to the cards --- docs/mcp/mcp.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/mcp/mcp.md b/docs/mcp/mcp.md index b61bcf8add..b328047e4e 100644 --- a/docs/mcp/mcp.md +++ b/docs/mcp/mcp.md @@ -6,6 +6,9 @@ month_change: true # MCP Servers +MCP servers allow AI interactions with the system. +Learn more about this protocol and [[= product_name_base =]] MCP Servers: + [[= cards([ ("mcp/mcp_guide", "MCP Servers guide", "TODO."), "mcp/mcp_config", From 9ba2f81ee9036f855205545ab169793b76ff4ac2 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:38:41 +0100 Subject: [PATCH 07/63] Replace backticks with '$()' syntax for command substitution. Apply SonarCloud Code Analysis warning's suggestion --- code_samples/mcp/mcp.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code_samples/mcp/mcp.sh b/code_samples/mcp/mcp.sh index fd87978832..7a0d943fb4 100644 --- a/code_samples/mcp/mcp.sh +++ b/code_samples/mcp/mcp.sh @@ -1,6 +1,6 @@ baseUrl='http://localhost' # Adapt to your test case -jwtToken=`curl -s -X 'POST' \ +jwtToken=$(curl -s -X 'POST' \ "$baseUrl/api/ibexa/v2/user/token/jwt" \ -H 'Content-Type: application/json' \ -d '{ @@ -9,9 +9,9 @@ jwtToken=`curl -s -X 'POST' \ "username": "admin", "password": "publish" } - }' | jq -r .JWT.token` + }' | jq -r .JWT.token) -mcpSessionId=`curl -s -i -X 'POST' "$baseUrl/mcp/example" \ +mcpSessionId=$(curl -s -i -X 'POST' "$baseUrl/mcp/example" \ -H "Authorization: Bearer $jwtToken" \ -d '{ "jsonrpc": "2.0", @@ -25,7 +25,7 @@ mcpSessionId=`curl -s -i -X 'POST' "$baseUrl/mcp/example" \ "version": "1.0.0" } } - }' | grep 'Mcp-Session-Id:' | sed 's/Mcp-Session-Id: \([0-9a-f-]*\).*/\1/'` + }' | grep 'Mcp-Session-Id:' | sed 's/Mcp-Session-Id: \([0-9a-f-]*\).*/\1/') curl -s -i -X 'POST' "$baseUrl/mcp/example" \ -H "Authorization: Bearer $jwtToken" \ From 618984f455a8dec19b6e82f4abcaa804e5a067e5 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:58:17 +0200 Subject: [PATCH 08/63] Group AI features --- docs/ai/ai.md | 19 ++++++++++++++++++ docs/{ => ai}/ai_actions/ai_actions.md | 7 +++---- docs/{ => ai}/ai_actions/ai_actions_guide.md | 0 .../ai_actions/configure_ai_actions.md | 0 docs/{ => ai}/ai_actions/extend_ai_actions.md | 0 .../ai_actions/img/action_handler_options.png | Bin .../ai_actions/img/ai_actions_list.png | Bin docs/{ => ai}/ai_actions/img/ai_assistant.png | Bin .../ai_actions/img/alt_text_use_ai.png | Bin .../ai_actions/img/connect_api_token.png | Bin .../img/diagram_source/AI Actions.drawio | 0 .../ai_actions/img/guide_ai_actions.png | Bin .../ai_actions/img/transcribe_audio.png | Bin docs/{ => ai}/mcp/mcp.md | 4 ++-- docs/{ => ai}/mcp/mcp_config.md | 0 docs/{ => ai}/mcp/mcp_guide.md | 2 +- docs/product_guides/product_guides.md | 2 ++ mkdocs.yml | 15 +++++++------- plugins.yml | 7 ++++++- 19 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 docs/ai/ai.md rename docs/{ => ai}/ai_actions/ai_actions.md (92%) rename docs/{ => ai}/ai_actions/ai_actions_guide.md (100%) rename docs/{ => ai}/ai_actions/configure_ai_actions.md (100%) rename docs/{ => ai}/ai_actions/extend_ai_actions.md (100%) rename docs/{ => ai}/ai_actions/img/action_handler_options.png (100%) rename docs/{ => ai}/ai_actions/img/ai_actions_list.png (100%) rename docs/{ => ai}/ai_actions/img/ai_assistant.png (100%) rename docs/{ => ai}/ai_actions/img/alt_text_use_ai.png (100%) rename docs/{ => ai}/ai_actions/img/connect_api_token.png (100%) rename docs/{ => ai}/ai_actions/img/diagram_source/AI Actions.drawio (100%) rename docs/{ => ai}/ai_actions/img/guide_ai_actions.png (100%) rename docs/{ => ai}/ai_actions/img/transcribe_audio.png (100%) rename docs/{ => ai}/mcp/mcp.md (76%) rename docs/{ => ai}/mcp/mcp_config.md (100%) rename docs/{ => ai}/mcp/mcp_guide.md (93%) diff --git a/docs/ai/ai.md b/docs/ai/ai.md new file mode 100644 index 0000000000..195d7d9c7f --- /dev/null +++ b/docs/ai/ai.md @@ -0,0 +1,19 @@ +--- +description: AI interactions with Ibexa DXP +page_type: landing_page +month_change: true +--- + +# Artificial Intelligence (AI) + +[[= product_name =]] embed AI capabilities, for example, +to make recommendations to product customers and content readers with [Raptor connector][[#(raptor_connector_guide.md)#]], +or to help editors in the back office with [AI Actions](ai_actions_guide.md). +It's also opened to external AI capabilities with the exposition of [Model Context Protocol (MCP) servers](mcp_guide.md) to allow agents to interact with the system. +It's extensible. For example, new AI actions or MCP servers can be implemented. +To go further, an AI can learn to use the REST API, or learn the PHP API and help you in your development. + +[[= cards([ + "ai/ai_actions/ai_actions", + "ai/mcp/mcp", +], columns=2) =]] diff --git a/docs/ai_actions/ai_actions.md b/docs/ai/ai_actions/ai_actions.md similarity index 92% rename from docs/ai_actions/ai_actions.md rename to docs/ai/ai_actions/ai_actions.md index 1c02575b98..626ec0db87 100644 --- a/docs/ai_actions/ai_actions.md +++ b/docs/ai/ai_actions/ai_actions.md @@ -14,8 +14,8 @@ You can also extend it to perform other tasks or support additional AI services. ## Getting Started [[= cards([ -"ai_actions/ai_actions_guide", -"ai_actions/configure_ai_actions", +"ai/ai_actions/ai_actions_guide", +"ai/ai_actions/configure_ai_actions", ("content_management/taxonomy/taxonomy#taxonomy-suggestions", "Taxonomy suggestions", "Learn how to use AI to suggest tags and categories"), ("permissions/policies#ai-actions", "Policies", "Learn about the available AI Actions policies"), ("https://doc.ibexa.co/projects/userguide/en/5.0/ai_actions/work_with_ai_actions/"), @@ -24,7 +24,7 @@ You can also extend it to perform other tasks or support additional AI services. ## Development [[= cards([ -"ai_actions/extend_ai_actions", +"ai/ai_actions/extend_ai_actions", "api/event_reference/ai_action_events", ("https://doc.ibexa.co/en/5.0/api/rest_api/rest_api_reference/rest_api_reference.html#tag/Connector-AI", "REST API Reference", "See the available endpoints for AI Actions"), "templating/twig_function_reference/ai_actions_twig_functions", @@ -32,4 +32,3 @@ You can also extend it to perform other tasks or support additional AI services. "search/ai_actions_search_reference/action_configuration_sort_clauses", ("content_management/data_migration/importing_data#ai-action-configurations", "Importing AI actions", "Learn how to manage Action Configurations using data migrations"), ], columns=4) =]] - diff --git a/docs/ai_actions/ai_actions_guide.md b/docs/ai/ai_actions/ai_actions_guide.md similarity index 100% rename from docs/ai_actions/ai_actions_guide.md rename to docs/ai/ai_actions/ai_actions_guide.md diff --git a/docs/ai_actions/configure_ai_actions.md b/docs/ai/ai_actions/configure_ai_actions.md similarity index 100% rename from docs/ai_actions/configure_ai_actions.md rename to docs/ai/ai_actions/configure_ai_actions.md diff --git a/docs/ai_actions/extend_ai_actions.md b/docs/ai/ai_actions/extend_ai_actions.md similarity index 100% rename from docs/ai_actions/extend_ai_actions.md rename to docs/ai/ai_actions/extend_ai_actions.md diff --git a/docs/ai_actions/img/action_handler_options.png b/docs/ai/ai_actions/img/action_handler_options.png similarity index 100% rename from docs/ai_actions/img/action_handler_options.png rename to docs/ai/ai_actions/img/action_handler_options.png diff --git a/docs/ai_actions/img/ai_actions_list.png b/docs/ai/ai_actions/img/ai_actions_list.png similarity index 100% rename from docs/ai_actions/img/ai_actions_list.png rename to docs/ai/ai_actions/img/ai_actions_list.png diff --git a/docs/ai_actions/img/ai_assistant.png b/docs/ai/ai_actions/img/ai_assistant.png similarity index 100% rename from docs/ai_actions/img/ai_assistant.png rename to docs/ai/ai_actions/img/ai_assistant.png diff --git a/docs/ai_actions/img/alt_text_use_ai.png b/docs/ai/ai_actions/img/alt_text_use_ai.png similarity index 100% rename from docs/ai_actions/img/alt_text_use_ai.png rename to docs/ai/ai_actions/img/alt_text_use_ai.png diff --git a/docs/ai_actions/img/connect_api_token.png b/docs/ai/ai_actions/img/connect_api_token.png similarity index 100% rename from docs/ai_actions/img/connect_api_token.png rename to docs/ai/ai_actions/img/connect_api_token.png diff --git a/docs/ai_actions/img/diagram_source/AI Actions.drawio b/docs/ai/ai_actions/img/diagram_source/AI Actions.drawio similarity index 100% rename from docs/ai_actions/img/diagram_source/AI Actions.drawio rename to docs/ai/ai_actions/img/diagram_source/AI Actions.drawio diff --git a/docs/ai_actions/img/guide_ai_actions.png b/docs/ai/ai_actions/img/guide_ai_actions.png similarity index 100% rename from docs/ai_actions/img/guide_ai_actions.png rename to docs/ai/ai_actions/img/guide_ai_actions.png diff --git a/docs/ai_actions/img/transcribe_audio.png b/docs/ai/ai_actions/img/transcribe_audio.png similarity index 100% rename from docs/ai_actions/img/transcribe_audio.png rename to docs/ai/ai_actions/img/transcribe_audio.png diff --git a/docs/mcp/mcp.md b/docs/ai/mcp/mcp.md similarity index 76% rename from docs/mcp/mcp.md rename to docs/ai/mcp/mcp.md index b328047e4e..a996203011 100644 --- a/docs/mcp/mcp.md +++ b/docs/ai/mcp/mcp.md @@ -10,6 +10,6 @@ MCP servers allow AI interactions with the system. Learn more about this protocol and [[= product_name_base =]] MCP Servers: [[= cards([ -("mcp/mcp_guide", "MCP Servers guide", "TODO."), -"mcp/mcp_config", + ("mcp/mcp_guide", "MCP Servers guide", "TODO."), + "mcp/mcp_config", ], columns=2) =]] diff --git a/docs/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md similarity index 100% rename from docs/mcp/mcp_config.md rename to docs/ai/mcp/mcp_config.md diff --git a/docs/mcp/mcp_guide.md b/docs/ai/mcp/mcp_guide.md similarity index 93% rename from docs/mcp/mcp_guide.md rename to docs/ai/mcp/mcp_guide.md index 534320c74a..fd23d09f91 100644 --- a/docs/mcp/mcp_guide.md +++ b/docs/ai/mcp/mcp_guide.md @@ -3,7 +3,7 @@ description: TODO. month_change: true --- -# Model Context Protocol and [[= product_name_base =]] MCP Servers +# Model Context Protocol and Ibexa MCP Servers [Model Context Protocol (MCP)](https://en.wikipedia.org/wiki/Model_Context_Protocol) is a protocol standardizing interactions between AIs and systems. diff --git a/docs/product_guides/product_guides.md b/docs/product_guides/product_guides.md index 1c2359f5b2..5bc085b809 100644 --- a/docs/product_guides/product_guides.md +++ b/docs/product_guides/product_guides.md @@ -23,4 +23,6 @@ Discover the primary ones with the help of product guides. Condensed content all "commerce/shopping_list/shopping_list_guide", "ibexa_cloud/ibexa_cloud_guide", "cdp/cdp_guide", + "ai/ai_actions/ai_actions_guide", + "ai/mcp/mcp_guide", ], columns=4) =]] diff --git a/mkdocs.yml b/mkdocs.yml index 24aab393d6..0d9dd3636b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -347,15 +347,16 @@ nav: - Add navigation menu: templating/layout/add_navigation_menu.md - Add search form to front page: templating/layout/add_search_form.md - AI: + - AI: ai/ai.md - AI Actions: - - AI Actions: ai_actions/ai_actions.md - - AI Actions guide: ai_actions/ai_actions_guide.md - - Configure AI Actions: ai_actions/configure_ai_actions.md - - Extend AI Actions: ai_actions/extend_ai_actions.md + - AI Actions: ai/ai_actions/ai_actions.md + - AI Actions guide: ai/ai_actions/ai_actions_guide.md + - Configure AI Actions: ai/ai_actions/configure_ai_actions.md + - Extend AI Actions: ai/ai_actions/extend_ai_actions.md - MCP Servers: - - MCP Servers: mcp/mcp.md - - MCP Servers guide: mcp/mcp_guide.md - - Configure MCP Servers: mcp/mcp_config.md + - MCP Servers: ai/mcp/mcp.md + - MCP Servers guide: ai/mcp/mcp_guide.md + - Configure MCP Servers: ai/mcp/mcp_config.md - PIM (Product management): - PIM (Product management): pim/pim.md - PIM guide: pim/pim_guide.md diff --git a/plugins.yml b/plugins.yml index 32e5e94c06..fc5687355e 100644 --- a/plugins.yml +++ b/plugins.yml @@ -563,6 +563,11 @@ plugins: 'getting_started/install_on_ibexa_cloud.md': 'ibexa_cloud/install_on_ibexa_cloud.md' 'infrastructure_and_maintenance/clustering/ddev_and_ibexa_cloud.md': 'ibexa_cloud/ddev_and_ibexa_cloud.md' - 'ai_actions/install_ai_actions.md': 'ai_actions/configure_ai_actions.md' 'discounts/install_discounts.md': 'discounts/configure_discounts.md' 'content_management/collaborative_editing/install_collaborative_editing.md': 'content_management/collaborative_editing/configure_collaborative_editing.md' + + 'ai_actions/ai_actions.md': 'ai/ai_actions/ai_actions.md' + 'ai_actions/ai_actions_guide.md': 'ai/ai_actions/ai_actions_guide.md' + 'ai_actions/install_ai_actions.md': 'ai/ai_actions/configure_ai_actions.md' + 'ai_actions/configure_ai_actions.md': 'ai/ai_actions/configure_ai_actions.md' + 'ai_actions/extend_ai_actions.md': 'ai/ai_actions/extend_ai_actions.md' From 81def20366e87bcbbd090c360d2d612ca1561153 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:00:01 +0200 Subject: [PATCH 09/63] Apply suggestion from @adriendupuis --- docs/ai/mcp/mcp_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp_guide.md b/docs/ai/mcp/mcp_guide.md index fd23d09f91..092fbe21ca 100644 --- a/docs/ai/mcp/mcp_guide.md +++ b/docs/ai/mcp/mcp_guide.md @@ -5,7 +5,7 @@ month_change: true # Model Context Protocol and Ibexa MCP Servers -[Model Context Protocol (MCP)](https://en.wikipedia.org/wiki/Model_Context_Protocol) is a protocol standardizing interactions between AIs and systems. +[Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) is a protocol standardizing interactions between AIs and systems. While [AI actions](ai_actions_guide.md) integrate AI to the back office, [[= product_name =]]'s MCP servers offer a web interface usable by AIs outside the system. From acd92917f1f40c0478c4104233f7e33dbe6478fe Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:11:53 +0200 Subject: [PATCH 10/63] ai_actions_guide.md: Fix link to REST API Ref --- docs/ai/ai_actions/ai_actions_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/ai_actions/ai_actions_guide.md b/docs/ai/ai_actions/ai_actions_guide.md index 8fe4a6377b..cfc6636781 100644 --- a/docs/ai/ai_actions/ai_actions_guide.md +++ b/docs/ai/ai_actions/ai_actions_guide.md @@ -115,7 +115,7 @@ Procedures are straightforward and intuitive, ensuring that users can quickly ac AI Actions feature exposes a REST API interface that allows for programmatic execution of AI actions. With the API, developers can automate tasks and execute actions on batches of content by integrating them into workflows. -For more information, see the [AI actions section in the REST API Reference](../api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-execute-ai-action). +For more information, see the [AI actions section in the REST API Reference](/api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-execute-ai-action). ## Capabilities From c3dca5fd8d54d7b1b2b499e4afa4d0ff51fe374f Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:12:57 +0200 Subject: [PATCH 11/63] mcp.md: Update links after move to ai/ --- docs/ai/mcp/mcp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ai/mcp/mcp.md b/docs/ai/mcp/mcp.md index a996203011..24fcab72fe 100644 --- a/docs/ai/mcp/mcp.md +++ b/docs/ai/mcp/mcp.md @@ -10,6 +10,6 @@ MCP servers allow AI interactions with the system. Learn more about this protocol and [[= product_name_base =]] MCP Servers: [[= cards([ - ("mcp/mcp_guide", "MCP Servers guide", "TODO."), - "mcp/mcp_config", + ("ai/mcp/mcp_guide", "MCP Servers guide", "TODO."), + "ai/mcp/mcp_config", ], columns=2) =]] From c0e0b7e3b6fcaf4c9a6b19d5ae90b6cb29235bc6 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 8 Apr 2026 19:23:28 +0200 Subject: [PATCH 12/63] extend_ai_actions.md: Fix link to REST API Ref --- docs/ai/ai_actions/extend_ai_actions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/ai_actions/extend_ai_actions.md b/docs/ai/ai_actions/extend_ai_actions.md index 4bbe4f198e..5eda773773 100644 --- a/docs/ai/ai_actions/extend_ai_actions.md +++ b/docs/ai/ai_actions/extend_ai_actions.md @@ -244,7 +244,7 @@ The Action Type options provided in the Action Context dictate whether the times ### Integrate with the REST API At this point the custom Action Type can already be executed by using the PHP API. -To integrate it with the [AI Actions execute endpoint](../api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-execute-ai-action) you need to create additional classes responsible for parsing the request and response data. +To integrate it with the [AI Actions execute endpoint](/api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-execute-ai-action) you need to create additional classes responsible for parsing the request and response data. See [adding custom media type](adding_custom_media_type.md) and [creating new REST resource](creating_new_rest_resource.md) to learn more about extending the REST API. #### Handle input data From ad3cc47666b06a87f0f6faffb15980164a1bba47 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Fri, 17 Apr 2026 16:32:08 +0200 Subject: [PATCH 13/63] PHP API Ref --- ...exa-Contracts-Mcp-Attribute-McpPrompt.html | 663 +++++++++++++ ...a-Contracts-Mcp-Attribute-McpResource.html | 879 +++++++++++++++++ ...cts-Mcp-Attribute-McpResourceTemplate.html | 771 +++++++++++++++ ...Ibexa-Contracts-Mcp-Attribute-McpTool.html | 775 +++++++++++++++ ...-Contracts-Mcp-McpCapabilityInterface.html | 293 ++++++ ...-Contracts-Mcp-McpServerConfiguration.html | 931 ++++++++++++++++++ ...pServerConfigurationRegistryInterface.html | 554 +++++++++++ .../ibexa-contracts-mcp-attribute.html | 300 ++++++ .../namespaces/ibexa-contracts-mcp.html | 302 ++++++ 9 files changed, 5468 insertions(+) create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpPrompt.html create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResource.html create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResourceTemplate.html create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpCapabilityInterface.html create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfiguration.html create mode 100644 docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfigurationRegistryInterface.html create mode 100644 docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp-attribute.html create mode 100644 docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp.html diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpPrompt.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpPrompt.html new file mode 100644 index 0000000000..cdb88df6ce --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpPrompt.html @@ -0,0 +1,663 @@ + + + + + McpPrompt | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpPrompt

+ +
+ McpPrompt.php + : + 13 + +
+
Read-only
+
Final
+ + + +
+ + + + + + +
+
+ Attributes + +
+
+
+ #[Attribute] +
+
+ \Attribute::TARGET_METHOD +
+
+
+ + + + + + + +

+ Properties +

+ +
+

+ public + $description + + +

+
+ McpPrompt.php + : + 24 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $description = null
+
+
+
+ + +
+

+ public + $icons + + +

+
+ McpPrompt.php + : + 25 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $icons = null
+
+
+
+ + +
+

+ public + $meta + + +

+
+ McpPrompt.php + : + 26 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $meta = null
+
+
+
+ + +
+

+ public + $name + + +

+
+ McpPrompt.php + : + 23 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $name = null
+
+
+
+ + +
+

+ public + $servers + + +

+
+ McpPrompt.php + : + 22 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $servers
+
+
+
+ + + + +

+ Methods +

+ +
+

+ public__construct() + +

+
+ McpPrompt.php + : + 21 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public __construct(array<int, string> $servers[, string|null $name = null ][, string|null $description = null ][, array<string|int, Icon>|null $icons = null ][, array<string, mixed>|null $meta = null ])
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $servers + + array<int, string> + + - + + - +
+ $name + + string|null + + null + + - +
+ $description + + string|null + + null + + - +
+ $icons + + array<string|int, Icon>|null + + null + + - +
+ $meta + + array<string, mixed>|null + + null + + - +
+ + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResource.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResource.html new file mode 100644 index 0000000000..72120eadbe --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResource.html @@ -0,0 +1,879 @@ + + + + + McpResource | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpResource

+ +
+ McpResource.php + : + 14 + +
+
Read-only
+
Final
+ + + +
+ + + + + + +
+
+ Attributes + +
+
+
+ #[Attribute] +
+
+ \Attribute::TARGET_METHOD +
+
+
+ + + + + + + +

+ Properties +

+ +
+

+ public + $annotations + + +

+
+ McpResource.php + : + 29 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public Annotations|null $annotations = null
+
+
+
+ + +
+

+ public + $description + + +

+
+ McpResource.php + : + 26 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $description = null
+
+
+
+ + +
+

+ public + $icons + + +

+
+ McpResource.php + : + 30 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $icons = null
+
+
+
+ + +
+

+ public + $meta + + +

+
+ McpResource.php + : + 31 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $meta = null
+
+
+
+ + +
+

+ public + $mimeType + + +

+
+ McpResource.php + : + 27 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $mimeType = null
+
+
+
+ + +
+

+ public + $name + + +

+
+ McpResource.php + : + 25 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $name = null
+
+
+
+ + +
+

+ public + $servers + + +

+
+ McpResource.php + : + 23 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $servers
+
+
+
+ + +
+

+ public + $size + + +

+
+ McpResource.php + : + 28 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public int|null $size = null
+
+
+
+ + +
+

+ public + $uri + + +

+
+ McpResource.php + : + 24 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string $uri
+
+
+
+ + + + +

+ Methods +

+ +
+

+ public__construct() + +

+
+ McpResource.php + : + 22 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public __construct(array<int, string> $servers, string $uri[, string|null $name = null ][, string|null $description = null ][, string|null $mimeType = null ][, int|null $size = null ][, Annotations|null $annotations = null ][, array<string|int, Icon>|null $icons = null ][, array<string, mixed>|null $meta = null ])
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $servers + + array<int, string> + + - + + - +
+ $uri + + string + + - + + - +
+ $name + + string|null + + null + + - +
+ $description + + string|null + + null + + - +
+ $mimeType + + string|null + + null + + - +
+ $size + + int|null + + null + + - +
+ $annotations + + Annotations|null + + null + + - +
+ $icons + + array<string|int, Icon>|null + + null + + - +
+ $meta + + array<string, mixed>|null + + null + + - +
+ + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResourceTemplate.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResourceTemplate.html new file mode 100644 index 0000000000..df0a8e93ea --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpResourceTemplate.html @@ -0,0 +1,771 @@ + + + + + McpResourceTemplate | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpResourceTemplate

+ +
+ McpResourceTemplate.php + : + 14 + +
+
Read-only
+
Final
+ + + +
+ + + + + + +
+
+ Attributes + +
+
+
+ #[Attribute] +
+
+ \Attribute::TARGET_METHOD +
+
+
+ + + + + + + +

+ Properties +

+ +
+

+ public + $annotations + + +

+
+ McpResourceTemplate.php + : + 27 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public Annotations|null $annotations = null
+
+
+
+ + +
+

+ public + $description + + +

+
+ McpResourceTemplate.php + : + 25 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $description = null
+
+
+
+ + +
+

+ public + $meta + + +

+
+ McpResourceTemplate.php + : + 28 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $meta = null
+
+
+
+ + +
+

+ public + $mimeType + + +

+
+ McpResourceTemplate.php + : + 26 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $mimeType = null
+
+
+
+ + +
+

+ public + $name + + +

+
+ McpResourceTemplate.php + : + 24 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $name = null
+
+
+
+ + +
+

+ public + $servers + + +

+
+ McpResourceTemplate.php + : + 22 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $servers
+
+
+
+ + +
+

+ public + $uriTemplate + + +

+
+ McpResourceTemplate.php + : + 23 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string $uriTemplate
+
+
+
+ + + + +

+ Methods +

+ +
+

+ public__construct() + +

+
+ McpResourceTemplate.php + : + 21 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public __construct(array<int, string> $servers, string $uriTemplate[, string|null $name = null ][, string|null $description = null ][, string|null $mimeType = null ][, Annotations|null $annotations = null ][, array<string, mixed>|null $meta = null ])
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $servers + + array<int, string> + + - + + - +
+ $uriTemplate + + string + + - + + - +
+ $name + + string|null + + null + + - +
+ $description + + string|null + + null + + - +
+ $mimeType + + string|null + + null + + - +
+ $annotations + + Annotations|null + + null + + - +
+ $meta + + array<string, mixed>|null + + null + + - +
+ + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html new file mode 100644 index 0000000000..51e6789f2c --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html @@ -0,0 +1,775 @@ + + + + + McpTool | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpTool

+ +
+ McpTool.php + : + 14 + +
+
Read-only
+
Final
+ + + +
+ + + + + + +
+
+ Attributes + +
+
+
+ #[Attribute] +
+
+ \Attribute::TARGET_METHOD +
+
+
+ + + + + + + +

+ Properties +

+ +
+

+ public + $annotations + + +

+
+ McpTool.php + : + 27 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public ToolAnnotations|null $annotations = null
+
+
+
+ + +
+

+ public + $description + + +

+
+ McpTool.php + : + 26 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $description = null
+
+
+
+ + +
+

+ public + $icons + + +

+
+ McpTool.php + : + 28 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $icons = null
+
+
+
+ + +
+

+ public + $meta + + +

+
+ McpTool.php + : + 29 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $meta = null
+
+
+
+ + +
+

+ public + $name + + +

+
+ McpTool.php + : + 25 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $name = null
+
+
+
+ + +
+

+ public + $outputSchema + + +

+
+ McpTool.php + : + 30 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed>|null $outputSchema = null
+
+
+
+ + +
+

+ public + $servers + + +

+
+ McpTool.php + : + 24 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $servers = []
+
+
+
+ + + + +

+ Methods +

+ +
+

+ public__construct() + +

+
+ McpTool.php + : + 23 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public __construct([array<int, string> $servers = [] ][, string|null $name = null ][, string|null $description = null ][, ToolAnnotations|null $annotations = null ][, array<string|int, Icon>|null $icons = null ][, array<string, mixed>|null $meta = null ][, array<string, mixed>|null $outputSchema = null ])
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $servers + + array<int, string> + + [] + +
+

Tools can be also registered in server configuration.

+ +
+ +
+ $name + + string|null + + null + + - +
+ $description + + string|null + + null + + - +
+ $annotations + + ToolAnnotations|null + + null + + - +
+ $icons + + array<string|int, Icon>|null + + null + + - +
+ $meta + + array<string, mixed>|null + + null + + - +
+ $outputSchema + + array<string, mixed>|null + + null + + - +
+ + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpCapabilityInterface.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpCapabilityInterface.html new file mode 100644 index 0000000000..e27575179a --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpCapabilityInterface.html @@ -0,0 +1,293 @@ + + + + + McpCapabilityInterface | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpCapabilityInterface

+ +
+ McpCapabilityInterface.php + : + 16 + +
+
Interface
+ +
+

Marker interface for classes containing MCP capabilities (tools, prompts, resources).

+ + +
+

Classes implementing this interface will be scanned for MCP attributes.

+ +
+ + + + + + + + + + + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfiguration.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfiguration.html new file mode 100644 index 0000000000..6534185fb9 --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfiguration.html @@ -0,0 +1,931 @@ + + + + + McpServerConfiguration | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpServerConfiguration

+ +
+ McpServerConfiguration.php + : + 16 + +
+
Read-only
+
Final
+ + + +
+ + + + + + + + + + + + + +

+ Properties +

+ +
+

+ public + $description + + +

+
+ McpServerConfiguration.php + : + 29 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $description = null
+
+
+
+ + +
+

+ public + $enabled + + +

+
+ McpServerConfiguration.php + : + 27 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public bool $enabled
+
+
+
+ + +
+

+ public + $identifier + + +

+
+ McpServerConfiguration.php + : + 25 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string $identifier
+
+
+
+ + +
+

+ public + $instructions + + +

+
+ McpServerConfiguration.php + : + 30 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string|null $instructions = null
+
+
+
+ + +
+

+ public + $path + + +

+
+ McpServerConfiguration.php + : + 26 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string $path
+
+
+
+ + +
+

+ public + $prompts + + +

+
+ McpServerConfiguration.php + : + 32 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $prompts = []
+
+
+
+ + +
+

+ public + $resources + + +

+
+ McpServerConfiguration.php + : + 33 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $resources = []
+
+
+
+ + +
+

+ public + $resourceTemplates + + +

+
+ McpServerConfiguration.php + : + 34 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $resourceTemplates = []
+
+
+
+ + +
+

+ public + $tools + + +

+
+ McpServerConfiguration.php + : + 31 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public array<string|int, mixed> $tools = []
+
+
+
+ + +
+

+ public + $version + + +

+
+ McpServerConfiguration.php + : + 28 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public string $version = '1.0.0'
+
+
+
+ + + + +

+ Methods +

+ +
+

+ public__construct() + +

+
+ McpServerConfiguration.php + : + 24 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public __construct(string $identifier, string $path, bool $enabled[, string $version = '1.0.0' ][, string|null $description = null ][, string|null $instructions = null ][, array<string, Tool$tools = [] ][, array<string, Prompt$prompts = [] ][, array<string, resource> $resources = [] ][, array<string, ResourceTemplate$resourceTemplates = [] ])
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $identifier + + string + + - + + - +
+ $path + + string + + - + + - +
+ $enabled + + bool + + - + + - +
+ $version + + string + + '1.0.0' + + - +
+ $description + + string|null + + null + + - +
+ $instructions + + string|null + + null + + - +
+ $tools + + array<string, Tool> + + [] + +
+

keyed by tool name

+ +
+ +
+ $prompts + + array<string, Prompt> + + [] + +
+

keyed by prompt name

+ +
+ +
+ $resources + + array<string, resource> + + [] + +
+

keyed by resource URI

+ +
+ +
+ $resourceTemplates + + array<string, ResourceTemplate> + + [] + +
+

keyed by URI template

+ +
+ +
+ + +
+
+
+ +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfigurationRegistryInterface.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfigurationRegistryInterface.html new file mode 100644 index 0000000000..eade851705 --- /dev/null +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfigurationRegistryInterface.html @@ -0,0 +1,554 @@ + + + + + McpServerConfigurationRegistryInterface | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+
+
+ + + +
+
+ + +
+
+

+ McpServerConfigurationRegistryInterface

+ +
+ McpServerConfigurationRegistryInterface.php + : + 11 + +
+
Interface
+ +
+ + + + + + + + + + + + + +

+ Methods +

+ +
+

+ publicgetServerConfiguration() + +

+
+ McpServerConfigurationRegistryInterface.php + : + 26 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public getServerConfiguration(string $serverIdentifier) : McpServerConfiguration
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $serverIdentifier + + string + + - + + - +
+

Return values

+

McpServerConfiguration

+ +
+ Tags + + +
+
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ +
+

+ publicgetServerConfigurations() + +

+
+ McpServerConfigurationRegistryInterface.php + : + 19 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public getServerConfigurations() : array<string, McpServerConfiguration>
+
+
+
+
+
+

Return values

+

array<string, McpServerConfiguration>

+ +
+ Tags + + +
+
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ +
+

+ publichasServerConfiguration() + +

+
+ McpServerConfigurationRegistryInterface.php + : + 32 + +
+
+ +
+ + + + + + + +
+
+
+
+
+
+
public hasServerConfiguration(string $serverIdentifier) : bool
+
+
+
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameTypeDefault valueDescription
+ $serverIdentifier + + string + + - + + - +
+

Return values

+

bool

+ +
+ Tags + + +
+
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ Throws +
+
+ InvalidArgumentException + +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp-attribute.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp-attribute.html new file mode 100644 index 0000000000..1878d6ce02 --- /dev/null +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp-attribute.html @@ -0,0 +1,300 @@ + + + + + Attribute | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+ +
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp.html new file mode 100644 index 0000000000..cb2a858abc --- /dev/null +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp.html @@ -0,0 +1,302 @@ + + + + + Mcp | PHP API Reference (Ibexa Documentation) + + + + + + + + + + + + + + +
Copied!
+ + + +
+ +
+ +
+
+
+ + + + + + + + +
+ +
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + From 0836df3d31f55bd20f75ada5675f26d7f1e3e0c5 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Fri, 17 Apr 2026 18:07:11 +0200 Subject: [PATCH 14/63] Move to tools in server config --- code_samples/mcp/config/packages/mcp.yaml | 2 ++ code_samples/mcp/src/Mcp/ExampleTools.php | 17 ++++++++++++++--- docs/ai/mcp/mcp_config.md | 22 +++++++++++++++++++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/code_samples/mcp/config/packages/mcp.yaml b/code_samples/mcp/config/packages/mcp.yaml index 137ecb0e69..795cbe3494 100644 --- a/code_samples/mcp/config/packages/mcp.yaml +++ b/code_samples/mcp/config/packages/mcp.yaml @@ -7,6 +7,8 @@ ibexa: enabled: true description: 'Example MCP Server' instructions: 'Use this server to greet someone.' + tools: + - App\Mcp\ExampleTools discovery_cache: cache.tagaware.filesystem session: type: file diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index ee19659065..dbc5d2ffed 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -1,14 +1,25 @@ Date: Mon, 20 Apr 2026 09:19:39 +0200 Subject: [PATCH 15/63] Move to tools in server config --- docs/ai/mcp/mcp_config.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 4c219b96fc..847de81027 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -60,6 +60,26 @@ TODO: Maybe explain that routes are built automatically from MCP server `path` c Notice that a server is disabled by default, it needs to be explicitly enabled. +### Tools configuration + +TODO: Tools are… (VS Prompt templates are… VS Resources are…) + +You can create your own tools, see [MCP server capabilities](#mcp-server-capabilities). + +Ibexa DXP come with several built-in tool classes: + +- `Ibexa\Mcp\Tool\TranslationTools` + - `list_languages`: TODO + - `list_content_translations`: TODO +- `Ibexa\Mcp\Tool\SeoTools` + - `get_non_seo_content_ids`: TODO + +```yaml + tools: + - Ibexa\Mcp\Tool\TranslationTools + - Ibexa\Mcp\Tool\SeoTools +``` + ### MCP server discovery cache TODO From 6107946c9b5deb93ed341be6dfb6bdbcb8e9d511 Mon Sep 17 00:00:00 2001 From: adriendupuis Date: Mon, 20 Apr 2026 07:28:00 +0000 Subject: [PATCH 16/63] PHP & JS CS Fixes --- code_samples/mcp/src/Mcp/ExampleTools.php | 1 - 1 file changed, 1 deletion(-) diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index dbc5d2ffed..6e74465d86 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -4,7 +4,6 @@ use Ibexa\Contracts\Mcp\Attribute\McpTool; use Ibexa\Contracts\Mcp\McpCapabilityInterface; -use Mcp\Schema\Icon; use Mcp\Schema\ToolAnnotations; final readonly class ExampleTools implements McpCapabilityInterface From a6953e17f8e9d3f8f40f8c367487c3c0865c8943 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 20 Apr 2026 17:20:57 +0200 Subject: [PATCH 17/63] Add MCP Inspector test --- code_samples/mcp/src/Mcp/ExampleTools.php | 4 ++ docs/ai/mcp/mcp_config.md | 45 ++++++++++++++++++++++- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index 6e74465d86..4048d1c6f4 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -4,6 +4,7 @@ use Ibexa\Contracts\Mcp\Attribute\McpTool; use Ibexa\Contracts\Mcp\McpCapabilityInterface; +use Mcp\Schema\Icon; use Mcp\Schema\ToolAnnotations; final readonly class ExampleTools implements McpCapabilityInterface @@ -11,6 +12,9 @@ #[McpTool( name: 'greet', description: 'Greet a user by name', + icons: [new Icon( + src: 'https://openmoji.org/data/color/svg/1F44B.svg', + )], annotations: new ToolAnnotations( readOnlyHint: true, destructiveHint: false, diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 847de81027..f853c033f6 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -160,6 +160,8 @@ It has several arguments to describe the tool usage and output: ## Example +### Configure MCP server + This example introduce an `example` MCP server with a single `greet` tool. It's enabled on all SiteAccesses. It's accessible with the path `/mcp/example` (for example, on `http://localhost/mcp/example` and `http://localhost/admin/mcp/example`). @@ -171,6 +173,8 @@ In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: [[= include_file('code_samples/mcp/config/packages/mcp.yaml') =]] ``` +### Create tool class + Then, a `McpCapabilityInterface` containing a `greetByName` function with a `McpTool` attribute, the `App\Mcp\ExampleTools` class listed in the server's `tools`: @@ -178,12 +182,16 @@ the `App\Mcp\ExampleTools` class listed in the server's `tools`: [[= include_file('code_samples/mcp/src/Mcp/ExampleTools.php') =]] ``` +### Create MCP server list command + To check the server configuration, a short command using the MCP server configuration registry (injected through `McpServerConfigurationRegistryInterface` and autowiring): ``` php [[= include_file('code_samples/mcp/src/Command/McpServerListCommand.php') =]] ``` +### cURL test + To test the `example` MCP server, a sequence of `curl` commands is used to simulate an AI to MCP server communication. - Ask for a [JWT token through REST](/api/rest_api/rest_api_reference/rest_api_reference.html#tag/User-Token/operation/api_usertokenjwt_post) @@ -261,4 +269,39 @@ The `greet` [tool usage](https://modelcontextprotocol.io/specification/draft/ser } ``` -TODO: Connect an AI client to the MCP server. [Copilot CLI MCP server addition](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) is strangely asking for some OAuth ID even with a proper JWT/Bearer header. +### MCP Inspector test + +To test your server, you can use the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector). +It's even possible to use it as a DDEV add-on with [`craftpulse/ddev-mcp-inspector`](https://github.com/craftpulse/ddev-mcp-inspector). +You still need to ask for a JWT token through REST and use it in the MCP Inspector configuration to connect to your server. + +To use the MCP Inspector for this example, the settings are: + +- Transport Type: Streamable HTTP +- URL: addition of the actual domain and the server `path`, for example `http://localhost/mcp/example` +- Connection Type: Via Proxy +- Authentication: + - Custom Headers: + - ✓ Authorization + - Bearer + - OAuth 2.0 Flow: leave unedited + +![Screenshot of the left pannel of the MCP Inspector with the connection settings for the example MCP server](img/mcp-inspector-config.png "MCP Inspector connection settings") + +In the right panel, in the **Tools** tab, click **List Tools** button in the left column. +The `greet` tool appears preceded by its icon. +It can be selected and tested in the right column. + +![Screenshot of the right pannel of the MCP Inspector with the list of tools obtained from the example MCP server, and the test of the `greet` tool](img/mcp-inspector-greet.png "MCP Inspector `greet` tool test") + +### TODO: Copilot CLI test + +TODO: Test the server with [Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli). + +TODO: Create an .mcp.json file at the project root so the MCP server will only exist for a session of Copilot CLI opened from project root (for example, in a terminal tab of your IDE). + +TODO: [Copilot CLI MCP server addition](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) is strangely asking for some OAuth ID even with a proper JWT/Bearer header. + +### TODO: Other clients? + +TODO: Connect AI clients to the MCP server. From a73386b93708e63ce1deb33e8f64175f3b53da41 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 20 Apr 2026 17:23:44 +0200 Subject: [PATCH 18/63] Add MCP Inspector test --- docs/ai/mcp/img/mcp-inspector-config.png | Bin 0 -> 75644 bytes docs/ai/mcp/img/mcp-inspector-greet.png | Bin 0 -> 65333 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/ai/mcp/img/mcp-inspector-config.png create mode 100644 docs/ai/mcp/img/mcp-inspector-greet.png diff --git a/docs/ai/mcp/img/mcp-inspector-config.png b/docs/ai/mcp/img/mcp-inspector-config.png new file mode 100644 index 0000000000000000000000000000000000000000..69c2e875286e4182dfbdc43a73205c3814bcdc8a GIT binary patch literal 75644 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 z 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 z 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 B_zwU8 literal 0 HcmV?d00001 From b588db3349ee6bbdb37e6b2764cf2caba3c876d7 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 20 Apr 2026 17:49:52 +0200 Subject: [PATCH 19/63] Apply suggestion from @adriendupuis --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index d9922a24f9..d229c7579a 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,7 @@ "ibexa/core-persistence": "5.0.x-dev", "ibexa/connector-ai": "5.0.x-dev", "ibexa/connector-openai": "5.0.x-dev", - "ibexa/mcp": "dev-main", + "ibexa/mcp": "5.0.x-dev", "ibexa/migrations": "5.0.x-dev", "ibexa/cart": "5.0.x-dev", "ibexa/installer": "5.0.x-dev", From 266ea8b4d8f346fd7bdf6e7ea76ddcb899f4081a Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 21 Apr 2026 11:50:59 +0200 Subject: [PATCH 20/63] Apply suggestions from code review Co-authored-by: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> --- code_samples/mcp/config/packages/mcp.yaml | 2 -- code_samples/mcp/src/Mcp/ExampleTools.php | 1 + docs/ai/mcp/mcp_config.md | 12 ++++++------ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/code_samples/mcp/config/packages/mcp.yaml b/code_samples/mcp/config/packages/mcp.yaml index 795cbe3494..137ecb0e69 100644 --- a/code_samples/mcp/config/packages/mcp.yaml +++ b/code_samples/mcp/config/packages/mcp.yaml @@ -7,8 +7,6 @@ ibexa: enabled: true description: 'Example MCP Server' instructions: 'Use this server to greet someone.' - tools: - - App\Mcp\ExampleTools discovery_cache: cache.tagaware.filesystem session: type: file diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index 4048d1c6f4..ceb962d097 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -21,6 +21,7 @@ idempotentHint: true, openWorldHint: false, ), + servers: ['example'], )] public function greetByName(string $name): string { diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index f853c033f6..977c4f1e1a 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -64,7 +64,10 @@ Notice that a server is disabled by default, it needs to be explicitly enabled. TODO: Tools are… (VS Prompt templates are… VS Resources are…) -You can create your own tools, see [MCP server capabilities](#mcp-server-capabilities). +There is two ways to associate tools with a server: + +- `tools` in server configuration lists classes from which **all** the `McpTool` attributes are associated with the server +- `servers` argument in `McpTool` attribute associated the **specified** tool to servers Ibexa DXP come with several built-in tool classes: @@ -78,9 +81,6 @@ Ibexa DXP come with several built-in tool classes: tools: - Ibexa\Mcp\Tool\TranslationTools - Ibexa\Mcp\Tool\SeoTools -``` - -### MCP server discovery cache TODO @@ -157,6 +157,7 @@ It has several arguments to describe the tool usage and output: - `description` (optional): a human-readable description of the tool, useful for the LLM to understand the tool purpose and eventually choose it when it matches the prompt intent - `inputSchema` (optional): for JSON object output, an associative array describing this object - `annotations` (optional): a [`Mcp\Schema\ToolAnnotations`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/ToolAnnotations.php) instance +- `servers` (optional): an array of identifiers of servers proposing this tool ## Example @@ -175,8 +176,7 @@ In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: ### Create tool class -Then, a `McpCapabilityInterface` containing a `greetByName` function with a `McpTool` attribute, -the `App\Mcp\ExampleTools` class listed in the server's `tools`: +Then, an `McpCapabilityInterface` containing a function with an `McpTool` attribute associating it to the `example` server as `greet` tool: ``` php [[= include_file('code_samples/mcp/src/Mcp/ExampleTools.php') =]] From 910c49c84c27edbfdceceb4ec050df5c6c83f532 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 22 Apr 2026 11:25:03 +0200 Subject: [PATCH 21/63] Continue MCP servers doc --- docs/ai/mcp/mcp.md | 6 +++--- docs/ai/mcp/mcp_config.md | 35 ++++++++++++++++++++++------------- docs/ai/mcp/mcp_guide.md | 14 +++++++++----- 3 files changed, 34 insertions(+), 21 deletions(-) diff --git a/docs/ai/mcp/mcp.md b/docs/ai/mcp/mcp.md index 24fcab72fe..22da48f531 100644 --- a/docs/ai/mcp/mcp.md +++ b/docs/ai/mcp/mcp.md @@ -4,12 +4,12 @@ page_type: landing_page month_change: true --- -# MCP Servers +# MCP servers MCP servers allow AI interactions with the system. -Learn more about this protocol and [[= product_name_base =]] MCP Servers: +Learn more about this protocol and [[= product_name_base =]] MCP servers: [[= cards([ - ("ai/mcp/mcp_guide", "MCP Servers guide", "TODO."), + ("ai/mcp/mcp_guide", "MCP servers guide", "MCP servers expose functionalities to AIs."), "ai/mcp/mcp_config", ], columns=2) =]] diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 977c4f1e1a..d328d61332 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -1,12 +1,12 @@ --- -description: TODO. +description: Configure an MCP server exposing built-in or custom tools TODO and prompts/resources. month_change: true --- -TODO: built-in MCP servers VS custom MCP servers - # Set up an MCP server +[[= product_name =]] can provide [MCP servers](mcp_guide.md) to external AIs. + ## JWT MCP servers use JWT for authentication. @@ -17,7 +17,7 @@ In `config/packages/security.yaml`, uncomment the `ibexa_jwt_mcp` firewall. TODO: Config to get a JWT token in the first place. Through [REST](rest_api_authentication.md#jwt-authentication), GraphQL or something else? -## MCP Server configuration +## MCP server configuration MCP servers are configured per repository then enabled per SiteAccess scope. @@ -62,27 +62,30 @@ Notice that a server is disabled by default, it needs to be explicitly enabled. ### Tools configuration -TODO: Tools are… (VS Prompt templates are… VS Resources are…) +Tools are the main capabilities of an MCP server, they are the actions that an AI can call on the system. + +TODO: https://modelcontextprotocol.io/docs/learn/server-concepts#core-server-features There is two ways to associate tools with a server: - `tools` in server configuration lists classes from which **all** the `McpTool` attributes are associated with the server - `servers` argument in `McpTool` attribute associated the **specified** tool to servers +#### Built-in tools + Ibexa DXP come with several built-in tool classes: - `Ibexa\Mcp\Tool\TranslationTools` - - `list_languages`: TODO - - `list_content_translations`: TODO + - `list_languages`: Lists all languages in the current SiteAccess + - `list_content_translations`: Lists languages which have translations for a given content item - `Ibexa\Mcp\Tool\SeoTools` - - `get_non_seo_content_ids`: TODO + - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag). Useful for identifying content that needs SEO attention. ```yaml tools: - Ibexa\Mcp\Tool\TranslationTools - Ibexa\Mcp\Tool\SeoTools - -TODO +``` ### MCP server session storage @@ -130,8 +133,7 @@ Sessions are persisted to the filesystem. Requires directory option to be set. #### Memory Sessions are stored in memory. Suitable for development and STDIO transport. - -TODO: Might not work with DDEV or Docker +It might not work with containers like Docker/DDEV. ```yaml session: @@ -146,7 +148,6 @@ A PHP class implementing MCP server capabilities like tools, prompts, or resourc - implements [`Ibexa\Contracts\Mcp\McpCapabilityInterface`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpCapabilityInterface.html) to be scanned for capabilities - uses attributes from the [`Ibexa\Contracts\Mcp\Attribute` namespace](/api/php_api/php_api_reference/namespaces/ibexa-contracts-mcp-attribute.html) to define capabilities. -- TODO: be added to an MCP server configuration ### Tools @@ -159,6 +160,10 @@ It has several arguments to describe the tool usage and output: - `annotations` (optional): a [`Mcp\Schema\ToolAnnotations`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/ToolAnnotations.php) instance - `servers` (optional): an array of identifiers of servers proposing this tool +### TODO: Prompts + +TODO: `McpPrompt` attribute to declare a method as an MCP prompt template… + ## Example ### Configure MCP server @@ -182,6 +187,10 @@ Then, an `McpCapabilityInterface` containing a function with an `McpTool` attrib [[= include_file('code_samples/mcp/src/Mcp/ExampleTools.php') =]] ``` +For the example, `servers` attribute parameter is used to associate only this tool to the `example` server. +All tools from this class could be added to a server by using the `tools` parameter in server configuration. +For more information, see [tools configuration](#tools-configuration). + ### Create MCP server list command To check the server configuration, a short command using the MCP server configuration registry (injected through `McpServerConfigurationRegistryInterface` and autowiring): diff --git a/docs/ai/mcp/mcp_guide.md b/docs/ai/mcp/mcp_guide.md index 092fbe21ca..cf131d0c30 100644 --- a/docs/ai/mcp/mcp_guide.md +++ b/docs/ai/mcp/mcp_guide.md @@ -1,18 +1,22 @@ --- -description: TODO. +description: MCP servers expose functionalities to AIs. month_change: true --- -# Model Context Protocol and Ibexa MCP Servers +# Model Context Protocol and Ibexa MCP servers [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) is a protocol standardizing interactions between AIs and systems. While [AI actions](ai_actions_guide.md) integrate AI to the back office, -[[= product_name =]]'s MCP servers offer a web interface usable by AIs outside the system. +[[= product_name =]]'s [MCP servers](https://modelcontextprotocol.io/docs/learn/server-concepts) offer a web interface usable by AIs outside the system. -`ibexa/mcp` package provides built-in MCP servers and a PHP API to create custom ones. +`ibexa/mcp` package provides: -TODO: About built-in MCP servers (translations agents, SEO optimization agents,…) +- MCP servers [creation by configuration](mcp_config.md#mcp-server-configuration) +- [buit-in tools](mcp_config.md#built-in-tools) to associate to MCP servers by configuration +- a PHP API to [create custom MCP server capabilities](mcp_config.md#create-tool-class) + +TODO: keep uo-to-date about prompts or resources MCP servers capabilities (tools, prompts, and resources) can be created and associated to MCP servers thanks to a PHP API mainly based on attributes. From d101b58f11fcadc551dd3189cb6a9386608768d2 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:16:36 +0200 Subject: [PATCH 22/63] ExampleTools.php: move servers to top --- code_samples/mcp/src/Mcp/ExampleTools.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index ceb962d097..6edceb4d11 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -10,6 +10,7 @@ final readonly class ExampleTools implements McpCapabilityInterface { #[McpTool( + servers: ['example'], name: 'greet', description: 'Greet a user by name', icons: [new Icon( @@ -21,7 +22,6 @@ idempotentHint: true, openWorldHint: false, ), - servers: ['example'], )] public function greetByName(string $name): string { From 71e80cb1f0349afd3152c5634c7ff4728c8db9be Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 22 Apr 2026 20:28:23 +0200 Subject: [PATCH 23/63] MCP: Continue with prompts --- code_samples/mcp/config/packages/mcp.yaml | 4 +- code_samples/mcp/mcp.sh | 24 +++ code_samples/mcp/src/Mcp/ExampleTools.php | 35 +++- .../ai/mcp/img/mcp-inspector-greet-prompt.png | Bin 0 -> 88816 bytes docs/ai/mcp/img/mcp-inspector-greet-tool.png | Bin 0 -> 84854 bytes docs/ai/mcp/img/mcp-inspector-greet.png | Bin 65333 -> 0 bytes docs/ai/mcp/mcp_config.md | 166 ++++++++++++++++-- 7 files changed, 204 insertions(+), 25 deletions(-) create mode 100644 docs/ai/mcp/img/mcp-inspector-greet-prompt.png create mode 100644 docs/ai/mcp/img/mcp-inspector-greet-tool.png delete mode 100644 docs/ai/mcp/img/mcp-inspector-greet.png diff --git a/code_samples/mcp/config/packages/mcp.yaml b/code_samples/mcp/config/packages/mcp.yaml index 137ecb0e69..f71a60e119 100644 --- a/code_samples/mcp/config/packages/mcp.yaml +++ b/code_samples/mcp/config/packages/mcp.yaml @@ -9,8 +9,8 @@ ibexa: instructions: 'Use this server to greet someone.' discovery_cache: cache.tagaware.filesystem session: - type: file - directory: '%kernel.cache_dir%/mcp/sessions' + type: psr16 + directory: cache.tagaware.filesystem system: default: mcp: diff --git a/code_samples/mcp/mcp.sh b/code_samples/mcp/mcp.sh index 7a0d943fb4..68420d8162 100644 --- a/code_samples/mcp/mcp.sh +++ b/code_samples/mcp/mcp.sh @@ -58,3 +58,27 @@ curl -s -X 'POST' "$baseUrl/mcp/example" \ } } }' | jq + +curl -s -X 'POST' "$baseUrl/mcp/example" \ + -H "Authorization: Bearer $jwtToken" \ + -H "Mcp-Session-Id: $mcpSessionId" \ + -d '{ + "jsonrpc": "2.0", + "id": 4, + "method": "prompts/list" + }' | jq + +curl -s -X 'POST' "$baseUrl/mcp/example" \ + -H "Authorization: Bearer $jwtToken" \ + -H "Mcp-Session-Id: $mcpSessionId" \ + -d '{ + "jsonrpc": "2.0", + "id": 5, + "method": "prompts/get", + "params": { + "name": "greet", + "arguments": { + "name": "Firstname Lastname" + } + } + }' | jq diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index 6edceb4d11..b926449ecb 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -2,8 +2,10 @@ namespace App\Mcp; +use Ibexa\Contracts\Mcp\Attribute\McpPrompt; use Ibexa\Contracts\Mcp\Attribute\McpTool; use Ibexa\Contracts\Mcp\McpCapabilityInterface; +use Mcp\Capability\Attribute\Schema; use Mcp\Schema\Icon; use Mcp\Schema\ToolAnnotations; @@ -13,18 +15,43 @@ servers: ['example'], name: 'greet', description: 'Greet a user by name', - icons: [new Icon( - src: 'https://openmoji.org/data/color/svg/1F44B.svg', - )], annotations: new ToolAnnotations( readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false, ), + icons: [new Icon( + src: 'https://openmoji.org/data/color/svg/1F44B.svg', + )], )] - public function greetByName(string $name): string + public function greetByName( + #[Schema( + description: 'the name of the person to greet' + )] + string $name + ): string { return sprintf('Hello, %s!', $name); } + + /** @param string $name The name you want to be greeted by */ + #[McpPrompt( + servers: ['example'], + name: 'greet', + description: 'Prompt to be greeted by the `greet` tool', + icons: [new Icon( + src: 'https://openmoji.org/data/color/svg/1F91D.svg', + )], + )] + public function getGreetPrompt(string $name): array + { + return [ + 'role' => 'user', + 'content' => [ + 'type' => 'text', + 'text' => "Hi. Please, greet me. My name is $name.", + ], + ]; + } } diff --git a/docs/ai/mcp/img/mcp-inspector-greet-prompt.png b/docs/ai/mcp/img/mcp-inspector-greet-prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7d151049f9024de0d38a2671dabd4165a87372 GIT binary patch literal 88816 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

NdY@bK_Y(`(LTZddqPCkyu2HIG^+y(;*52n5bK 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 z zcp=oDDrb9+5tfTym;E-;e-jcP)L%_l0F9qbk97}3Zl=)_v#&Bk<(zC|!R5GnZLcWs zIMvJyi0Kjm6NlI&v&$`)+Xr&@o%a{QB)|!0yAxF{a#B)&a~1Mv;pe0kdo@B_6iQwa zzakAO@9AEqkT>g7|Cmw%O8+R->{M0bVV%;7i~uJR%>#;J;$u?ehHxn_s83G{)PBGfX{x`)C`wc<&{%-c1M=P z=zHfc@D(PT-DBJFHcM@Su7ZIe*tRx7dZiMxwXZvzd7Q8TPOA?a$vWo0NURG@66nPG zWJ(=ymW(k+pK2df3F8Aa=YE96$cG$`-ktJ}N+e-q`X_f9dR)AAFA`eakMRZkP8Qh= zJZj<`N|~Y*?{mlOwgRt59Zj=H-PHAPq(Pxv#j|wY%>p?jV71P``vnGg((LSu=T?{& z52N`=nL#E`ET2L$+}}<=696@$wo%EtM*Bhp!8?d6GOzbUO}8D}Er#vc3`YnVSiEU; zT*O0Kp$!&*OL`f}y0VD0hR%$Ca&b&}vJ#c)V)x4ZNRk;HutdL<;Q zuvR+4PO3OAh)Vj>X{9|(3vTTHJBLa z1U>B@;kVG)$lLl6L*oY3j-LU0W0JZB5b80srHg%jf?tAmGkV@855d1!I1Gngtc5m; z54G7-5a(l2fs)7}BOx6wkfPh?kEFEDpTyKM29nj%wkk~eYA+}yo=VZ$x(H%ec#)gL z64Hd?N!=YI`P^e3wc}DiL+FkCKUwAl050AZ?7bP)mN~PcvolSMM{l?VT?2;F9-3UV zRjosca^`2s%cD?_tCu@R-gsYCE?DL*yLK#E<}sCe+Se=R#O@CyKJ0xZMv(TWi#D66 zgfswGdcdH*SmM^~CIqjrrstLY(Rp-iqIeo-BoDVli`7?PVcDF4WQ1XpyQ`V6mrr0y zti+Gbw#L{{-#=&+oq8YIFH_w)VfY}Gvjm5QEK|<*v$`C|OgtQ&a0?yVfu-mV7*FsL zBMe@e3)6WFWcuBWEO4?J|Nh{TD9vAjIHij#l64lCVo>=S*8NmAoT##FLAhq$Z7~qG z0wzTegaf|3u6Ekhz+(K3>BpHcS6yH@YK_z2I5qBMd+fww=&u!U(6K~-y->PMJ(FJM zEI#^WqC#H_E#(AmQViDR2Azaj7)CMc%+mZHbc3}ZScD-RtSA4)6yaJy9Xi$8+Gs!5 z&8TuUHxjtk{J=u>>})S|hZ8ct=hU%f1vs9*<_}#Bt{;$*mu+@_HrlcFJSJ_r(qJAh z^3fuaq-zpW58SIWN>T4V=X&cf&f8meNS1j3H5q?t(VWBQU|v?>ThxBMc?*25X#5Ia zsp#{@U-aZjnBlOYG;XNC_%)go&iz@Q3X_;;I2m%(pnUut>wf zo`aAT%j4zc%2RR1&HYPs$Pmjb(d6EHL(v7Q^IE5Wke#RTsOLNp!*WJFv3ARO*3Ei} z*?G6g`Rt>tpHJ30)Pu~H?nLZns^UF%7GPTj&G2dG0uj5hIaH_tRAnTj@9v&P88ErR z=e9`!$*TF`!?xWxo01h}O`zhcreA6uc6zFI;}Em4>Vum5j)wv)x(xvlQ^idqoo6h~!zo)m z1^ABTr{q5@(?9i_7Tl!Bl9pVS#(HfeX6?MY55p5`E_48#aN+Z`wRkB2 zn6wZS@_>42kKA_2d1l(QBkLs+8(ctI)pva*os8l-9z8JIg@VELs?3W8b9>W}6%6|?)XLA9Nn`gf@a4usbeWa9k87IUMuo6&BrdN3ygNA2k4mJQ-b%meff&CPW$z%HIV2swkS+0ST5+4XvC0euwmI+51s1Q#mur> zF4t^`Emsb&o%#LE8L)OOu=~Qh<{gVw2dl(`(hzW@(hZgZjrvhTK5o2ZBlKa`HFBvv zKU|*af8ZL8xLcz!hy%~LT#~;%Un3n_S7ne-|15ySo(^v zyQV2WKM_}?D_bp{LkBQuJNX6h`EwbJIAXwt`^hj@)9w6Y<21=Coe1mrZeQPA+H%?L zw;rvknJS~hB`y2)9-bcjs5Pg#6dPC)&`6L-Z52r&GMFK`z~vriuJq#oJM~Wu`!6Vp z{6q=tQmp!6RKf%ZGEQjns1m}^4&tT8*9t<_&#hfK<(8)K)4o2a>)0Y_(f3U zOn1<7$}+J;@VcI}`q3M;XS=2eihTGRZf>sZOq??>x}^hXmKm0bcac}5SMUK`>_j3T zhtU$9I;rg@9`Aq83>eZ|dSASxGjoplcgr2tO04F~a*xbV6sJRMb zjrF-Uh1=rI`DpognU@-dq_H9leKA}@Pn~hAuUi;4Z1?p9`5u*oMMgq`;REvIU$EHP zncbfJPPUz`fp^tN2zO+u5ieD#6)y$X2-Vhd;4LZpbL!+Y`~iReL5D05PLj0OQgw53 zMt3}~;d(LTbN3jliy|3#cqWztFN?eHFv!kfx%=FTG<3{13I zSZ&U}tiUtH$a4pEi+jcA<_1E|h5WoZEznReNIUkzg7^N-J;3<>eYB)o=6`I zUwdAslf&tFZuHM?_kk1;e0AlWX$kTB{%f&i)K<}g`(_v}HSK-ELB`T2DGM$U5rlg5 z=Xx2X+>7y*MEi*FhPBBWcn6;%qU=~JqGs&q+HlX5!XhGOfeu+0#9+8+sd1m4i1S6y z9Db&ELRS5&+8u3jf>0-W6-+A4rV+G{i&CA=70m15uv*T$SHNQt;_8n4E zT$UVk>4ByMFq!Rm37!ZuEs(UC@y+|fO2aqRn2DLOxSXTweRIvsaw*4!GC-4S`tUMs zC)Owl8WBG{yyT3GkD8n6-*ML^`&NXOo6IPyM#jZ4(|q*fbNE2-RTz^~LwD-_VFbgN z%mooq(m@!7v? zCxD;v;AHns6Pn8cl!Z#2uHRI@83P+H{-K@!b#{RHCmbG_Yx_5&{6-5Oq4)|@^RqjW zz=GuAOB7)x*7cq6f{cdvjKjQOy~8{WSqBZW>6^+g%<~<-2;7S5a3@BWy2&(iCM6ye zfBYxl6<*;AMKnc?kjM3Rbzd2ypBCA>UyR66XfSz+Q+*hk6?tPe1IA5@twDi3avTF% zB9|MxaCRa*ANHnYhOF}KlbsFfN{Ks-LnE??#0+N+Ito1}*0*S=u`0MzEj6YqTHwG} zF$vL)S$f03oj9BOxBD2bh8-MRT(2!5R4Dux8zi!q=`<`#GXHEn*aGm3GJFn8-7or2 zNyU*5n#EAs^mSU{x#*Y$KJwa`?M+wIvFG5U$D@%Anq?goOP5t~ZHKTCcgtE*qb9vR z!6RQIGir4Wf8jW%on@^sohwshRK^iU>e(D}>&yUc3H3;|Vs|)?`3!vC{eC8C2f=Qt zw7qZ2DQXK~IdrQFuZvlbK3(IY1w%!F=|h>C$2t;~epON-@4@~Jf2$Lw;sk|~#PP{* z$Y>0>=c|({>+;|dhCwz{L|U84e3Y0a1~V$$jtUpz;@oSi3Y8gIzmH+(IqlMT<4{ zS%AJ+!-B+(GbGKologunndu@vxL=6^9JAz zAy5#>oI&j}(KWx}uFd~4m!4CtmuJaabn-%T4D-Y}Z+!YV*)splF^|Nw=fU%_Andol z5VwO!Q9=X6WSW%v2#&mU{YP47^lU@IB3GHQsz2h2U{)0c!Fe9WWc+o~`%-Y7oozlm zlK>p13U(^HB`0rs_IFKe!omabHr8v|5_c2rwz^7v$G_`VGjw^?sEV6Tfp!=}4?jBJ z__B5XZvXPLue04)_(ud)$m(b)XawMInRD6b(0ATibfawuX{u=25MhLLFQd=bVzw7E zseE=t)BZ3>lrtJRJ{F*;`!VqD<>mWto=--0gv!Ojjhdf~I;`0!N?+egUJVLR_4y3I z!^3mLLse6f@=jsuw$Xzz{(e5g-rf?CyB_?k*Xo!zk}F8QqN-2Sg!752qs0JXnHg8Z zlz)SB;FslLOTD|+Y?}8}Ac&R21i_-({yKryUt-hEAU73@yd~Zx5X*ago2+XYhZ>$= zZ9;7q=Z7;Wd!cwrsn)O{w4w7ce?tn|cHa)Yyoj0D43i?PnyD0Udae@^8p_7UH=2?P zn)4iv@PGwx1_fg6P&BT}nD7~=VmYiXnr1H2{4E+r#(8Yfb<jA@U6Po|3VDs4no{SKu%^!NsRa%b4?gw{H&Uz!H96_2smFYfq?muJmDm zZURQ{BKKWinFbn>dx@&$-L#J630EKat#k(H1ghcrt%UcmBjUt8tPVLXT;@PGJo*oB zM)-}b#p6h=>#e{ph`K0soar12B%s{bU!7Q)BVRnb?5P$6|5{wA&-4i>pY(p)w>N{3`vFA8Z&8VVd%3t zx5t1npHo46rL`D-J2LKk4QPDA_^%Vk_4OY@EcPVti16|E<1$4@Acqh!>H$<4(d+PM z!CrxSplbMvMW%}R1_x*uYP=@ZG7n!f&T{6!l?7B5W3So(RJG{47k@Dddv4+C+LZYH zr%$w=_vbSL7W^Fe5?sJM8a; ze{SH|F?!JXXcpCCZ|zsEIt5>Ts|l&8jJ-R`(1}Sl&%<_!730|xB4ict#U6)zv_jA z!{$ydv3Xe7$?%O>M<-3|N`&2h>tX-w`VTGc&+Y>A8+HYUB%2-7BG{SrRMp;E zXM7Q;ts5ESG}{G@@wh;HH(5eps?=6Lc~v8h_|2phIDc=HyS;zLNO+ux{oVWJqQ#}- zCegmZMX$vVgae(AVw8%D@%y8~50*|H*H!W4kExIX$Td$9^Oh4wZ0n}i-P<*O z$=Oy&2MnlfcG07QPx-fwARk=9`D|j2egd zug~VASH`|w305W6aLgRWQt32v7~GXlhs*#c1i!=Rc;S33zNv;sz{&5UVDBGd3N1O` zV>mVMO*_?$6)!s*2X_SA&LUneTaJ9>t4)8YI|t{jhAp^G1Hr}_2%~12-l%o{& z^91$akRz;#Og>~il<{bK7dy?>g;VB+W#209Q}PRp8x1a2Jb-2kpP2_V*$qx z#3E=E9-q5hyU_;pS>+-OxRJpOr;4^@!DzexKrv2R6kq$YNr%Pw7DGdRYT!w1E&CWO9o0#xeN z{>%?ru{5+3>)Gl;Icz)y3q#~OZz3$bdhsIlmpj_+PfOXkHUk@adl_aPiWAAKM19={ zqOSPJc|6-rS@Zl)qNkr>a4|1hVH4KyRu0O&i28LUy$6#)_Ja5Dur93IffZas+FY z*fz)ZJpXYtKC^Ba2#nk2cNJC)Hu(FxhK;ZL}qXyxHxYc}$1J`zxx?(3w99=pNb)L>&7@=8>P~bbLHvLuw%3J)F@w$ML+CRsXDYIMaK32E9PF^b z#Smxef)iT2`E=KzwE5~=fB8Vy_kx?PfebcgBSA35K)w~Pgs&hWiGY$E7GVjA$ zM;~wOGN!%~tc~Jzh6dc6nS=IYIXeKgx#nfLzA0+~$Fjt;Oa=Z4dmlD9?!Cw}*QkwW z41f$ReCoWSr^7)G$E$s~>czQ7S+6!OjjHTU)|wMzW9uP~odbLh^GFv~J+#lj!iQ{^ z_hqJnSHHV}j!+@~!dmoBg0+6tU{tX4mhG?a@Qyx0R(d&b@IB{ep00w`jj(w&q?f;i zcr7Q+jhy~)8*;e4+FItQ7k5;Uo7@c(D#Lcej?oS3!n{ z8SF!hu;f@y-#4Ba54{pI!By}^i0STF>vSe1z$m=x0*a}G-jORh68GgUQ=^dN_hjm_ z7|74Ukxx;{XokaFRw+dHQE1)zHZo_;N!m%XSTAq(x?I?Y1adu>=j zI}2Znd8nN3XX4*dLn`!Jr%7Rqn+|`)rM)(a=N;pNwhK+Qi#OFdzq0|}`gOw`?cQOh zjK5yG4bp}}bKSrV?9tIg5x_CM)hL16UU-pdJe0$}ueh}KL6js@WqH1@;-dG979nL| z-X$2<+`yW_m}i%@bt_+(jWEFXF4{WR`S(px_|RaAnJaHdU>HCx<19v5FwTDSFrI`9g&`1_6RDtI)wm}{`#%ZwefO(jf+Jsfux({8cVD?F*`7ae`Ey&&df z1}>_+smUu^E%d>B+}HlFYSGrb%K(-e{crYny!GV2r#^jZB#WRHrB}}608LJ6?@cz- z?_Nb>aPC4tpz_d9hWEFZZcwYH`RBTZ=6OOM65f;U!uvJS&|#i89`(Y{p|>6WrP`zN zw;~ovGw|8JdQPvmOrHBePrTcJupR67d2`oCK3hzUmiYvD>zGVKl6qd=>Q=`RhxxX- zV}?_p!@D(#@Ogdfyl3={Aoh1{lSbk*MyF~9h!%o;eEn4&H?L+guqo#u8@OSF5W+cn z4goM}4JPS&vj`$pt+zLrjQ2|3xzybXXi(by!Nxd99xdxd2z7NRX5$4 z?@iT5?oC9aW*4ikTyM{RPBjX=mOT(MuD7b>8O`Ke^HFk>3NX34IUKS(%W>*Nnc;L; z7q4#cJ8Yf^2rBsQ(f)kJ=>d`WZ1(J6v8Pn+aRQArMy4(Yb8KiCE5;y@n6tyC2}S_< zwJD8x^0DOi#${S4t-o4w7K#&lko@jsv_~faJ%`BhJjiaV&CvSyM>3%^XC_qU;Pzz< z7fd`V@JsJr|BBOu*7l2_w-uEk^;q{DtnThk6 z_z?AdfFsIxEuXZ!2)DlFiuaiA-uG*VXg#0^%GZQYgY{?V??8?kmidYeCL#?TKZl*xjGz=(wU2p++Y#wxfI0|BZ0z3`&I3C=f$~fy;kDh;r0R6{ zSpVb0;fpPO1sJX5Wp&#mX&e++jHfUt=;muK*E+L^C_ko!?|CE046{r)GzwNoc=K^z zE?w}anzZ}ou>Qq5!6Qm&bw_z@Kq2kPDQD_F^`iiioRX0@QHvn`dv463RT69OKR?bG($b$vb$^?~6 z7E`*nKQ0eWvS}o`yV-4(TWXoQ_@+~EEsehObdwXVorPKBa7V5 zgeeK9UK4J_8Xm_({y=$D_g>P9W7&85v(7COSE>+C=sQUC_HsSA-PG20hbz#lGtkE# zJq1R>2{EE$0id&HH%4Q!vsR9qB?k9h>pGImdn8vS2R5DaS}{zQyYD7&wHl?u7BahWiu94@IzHe6*l# zdE#3{ANDiXUpZ3Jcf4`i6R|bk$N1JZ_2Sal!o6Zwzb(ApbUX%D+=sXg-*AQiRHU<; z4a@RfQ&b~noOyb+U6xH|vRxl~_C794`_kixp3$^!Ek)*nMju;BaSLmyW9-~sR_TM2 zwq7D5hO>8``gg)kx%nO5C(@$oN?uhy9jWR!0^hyS!gPeO2?CZ$iGI4NR__t9-C`Co z!yDrV;%uX>_>@YlUH8H}%+);~?D>dBTRRe6kboN{u68#C;~#7Vwr&H8vIH=?ld2Cp zE&+Zv_Apw|almaPyAg2Mh<^DufAX>gx{mM9D^q={(2z8$RmD!#h;93wFmD$`tc~6_ zwN^?J$vQRF>CwNXgT_1wxVT8~u%d-vyur^+(GxW0s9-HM@x8c_RZOxa?`*F79czFGF$u2pxeJ$^B*?rJuzKllxm+HeS9xZt#qrMw<IB-J#MYE!~GW z#2wJzz3=EN9Ca+(#eCur(>q@UA_ zhOyDbesi-v%FN6(JzQvz5Mkeo=H`r!EI2mW+?`}AD4{4kMKB#28Efnbef?=C%jcz3 zp~YOLU3=6!d~b)dr4$rP1dgJpXx_7ti91S(hc!~#TgzV#nKr+PLQT!h&FAHVYaF!M z9KD*9rrdo07VSF2obV7?)$yYrT%{=EAgU#>g)BKlzALlc{4?d+ z``x`P-7=7<-`-OpczHscdaZJpl!7b}g<}G&!QC;3SrS+m0}@9-K9U4 zoxbha4r8CIq_oDT_TZ3lDb2m}IFFi+frMe1t{5aC|8`(-=M2a7mx^=?tQt~O01Tu# z{v(gq44P@?Vr`6M6lao=jAJNuzu(U^2qx$D0cnsRq8N=xF6u_YiRX7@K{oX|H=v zKdNogEnRR$^lOhVSP^fED2(VFer5DCL=6NDtf9zbqm9z9@ohI-C=PRnt01L5oLE=I zyxEN9H3@Hzc!!$CH1U}z^xUJLVE+sGV1o)i8BUvTrzD`97NLD$B$j~kbVKrFKoV>h*7Z`jamyR5}?CQMXINgU`M zYUEAY6x)oakAZZFOG7i*>t@2%MhQqUoeg+rwpQVROmg@Vo12)8aJ5vOkv5QT7e=Cb zFr9?P^Y-D^ibm>c@po1~Uv+?vemnMVB`TvPfA!haK(2A;TiVz(!|&Z?ivl@U!&@kZ z8y*E@7a~e}jjVlc`eB3;8FVwero<32y8#6r{V+uQhy6CUkX33u%R6G@5~5DX0VAYu z2$z?x3e#tQzBUXC3CJYFq%8;qKiy}4&bJ8Op+U~OL6Fowq?`?eQ-@w*ko&OKV{;T#FCbdaFxdYOMWctgJfC*+4ounz}_nT7@zvaOT5 zB9vWqrFB!g#Sw`H7J#An0m*URU+Bx|F&#bDSEs|IQeR^#LH#?mn$dI-T>%=&sQ3dK zTj$U3@FG8Wv2rC$5iR?%wL(%WE87;1FZYG_pzK4iM~kq=EA8Jd(9uaENk3# zsflzdrIRs<2ZRm=qP7+1+24OO4c!Wtyw2U@VL(D0g|tyGMf#vanA^!Nt}oy6&S1se zFES(d*FU`O?ix06R$XF8FJPD2LCzz~@d0~O(ZAS0*GKCI279{=7OP+BZTOU2~-MBVrGv$sa1RJ#Y2F?#o}S(nx5bdDPHNo@oopM zL9O6}c{p_F1G`Ab3e-6MKsq2D+cvxw+JHsN@(*0mMEawp2fE9ipzK1nGmn=J^gr}ENxl-YI1=0$Iv0t($`Q{bVSE&Ks6krALBn7RPRc2P zL&oDnKY`w?jvoPT0uz0Hw;JikW2me4BHAcU|Ky8I4F6Ro14>fwYkF}xRx$ilQQ9PY zPmP6DvPW)>e#lev%gyJ4gw46}*5kByJxW0#Ga>qB$pP~}Runqa3e$%D&lRAZBqbsz zLZKAY>hN>J!j#--SoJkmxU=iq3o z?Ibpopf$}m@6$%*zKd-P3UFJPue%ZfE)tZWP?pA>YF^Lr;$b^cXnIuR*icUwNMq1Q zlhFQ}109{^MeQMg2XV8pz=s#%^bV4uL4_lf$3}cZ$9FyfxY(`jI?n?#U5cqTk_RHg z!+Q}tGAeXBURot=7^0+9%2?xb0AZc;->Stl&Pn+oz*=yLy2moj>Iu^ z9LBB9#EawH($bLbSxXdlPyob1cl@?@eoR$Wjjgn;vWg4E##Ce|%m8mjA-=2o9v`=7 z(=~KOCEWf`?oQl(n)OnhHde6hm!@EYqmhj%GMmY~0M4VdH{$~slb$(63@Ut9Y>ZnuNjt=0jfxr}d^g=zC%n!!UT(`7%$oIb5L{{w=ACOXORO+#?avlC+g~XI5#8)S){(Bx zo2v8;);L1n#aH;9R;qYLq`e=Xui^uF?<{Sw~$w0_joS3|(fAZp zYcEo@=rGrP8L~f#_IUnVcbwm+jc?(&eW$u9XW(R^-!$bt-s}w?umT4LyLb#-ff}2x zBthy&VLh!KC+)KqASG|J&g+3gUKvq`;q$&jZSQ?=6s^bk!QFf^kG3en z++*+Cy>LqmQ}3zWvB@C(gOjyS6(k)`;bt6fX$g>_7r|LzueaocZb#wV~4RHSf(i zxPjpti(UKUzT!;B7ZR&S8}LQW0E5D*oyC;ZN2Pr&9+oiuO2$W1PZx)I*zwU|*z<($ zFS6_F(`%Q7e=O{7au&2zmsdKx&DtezI39Z?PY&4H?i*KAudK`bytMIzFi?oS4^E4- z^9^6qHpDO9q!tL?-9YSi9#lm!19cCIhdz^efYk7pYGp zfwUXqLVZ7xTNyH{B_!&(=k6euj5gGwqQsc|(N%aPiKoqldbi$zm z$cp)gF3qTgta z<4D9GWYH4!4HV+fP&Hx{^Xek)55C-6MF|E+W4Z^e>lc46tu%GZT#1c-7au0b7zUu0 zNUGn6U*lKS6V%qmf1@3y$H4sDsa|X=bk|32$3Wcg#4N7%PJipmYZ8*Rx4%O#t(L5) ziA$?=5EI0)Jt_aXEX@$QO0^o?^SLa4;lH~?)%(G(D)1is_JtJe#=va39-3IA2Oed2 zgkX5m!HrY7N}@SSwXWb5tP|`0AR$SyI%5j|=|RM+Bgq+TdhHWgu1`Ofgoq@|0Sbju z+4l_2mI}QV{E6K;7uA*2Hp;KzB5iw>Uc1cI_d-HCWwB= z%Pr(6fQvM%(fbs-nuXTzad|Lf*2ST=-H{IqJPXndviMpKUR5~03h>`h*uGvQH3Q7W ztPc}cl+AwpjUq4h@Sk;dmk8H6AI9*1-@9;rV|v*~Fq7<3zMu@^{LcX``1BOiUT!Xl@!zbkS^VI^E+R@R2?#{ z^;aXYAYs&rknl1lqbd09ct%1L{0DY!g=ccb+q@ctYxBYg@opPHH+zz_4tobaBR2y2 z-jaHk|6HrNqF<0OV-pET2 z&-+spT*$}ic#)TEJdaBs;`xDWirOf03FSH{i5B-Ff0<;M$M}*b%PA*k}EhT~S6t8T4_yjrTjGLD$T&-g_rO}$mSw1l2F|>MW+N)54c!WXZ zf`UsPigPf+62)Zj-LMlszX!b@g@$IP>%B^**TcgOMkTmaHxkRwuiWt9Yo5ckYeom7 zu5sJ5B@m)8z z`q>e*wY_~yvN==_ccYl4=W(bGj*~!d2#!GnuQS@s1zz9u!~04}OV3MEj@JgElY9W^ zq=!999d$#U3iV{=t*4>!4d%<9RzI5JU3PyA9koBcT5MqcqWtFpHhWvXd+331R zyf%GXPjCGe3gD2-T{1Pmr(t$Ftza8wQiH@tuWRAfo3APj-t!!Qxc{3^tTG7bt`W3T z_JrlyJbE1=3V`Pdnds@?y*pEXKvIE`%(I3)!+1!aU{n5QFhe2-(25~O@2S-@MLVX; z@GLHp%5^)Z@&xsq2nv!@Q|-z$LB`%G$n)z+p0fPTM<#gDyaVI>5EIDOKs7F*`s~-o zhuUnByVqWu-yds%%EdB?_aBGF8iyFk0j}Vk4=t#C2g;cORemvu5c zy6op=uZd2Kgz3J50*Z1#eSwSH|2hGh-^lu??FNIA*PJ)D7!ac=vp}f-o}P`&4)=gaJxip)e;!EzG&ZtHILPV^Y ziC1woD3juL(`^|WF!YvfVT~DGRQ~5;H>0WAXZ1>Vn?<8gMn!;yTU@7>V-^DXqk<;k zW4BH%I9(+}6T=M}hYNFC0FMh`BrST#%@GkY6A%!jWTebyg|zQ)w&C;Z$<0fEXrFP^;-Pe~KeI7XT&2Vb=M0!^_J(<0Nd#YC2(d)tDFGzELQ{A=)z>B`Wcg zkNxoN0HJb2qOwJM6L03l;s>wa-=%H5q*{m_|B$<``nc(k zyd*9tC^#sL6RDj_>!o52ZBT+8FmtCq2B&S~F!mvXMaHOHfyRBcC-g7ZK&J;oO+pL>H*x%V=3 zt*>t^wC~zPmTKh|8a@WyZ_l4?F&@P5tk%+!_#uS;FmxTQ%4c(KXsW`1UNCE@{3Iuj ziWdMQ|AGWqN1sYn+oKVUax5)N2443z0*_g>Ek}-p6c>ER2flA%PVrw2h{2$=`Wa6f zx(eeVgT($9wU-nHEa}ZvAB*>7{1HL&df7L#@|i$gmc@hX#Yo^ukt;4C8zY%)+oooy zCp(MJ#w{vKiXg`6hJ3Vzu^?ZMj9v}X`t)qM!Hyu~oA8m}x%ck%_Ad;pmodKt(7cn0-@9#gD|&yvTXu`j^(i}<-}1uI zBI#!0gCUiaygEv2@RC*>vg=fE;-d`^AaUJe=oPWgp(qocG^hI7Lh~_{IWF4Z3CCl! z`VT^i>2kov_-@kc6iceEHLmqrB$&zj25b~ExEqWIkz4nV;IrL+jWuj>iT-=ilf}s_f0d}9S8bI zFj6qLZC^sA)cbg)o1>e^$njz#X%Dv?AE8cR{tda$F!N?v09g5tAF3l40^=Ju;F!5; zyWJj)q ztO~a?V^6%e{Zlx>1lMffcgNSGut*$(QMt;_<)*5NDb6gxMCfuK;K^HIM+U1P?_8%K z{bzeSCewQO_$T{_K^@?woCt9fdR(`JY{ZGUd2PSbZp}MUaWg zpYZxDzZ(Exek(hp=%@{oIhk>lwd|Qj?_lbKd9V92zr!W|f$p}Cn^idO-ykU|^MyrO zWZ7&NwR=}PVyo1B4V8kYXUBF-}C&(59qhnx=<tM`BaYdJQVs3s)yFKzRQH`Dd)W7+C)H5QyNpCL*; z64F&nQ@o{ee38>AmL9@_Un^j}yB~$mrQjY_(0C=PQt(&cUS)`ww6dkrZ+;3d!ovd( zqj>GGDnwfqUH{SP-*v^v;~|3$^+Ibyy`^8_6kBQhS9}GF1jyo0MH8ciKm_UNdSe6+ zACGp!|K6d12R$V|C-gfx!BPw1-xQ;iBtRC6>VV-~MpdmryGJTUzkqCG=-;sz0O%9t zU72Pl`40+5W@MPRXD{9hyAg{$Cn;g;w;p9C;Tb3J`nYdFbw!wnxsMhESA1_p00 zxnwo>eiouW-x}VqX`JHdm*7#9yKRk9&NgpUrVWFff#T@a|3-oXGw-mYQ)mwmt`7S1 zNYFIV+9_-v7*5+)rgG%Gvw7Ym0Y2@;5iMQYxA%7J;&Gn#Cy%vmxGyv`c8UDHB7gmp zz#>Tq*ZbmCd{s3Zmet{OXY*cVwd>AN%lbkjah`Lkv)c|^-^FP5jmUAcQ<$-(^WM0V zbJLZt!}`@S#Ak=^7?Oh(89peZSkR|k*M`by(ZcY|k-tmyM}63|_jKW;()uH*jhM*s zifTnpqom>b^Lwo?e!daY3{T^5&51Y{#LiEX5=E{dVXhIX`=Odc(eTcKL&e}Z{mg)s z_YZagRH1rv+#yyN<|!(7#so+SKYEMXo`y&i_AWvc3Xd^5BFYIJsJS*Y$MgGr%3XNA zk#LelUz&DE^mHrNy6R(79lX`h(Dt!T^MO;iAWTQ?1Cg*4Ozyh#8fk!lN+Bc&Rr^4Rq%%Rc+>S=!!<}H zf_t)iu+MLUhIMpw!jO-u*DjUgeD^ttMt_U>`9ZUnhm{X+dd1hl@PuaqWbiOhSmbxB z%W-ne?uZGhFUt@9j>W&k8NdW6iUw}}wyyinqx$a`c}c+L8A%*QX8+CFf1eBrdwU>r zhPNmb`uF{RsrDCnAgN7)V*G2A3#cJiUihh+qQLn6nWFYy2zZzJaYk9+)7yTh!UhI1 zY*UT}C(sJC)>({Qj98UQ0iX9hDm2ddkv`X4S@Pe*`$0cpzmdN$sZ-Df!ns&jLCkb%VE4RK2q&;qj|04OtI?j=-77Ca_@Cs zXIdUzaBlgkI%%S9pQj}3YQ-lxkP7xjkqPdAIWt#Cd%n`z4f^qPCVPuhq&felZby?q|ca*zBMJ>1gEX zF82L!Svu^i7WuA)V**V%#MobDH3gt_LL2=c~%4VJC@|&+*7ZVaWd4AJ9IP+v~^#Prp{@YxY1LunO zJ>13KG|bIB!Sy2L)dodmWVLBOc?R@vkw;JBcoh}P`I=@d)W&5;m=tDhKo@J|eYfUi zIbRCLOqq_)TOwlMxkeA@B1r(QR?nhcd$d6@c(VfqMc9pO#rx31dZi9dm)ov~kyR*Y zA4D2?A@pr-@XU$Me5PDKtf-gjSEVi~sn1C)mh8{3iUS12SKW(t9h>C>`Q;FOx0T3& zNAQauKRK#CZqUHOeyaEEyzeeG25zBP|4_XPN#NN8zD_uyQ79(PjbNEcN&T*c7jdHj zec*<3WZ2L~f1zBeVj8Bpo zNIHuV5ixZAY10j#`v6HtSBi|%49~U`LQ({@_)3j=pqkUK4@QpJ9PZ-&_{zGCW^loK zIG=l7#<-mTeUler(;tY*Rj7fpcm#~w>#MVx&l}hTFi4a6`)a2joB*WzoD7P{fY;5~ zFC)SWa9{^}&RN?c{RAH{Zo!8!>6|;i@6m<3`|GVRMtPHP7&VMXW^52p%C^ht8#?t{ z8%juYVSohpE8`p+3Wi8HW%`+3c;W<24JUKD%`av`WC`bSa2%KCbyb-r{E;K)W=BrZzqhyl zhdKiub0!a<5Y~T7%bF*diG{DVLW)JJAfcgyxjnA$|8Re6GF!RKa&n*b;4_u$=arDi z<~6Rj9uX(a%S;98xKk3mJ-L5RPVzye>V268>R1MsivxY3A8`~XBr6t8Ux1P> z@5N5mPdtT;*I~Py=9Ed|U)=>F8^xZ>m|cd5gW~HTO^w69tJ_=u(3c-t``~Xv>05h~ znz><8GgoF4V-6SH)-N@4d-^YlEWd^KSwvH6^V$jPu$TC(-1YH(v2a@&^uGW~Aiu*% zrHwZ=S1HJ-UdIW6-#pwO&+cY$#cCuvZ~owSoM=aHJ|pqE`*;`i{Zx%6PKukEdFb6x z(}v&%*{>~vJoM}VJKH2v-?rD^w`wR*+3)G; z;#X^o5jt1PI#g<;1i0KXufA{5PiOn42CCG3%T8|015iDB-DCCiJh#3yfioB#*7`K3 zGNytD@Qk*Gr)>{0ydJbWxXtVt$6L%+jDT9-29wT5mhqle*64yzPRHu3`m6{>PRbxP zXeai!zG$X*;miwZO#+DToabxWGT(fR=C8Lhp|sduFn3@S6GK=x9LqSBk(D(LM{L#> zlYLqvmC<0^_{qkX!&DP6v$<|$%2b?Lmfx#+ObDcfYOz^lji}-#P*Rs|{9V==n4qwT zaHDOBJ>?b~j_uKvav^FI#f$YHy8C9Z=f4|W5HGsgOZYFQ7|xwGp4+69^&zJ=g;hns zt_J-AYcCCU!$s*CG%Pm?hr1cF;IioHHN~w5n)D_Rr%FbRl_py)d6mIDTKv9!S-$hW z3;f-!yxx>(-)!J|?}%ec0nak9SUGRb13aZ0W|B-dTJ>RBE~Rkd`LK3R zhdqoe{TG%(+yee9945aZiJaSr?&PqAZ_UehSkcj7iTKQUVxmNuiR%=9fl$`VXV<|*=MZbKUG0*j?hn{lcx40&rzB5brZp!6i8Y2G9 z<<&Ta<8lno?;_i5FA`uBaY(H(Et_H9uk}K!yH$Vpkoq+wgDVW|&y4)3(g&CdJykBzjLe83D3|%}w zy@Jmm=g3;owdG2dFieBi;rir|b2}m8K`Ox_JP{Gs;WN?IYS$SUMtWPeXi=NF`bh9?0Iu3IdjWm1(K^qV8XMFG7WBN}jfgUv zN{$-RYtg7M2+EfTqZHwRso&!&=(?r_0D_Wjm$yzwX{??6xzL;X-uGkZRX2x*d7>V- z>3DP>a@-)DgdR{*-X~}skTr|8`x!>d>91Tm4c4Kp^d=aub>FzP3ury<5b@pvntSY^ z|8oCyuMD)-uxQ&ijZIDZcx>7@n4_(n^e-g=R;>4yVwf1%{)mZ*4vUux?53{Jiig@n zF8jf)@jVUL6o9s8pd`1ki8rAq;*}fJ$NWF@g+x-1+$km>umZcwI4y;Va(zy@SS-3c zUR<@lwHje9^ex0+8`Xj`=6$&4whdVZz+!rCJ;W@bML-@I9u*~)$;}-9`ExjcD*fq+ zX;>%1ztGybjA&EsI3ylC**+@J=>1Di&4x{!fAMpn zhB@&#cIkZdt4p2HjgN^UKDv8>-v$e~m5pZ$kX5KV;c=SGLdrlL zlB%j4rRq_Fe;zhBe-)PIZk161E5s$joY3HrLaM$8-$H{;5YLJ`aykKl0p3Jum<03R zE$d3eVHqmP5c38HuO@LA5s>lB)^<}h)(ZVxocOzgB@h~mY0Qm#i!<9fO^AmiH(>nw zNBQtQr_D;Vi%BqDl@DQqe+Qn!tG$2Qyc_H@kKHU|znrMw>Pjg@iL7+Dk*jqLaVEk1 zE;2rh)9*y5*W$c?02Tpi*jjJw`h_9Odu;*ak`$pas#T@vHBSZ1HdrM1x1oBThycqh zVAjwNt1Ja1ied4f_IGZ^fbyfY-~1ZlNcIZDG7914WIY3{;p69M-Q(=IqRrR)KTPK% zKcKX_u+S(eSqS#Wb5Z&qVUXTkQ5F?_HMuAOo%SXw{r1bfgI`uUid=5RiqdO{>_w16 zFDjc}my}~OUdL{`UP`oFPN_9xx4$nn?qT!Uv$Oo!z=b=m>mQN$bzQPQzRq@W>ag>c z@F@3;NT<$H3N>M$iGJXG4xHUemUgLJ^@-0r|9ug{du3?uL%U<)c86hl8mW~8{BL=) z@23Br1|2c9^h_dab`5$iV+9pd9g7wc%9pfjXFUE~_E$dR*`Yt-$9fw@Xq;eA2V(@c zbK6~hnxhCGb3_veK+$0M=5nH=3tluKe?WgzhN6b+)3B^V?QOSCmAN0c0+ zcZ4+@oKt>Xl6vRCDXHRa5oAc|hXSr^>*NxAJ(_BjSQr2tkH`3G92V&d2FoaZ_)|1W zvACKANl$fqWI00LdLU!cszNBv5q?q6cX(1647+`Zqq7yQ-Ul@H-@kx%MW1hSD6Gv| zxR-hcM*%ZQDQ1A|)n+ZVVAp(OEcF(r(VL`#?Jd0A?)n~<9c$eUm7x7d6k<;TDer4U zZimyJ7g%@#uKe*TOD>GzRt0mn6o7fn3Cj~Mjf{bYArj0=-{A*(Y#ghqx0oO)`dY*x zlbk}Tu;Ia!s=O2KzlzDG@^=J*K~#?y{eng1w@EQC_$ZgcBK;VEXL^m=V~?w8prokS z55OiPCipH{)x)unR(3tEScl&B=1Z}nH?F$y{@R%%EpPZ+#QppFUK?6n_Vb)Nw^(&_ z!RC>`(H3+_ozdJyhkSr@ZNhYS{^WDK^eSAW_(!8czuQ>zSA|`Xa4=? zf0NSRVgwK^Jjswe`aM=S}OLmt{Z^QYuR(vKkcF zX3gE{?>Er!usT&$mVk?iMOpu8TD&o_C0}|X$8z~As(5ojiw$ecdxDVIG0~YqX}4b$ zx{be@l3rSE{ZF#G{Q<0?M{{@tQXk(=7F;7YDJ1wyHZT-JSDS_Utyt`qCuG0MwULeW z{EC2Y+3Y7pdwYAEzWG;h9zmQ^lDd(N7Z1+A2g?olki@|Q`^||RuUPQzM`iovZH`KA_r>oI5^@@#MRfq!?nEp@$B`7{8Cd$D? zFi}ZMpR!5o4m7xCFW7GS-PY}1Zx!dV887jALk`{M5;G!?>JZY1QnlsEDM?1TWJkq~ z3i`%T*JO_`_okg@a2SVYPwRaeki3A+z_MPjM}?1s4P=si)9e)PQ&LC;9lthIKU@Nu zGO2dX&dw@19rqoxB_(tKy{Pp*C2YDHSQKp=eHu6bj#yvkLM2OwBa@#12-rk0JSuLH z)=yw{!BV_jDuxhnTSp)2VX4P6wTcD31W2sTi{%y7)zvGG?peuZNDF(0ON1X5W3s20 z!9*iXO+NcZ16nti`?F53%SYFD2%H3fZhZ@W+3n^>kZU=$z)FI4`yM-~z(C`~;q!f+ z9Qz{7NNeYZAA$xyTWQtPU7Umom5WaxeCJuN(~2nK4H1G48g*51#8i9nY8@X%QRXGbsIiK zm@8zi0o^ke!OWe+eTMwQtNo3U^$r!@ZxoT7CDV|;?Snf!>>^Y#^BoJU+cz0SyGn&Q@li6q;N;?r000VCV zh@R8lsTkvi1q8iRmapqyheMvqHX+N#+kdiL5&y2G*W-6Pj7(Q6R@EDoYP4Nu`}E5) zqumj_OQvhlOb9oDjg%R)KU>Jn3Nc9kK-LEa226hxMaax0`~RHaU5r)56Wjulsp2@w#z$rw!r)<6bws1=?c9(Iv2F*`z^ zl&G!!OP>q5$zlF*RRiyl`%roGc9#W}~LJ4ed+s!teI?(-=m>#a;IGe>O%A+%Dr@Pbf%OQDI z0FD3V9DZcbZJm}NMX|6+cVdQoi5Y->G*2DoN&9;jKvm! zwmAh_9?#nsPzD%oR@BjXXl>8c%r4W+Y_Op#D99c}LPK^rl$Dv2 zJZ-}Az?N&Jlg0dKHb2&OP#ZBk7%sy-ut>ss-ftTS&A7U>LqS0a-q32Zecoq=9dXWw zIV=d-`rK|x$oZ3dKF`7}P@w}EcBh0mPv5CN^>hZ&t&3Z6XR_HW#5wt^0e*EH- zS;$tV@%hGJLH_RDyDdvkR5ch|D!^y#C}Q^iVlu7jqZ(~|z^T^#U& zj-7`J<$S@n=h`GhJl4H`rV6K03bvEf6xRaa#?6MxMN)DR;cMS&;c(ln1ZNAl;UL1} zSvmN(Xn*V{V~kSkm?AXACBRZoX+->5q1!-_Ej~wzVXo;ySr!yG<#h9 zRW4_Nr(&?^7Yd`J+IQPELlBok{!7ac#f=v#4a+T0cQ)|#@CLf=Tj)#E?#=l*QKi($ z63b2O;Pp&W-!0K|omuHxVa<=l4Ae3xe{{MJy|&X!`d(e=FE;e_Ou2e>Pg`UK37v3! zWTrz~St&kzR|rQ1FGt{3l91PvsEZY;g$4pQi@TD#Xhu6T|X*xSjTrwf* zLd&l=)b~hl&rWK7FSDCsQeWVuh3w|=0jYp4VFa1R09J zW_jQ$L`77+@WP@`q)~89zj4PiufPMMTiLf=Ow_LE+#|K+Imv&zzm)<5o1Ef*nJFKh zl#I`=3=PQrUY*{;l+)egpQjN`UJd^h5q%N&ttM+!ZW^xx=7iOOUbgi%ZCQ{@ zl|uQPwerjqNUf11rDk;bK-t3lLyKu-YNz>_j_am`-d)%hdkm*ZpA(pVWMHZ1>|-@= zY{BphQ97Sf3KntzHY#qK-3(@C@(9V^#(=6_Hsg~+ zgqgx)(c9cJx0#bDi>{Xa+L|(kslh?F!jFlF*h)XHfn7fUJD1QWXL&kQc)PM$DXBI- zZWd7XbN;JN{U<<)^SiPy635xgl+U`TEUekLd19%-X-Cn53(1J+uzjq_>@^XGu=#S! z<#>jfjl%$*UDC=^+Q$#QvRW-f#;8B7Zv32g1W=M;0LTH8o%qFktK56EMzSNz7MS^P z?@x}ZDofve;WfHZJDOhZr!8L8&3H6irDS>GEE?1V9SVe%_IS2HMm@K{dl)pwL;Hz3H#~Dm@yXR6xP9?EGIv8@=E`%#bW)Q(YpE_y|yD#g;9HqpUhF>ix+b|KVaq4(g=4Px- zJt43#0sjfq@KFDn&Afl3D_+_SI_V<@huX#US@m5J_ez6K=&?5o1GuTljxl~SnS}Fhg zN=|)};J3S$Hvg|Y_PyuR#%T|jrBMI(e?I*~*#nR?ykD^@&iG%df6*_r0N8q$HJ|Xm z!~T8O|M$Tyi4%ss4&VP39z8b^FajK@l)Jd*nSf2VAOj25*0BSL@Va)DOsQ^wN_T*@ zI`VJ%?QiN^k_9Ut4Qy~kLBow3Aod-h%Dl;s!NRM2<}0WiF+H6C$nI3lQRB(zIe#(8 zJWGq7*Soh}qzGyF5#f>Ide*2^)YN2*oIka37`zro88ET2ga4#y0gZ6bFIY35fgANEMOp5A;89?4JFfj31N#UO-m3LA! z7A}D^w&@-={Huu)f5mnjRAVp3nBn@V8SLb3^9{j8h4}4n zEyUoO!kqN@0MQoS8>iv%ad9noUL;E{`Z221iXTN~|CBwk>Hf3=nZs*c=->S(t4v+v z5RlGVG+vjS`;8{wCn{PicamTxCM=hfxh$QZpJCv>TH_a*e;ol747dTs-{<&vk6spR z7E)IR(bR;zsw$sPd&|<}@&QY3P1-KrChPVChiWp_=-hjs{G^9hh6QG7B5}$ZDNc&9 z>{mCu(fu^T@TkB(jUTEB;AJH{r#`ch)PgFyUXp*#99y-x7Vd;|Lpw&V^qwK_^3@Id z7DdZ5D_H@rB2TPR#5h%X#@F37Jw#TCz}UB0@VBi)%pFKoSM(?>lh1epQad5 z99koEU7~kw`{TOyj*ToQCjlf_YS}-P%_$ifqYC$LnhqlOtIT?&c=nFV>9QO-={~GV zXL#}A#ge_O+BoEI7%fxjx#hjDQ=3zXb1V#j@3Fb83gbPSe}|6dxQ{YdJ@cK;r~~RC zt93jm#;E3Cy)f5nVoR9B!U`K($+qYRKS_WX!e%pfOS9FiZ5w0-{@Ulrdp{!2qxP%& zR$uYyWuwTNAEmIAjwk=a`Rb$bOnI~5ih#!M-nx`fx>q&-?eMS#LA}*%FXYkVr?y5* zt|P7nNH0coW?*3^!dv9=!iS26)^xq-+lPbtHtcHCcIct;a_pRP6g~b6*`T;#)EJDNYL@!J4tNt&lQ}8SWtnAX%vnN+J}o-v zoZ$bE_f|o5bX(hKAUGtr1b5d!aJS$V+?^2I-61#xhoBMMS-88qySux~Y2e-a+wbMM z{;RrHQH#~Hd)k;op79Kms}9f*x6hpA6OFM10OdoDG3tsz2L#seZskH{ib{ZMDBPK_y@+DCq ziX9XgStZnPXEE+~#f0*-I(p%mnqs1w2&C-%3tubFS zv+tcejeRqKs4DwQ2_)l@;<&wl~g6~MSPaea4f80h%y1y9y299;FUokR5H1co( zsil@)?*o7em?<{U+b|k?pyOr5-g<|>jD=DCUW%8#X`lF8F8?})I!##6h8w`Ncvk$* z@o+xCbj*Y(5F=SM9A|A@n`b28PnpLcdz>~Yhia2ejL>vMibjRGjC`DT%^3!9>S_&gc|NP3isRz~p5asqS0M2AQ3~mPj!cQ+M2b zr!w6~!D8Lzt8%TnHB*kqRh>^&&I;0zG$1&cf`K7E1vw zTRNS~w+Qc1G=sf(AFzyv9`TZsbTl>>;;)*4ZDP>U+F|*|sJ~hqrUDFVQFZQ=EjBI9 zhtuI3Ng&9dPP5s79ZODI-1l#NcfRJUt|x>dCN6FhALJats9shb{I`9->cBI5Ut zYol}3dHXTE9Qk~5a_MVWubMT_&8oLo4;M0*(s0MaZ=HTQ>|r=>uQb&~O#;lM2v1j2 z(DGG!B<}Z3SJnzugAoFZ9zz7K>*Du&Is~yuWVrH1pSwgA0yW+70fK$LZr!bH$A{Z( zCuJ+gb2h@1#~ph4ZY@c+8qD-3=*yBARLQ>as->r}TefKP@-_@Z`t8qFZ0Y%&Bwp=TW`dIsE(8xMdSTW}v zuJD}Ce>IgA*tZL-bP;Q3OLm{2h14|7yOKbLK|eVy;e7?@?+>s0c&Y(D!tF9ghRgjE z{H7no=e_xX24mkVs;@^SZ3c$>Y>spYT6)oGQqjLQg%-X8%DqC=s}p-SB@sDqOgK^U z&aTeeLF=|0o#|G#0Es6)O9yq%R_cQJ3`ZQenkA|+KT34#Z*Jk)GrPo98;tS7F@0Eg zT@B)Dky;M((>*WIH;1&mGi=dFHz)!m6ej)?Euj=`4!1o6+rc@wtX(}W?LcmS zx@)SNPU7_|MQ*bZth2mML{zjp+L^Cl-et>)tXgzNjv<%*ld&BP=11>9axPnjDxLoO zK@{7MBif1{k(Jt%WPh{Qely8rd0ybb`p6?P!yxdmdM^!HzQNVO(YC=S(`G+sDhD~z z^I@>7W=lr^8O6sW&Aq?I`d!nGtET&kF2d@iv9xRkyGuIWefDs*DeC$5OzI&f;_8A| zxGr=iPEpgz`}6E(4wL4YK?!7uDL9bh{q5P+b>G1ihe`<7p(l*ff@d)aDmM1&0n2da z-pJ=ep{tnM<=;eYSTQ4be509b0&uCd<@D>xIBKPa2Y1VDvhty+abMgnGOiS{p~|E{ z7#@-djD2j8e`@IF%G>(@xMtPT9YZ01m%*}2!b0a4!WMJ7>`2I9SwNWIMbUW|_ zyG1@Vx)XV7sFA#nENdp5jPV=a&Ua_tVQSj*YRNaYK0I9|;*>V*OuEh3xWOQ=TU~gq z%O9O!zW)&Ng$f4x-L7m^j5&+tIFc4;#a1mW(|ySP+@n6_xiUnrzjqB2YgU~SjyhFi z*2dX0*4F#c1G!T*au&e8Ma)^X{PA)NQSJ-X^+UMS=+2rb{gP0GWi7*}={{3Yz3nSm z8n!x1TSOKU>>5gADlR`#YNv8FCp#DO{oNkhD33XF5w;`qcWsBai%&;g)yC6t+^JX9 zt!}9s=mJiC5VgT+ZiktNSaxUBL!|KHE~6?luQtkOac{(xZc24>SKZ$7nZW?6be~-y ziHt$h>tJGAI8=0jvqF>b%5DGLYOXBUOXC4)YoveO2eqTyYH#D zp$wdeC%7K_i+_@F99Z@SO!x1njJ8O4D{FCb%@^x~?J(VrmPkt6REQgKZ|KNnQ@`7* zlk86BA83{%h{?!c03UyK@(i0zD4R3>HekVqW7GxVW{*~^NtJ; zZEL#mWa&X?EuVf>01gVNR8~|KZ6*i<&j)mXmJYV@X$5nCF?BnFO~7_kd;tml!y)G* zBDXUEm!MuzJ?J(q!fDC9ZDQh}aCGYNdsOpWvL3I+R5w~v-a=D}*wv=bTWu6UJo z4*AB_fs?;Dn6qjRo*tGBxUcq?8a77WZ3KI9?`aNN{tn6?TGj#uP5VPuR<_{}k{eTz zkxgjOb4f)$J*10tv3>1cJ3HMGR0%wYYzGPtLH8|H7I{q#9m9V zROWSo$}yecyK7zq^>34XhUUo*@PCw>QE=NsHymv4EgVflMAaCN42>=Dxnt-pb~4&c z;{MGfwSy{#fhVDw0#;4Us>;egt46Y!b4vcar!s=GtT#-Vt-P z=o_cg;^vMh;n5I1kOX?IQJp@Wt|#+&=HaldP zt5rIUotWtlm@830{SHgtcK1e$@sViQ51^02Omd66x~X@Z2#OZ`X5lwpe0TTx)7{fQ zu%PUcGfEPX^Q$rsG@Opz9px@}kRi~5;jFx`7rQDZmI^qc(B88Wf8&8oj%N-%Sg4&) z4mY-T2_6hUl`sDucD-c6p4w9K78=pk1}lAZplu4ZG$N!Xd_6{sr4WB}&XU=!LDH;e zd&EF3Z|Z7(cONA(zbnbl6Yt`kw&w|zy`E;68Y8V5ew3lnM9H3EJk_0~w6wup!*A+5 z*H7*b6HmwKSK65yImyYR(`}}T4S3{G)kkf94!+WK8bWvAoiE(0YNovmGMkX+OIw?-GL@3B#L`)h!uY zG+CVXr#Cbe=tLtT@=^ry)kYdJob7x~rM3F1D}2hWQ(Pu%u%yg3!*ZGB=vdz$ov@Yp zC`X%pUy$2w-D#LY<6By+Tf)+6y}Zed~3lP3Z!sVz+L;^Xp z7-ekND$&?DHt`}1zPIHa+bq(>00+rQr7^;uRP3&z)n3x7RzrMnQwZg(b(E6OCoWnE zlNSl*`MM{ZK3w{ij;cRY=@t}0J8Y$epfop>S@^EG4{Tx+ll;<0wuFVnwdZ} zxW0s9+PuzRi__|Flgblm)oOj|WfrvDJ2t~{wox1c?4D|$e7dG{PvG)bZ>9w;W5}f( zNph{~FLBpC#eW=j=bf{uVX)oOb~UkpYjD0- zpJP^%>-}Ix^^T2#Ns8BroIBg8m;FgCu8Njt)LK*U!9r@HufW^8HRjsE3KK?d{xVxnpeLXOQ%&WPjt%BO)Uk!(GEP%Mxplf_yZD zxJV63Uf}EU0E11mhSBR9zdB}tZ!s%wYTGez(?4g>DK%)seYm~s6swh%{sk|rY>d&b zwWn9B;b740L;@vDFqH%Lc=W4lhGIFd&7JbIKf26Y^GQg!q=sOy``okvayMtB;-y;WVrMz$hx3+!2?Y-I>q9_d4g5O1{Mz zHEjuw3^hPNP)(3ydpOP-n6u{dyQ;Gj{RPC}YdquDA9g9B*qo_gU*}*XB(jaVFQ~J@9ag}`B?dSC8N^Q%absF}L4t$3?%S$)|0cQGW z$g^sQd9$~%%SUfy(3UNnK4!DXRC(O(&;zDw-W~5}m3gq&lZk(_;~W%9H02}R;%?_& zu_)bQAinE5!S;O3+cNeqX-7^LpnbJQtHui}Hhz8m_9_Md!P;h31J8!ogdt5eobK_6 z&PJ1w%Ir8V-07~g6{fLrcm)*x(VNpoRu~3q)8AGrt*2gz?&}c1C;sv+TY+O{xWle{ z@_9|LBVLY#DEMM7FlkzjGHuTA`KP&ko%+Ss5I?CcWxKyyc-!nC7$E<-!=}KXISW$9 za&-?P1TlG}m-8?1;7@cYPxeJ$;=2+{QA_>4OwMBC0=2lBNxa-p47~7$0vY^T{rpN( zEs;^lWgNSbmrJ*juOdakDqR+SUWCaf^^DxGv(atJ@ri`y3f?Ok}CiRgQk1H|{8%srh&<6&@Pe!qV9? z@AUL1Oh`>apjp>y(&PTRXS)3Y2Ha0*K}z#-ChMUhLWs9UCaYVm!uTz#HRli&n&f7$ zVUY{sTmwTT)Mh)VDPu=e6%}*c*=Fwur0rH?XCCvcrNl`<*PLR~7pi z8t$`DDN(WJ$^s4z#*FU=bH$y?Fy+1F?eAOz^)0pr7ZO=au~{uNBYVb-YogTcnB8vT zs#GH_5;;AfCapIa>O750nVzm3&U4ebZSv~KSr>Ap@%AIO`n4u|G=wl_<}3Zc&YQxp z{a8ZMPg7dQyR?fRC7Tbeb^>f<$TUosctAli>D+Nm8b!>C&R(S-3dtjJBGEd-X2v(a z+$7)c1g57}CvsRoMStCaSv@j$5(MuIyA3bZHuxZ020P|bye6zkPe9Xm>h#4{_NQ=N zU*lnTr4^wJ0GoTd;?*O2j6!;WUwW#g=8za;5;$nsJ~tq*t=Q(h`G<1DhfrQF zJS08HFVN0Yl+?3M)ohJ+F7v-w+UeQ?Yf`{57_`l=`0Tf5yDTUlBL@_a5Bkf%#H3|L zBkS048!!Q%y$>}%q5q!=8w9z<#&Ep#W)cE%=A}o@3vBC$AYoo-yGJCd&>G6_p1%q( z8-Di1p)HFYkTW;NE@1A(o%AP5N|&FbAJP{-G+-{DEolzoE1jN||HjxvFs}5x z+G%Ciu5vZQG);8K?1y#(m-?#)|d6< z8|evZ?a?;(EcmA2^pdMbv4_I#w|;I@QR;WqLfh(ft#p&K?+E!dVlSksR`tQ+5b?`p(RCa4-3Bx6=db5bTkG{IYy0yk&gD@QWL~_ddE_}ZF7Ogr9wO6i>ZrZI(cQYV@WcbHPk^O3rdB1y{{1Vo$RLSA&zazd zoSOo%ru!BGelyH2yVoe6RKVjO2(lbRN;k|_-Y!{ma@J@KTikR@ZKBy%fGrS|S|-sQ>sRmp4&Vd%CrEX{ zNlADHY8X2@rZVO*79?hTu0jpzlk1yi^z$mJixjA*sFa@kb{Tc_)+7DVi?mlnH|_n%U<-Tzb=0X2(b$ zESfNPT?bd`HEi=5Z_3z*O;jS)n|jaY;ACis=F0)n-Vs%g^~AAI2*n-DF*+z?Px_Oj zbrLx)J*Kd5?7Ie=;Mb3Q}TuXphW)(uSq;pX(?#4DyjcZJPb(m_Vb1a_R{=ZA^5Ma zsmXwdqlC+hqUk^3mDk3O5rJ^wqYd5!+`qogi3M_ss5gwhWd18-x|t8)*0}C+P^9@M zjEMxM!B|NAH$)*aq*>4bXfmhz`NqQv`GJ=xrUYvD&`@9?4J4-QWJ~3NQCvht{qQg& z1Qh-)a&r2SfGPa<<6~bKyVo^D1_kj0G4T+B)kRFcqH7sc$x5+V zG8N5$PU)X5ZJd~CC9$0@Ahk*Oale3gTL|=D{ZNEJZd9yEvSpw3@meB&R z@skeSg$5RQ7JJSbT}?S>I=?BohAxvjTGx8)lrfL)8Zh9T5YBAp3TZ*@$0=(+Svp)W zby`1yH_XAEea!b$vvN;$Q%R_AJ#*0pP`}71DEhrEW*d5VT0HPWr5-}`O>h<8rl`uU zRXvp(`$8|c<)|qsC*xaPXKjovN?C7rjpk_637YVNCumd%8QH5Db&i-SmwMrkfXYC&B zZC!^oD0Lj5cI<74WCbaYXQTiAGG*CqvQ@8kwwcIdfE|j!zhy~5@`-H5VfxD#1tg^g z&Ou%iq;HdX;T9TIy5~cDgazuKQf7{DSvZSILC#_K_o(etIXxB+@;u~FT$L6ZHhjb+ zJny2St%*fTg__KF^Z}n(T#o!7<*1I9i16Pz+YX{u=2;mZxNb31+(t6(1$rOZfZ81JX>xCxL!atrB zXL6V_GhJavktOqUc~?0m9%arFBm4szv~gT%EoQ}3MJDI1LJB|%R&5JRX)}68)Qx>WG#4Bds^nWj1s` zMt%RFD*|!8$e(v-z1?D;LGgt^Re@bvcyezPrz25iWpa@o$1P7IaD5s&)B%mkEH@>j zZ{r04!`IZq9_^f3;0g7oBolT6m3>^0_O${(;ar&uYL*oCknQB!)=?w5-x@L+hRhyP z-(Tx*gSW{_9ke_Jy1z8k8towGYV5eOq;R)rDQC*_5+`z?143&oJ@`%~w+4;tUoyZl z3Z5A$KH2;eAGB_VDDX1}JKUrPZ6WmS_3xrzh#2JeL!0Z7ut z1Qe{NEv=rEm|v7!O~KjSgM<^LMkO%1#JvV z?g5|jRpeFuodW`kSKS>1F2j=1?w&c9n9Zq<@MX@7wM7F>7N+VY$?KWrLzReAp%ZoZ-0NSJ6IH&q4~0Y1(xl5_#Pqx z9Y$kA*>7;h(&^vz%57B}d?~qsg{y$!_h4~JhsvL1UMFepHk$_cdP;frCMPU@GC9CO zjySUD@AuVUYKB$mxCOiXJtFy9PqC--tk7Ja!2(H%_0u!CT=oYbokP|T6g-^1gBQDJ zALkBv6zcg`$5!A(_F!d+(8)DD6z?PccCfy)05aq?q33BKyP|2K+V(crwS?MClwejJ zQGxm2{ndlAC%*n$~h0kFVfP} zt-ipG(S;bP7%bP;XeY^)eUi;nip=U3x4jtbV@oaimNCwb>C%I!{V&$hGTrF=wGKAuv0;vy&JLz)O`2dEl9IR?~y)*BrTF~cozqzfn%jN=VP4XNT#+f+u^`6G-*r#xXJRLhH&$0&_ zVKQ`08TSp$ce)#Gtvi26dUIj{I`cSMsHHYs%P(diK-KMtJVP&j$)ci^29(+V!*}5_ zgXwJ5I78i8f#e?=Y*0EPFB%v;WlpXpdl)>k4(3d}^q|P9Za9w`?>&kGIhzdeJBFwp z0c|izxAZzO9A~PI6MwtL0M6Ci(FC3FXPf@Nm(M8~ zfb?s;SE~J28;YjDkSX1s=AZocY0rPiH3IL~o6scj?>4BV0h2>Q$Me$*b=7OHfY07% zDB{hj%Fe&r$b5zz?(`LR{x94vi2vr9Ls#dK`ah-8Uz^Ee0XjqNaWmokKQ9fCf9U}4 zx6!AQ`R_L309qG?Ook@xe={^~NCNNYev@ziuQvW48EgoZoyq@9BYGOYfB+cy+qcNN zUg(XLk6#4V0GWd5_6`Qg<*BCZTQH0wH!!g1M?Z5!UndQ~YBmvu{Mcn00W#Kv<*Z9M zJB_Xfy04snq^5?C$0{0{7zKNLC{vLqmYV>UwPFR$OICgmKN+F!pVJm1q8z0!dcbNdQAUkYe%5bDwk+ML+H zgu*z{3!#u~*e$@FHXPcXeELSnLOZS%dYT(70q`^&n*cBS=VQWQ4^@{~&`%nQ}F)sUG zn+I5KMjrR;)}-bJvlA){cse~j#lk`M|AEAVLUS+j z1rqr0eYE#sqo<471m(+`_3=YKPK4QZbdYVtDIZoBgg}aeMq1-Z$%p znBbUfz00Gs1x_63y%M)-+nS9PNk>gg`Ol{Gbgblw?_>Kz>c`&)NhjmaGN0MI%-JSsr|WEvG69Re_cJB{8$ zN>0lUZQ8f#-5D!f_q2-vge1dNL%A>;yBlC&KJ<|sc9^<5W$1$&dqat6{q5aU3w6Kl z#8Xqb)QVtH2g}WfNfY(;SJyuzGCMuWhoYFxL2hY#x4a!}mG-JZMyV0+HsgfBqlIffs1yc^xq6=f{U~cFGN~ASgR87grf@YSn!lWlk~Lc&xK(J1edaKql}w~H zvnv;=_a$ORg4PrF)R4~Tw9^Cz4Dh(oSheA0N@%#!57jHoCYnzyG%zO$$LYO4K0DHU z{*YQ9*B!|l|84t6v}e@A0x;*zkkzY27iO)pL4FLnx5h2b*TG);n*}w~C8o@^_TM6% zw7uT{5smyT3gqa7nNL^G!1@bKrl;PPm)p-j4fB=gt&uz3lOWEA*FD;jG(N1D!1*DS zTh62qn=qA?m8HsUPiB&^S}cZG%sDNuTc(!86|a=H+M9cUD;KH-iU8i`4k;Qvyv;NF8<(ebiqC$%=@i_1V+bsL+-Oyv+L6}FN1X_K29*8y1S?F1}8j3A<~DWq(n9^ zrlLmoAXI@uN>OdsOIU>ZV`?D95ON}4sf`Axm2Opkr{jLUBgTEQ{UA06>Y}^G!o&%M zy4YK7Y2rC(53KP)mnFxS`f(lYk);MfRNi>MW_4vS>J9~d>!22F!Iw|9nFlT5_9N;QuHg(c4KFe-fF#2~jC!6-KH&ABi-_|Mj<|ux zSc`BYun}C(rND1TB;jjcs6y=8X{cS(v1;_TS<7B-=}OCjS2klYSB-o@_ClRaGGXXbzB8|5{m>izL-iFjo~rp1FD&bpxWqbL zvH?i=Uzr^D7Q9go1zkB_t;KYnD&@zMcE?a~falC`=Xtc@^- z_4Slvr?g$+E*p&poN2Xdah)D7kQ35_p_ayL8v#Z(*3$F6#9*2F#E!OA!9jiZ(1G!| zWJ&mLz34boj5IQP0nmpQseP#=UU)N8DkjX5h2S3ht&nB_&j$`4u~cip<#~OhqUqTK z83Yrldl*d`C{VBfoOm0;{20-;;Kll{8%!e7dm!Ejq)_<#Vs)h}y`=^dvBOtHvXn-z zD)en|XlSO=FKFIB{H3PWp&BIbm1#iMi9c#qCf!m43^w;&=o{N01PI@bd$?Q+2SKJn zAE&HxHW%O;Gchsgb)7ts$Z|8#(n8E|a2#^?b)9zi3tXyeNI&|NXRMW}UUi2JvF7^b za*||hM+lHbug7Upa%-_K%aHJ$ZZ%Um)+dXJsC&FfVt9?;4BeDDz;er36#+E!o*SJ6l3b!NOJzGA})S z=x*bktYO>@K3q?^aUbk5N4kTVqIWK5kTuy$K?w#>R8RP3HUB7^iN9+`F3 zJPP{_=@-9l6>qV$Z92w9B?X+sWYvCX>_;~{pN4gQICx?=3*O+cS`?(s&U{7!bi{LC zooc97J13zEDraZ*sc?k$l*-X%WSYo++x^98n*O|HoneomK5XhwS&O~1={wdty!P%0 z#jLwi2rTlr6#B}R{#8c$t1sy%j-COZ#wCG&s$niyK?n*8B4ZLn9?bPeBiXkfupqxA zV^NTQ%p%$f8UnpNm_bzmLFuoq&fopvyg`DVi){|aW^G<)S}Kuo*|r-*Dnc&nP~(1Y zqdr2YNEwIT}?ftD@au;46Fb&(^NF4A>{(Q-M$Iz8q_sF&kwY3@X|OujUdvDHw>* zJd12?26O3m1@TEvdytX&R)W3D#}Q=QeFwjfp}|*Y+AEu=Zyi0wSM&}wI<%_y6Qg_l zWqJ%(+caz5$A^R_tac@ebUeOlkH3+JQ*(c7Ay2&W%w_;OiqcAgMdxCKiU*uKR5%QOSD+@R;k z%c_!m>VNIB=RYz+0R1SJ7*l-!AO-_cFonFw7G@FTe-7rZYBI6?Q8^*oqLGgvOMYei?=*Vx;D{p-9U--KTF}9p>SMqDTJv9R+FM0H2&(@Uv;R8k(K=VwUlt zl#Dn7Wv3>uO0Fc(efYsf$3_jy^I#I5LqdF{K&ye6O42W`hF+Ow45D%obPF50;Aq?W zpJ@JInpdQB4u~JCM;nSnIJDu>>A*du_{Sb^Pdb#wUV2c50s{jhEGo+BcrfjwT7*V` zg6%pS=SgFRL*w4?q06AvT2=y1;U@cqtp^BL`Ti~Mrhak%03^7=-UerAWFG)heBVM< z{QkIsxZVhU-j1M}0iZSuhPvoFuZrWj5|Fz?2bc^>d#?Ev&yqkc7)CC7*r*#km-)jN zK?jB4-9u=lPfm1K6i1eP)jz-a!YF=ywx4cKb8KHFM@D9Q2mM!XZJk$-k|a3x<#Au% z3$yR@iTQf*ZvaEAz)=+Q?SENX2*EvpP+mI&Lq7I@{GG3D#`!&`_*Ki~W&Wpumu9Yk zP##KCeZjZ?&}zN5uJ|5!qqsHB-1yhK|M>(6hXH!P)3QAIe|;^-@odFK?EO`L)>8iO z(gCdVlm8ztPB_h=k@?JD4772L=mVbN{q)P*O9DNepZ^W`_3NB`mH=p$#l&~mUyrnp z6mtAPSPR7$pu@g`yRhrK$HrCi84u&&;OOq|_NHKvZC%e<-qA(QsRdp=@32Cp@A;I@ z5JY8k6SJ2>(APIWLM!M}3TRX%qsEL$4h8sb|7K^3$HwaZi3B=%hdPYs=|%nz_C{_H zqW_};4=47?C$r%%q3<M7RZ0$Rs$MTdwj&#~p?uLI&#A0#rc=71Kl_I=-XY&DH zxZleoeNi(^N!dxUm~2YX>wo7hw!kEMm$OGtUpqrU<>uQk%FF_unq{(#I{!x4*WpDE z0ca#X3kwq_TB?_YDdtGpDaMtWnVj(H>FL!*d=`;`4&|R90an3(8HCZ3-*A<+v=A*L zxpfp}e{)g=2lMffQJv*BeF@iDGXm2JP4eg9wf&9H{OW)2r}GV;$CAh%^ygy&_v#+ifh+PoLa zGwC#@uohrIK|m;kp~35vB&B}@m6ar$8Tto&e-tO9#(AAaK0#ns|1ZQ1bUZj}cOrkq z3USfzkitO#Uj?2aP3p(G^++RdG6E{|HHLtIK!?*_!^?W(=Xf^Uptq_2iT~KctSfk* za~z=A?+(95WjY2^VcD^-=v;k?0M2`S*+vbM zHqACcA)#Ky>BQ~c!5$lov_H9brASqdP@}zuf-)}(0Fa~!A#NI_)cD#0YK3Ke32!yKO+7%PlL=cdF|bM%{>E3x53Q?_XcL4c{-dNJeidb2LQ)M4&Y0ad7z zjGh&0N7IxinK-QMZ+UX|J+Qd)D4!i(t}7Gf&%+6LI5tDjd$EusyZo%_`=_#<7{+sz z;BO#r=(9)@z%%W-P*bsHT4f%b)g}8~Z5ieDE|ZJf#&h2AzgD?3%P1d#5vqMeg#u_B^=V2p>Lzu_EgTgySQk ze{-#`VCq@IWuVAWAtmR8dvaeZuHJh5e0<|uj6?+<762jU4N>d&22$Kf&M1|X9~`*4 zQoP~bq@EAeY`ALLuhg(RGgiedTlX@V`a!J%7{lhVp+-Z90ERXkT%dflo-W&xHJ!He zjsy33_n381wRliy8%}Y5o7L95KaH1XsMIZ9P#8j20cy4Z|C8r*xeJbRk+w;@ud8B~ zG{<|Kk8B3lB}7=!Oju@9R_&eA8b+rC;YnlJ-HmkJJh2Rp;1741y8SuG*Tx;xiYikq zGexZVCZ8dLLg+2b<}S6c*fR)3Be1?Z;IN9+{g9KB)1Dw1 z|0^$VmRsQAZ_?P03JRQ=yZ4D}U6FXQiDQHB@C(vyNoEI|}2`^+-vL~@Z$jrUne>vM&Uv9a;1&*gQFe|=arEfK>~Ax(2x6$r!QL7AC> zX58A`I{`|XEth7e2?@I6Zt{BaO%^WsUtg;V`v)dlur0bK_(v7C5FDlXUGd(dA@Xoe zIe#gtIkio3+!e20UZts*w!AH96&4vJ0i;K2-BmM&p@^m?!tI4*=f!I2&G{LF^#wW~ z%MFW&2pJ6QyUr4#59CgplS}ttzkU&I&YPsU^_+_f%@*D6co6|00^orZjb1Grt;Avw zJqY8IlX5>;qPCz>2z`pkt=Y$l^UaJsUY81~H3CeIlRyJWn!aE<>AVERF}CQ$Y3480 z+Tz0BdeVOFF=cFS>CPWWGj%>2F3V*!S)U^k=GQj6_Q2AhEvy)PdztlSLTus`t8NBie z)0scVN%7dsjfS=>3ku_G>#5u8m4;N))+VxSc);h#!iXI3z(>5lp^~+8rvL+bO;5ou zFuEb8Mg;rg4eXERQqo~U4s<4_5pt8(Gb9x0E>?ycS;)|~i9o>m;rmMnip0Pg`!4kZup!u*8{qhq`sUeP$wK?7Rw(F8ci+3FM7cO5>~^ zc&0Ae17;(do=S$~#iFw+8Vlq>8OXmf=OWw1_l$|2U+0h%7~oWUHMW-l=8r@v=@WJf zhlyT#eDqx3z^tB|OuBNS-95M#7R#ROuaUKlZh7 z^%Ai9TRBl}IFNC5kQ*NeF!wOz>2Nljo=10^7+mVx5%G_L@6TdGtl103opK0jL@q0* zyE{u0?m`Od$Uh;8+)J4I&4Kjo#Gew=KGylCN{eF~%}oOFAAHb!C_Oy*8-Fn;J(w5*m9NVW0~C*v`{A!=(4&6+ZnVySbLNR}_y_Dj*s}NUZ=k5r*Z#1D|{y&JplGKZ{V{@{}PIPUHDaBu1Vhz8DjOVx%_z zXlz7fHRceVmWXBL-y0S>Y`7zdfRLpBvn2j~``#035jPqrufjtps#F$)Y-=8f+TK7rwu^}>^8zmLRIy|MP zv)mBg-iV3pjmgoaRu`*Q48kB>lx(*zl0Yez1FL>DQ)Mw$yrGW#-Pox!v;B;o2Wv0a zkr(OKwqq#l+Gt8_DT>6!8o}cmKhpWVLq1-^h?vh9tjwSHM&wv7YI7*siI^?X(p& zbFW9XV(RZ_`T9S0)&9hUf8Lk&&|q-UhZ((`|D1=u-f;d?OYYE1MXDCjBO0y(_P*ML zlAFc{GkeV3y($zxgE0ueMTM#gCVv=b=Ot1lxQ9985> z^aj0W3aRDRChm{A8@%+yZ$SzYPd=1Ua_P6XwSQLsOr=$~L$r5)8NRSnL6bh@9R-Qn z_h?_Z+dGYf77FbTi#Ni7>4-E?$RJZRw)+*Y&CO+9o-`Kp$OhCrJUi??c8H78$ zl?6#J(kFu%g0xcnjB;L5#32hjZH)nfB_c)E^(tW`1CMmM2?*`oJDGp|@O<~VI5>uy zSY}r3Pt+N0#@kv~RSSy)Se!fu6Iw`%PY6+cIrw zB;XS$51&*wo|B$N#E+KG96w~#&jLgR+}BLptW*hZR{xdm7BK|x`= zBp!!63*%c2v2pP~6L|LmUi8sfV&F*_c!wmw*#L&ZE($?=ihzO%cX}$Xq!s{Bj83on zcr~Uk+Js3Nf(l`BkaCOjg+xRG{1=pZJR?+T#GYq+I0VpXX-NN>_+tw+&k9rt|Uz5FqP&{Brc}Oe_R<(imYy$@4J!qNYb>B9T5K2%XV*w2r2I`^CX}Z{O7x1%)$Fv;P+4dT)fJ@e?F0hftJBt zufKBtXOdo~3W61wz-D|tb=iMJ(?O}`*lp&?5xjFO9_41wiN|;^-D9Z^c^0DvPBBJDfoB9 zf#&GUC1O5?r686BII5LDVVvrULEAL!qwmd1&@bXHzUJ5vc9RS4cPDbG^F%(cZXX%c zua60pV-v^1ugeZ)8ylSZXrsPUWS_sw4lK2P z6im{DcFNOJ@t`ZJU$yP8xqwP>YuUIy=Sy$JM$zB3?e+Is&p~#+FNH>?o-=2y(F_sn zK@~V2V52!+UD6gZ75`9B83FG*h?UE#ZFeDSeJ0JCO64;^ofbxD^%FREd8n!3Oj2F20m{>e)m0Q^LNY8iM;82tvj*pj4HIM> zRI48F*6qjJtcTggKcf38k)I7rYYJ<^C)hV)V~!_UBai(E zG+|7%OhL8kmqPi9#bRGIVIrDba1~^C14AC-rmI+{oYgxY4cR;Izb2Zh{TWNSSanda z8C7++vP)XSb&$C_Nkb~hvYTBje#eFLcgZ4kY0|S)_Q1Yda*qk`1gjs=0e!ql`4PqW z-{XXnKhN=^B!64Ey}n0Rsu#-^|{w}#>yRRdsD9;o#V>Y8W0KTa; zPDRTkA~GbTJ=yB<-4frEc|Y%iV*TA^6RCag_tLda2^I^Iprw4-92!z}0cD7(eG>p+$2D*YDyQAD}|L{%dm*goELCK(ODE z#pZ}*B`X$-7gK~2?mUA}n_f}us@c&(9c!GB>?rixFN&S~JvubCd~LB{EQBs%6_JfO zF0n$Zypmk_?}N-7`hvJ&h7W9}eGPotmw^?F469__`2Ml5!9nsGYF4gz$v zu8sRu0jg1q)EH53N#ryX0$U5o6ujQiD(mf76LWq-IcYO!Pc{ z>!_-l_y1eCQ8`E>igX-OS~{e=rMpwQL%JIe(p}P>N(zTK(g@Na4bt5_8}Yt>Uq1gm zth3JAYp=u1?3wp9d**drGxGvym^NVAftk1@T70M0%yFzCiP{!?-0U%qX_nmsZPR5K zvz@nkz;`#(K~VvPLRS`2d37CMJdv8F<5fPCjMwECpmcYw_OkX41qJm`XamlNvy4I8 z?b_Q&KcP$R0r}|!RW}$3t!@j_T876HC5}h64Huim`=eNBn_2|5tWFKPb2u~C!I%3J zh7SGU+aNq|-(aGKr{sCYi?enlPW*g4oTqLxc9*j_G+#)7)vWld10JAakpi<;(FmL% zcBAPf`@UpssbtF%tlfe0ms&orz3r1ghK+lE4vd~t&r==d$U`DR+J2We`^3HL)^@pt z)l5UBE#&3=kfMer&;y_dIdvsEI!Y|R^Dp#;Wb_Gswp6?lnU+LP#}8V)+^%Z<+3f8B@*~?y zwC$%lN`Zt-jc{QwRJFRsROUz{$k{3}Qs`11M~5+yQi9pknlw;LJe{!)*k6)asdyKt zcDt$yrv{J*7|bu?TYk_Mjz5Y91_Q*5AV#CtjNOqccdtYKdGgFdSs3;Cak;lKv?W64LU1k%P}+u%|LI8I5!WiD<^s;xGD@O)#b*R*^Te^zW zDe@@bdPYq|FNjQ|3L~d8FkO_GZnfC1{K1eq%fqF*-lz(M*dZc)v zp`mqDd!Ik^^4{%0jGu|i&u|lHVqP=Yo%0lzlx1Ets&X}8>F#P&1DiMVQyg}3e~)pN z^iDkrrcV5DjboIW6tH*Uwf(I@F|%@6B#%3N7Y$$afQ1z z#nwl*h%14w`+CUSeEn-T7%%hiewyc_Kz&}pCT`{kKe&zCe>hyL6-Ae6aL-L83dr5x zUuS25W@z#*=pIo@Z$;bN&^CNV!Y+s@lT@$zq!>X zs`;BltTN>z4PM%W1ie#URWTf=yp-1+^GVLuAj7rHQV9rQ6vrq3rTzAFIwDh?kSO>f z%w1_&iPYWp)BemSDUQUTKoJyVF(D^^O9v8T1NfrDVsdaX{OgSG&%Z6Rto<(18}|46 z=+(u)Y(*s)KT)c$`%_PQ-G@n&&fDZH4FNt77}aJ*Jl_T;7r=nij1(Q;QcUmz&%wbn zc^#c7Vi>iZq?z2w+axuq;pI~^3CZ!rISMJnUQYLtvQKfT5M*_(;#n%9;+fh(7;k{w zTWz138YO95Z;ThT7r6EFcG1$Qcthp7VdhJ~c}`GuQhq<&*uB$`@pkg|!n&`x?AM#l zJbQdDOD--qxM-nkM!)OQ5>IF58F!P`mbL1U_FP43n0E(1ADG-ehP`XGMhnsGn@Db- zR4G^Ugy#7;73tVjV5Z!(2(_1=Bo7rqhb!fQV|S#2GxZdQ_0jz68TUWLpAzqXH}eWv zb>P@^{GwO?h-yxqW(PmPRkNKuKuTp7(uApdDP$nncmB0+ub?-`0wI-pN*9}R6Aq@S z8$x$GW6ZJmYnmx3EOnB=IdT1E?{jeOq#ROf z3_me2VFKk2XP4fOzXjX;+|_G~8X9o?g~4VV%F2Zl`s{l0n~#JFa&t$)uD=tMs{7#* zQggZ~C@BrP2WIUXTrsD<6qfZ~mwhxk0&MHJ=#`YL6Sqlk`qcZSBV|yU)Cv79DFKlL`|tZDcMX)0twCzU30?R%$v>upKE2j ze@6ydM>(*>!X`|%Ez8oAxm@vB$+9?{!8*1takXrQ84l+K9pj*kk7!{KOmFXocANZy zQ?&V>D~z1L$cVzNd2{CeX^Z9!;j3*aM~&w}o(w2C3`Bla*VsMUn#AF+SkP48hm)Ot zd;~f}gS%P17*rd=ydTgP2GU7cn*nd?_K};y#k&= z;bzX;m@5eO>z{4(Shm`gzuSEAIa}fLdy%wb^NFJM$;6f}baj3NiM$x?Iq1@G94jN~ z5W_2va1U7J<$F0UVJ$6%79PYef))kM)s5&%>zf2L)$w^u~|Hsp9}BKjZ}W!Dkvb3g_v=Z*t+n#M7t4#T%?mDCN`Y2UMsqnz8O)u zYDD!bxQ6d^e7wSP!+ul(^QO4`hM@jx^QBsgrLU`}r17NQDdgLx@o-ET`r%IHuthw| zz)TZCg3b|dD)Vn)=@ceSl`F|MlyU9AT0FL;IMsPZG{{j1-7)T#wxfK2AjgR8PV|i; z1lp)zqcZcZ9QxCHn~g;AYsrq6+gpjQ$wE@n&xw>@UWSSZawd~|u6VAso+fKWD8>H$v{)oJ%rW*H)SMo3U&4psdv*=x5-d%T6I_)NpqdmVo!axf>(& zsHauwL7V1@r0qgNeWTOazjUYPr>#_ui@ukCv)vCfBaA@8*B*QAF$}kC`eK;d0P&Cy z6HyvIzOPT(K~8^hbh6Yv6YWD-RAk&XL|paV46Q`j*tdUi*Kfp$?QbEmT9GrU|Jdhi zwYzYsu~<^)-SQ{Jyp(W_<9=S?pI^r%T`mF~#vvjqiVN(5X<*NPB(Z(L_-#GWEY)j@ z`e3hJze};w2*zw=Jp+z@GQ1Yk(D!4OQW`&6opOMYFqG~f0up$DAB%)RDR7`C;`z3R z%5CpgLU@7%kwZ$E!<5Mf!6r9R@w$?j9i*JfkHeaCtnQdjQE9@C@I8q091e@yp zShZ4nEwNuMml6oX+#1X#vvOE}e;$GV_IdcS8(Av6|Fib54iwq_%4jv8RUob7_X;oN;@_0FR9EyckwBm@~oRR-}S z9)5*{MP(b2FCqV2)0#6OM%APkl0t-5%y(-|j>{xrD~Qa4AiJdNub2sC3oCQFVUie_ zUv;;K*dR4181%;ws7_OkQo6^xUvmtDOv8CzOJYz`!S)^tBlBMd>hx+@EB)uppY0Z# zLnWeF1V3w8(tcVAa#A;>sPzy{*#+Bfff`taQ*jnCQ4~ftZ6Mw4$Hgs-MAYIu!e_Gg z5HZY$4-u19GQ*2rt`q40L!>v+#PEu7Y&YI6@qN5}zsR}I^L+TnD^JOp%aegEL&3K+^xjn zDs1(u%%_;JXK7Fm$dCT4$nJtXi$@@a9t_AymKn;AWGN!4N;t<+cv*ZW?s!vkU%&(gFEf=n zD}PzzJsU>fyUWoFaq_?a|8s$;1^*oE%k5l~`UiXcn=gDikYgJf3HSfS%lz=ZQUHjw z?T(6n2qN3=K;#*T(bNA*e0M=?3zCmP*qIo%|38HWh^Q-&BOG7A)_rmR{YId_L!SiP z8utSJH(xk8AjgH^7=r)z+(5Z~+sJ`OZ!i?={R@@u%T2rhnt*S4`Zs0%a`FZHFYZ?J z6HIpn*mHq@5uPU|olCrd(PtU(=W!RzK|9=;7V* zdRA<+tE%ARuvgYW3W5S7jb1?$cz21dvm#(BUSze@y$F2lX3Lc}!XOFJdDF0k2#WC` z!m|BlQcc1}5BKfcH!6A>bcK;-b;9Rhud5~gA9od#$$&Y;SX!`-!!kOSRZ#IrKp_1Y zNk{#~;^04*0E!$sMA%&3weixShbUfY0Y%gFHQ>0PSVq**hmbkmObHqsO7Q z5s&Ha+{6EUeBX)zzO_LVPVPSt_dm(s2>JLyy}SJ4AKFF+;PW0?3rZ!pqj3N4b4#Lk zNTm2b&luyw03Q|fgkRV8da&B!+lUn@hgO3^EpC@S>#Owj_cG!+#X( zGHd=5I6(Mm{nV~`b@6|_G#rjiPBXkB^_?i8 zf@YQ>7||d9X~*DXoT&z0R|~2LN*|!zor`e^8J(avpR?=gRIIBwl69O&MU`?t?A^>W zSzRb`EPG^PyNknHLCqNcR4#uCLh3QF7f~pV6AYd9V!OT~aGG%`Nx@mnis{!HU&opqa9~9~Vmmi+%K7uw zs#o7895KDe7sJH+;0&R}!|oYsDVmK13Rl3R6zNymsqOBf%4-M`GGw~)`^Nl2Q$bV3lolnbX6bC2La$rQqvCSO zGNQ$@VE;3nx54$V$}3dQ#X|5<9D)|9_`8c!A!$bz`mbk{JyVta0j2`Hl^0L@Tt(>` zmdd6vvPm?fo^bg2>D6j9jzn0OhWq7e?pNLSp}vNK{AE8VEQ>1b4%N$N-?5~UP|#ui zl>egk+m4w8H57$Su$@f!$Q5gZ%w^2DexJp)y;}0*Qg<%uT#m`+ zC#8Oodyna3pY0x&ZQRs+S(NX=;rcdZH{JbQ7XC(<->Y!Txv>fQk40>&Cfn(JTFjn2 zILuTy{3fdDY7Phq;8-XV{1e;YcKpi@tTK8@Gj(ot{NOr{ zicc-{BJ9bM71fMZK&GBc0R$k8)Kmb?_FH7qMd% z)&Q>jI-~L{03wG81}Y4gmX%=IZD+|uj$bUJ6Sx~NN8ReVUpa^YQoLD=i?q7aG+&U zs@ay>$pY@EDtjV6-f@YMXB`nXsbIE;!dBRo2ntEfT0?C=K|2W{P}!G6dFk|vdD~2Ptga^Zl1$&I zWFLv(N>u2eT@S-I>-t35v1%2a>8qIV$Dl3sWmNm9F#O4~TQ%{vT~Nd3{!%YPhY#HK zUa#&PsW*4B+!|}J(ac$8!**TD-asP}DYr+)e6S7cuJ3&GBb0k$NbFk&S{GIpibtvk z*0;@}epzZ+$!P2|nw6edaZD?CPbjX`YKyh0x6?Py(I>3D+wgl?m9hlI33c?-&tGS- zCGu|Y91x6xIa5gLFk7SeBt$j$QR7YXxDp1~35C}K{e+&2SO-^GGOg&#Y^dLPokkl;*cLmJ=Ds3+Y zlinM6eqLT6WicL!!h*hX3^qXwfxLZT0@W8u&eeg@FODmaF~7yWPAC77IAMYgkOtl>A~K6g{T$H?uNBG=MK{YoevRl@_hi5?Gb{KEe?ZkIt`Y* z97j|TPl1cDkZWC2t(3ihWM8NI#N!Pds$!FkT&<39mJPSQ=pa^50Kkmjz{buk^TVW5 zt(d=|MWQi!g^w7Wzpu%%Ps~V`)@5lxO>zT)ZjNhX_k|MR!O z`wql2$VXQ2I8R?gv?&qRDx0s3siWlQ#9(E9fSwp&KAA@tsUjk`!9N`8D_g_svg@QX ze5BqHZq%MdE{@q=S|wd7dqqHs__fB>(usYgOarQEB|)IV+pN%DnH|GIuLGU1#geSk z6l{nPJV4}O)fgBPR?p9wqf14Ac}WxiJG<(fj==226$gTVNZGN`=|$~i1l8)uIo(`k zl&l}CxmI-6I@Xm2Ei8m((z6n$b7}Uwqx)kO)yjiLNK*AURy>h5U~~=yVb|v`U-lZH zsig9}r>LrSPMmLU+u*;9zc}lix{=`V`#YR-Cx=V=VNswO!ILA{3{EE2Vc?{?utY;y zVy?ffU1Agw53dAe7~+1=t_bq+MUFGL+>`E zo-KV-9BwfSnsHCZPoR=IO+UJ%hLohayBd^R)hRj}SRYUrVU}m~Lo&I-ZOVH{P7pEp zNyCu9N9MhJbvb&9SunC;#abkkjIh`MJ8cZ9FJ=Q`>dt}ZWxwn~4VR3nz;lQaM&&PU z!U&fzJOF>-M`mgP`*&NmA?!j{qo(bNq!mYvNDSH=(pGGw(skpiVWvVnT;HW$6_HFu zxyL0VL^sBh-PqXsK|OMG82WSeBZe{L7Epo7F8rn&Ps8pboevwVGp-$j!+fj+D3FP{ z6eM17vpLJ;%Ri%f-xE-ek*ZKI3qrf1<3UN5AZ}MIS(YRXQdFx`6HEjYA6h~oX?in{ z`sq7Zs~PtzjpEMc2RAPXzQc&v?@hRtZXWq=1A#w_V=c6uT@rb2N%fUVV0IJap~qjj z#y+KVNkC3HMq$gm66wZ}^Db0}CJ@O8tW|o|DM`ZiE8f}uV=3v zCKfbk+lQI3mLOv2J00+#ogOM%QgoBCk>UREegj+n9MBnvGdypWeCnh=R!pGZR73c=1E6tK<6ka*>S(bqX{_!>5iB2mN6hbx?f$xpN0 zh>~YY2M?$cuAY@PiZ(IQp!dCNG6-%dj}7ME{BDRVt6Why;cBYns{B&LFrU_;gb;l@ zSW`~|^X$?CJs#a)t6w|C#!^W@fszxq__j(yuz4}U_6L`gO9CERu)Rf$a??+q##a)H zvmr6Yo@1gif~t761?W5t2Qho4EN;|ar7MIwnv6UIOqf&#`h^$Q)s`eCF9xh*mka_T zDn`84J7{@d7t|W%ovexbwbT_#k$ND=_b%Oe@_c=i(?zo7%*PE5YLC!@s;68DQ>Jxo zqJ9`gB$~JUU}#l{Ia{e1qPiEkHA!Z>0L9kVkvIy0l<->1A8S@hJpsy;-?&15#^m#; z!z6S+_b?F-FH}lV*5kf&tRNn=v~W+$zR3+|@%2IY$W`z>^)IbL|0mf6@`P;38I-L#HyK$10+>{MzBRFb z`p(Svh&{EMloNBE(lNYP+OxlwaCVn?Gn|;Mtx^*`>fBlzAB!Bq{L*vERYcffP=mGB zYK3IwpB642cp6BbO}gv1C3lZajtt${)<&`t~2!Pdi=Q-D|iLmnK2c)&<+tYyv+YWG63Xjkp$3Ac@)p(LwM@N51<{iC%zO9(T*;F1V>cG(yt$)9X=pL zb@8b`Kh^^_nOP1%(v4!WL9YiS(}xH>lX%}>AQSW-NV>ZiQUyrn(bz}R)(5z;4GmE~ z=Ik5s5W@duNto-!05ZGS?5UoAkjTQ*JCde{ZU%o(Hyq&U8;tz(&PBcMV_Mfa;nVrP z(W}*DhB*;P4J7Cu|G72`?GXED1%cul@f}>;jPqBtt>s5-eK@u=q zF5Es8(rfOSw9cPtan;s;A7&jH?l@w3ZH1JA;)MkDb>Hlloo0OJF3EJEyD4;Yw9l7o zvh3W?MM%Z~o@{I;lZ^4pJ-x=S6uT=nK%0-OQ-A#8SJ3y}kHKM(XgdwNN4U3?ne5)9 zQrYD@ClRh@@-eRBdue~f(6)={N*{zgdC-`ZC2*I+CxCDNJUp$Z{0hT|q-XZAJ!nB6 zgbzRy?uQ2AJ!lgj1b06`V{-B)c=y%!-}hUf4bPzMk^kMezu*-BL`F$fjq;!kiQzJU z*7{)ZOZ4Gw-}JkPXRJ??PySlSUk&=m0oL)h(w6MuZGJgGPaB}`mi`a)F5X57m`8?M z!^elWGbsT<9U&Ok2|NIz;DuPgKICX;?gPaCGpQjgpp5Q*%+n9d1|Z!MnN|V@aH+DC zv;qg;NEv{*HUM?{z7+z(WJ#!~5K;4mEgQoW^cHIL(iLW4PJ%rR; zF-C1UEc@m2W}z4O_{eiBn;v}9TTJ(1TH`)L6^u&C%3;LjhxWrr5W@1cjdKmOzlxkE z&U6=W^51-Vic)$~4!5nNUo!%z7YglaWT0_uK8?(vIDr80TnCex=2!k>-%W(EXGM5Qe2z5} zT<)1PsmylGK)nImbKzFn?MJ?h8_+4>nqvMFE)4i0yx{4paV3R>c)v@9D<~?Gy~Mh{ zywSex(u^?8EvR^um6atL0|d4uPb}{0xST5LKf71{HiqrDU$!{q;`&~MM_l$S2Ey-m zD~N~vYwfKna>bPgU7E$sBWdq{3s5)sIw-z+S)~*-B;QnnD59sZu<+*;FZaI=M=3-z z@v_g(_@y|*J4A8Bc84QQfn$$5oK|Le&iL-E;)oFbg(DTD9*f{41fMr^52C-_hkbQ zJqGOH>m$-~DSi+Q17W_Ze{&(*M}@z}+$leD-vaht~K1KlwID zQWA_($q7ze<$o+0nES7jaJrlD{7;9F8IE|x=bMXD^$T5L=n?QIAtEbWCaCB4{{g@Q B_zwU8 diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index d328d61332..f4a021be62 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -64,8 +64,6 @@ Notice that a server is disabled by default, it needs to be explicitly enabled. Tools are the main capabilities of an MCP server, they are the actions that an AI can call on the system. -TODO: https://modelcontextprotocol.io/docs/learn/server-concepts#core-server-features - There is two ways to associate tools with a server: - `tools` in server configuration lists classes from which **all** the `McpTool` attributes are associated with the server @@ -87,7 +85,20 @@ Ibexa DXP come with several built-in tool classes: - Ibexa\Mcp\Tool\SeoTools ``` -### MCP server session storage +### Discovery cache + +Discovery is cached to avoid scanning for capabilities on every request. +A PSR-6 or PSR-16 cache pool must be provided for this caching. + +For example, a dedicated Redis/Valkey could be set up: + +```yaml + discovery_cache: cache.redis.mcp +``` + +### Session storage + +MCP servers store session data their own way. #### Options @@ -122,7 +133,10 @@ services: #### File -Sessions are persisted to the filesystem. Requires directory option to be set. +Sessions are persisted to the filesystem. it requires directory option to be set. + +In this example, sessions are stored in `var/cache//mcp/sessions/` directory +(for example, `var/cache/dev/mcp/session/` in `dev` environment and `var/cache/prod/mcp/sessions/` in `prod` environment): ```yaml session: @@ -151,18 +165,41 @@ A PHP class implementing MCP server capabilities like tools, prompts, or resourc ### Tools -The [`Ibexa\Contracts\Mcp\Attribute\McpTool` attribute](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html) declared a method as an MCP tool. +TODO: https://modelcontextprotocol.io/specification/latest/server/tools + +The [`Ibexa\Contracts\Mcp\Attribute\McpTool` attribute](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html) declares a method as an MCP tool. It has several arguments to describe the tool usage and output: +- `servers` (optional): an array of identifiers of servers proposing this tool - for more information, see [tools configuration](#tools-configuration) - `name` (optional): the name of the tool - if not set, the function name is used as the tool name - `description` (optional): a human-readable description of the tool, useful for the LLM to understand the tool purpose and eventually choose it when it matches the prompt intent -- `inputSchema` (optional): for JSON object output, an associative array describing this object +- `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances +- `outputSchema` (optional): for JSON object output, an associative array describing this object - `annotations` (optional): a [`Mcp\Schema\ToolAnnotations`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/ToolAnnotations.php) instance -- `servers` (optional): an array of identifiers of servers proposing this tool +- `meta` (optional): TODO + +An `inputSchema` is automatically built from the function arguments and their types. +To override or complement the automatically generated input schema, +use the [`Schema` attribute](https://github.com/php-mcp/server#-schema-generation-and-validation). + +### Prompts + +MCP servers can also provide prompt templates to guide the user in the interactions with the AI using the MCP server. + +TODO: https://modelcontextprotocol.io/specification/latest/server/prompts + +The [`Ibexa\Contracts\Mcp\Attribute\McpPrompt` attribute](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html) declared a method as returning a prompt. -### TODO: Prompts +It has several arguments to describe the prompt usage: -TODO: `McpPrompt` attribute to declare a method as an MCP prompt template… +- `servers`: an array of identifiers of servers proposing this prompt - notice that this is required for prompts +- `name` (optional): the name of the prompt - if not set, the function name is used as the prompt name +- `description` (optional): a human-readable description of the prompt +- `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances +- `meta` (optional): TODO + +An `arguments` array is automatically built from the function arguments and their types. +To add descriptions, use a docblock comment with `@param` tags. ## Example @@ -179,9 +216,18 @@ In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: [[= include_file('code_samples/mcp/config/packages/mcp.yaml') =]] ``` -### Create tool class +An `ibexa.mcp.example` route is now available: +```bash +php bin/console debug:router ibexa.mcp.example +``` + +### Create capability class + +An `McpCapabilityInterface` is created. -Then, an `McpCapabilityInterface` containing a function with an `McpTool` attribute associating it to the `example` server as `greet` tool: +It contains a function with an `McpTool` attribute associating it to the `example` server as `greet` tool for the AI. + +It also contains a function with the `McpPrompt` attribute to provide a prompt template to the user. ``` php [[= include_file('code_samples/mcp/src/Mcp/ExampleTools.php') =]] @@ -191,9 +237,16 @@ For the example, `servers` attribute parameter is used to associate only this to All tools from this class could be added to a server by using the `tools` parameter in server configuration. For more information, see [tools configuration](#tools-configuration). +For prompt, the `servers` parameter is required. +So, the example prompt has to use it to be associated with the `example` server. + +During development and testing, you may have to clear the cache to make sure new or modified capabilities are properly re-discovered. +In this example, regarding its configuration, `php bin/console cache:pool:clear cache.tagaware.filesystem` has to be used. + ### Create MCP server list command -To check the server configuration, a short command using the MCP server configuration registry (injected through `McpServerConfigurationRegistryInterface` and autowiring): +To check the server configuration, a short command using the MCP server configuration registry +(injected through [`McpServerConfigurationRegistryInterface`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfigurationRegistryInterface.html) and autowiring): ``` php [[= include_file('code_samples/mcp/src/Command/McpServerListCommand.php') =]] @@ -211,7 +264,7 @@ To test the `example` MCP server, a sequence of `curl` commands is used to simul `jq`, `grep`, and `sed` are also used to parse or display outputs. -The [initialization](https://modelcontextprotocol.io/specification/draft/basic/lifecycle#initialization): +The [initialization](https://modelcontextprotocol.io/specification/latest/basic/lifecycle#initialization): ``` bash [[= include_file('code_samples/mcp/mcp.sh', 0, 36) =]] @@ -224,7 +277,7 @@ Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: Mcp-Session-Id ``` -The [list of tools](https://modelcontextprotocol.io/specification/draft/server/tools#listing-tools): +The [list of tools](https://modelcontextprotocol.io/specification/latest/server/tools#listing-tools): ``` bash [[= include_file('code_samples/mcp/mcp.sh', 37, 45) =]] @@ -242,24 +295,36 @@ The [list of tools](https://modelcontextprotocol.io/specification/draft/server/t "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "description": "the name of the person to greet" } }, "required": [ "name" ] }, - "description": "Greet a user by name" + "description": "Greet a user by name", + "annotations": { + "readOnlyHint": true, + "destructiveHint": false, + "idempotentHint": true, + "openWorldHint": false + }, + "icons": [ + { + "src": "https://openmoji.org/data/color/svg/1F44B.svg" + } + ] } ] } } ``` -The `greet` [tool usage](https://modelcontextprotocol.io/specification/draft/server/tools#calling-tools): +The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/server/tools#calling-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 46) =]] +[[= include_file('code_samples/mcp/mcp.sh', 46, 60) =]] ``` ```json @@ -278,6 +343,63 @@ The `greet` [tool usage](https://modelcontextprotocol.io/specification/draft/ser } ``` +The [list of prompts](https://modelcontextprotocol.io/specification/latest/server/prompts#listing-prompts): + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 61, 69) =]] +``` + +```json +{ + "jsonrpc": "2.0", + "id": 4, + "result": { + "prompts": [ + { + "name": "greet", + "description": "Prompt to be greeted by the `greet` tool", + "arguments": [ + { + "name": "name", + "description": "The name you want to be greeted by", + "required": true + } + ], + "icons": [ + { + "src": "https://openmoji.org/data/color/svg/1F91D.svg" + } + ] + } + ] + } +} +``` + +The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts#getting-a-prompt): + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 70, 84) =]] +``` + +```json +{ + "jsonrpc": "2.0", + "id": 5, + "result": { + "messages": [ + { + "role": "user", + "content": { + "type": "text", + "text": "Hi. Please, greet me. My name is Firstname Lastname." + } + } + ] + } +} +``` + ### MCP Inspector test To test your server, you can use the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector). @@ -301,7 +423,13 @@ In the right panel, in the **Tools** tab, click **List Tools** button in the lef The `greet` tool appears preceded by its icon. It can be selected and tested in the right column. -![Screenshot of the right pannel of the MCP Inspector with the list of tools obtained from the example MCP server, and the test of the `greet` tool](img/mcp-inspector-greet.png "MCP Inspector `greet` tool test") +![Screenshot of the right pannel of the MCP Inspector with the list of tools obtained from the example MCP server, and the test of the `greet` tool](img/mcp-inspector-greet-tool.png "MCP Inspector `greet` tool test") + +In the **Prompts** tab, click **List Prompts** button in the left column. +The `greet` prompt appears preceded by its icon. +It can be selected and tested in the right column. + +![Screenshot of the right pannel of the MCP Inspector with the list of prompts obtained from the example MCP server, and the test of the `greet` prompt](img/mcp-inspector-greet-prompt.png "MCP Inspector `greet` prompt test") ### TODO: Copilot CLI test From 181fb7782c2929ddbe2e880d554affc6b22a0e61 Mon Sep 17 00:00:00 2001 From: adriendupuis Date: Wed, 22 Apr 2026 18:42:35 +0000 Subject: [PATCH 24/63] PHP & JS CS Fixes --- code_samples/mcp/src/Mcp/ExampleTools.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index b926449ecb..9af82ca30a 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -30,8 +30,7 @@ public function greetByName( description: 'the name of the person to greet' )] string $name - ): string - { + ): string { return sprintf('Hello, %s!', $name); } From d8cc209faa267419c5b0cd85ee429850d4b865eb Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 22 Apr 2026 20:43:40 +0200 Subject: [PATCH 25/63] Fix missingType.iterableValue --- code_samples/mcp/src/Mcp/ExampleTools.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleTools.php index 9af82ca30a..78eadf60ea 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleTools.php @@ -34,7 +34,11 @@ public function greetByName( return sprintf('Hello, %s!', $name); } - /** @param string $name The name you want to be greeted by */ + /** + * @param string $name The name you want to be greeted by + * + * @return array + */ #[McpPrompt( servers: ['example'], name: 'greet', From a5ba48b0041cbac4fcd6a4874e0fb2e13d473eaf Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 22 Apr 2026 20:47:45 +0200 Subject: [PATCH 26/63] mcp_guide.md: Fix anchor --- docs/ai/mcp/mcp_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp_guide.md b/docs/ai/mcp/mcp_guide.md index cf131d0c30..0e960c8740 100644 --- a/docs/ai/mcp/mcp_guide.md +++ b/docs/ai/mcp/mcp_guide.md @@ -14,7 +14,7 @@ While [AI actions](ai_actions_guide.md) integrate AI to the back office, - MCP servers [creation by configuration](mcp_config.md#mcp-server-configuration) - [buit-in tools](mcp_config.md#built-in-tools) to associate to MCP servers by configuration -- a PHP API to [create custom MCP server capabilities](mcp_config.md#create-tool-class) +- a PHP API to [create custom MCP server capabilities](mcp_config.md#create-capability-class) TODO: keep uo-to-date about prompts or resources From f4d55f8edb33ad8768edb9634524ac0b3291ecb0 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:05:56 +0200 Subject: [PATCH 27/63] Rework JWT doc for REST and MCP --- docs/ai/mcp/mcp_config.md | 36 +++++++++++++++---- .../security/development_security.md | 16 +++++++-- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index f4a021be62..5274be1695 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -11,11 +11,17 @@ month_change: true MCP servers use JWT for authentication. -TODO: [Enable authorization header in `config/packages/lexik_jwt_authentication.yaml`](development_security.md#jwt-authentication). +In `config/packages/lexik_jwt_authentication.yaml`, [enable the `authorization_header` token extractor](development_security.md#jwt-authentication) to allow the use of JWT in `Authorization` header. -In `config/packages/security.yaml`, uncomment the `ibexa_jwt_mcp` firewall. +In `config/packages/security.yaml`, -TODO: Config to get a JWT token in the first place. Through [REST](rest_api_authentication.md#jwt-authentication), GraphQL or something else? +- uncomment the `ibexa_jwt_rest` firewall to allow the request of JWT tokens through REST API +- uncomment the `ibexa_jwt_mcp` firewall to allow the use of JWT for authentication against MCP servers + +Notice that you don't need to activate JWT for the REST API. + +You can now request JWT tokens to use with your MCP servers. +See examples of JWT token request in [REST JWT authentication](rest_api_authentication.md#jwt-authentication) or in [cURL test](#curl-test). ## MCP server configuration @@ -254,7 +260,7 @@ To check the server configuration, a short command using the MCP server configur ### cURL test -To test the `example` MCP server, a sequence of `curl` commands is used to simulate an AI to MCP server communication. +To test the `example` MCP server, a sequence of `curl` commands is used to simulate an AI client to MCP server communication. - Ask for a [JWT token through REST](/api/rest_api/rest_api_reference/rest_api_reference.html#tag/User-Token/operation/api_usertokenjwt_post) - Initialize a connection to the MCP server @@ -264,10 +270,28 @@ To test the `example` MCP server, a sequence of `curl` commands is used to simul `jq`, `grep`, and `sed` are also used to parse or display outputs. -The [initialization](https://modelcontextprotocol.io/specification/latest/basic/lifecycle#initialization): +First, the shell script set the Ibexa DXP base URL into a variable for easier reuse: + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 0, 1) =]] +``` + +Before communicating with the MCP server, the request of a JWT token through REST API: + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 0, 12) =]] +``` + +The [initialization](https://modelcontextprotocol.io/specification/latest/basic/lifecycle#initialization) to get an MCP session ID: + +``` bash +[[= include_file('code_samples/mcp/mcp.sh', 13, 28) =]] +``` + +The validation of the initialization: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 0, 36) =]] +[[= include_file('code_samples/mcp/mcp.sh', 29, 36) =]] ``` ``` diff --git a/docs/infrastructure_and_maintenance/security/development_security.md b/docs/infrastructure_and_maintenance/security/development_security.md index cdc7196bcf..2f4e7077e4 100644 --- a/docs/infrastructure_and_maintenance/security/development_security.md +++ b/docs/infrastructure_and_maintenance/security/development_security.md @@ -119,8 +119,8 @@ lexik_jwt_authentication: enabled: false ``` -You also need a new Symfony firewall configuration for REST and/or GraphQL APIs. -It's already provided in `config/packages/security.yaml`, you only need to uncomment it: +You also need to configure Symfony firewalls for the APIs with which you want to use JWT. +It's already provided in `config/packages/security.yaml`, you only need to uncomment the main one and the ones for the desired APIs: ``` yaml security: @@ -144,6 +144,13 @@ security: stateless: true jwt: ~ + ibexa_jwt_mcp: + request_matcher: Ibexa\Mcp\Security\McpRequestMatcher + user_checker: Ibexa\Core\MVC\Symfony\Security\UserChecker + provider: ibexa + stateless: true + jwt: ~ + ibexa_jwt_graphql: request_matcher: Ibexa\GraphQL\Security\NonAdminGraphQLRequestMatcher provider: ibexa @@ -151,6 +158,11 @@ security: jwt: ~ ``` +- `ibexa_jwt_rest` is the firewall allowing to generate a JWT token through REST TODO: Does it allow to generate a JWT through GraphQL? +- `ibexa_jwt_rest.api` is the firewall to use JWT for REST API instead of session-based authentication. +- `ibexa_jwt_mcp` is the firewall to use JWT for MCP servers +- `ibexa_jwt_graphql` is the firewall to use JWT for GraphQL API TODO… + Finish the setup by generating a [PEM encoded key pair](https://symfony.com/bundles/LexikJWTAuthenticationBundle/2.x/index.html#generate-the-ssl-keys) by using the command: ```bash From 12a15be8795213d6e754be6a9616808e6590cb89 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:16:37 +0200 Subject: [PATCH 28/63] Rework JWT doc for REST and MCP --- .../security/development_security.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/infrastructure_and_maintenance/security/development_security.md b/docs/infrastructure_and_maintenance/security/development_security.md index 2f4e7077e4..a38226d88e 100644 --- a/docs/infrastructure_and_maintenance/security/development_security.md +++ b/docs/infrastructure_and_maintenance/security/development_security.md @@ -120,7 +120,7 @@ lexik_jwt_authentication: ``` You also need to configure Symfony firewalls for the APIs with which you want to use JWT. -It's already provided in `config/packages/security.yaml`, you only need to uncomment the main one and the ones for the desired APIs: +It's already provided in `config/packages/security.yaml`, you need to uncomment the `ibexa_jwt_rest` and the ones for the desired APIs: ``` yaml security: @@ -159,9 +159,9 @@ security: ``` - `ibexa_jwt_rest` is the firewall allowing to generate a JWT token through REST TODO: Does it allow to generate a JWT through GraphQL? -- `ibexa_jwt_rest.api` is the firewall to use JWT for REST API instead of session-based authentication. -- `ibexa_jwt_mcp` is the firewall to use JWT for MCP servers -- `ibexa_jwt_graphql` is the firewall to use JWT for GraphQL API TODO… +- `ibexa_jwt_rest.api` is the firewall to [use JWT for REST API](rest_api_authentication.md#jwt-authentication) instead of session-based authentication +- `ibexa_jwt_mcp` is the firewall to [use JWT for MCP servers](mcp_config.md#jwt) +- `ibexa_jwt_graphql` is the firewall to [use JWT for GraphQL API](graphql.md#jwt-authentication) Finish the setup by generating a [PEM encoded key pair](https://symfony.com/bundles/LexikJWTAuthenticationBundle/2.x/index.html#generate-the-ssl-keys) by using the command: From e568133d9dea7099cb31c884584ca341d65c0d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 23 Apr 2026 12:23:01 +0200 Subject: [PATCH 29/63] Added code for testing YAML samples --- .github/workflows/build.yaml | 3 +- .github/workflows/code_samples.yaml | 3 + .gitignore | 1 + composer.json | 20 +- phpunit.xml.dist | 14 ++ tests/ConfigurationProvider.php | 178 ++++++++++++++++ tests/Markdown/MarkdownYamlExtractor.php | 78 +++++++ tests/Markdown/MarkdownYamlExtractorTest.php | 208 +++++++++++++++++++ tests/ValidationBaseline.php | 74 +++++++ tests/Yaml/CodeSample.php | 13 ++ tests/Yaml/YamlSamplesProvider.php | 96 +++++++++ tests/Yaml/YamlTest.php | 165 +++++++++++++++ tests/bootstrap.php | 40 ++++ tests/generate-yaml-baseline.php | 142 +++++++++++++ 14 files changed, 1031 insertions(+), 4 deletions(-) create mode 100644 phpunit.xml.dist create mode 100644 tests/ConfigurationProvider.php create mode 100644 tests/Markdown/MarkdownYamlExtractor.php create mode 100644 tests/Markdown/MarkdownYamlExtractorTest.php create mode 100644 tests/ValidationBaseline.php create mode 100644 tests/Yaml/CodeSample.php create mode 100644 tests/Yaml/YamlSamplesProvider.php create mode 100644 tests/Yaml/YamlTest.php create mode 100644 tests/bootstrap.php create mode 100644 tests/generate-yaml-baseline.php diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 08e37fdeb4..931cfcea53 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -88,9 +88,10 @@ jobs: env: TOKEN: ${{ secrets.EZROBOT_PAT }} run: | + mkdir vale-styles curl -H "Authorization: token $TOKEN" -L https://github.com/ibexa/vale-styles/archive/refs/heads/main.zip -o vale.zip + rm -rf tests unzip vale.zip - rm vale.zip mv vale-styles-main/* vale-styles-main/.vale.ini . - name: Run Vale.sh diff --git a/.github/workflows/code_samples.yaml b/.github/workflows/code_samples.yaml index d410a86455..74f593675b 100644 --- a/.github/workflows/code_samples.yaml +++ b/.github/workflows/code_samples.yaml @@ -53,6 +53,9 @@ jobs: - name: Run Rector check run: composer check-rector + - name: Run PHPUnit tests + run: composer phpunit + code-samples-inclusion-check: name: Check code samples inclusion runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index d243a010bd..10f1a32e27 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ auth.json yarn.lock docs/css/*.map .deptrac.cache +.phpunit.result.cache diff --git a/composer.json b/composer.json index e9415fc8fd..67c2badab9 100644 --- a/composer.json +++ b/composer.json @@ -4,6 +4,9 @@ "type": "library", "license": "GNU General Public License v2.0", "autoload-dev": { + "psr-4": { + "Ibexa\\Tests\\Documentation\\": "tests/" + } }, "repositories": [ { @@ -15,6 +18,9 @@ "php": "^8.3" }, "require-dev": { + "phpunit/phpunit": "^11.0", + "symfony/yaml": "^7.0", + "ibexa/connector-gemini": "5.0.x-dev", "ibexa/automated-translation": "5.0.x-dev", "ibexa/code-style": "~2.0.0", "friendsofphp/php-cs-fixer": "^3.30", @@ -85,21 +91,29 @@ "ibexa/cdp": "~5.0.x-dev", "ibexa/connector-raptor": "~5.0.x-dev", "ibexa/image-editor": "~5.0.x-dev", - "ibexa/integrated-help": "~5.0.x-dev" + "ibexa/integrated-help": "~5.0.x-dev", + "ibexa/site-context": "~5.0.x-dev", + "ibexa/fieldtype-richtext-rte": "~5.0.x-dev", + "ibexa/site-factory": "~5.0.x-dev", + "ibexa/ckeditor-premium": "~5.0.x-dev" }, "scripts": { "fix-cs": "php-cs-fixer fix --config=.php-cs-fixer.php -v --show-progress=dots", "check-cs": "@fix-cs --dry-run", "phpstan": "phpstan analyse", "deptrac": "deptrac analyse", - "check-rector": "rector process --dry-run --ansi" + "check-rector": "rector process --dry-run --ansi", + "phpunit": "phpunit", + "phpunit-update-baseline": "php tests/generate-yaml-baseline.php" }, "scripts-descriptions": { "fix-cs": "Automatically fixes code style in all files", "check-cs": "Run code style checker for all files", "phpstan": "Run static code analysis", "deptrac": "Run Deptrac architecture testing", - "check-rector": "Check for code refactoring opportunities" + "check-rector": "Check for code refactoring opportunities", + "phpunit": "Run PHPUnit tests (YAML validation)", + "phpunit-update-baseline": "Regenerate tests/yaml-validation-baseline.yaml from current failures" }, "config": { "allow-plugins": false diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 0000000000..e084420e57 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,14 @@ + + + + + tests/ + + + diff --git a/tests/ConfigurationProvider.php b/tests/ConfigurationProvider.php new file mode 100644 index 0000000000..4dfbe49523 --- /dev/null +++ b/tests/ConfigurationProvider.php @@ -0,0 +1,178 @@ +container = $this->buildContainer(); + } + + public function hasExtension(string $alias): bool + { + return $this->container->hasExtension($alias); + } + + public function createConfiguration(string $alias): ConfigurationInterface + { + return $this->container->getExtension($alias)->getConfiguration([], $this->container); + } + + /** + * Recursively resolves %parameter% placeholders using the container's + * parameter bag, mirroring what the real Symfony kernel does before + * passing config to the Config component. Unknown parameters (custom app + * params not present in the test container) are left as-is. + * + * @param array $config + * + * @return array + */ + public function resolveParameters(array $config): array + { + /** @var array $result */ + $result = $this->resolveValue($this->container->getParameterBag(), $config); + + return $result; + } + + private function resolveValue(ParameterBagInterface $bag, mixed $value): mixed + { + if (is_array($value)) { + return array_map(fn (mixed $v): mixed => $this->resolveValue($bag, $v), $value); + } + + if (!is_string($value)) { + return $value; + } + + try { + return $bag->resolveValue($value); + } catch (ParameterNotFoundException) { + return $value; + } + } + + private function buildContainer(): ContainerBuilder + { + $container = new ContainerBuilder(); + $container->setParameter('kernel.debug', false); + $container->setParameter('kernel.bundles', []); + $container->setParameter('kernel.bundles_metadata', []); + $container->setParameter('kernel.project_dir', sys_get_temp_dir()); + $container->setParameter('kernel.environment', 'test'); + + $bundles = self::discoverBundles(); + + // Register all extensions before calling build() on any bundle, + // because some bundles call $container->getExtension('ibexa') during build(). + foreach ($bundles as $bundle) { + try { + $extension = $bundle->getContainerExtension(); + if ($extension !== null) { + $container->registerExtension($extension); + } + } catch (\Throwable) { + // Skip bundles whose extension cannot be instantiated. + } + } + + // build() registers parsers/factories into the extensions. + foreach ($bundles as $bundle) { + try { + $bundle->build($container); + } catch (\Throwable) { + // Skip bundles whose build() fails (e.g. missing sibling extensions). + } + } + + return $container; + } + + /** + * Returns all installed bundles with SecurityBundle and IbexaCoreBundle + * guaranteed first (other bundles may call getExtension('ibexa') or + * getExtension('security') during their build()). + * + * @return list + */ + private static function discoverBundles(): array + { + // These must be registered before any bundle that calls + // $container->getExtension('ibexa'/'security') inside build(). + $bundles = [ + new SecurityBundle(), + new IbexaCoreBundle(), + ]; + + $seen = [SecurityBundle::class, IbexaCoreBundle::class]; + + $vendorBase = __DIR__ . '/../vendor'; + $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($vendorBase)); + + foreach ($iterator as $file) { + if (!$file->isFile() || !preg_match('/\w+Bundle\.php$/', $file->getFilename())) { + continue; + } + + $content = file_get_contents($file->getPathname()); + preg_match('/^namespace (.+);/m', $content, $nsMatch); + preg_match('/^(?:(?:final|abstract)\s+)?class (\w+Bundle)\b/m', $content, $clsMatch); + + if (empty($nsMatch[1]) || empty($clsMatch[1])) { + continue; + } + + $fqcn = $nsMatch[1] . '\\' . $clsMatch[1]; + + if (!class_exists($fqcn) || in_array($fqcn, $seen, true)) { + continue; + } + + $reflection = new \ReflectionClass($fqcn); + if ($reflection->isAbstract() || !$reflection->implementsInterface(BundleInterface::class)) { + continue; + } + + $seen[] = $fqcn; + + try { + $bundles[] = new $fqcn(); + } catch (\Throwable) { + // Skip bundles that cannot be instantiated without arguments. + } + } + + return $bundles; + } +} diff --git a/tests/Markdown/MarkdownYamlExtractor.php b/tests/Markdown/MarkdownYamlExtractor.php new file mode 100644 index 0000000000..a78f95385d --- /dev/null +++ b/tests/Markdown/MarkdownYamlExtractor.php @@ -0,0 +1,78 @@ + *)```\s*yaml[^\n]*\n(?P.*?)\n(?P=indent)```/ms'; + + private const string SKIP_PATTERN = '/include_file\s*\(|--8<--/'; + + /** + * @return iterable + */ + public function extract(string $content): iterable + { + if (!preg_match_all(self::FENCE_PATTERN, $content, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) { + return; + } + + foreach ($matches as $match) { + $body = $match['body'][0]; + $offset = $match['body'][1]; + + if (preg_match(self::SKIP_PATTERN, $body)) { + continue; + } + + $indent = $match['indent'][0]; + if ($indent !== '') { + $body = $this->stripIndentation($body, strlen($indent)); + } + + $line = substr_count(substr($content, 0, $offset), "\n") + 1; + + yield ['body' => $body, 'line' => $line]; + } + } + + private function stripIndentation(string $body, int $spaces): string + { + $prefix = str_repeat(' ', $spaces); + $lines = explode("\n", $body); + $stripped = array_map( + static fn (string $line): string => str_starts_with($line, $prefix) + ? substr($line, $spaces) + : $line, + $lines + ); + + return implode("\n", $stripped); + } +} diff --git a/tests/Markdown/MarkdownYamlExtractorTest.php b/tests/Markdown/MarkdownYamlExtractorTest.php new file mode 100644 index 0000000000..b65c6445a8 --- /dev/null +++ b/tests/Markdown/MarkdownYamlExtractorTest.php @@ -0,0 +1,208 @@ +extractor = new MarkdownYamlExtractor(); + } + + public function testExtractsNothing(): void + { + self::assertEmpty(iterator_to_array($this->extractor->extract('No code blocks here.'))); + self::assertEmpty(iterator_to_array($this->extractor->extract(''))); + } + + public function testIgnoresNonYamlFences(): void + { + $content = <<<'MD' + ```php + $x = 1; + ``` + + ```json + {"key": "value"} + ``` + MD; + + self::assertEmpty(iterator_to_array($this->extractor->extract($content))); + } + + public function testExtractsSingleBlock(): void + { + $content = <<<'MD' + Some text. + + ```yaml + foo: bar + ``` + + More text. + MD; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(1, $blocks); + self::assertSame('foo: bar', $blocks[0]['body']); + } + + public function testExtractsMultipleBlocks(): void + { + $content = <<<'MD' + ```yaml + first: 1 + ``` + + ```yaml + second: 2 + ``` + MD; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(2, $blocks); + self::assertSame('first: 1', $blocks[0]['body']); + self::assertSame('second: 2', $blocks[1]['body']); + } + + public function testReportsCorrectLineNumber(): void + { + $content = "line1\nline2\nline3\n```yaml\nfoo: bar\n```\n"; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(1, $blocks); + // The body starts on line 5 (after 4 preceding newlines inside the fence open) + self::assertSame(5, $blocks[0]['line']); + } + + public function testAcceptsSpaceBeforeLanguageTag(): void + { + $content = "``` yaml\nfoo: bar\n```\n"; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(1, $blocks); + self::assertSame('foo: bar', $blocks[0]['body']); + } + + public function testAcceptsTrailingAnnotations(): void + { + $content = "```yaml hl_lines=\"1 2\"\nfoo: bar\n```\n"; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(1, $blocks); + self::assertSame('foo: bar', $blocks[0]['body']); + } + + public function testStripsAdmonitionIndentation(): void + { + $content = <<<'MD' + !!! note + + ```yaml + foo: bar + baz: qux + ``` + MD; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(1, $blocks); + self::assertSame("foo: bar\nbaz: qux", $blocks[0]['body']); + } + + public function testSkipsBlocksWithIncludeFile(): void + { + $content = <<<'MD' + ```yaml + [[= include_file('some/file.yaml') =]] + ``` + MD; + + self::assertEmpty(iterator_to_array($this->extractor->extract($content))); + } + + public function testSkipsBlocksWithSnippetMarker(): void + { + $content = <<<'MD' + ```yaml + --8<-- + some/file.yaml + ``` + MD; + + self::assertEmpty(iterator_to_array($this->extractor->extract($content))); + } + + public function testSkipsOnlyMatchingBlocksWhenMixed(): void + { + $content = <<<'MD' + ```yaml + [[= include_file('foo.yaml') =]] + ``` + + ```yaml + real: config + ``` + MD; + + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(1, $blocks); + self::assertSame('real: config', $blocks[0]['body']); + } + + /** + * @param array $expected + */ + #[DataProvider('provideMultilineBlocks')] + public function testExtractsMultilineBody(string $content, array $expected): void + { + $blocks = iterator_to_array($this->extractor->extract($content)); + + self::assertCount(count($expected), $blocks); + foreach ($expected as $i => $exp) { + self::assertSame($exp['body'], $blocks[$i]['body'], "body at index $i"); + self::assertSame($exp['line'], $blocks[$i]['line'], "line at index $i"); + } + } + + /** + * @return iterable}> + */ + public static function provideMultilineBlocks(): iterable + { + yield 'nested mapping' => [ + "```yaml\nparent:\n child: value\n```\n", + [['body' => "parent:\n child: value", 'line' => 2]], + ]; + + yield 'sequence' => [ + "```yaml\nlist:\n - a\n - b\n```\n", + [['body' => "list:\n - a\n - b", 'line' => 2]], + ]; + + yield 'two blocks with correct lines' => [ + "```yaml\nfoo: 1\n```\n\nsome text\n\n```yaml\nbar: 2\n```\n", + [ + ['body' => 'foo: 1', 'line' => 2], + ['body' => 'bar: 2', 'line' => 8], + ], + ]; + } +} diff --git a/tests/ValidationBaseline.php b/tests/ValidationBaseline.php new file mode 100644 index 0000000000..d689915b2f --- /dev/null +++ b/tests/ValidationBaseline.php @@ -0,0 +1,74 @@ +|null */ + private ?array $entries = null; + + public function __construct( + private readonly string $baselineFile, + private readonly string $repoRoot, + ) { + } + + public function isInBaseline(string $relativePath, ?int $line, string $errorMessage): bool + { + foreach ($this->getEntries() as $entry) { + $entryPath = $entry['path'] ?? ''; + + // Path: exact match or trailing-suffix match (allows glob-like partial paths) + if ($relativePath !== $entryPath && !str_ends_with($relativePath, ltrim($entryPath, '/'))) { + continue; + } + + // Line (optional): must match exactly when provided + if (isset($entry['line']) && $line !== null && (int) $entry['line'] !== $line) { + continue; + } + + // Message (optional): treated as a regex pattern + if (isset($entry['message']) && !preg_match($entry['message'], $errorMessage)) { + continue; + } + + return true; + } + + return false; + } + + /** + * @return list + */ + private function getEntries(): array + { + if ($this->entries !== null) { + return $this->entries; + } + + if (!file_exists($this->baselineFile)) { + return $this->entries = []; + } + + $parsed = \Symfony\Component\Yaml\Yaml::parseFile($this->baselineFile); + + return $this->entries = $parsed['ignoreErrors'] ?? []; + } +} diff --git a/tests/Yaml/CodeSample.php b/tests/Yaml/CodeSample.php new file mode 100644 index 0000000000..7429e6feeb --- /dev/null +++ b/tests/Yaml/CodeSample.php @@ -0,0 +1,13 @@ + + */ + public function getCodeSampleYaml(): iterable + { + yield from $this->iterateCodeSampleYaml(); + yield from $this->iterateMarkdownYamlBlocks(); + } + + /** + * Yields every .yaml file found recursively under code_samples/. + * + * @return iterable + */ + private function iterateCodeSampleYaml(): iterable + { + $iterator = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator(self::CODE_SAMPLES_DIR, RecursiveDirectoryIterator::SKIP_DOTS) + ); + + /** @var \SplFileInfo $file */ + foreach ($iterator as $file) { + if (!$file->isFile() || $file->getExtension() !== 'yaml') { + continue; + } + + $body = file_get_contents($file->getRealPath()); + + if ($body === false) { + continue; + } + + yield new CodeSample($file->getRealPath(), 0, $body); + } + } + + /** + * Yields every fenced YAML block found in .md files under docs/. + * + * @return iterable + */ + private function iterateMarkdownYamlBlocks(): iterable + { + $extractor = new MarkdownYamlExtractor(); + $iterator = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator(self::DOCS_DIR, RecursiveDirectoryIterator::SKIP_DOTS) + ); + + /** @var \SplFileInfo $file */ + foreach ($iterator as $file) { + if (!$file->isFile() || $file->getExtension() !== 'md') { + continue; + } + + $path = $file->getRealPath(); + $content = file_get_contents($path); + + if ($content === false) { + continue; + } + + foreach ($extractor->extract($content) as $block) { + yield new CodeSample($path, $block['line'], $block['body']); + } + } + } +} diff --git a/tests/Yaml/YamlTest.php b/tests/Yaml/YamlTest.php new file mode 100644 index 0000000000..6cf2824e60 --- /dev/null +++ b/tests/Yaml/YamlTest.php @@ -0,0 +1,165 @@ +isInBaseline($filePath, $line ?: null, $e->getMessage())) { + self::markTestSkipped(sprintf( + 'Known baseline issue in %s at line %d: %s', + $filePath, + $line, + $e->getMessage(), + )); + } + + self::fail(sprintf( + 'YAML parse error in %s at line %d: %s', + $filePath, + $line, + $e->getMessage(), + )); + } + + $this->addToAssertionCount(1); + } + + /** + * @param int $line Starting line of the config block (0 for standalone YAML files). + */ + #[DataProvider('provideBundleConfigs')] + public function testBundleConfigurationIsValid( + string $extensionName, + mixed $config, + string $filePath, + int $line + ): void { + $configuration = self::configurationProvider()->createConfiguration($extensionName); + $processor = new Processor(); + + $config = self::configurationProvider()->resolveParameters(is_array($config) ? $config : []); + + try { + $processor->processConfiguration($configuration, [$config]); + } catch (\Exception $e) { + if (self::baseline()->isInBaseline($filePath, $line ?: null, $e->getMessage())) { + self::markTestSkipped(sprintf( + 'Known baseline issue for "%s" in %s:%d: %s', + $extensionName, + $filePath, + $line, + $e->getMessage(), + )); + } + + self::fail(sprintf( + 'Invalid configuration for "%s" in %s:%d — %s', + $extensionName, + $filePath, + $line, + $e->getMessage(), + )); + } + + $this->addToAssertionCount(1); + } + + /** + * Yields all standalone YAML files from code_samples/ plus every fenced + * YAML block extracted from docs Markdown files. + * + * @return iterable + */ + public static function provideYamlSources(): iterable + { + foreach (self::samplesProvider()->getCodeSampleYaml() as $item) { + yield self::makeLabel($item->path, $item->line) => [$item->path, $item->line, $item->body]; + } + } + + /** + * Yields one entry per (extension, config) pair found in YAML files and + * in fenced YAML blocks from docs Markdown files. + * + * @return iterable + */ + public static function provideBundleConfigs(): iterable + { + foreach (self::provideYamlSources() as [$filePath, $line, $body]) { + $path = self::relativePath($filePath); + try { + $parsed = Yaml::parse($body, Yaml::PARSE_CUSTOM_TAGS); + } catch (\Throwable) { + continue; + } + + if (!is_array($parsed)) { + continue; + } + + foreach ($parsed as $extensionName => $config) { + if (!is_string($extensionName) || !self::configurationProvider()->hasExtension($extensionName)) { + continue; + } + + yield sprintf('%s (%s)', $extensionName, self::makeLabel($path, $line)) => [$extensionName, $config, $path, $line]; + } + } + } + + private static function configurationProvider(): ConfigurationProvider + { + static $provider = null; + + return $provider ??= new ConfigurationProvider(); + } + + private static function samplesProvider(): YamlSamplesProvider + { + static $provider = null; + + return $provider ??= new YamlSamplesProvider(); + } + + private static function baseline(): ValidationBaseline + { + static $baseline = null; + + return $baseline ??= new ValidationBaseline(self::BASELINE_FILE, realpath(self::REPO_ROOT)); + } + + private static function makeLabel(string $absolutePath, int $lineNumber): string + { + return ltrim(str_replace(realpath(self::REPO_ROOT), '', $absolutePath), '/') . ':' . $lineNumber; + } + + private static function relativePath(string $absolutePath): string + { + return ltrim(str_replace(realpath(self::REPO_ROOT), '', $absolutePath), '/'); + } +} diff --git a/tests/bootstrap.php b/tests/bootstrap.php new file mode 100644 index 0000000000..9374e6f3a2 --- /dev/null +++ b/tests/bootstrap.php @@ -0,0 +1,40 @@ +isDir() && $item->getFilename() === 'src') { + $loader->addPsr4('App\\', $item->getRealPath()); + } +} diff --git a/tests/generate-yaml-baseline.php b/tests/generate-yaml-baseline.php new file mode 100644 index 0000000000..d8a6f7d7ff --- /dev/null +++ b/tests/generate-yaml-baseline.php @@ -0,0 +1,142 @@ +#!/usr/bin/env php +/dev/null', + escapeshellarg($phpunitBin), + escapeshellarg($tmpLog), +); + +passthru($cmd); + +if (!file_exists($tmpLog)) { + if ($previousBaseline !== null) { + file_put_contents($outFile, $previousBaseline); + } + fwrite(STDERR, "ERROR: PHPUnit did not produce a JUnit log file.\n"); + exit(1); +} + +$xml = simplexml_load_file($tmpLog); +unlink($tmpLog); + +if ($xml === false) { + fwrite(STDERR, "ERROR: Could not parse JUnit XML.\n"); + exit(1); +} + +$repoRoot = dirname(__DIR__); +$entries = []; + +// Collect all failures/errors at any nesting depth using XPath +/** @var \SimpleXMLElement[] $testcases */ +$testcases = $xml->xpath('//testcase[failure or error]') ?: []; + +foreach ($testcases as $testcase) { + $failure = $testcase->failure ?? $testcase->error ?? null; + if ($failure === null) { + continue; + } + + $message = (string) $failure; + // Extract file path and line from failure message + // Patterns: + // "Invalid configuration for "X" in path/to/file.yaml: error" + // "Invalid configuration for "X" in path/to/file.md:123 — error" + // "YAML parse error in path/to/file.md at line 123: error" + $path = null; + $line = null; + $errorMessage = null; + + if (preg_match('/Invalid configuration for "[^"]*" in ([^\n:]+?):(\d+) — (.+)/s', $message, $m)) { + $path = trim($m[1]); + $line = (int) $m[2]; + $errorMessage = trim(explode("\n", $m[3])[0]); + } elseif (preg_match('/Invalid configuration for "[^"]*" in ([^\n:]+?): (.+)/s', $message, $m)) { + $path = trim($m[1]); + $errorMessage = trim(explode("\n", $m[2])[0]); + } elseif (preg_match('/YAML parse error in ([^\n]+?) at line (\d+): (.+)/s', $message, $m)) { + $path = trim($m[1]); + $line = (int) $m[2]; + $errorMessage = trim(explode("\n", $m[3])[0]); + } + + if ($path === null) { + continue; + } + + // Convert absolute path to relative + if (str_starts_with($path, $repoRoot)) { + $path = ltrim(substr($path, strlen($repoRoot)), '/'); + } + + $entry = ['path' => $path]; + if ($line !== null) { + $entry['line'] = $line; + } + if ($errorMessage !== null) { + // Store as a regex: escape special chars, keep it readable + $entry['message'] = '~' . preg_quote($errorMessage, '~') . '~'; + } + + $key = $path . ':' . ($line ?? ''); + $entries[$key] = $entry; +} + +ksort($entries); + +// Render as YAML manually (keep it readable without needing a YAML library) +$lines = []; +$lines[] = '# Auto-generated by `composer phpunit-update-baseline`. Do not edit manually.'; +$lines[] = '# To suppress a failure: regenerate this file after confirming it is expected.'; +$lines[] = '# To fix a suppressed failure: fix the doc error and regenerate.'; +$lines[] = 'ignoreErrors:'; + +foreach ($entries as $entry) { + $lines[] = ' -'; + $lines[] = sprintf(' path: %s', $entry['path']); + if (isset($entry['line'])) { + $lines[] = sprintf(' line: %d', $entry['line']); + } + if (isset($entry['message'])) { + // Wrap message in single quotes, escaping internal single quotes + $msg = str_replace("'", "''", $entry['message']); + $lines[] = sprintf(" message: '%s'", $msg); + } +} + +$content = implode("\n", $lines) . "\n"; +$outFile = __DIR__ . '/yaml-validation-baseline.yaml'; +file_put_contents($outFile, $content); + +$count = count($entries); +echo "Baseline written to tests/yaml-validation-baseline.yaml ({$count} entries)\n"; +if ($count === 0) { + echo "No failures found — baseline is empty. All tests pass!\n"; +} From 546acd63ca86fa355261f0066b26cc0f2286a15a Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:35:29 +0200 Subject: [PATCH 30/63] Rework JWT doc for REST and MCP --- .../security/development_security.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/infrastructure_and_maintenance/security/development_security.md b/docs/infrastructure_and_maintenance/security/development_security.md index a38226d88e..0e5192034e 100644 --- a/docs/infrastructure_and_maintenance/security/development_security.md +++ b/docs/infrastructure_and_maintenance/security/development_security.md @@ -158,7 +158,7 @@ security: jwt: ~ ``` -- `ibexa_jwt_rest` is the firewall allowing to generate a JWT token through REST TODO: Does it allow to generate a JWT through GraphQL? +- `ibexa_jwt_rest` is the firewall allowing to generate a JWT token through REST or GraphQL - `ibexa_jwt_rest.api` is the firewall to [use JWT for REST API](rest_api_authentication.md#jwt-authentication) instead of session-based authentication - `ibexa_jwt_mcp` is the firewall to [use JWT for MCP servers](mcp_config.md#jwt) - `ibexa_jwt_graphql` is the firewall to [use JWT for GraphQL API](graphql.md#jwt-authentication) From 05f0f5ce19c3e2157cfb65c73a686c29c78651fa Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:44:13 +0200 Subject: [PATCH 31/63] Rework JWT doc for REST and MCP --- .../security/development_security.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/infrastructure_and_maintenance/security/development_security.md b/docs/infrastructure_and_maintenance/security/development_security.md index 0e5192034e..372e22fdbf 100644 --- a/docs/infrastructure_and_maintenance/security/development_security.md +++ b/docs/infrastructure_and_maintenance/security/development_security.md @@ -163,6 +163,11 @@ security: - `ibexa_jwt_mcp` is the firewall to [use JWT for MCP servers](mcp_config.md#jwt) - `ibexa_jwt_graphql` is the firewall to [use JWT for GraphQL API](graphql.md#jwt-authentication) +For example, if you want to use JWT only for MCP servers and session-based authentication for REST and GraphQL, you can: + +- uncomment `ibexa_jwt_rest` and `ibexa_jwt_mcp` to activate them +- keep `ibexa_jwt_rest.api` and `ibexa_jwt_graphql` commented and disabled + Finish the setup by generating a [PEM encoded key pair](https://symfony.com/bundles/LexikJWTAuthenticationBundle/2.x/index.html#generate-the-ssl-keys) by using the command: ```bash From 686c4284dec3e2fdaa5977e7d19b07f2a0845c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 23 Apr 2026 12:46:30 +0200 Subject: [PATCH 32/63] Generated baseline --- tests/yaml-validation-baseline.yaml | 476 ++++++++++++++++++++++++++++ 1 file changed, 476 insertions(+) create mode 100644 tests/yaml-validation-baseline.yaml diff --git a/tests/yaml-validation-baseline.yaml b/tests/yaml-validation-baseline.yaml new file mode 100644 index 0000000000..6e642cf974 --- /dev/null +++ b/tests/yaml-validation-baseline.yaml @@ -0,0 +1,476 @@ +# Auto-generated by `composer phpunit-update-baseline`. Do not edit manually. +# To suppress a failure: regenerate this file after confirming it is expected. +# To fix a suppressed failure: fix the doc error and regenerate. +ignoreErrors: + - + path: code_samples/back_office/components/twig_components.yaml + line: 0 + message: '~Duplicate key "admin\-ui\-user\-menu" detected at line 15 \(near " depth\: 1"\)\.~' + - + path: code_samples/back_office/online_editor/config/packages/custom_plugin.yaml + line: 0 + message: '~Unrecognized option "toolbars" under "ibexa\.system\.admin_group\.fieldtypes\.ibexa_richtext"\. Did you mean "toolbar"\?~' + - + path: code_samples/forms/custom_form_attribute/config/custom_services.yaml + line: 0 + message: '~Unable to parse at line 1 \(near " App\\FormBuilder\\FieldType\\Field\\Mapper\\CheckboxWithRichtextDescriptionFieldMapper\:"\)\.~' + - + path: code_samples/front/shop/order-management/config/packages/ibexa.yaml + line: 0 + message: '~Unable to parse at line 68 \(near "// \.\.\."\)\.~' + - + path: code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml + line: 0 + message: '~Duplicate key "services" detected at line 11 \(near " \- \{ name\: ibexa\.payment\.payment_method\.voter, type\: new_payment_method_type \}"\)\.~' + - + path: code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml + line: 0 + message: '~Unrecognized option "recommendations_api_url" under "ibexa\.system\.\\.connector_raptor"\. Did you mean "recommendations_api_uri"\?~' + - + path: code_samples/workflow/custom_workflow/config/packages/workflows.yaml + line: 0 + message: '~The child config "stages" under "ibexa\.system\.default\.workflows\.quick_review" must be configured\.~' + - + path: docs/administration/back_office/back_office_elements/extending_thumbnails.md + line: 109 + message: '~Unable to parse at line 1 \(near " App\\Thumbnails\\FieldValueUrl\:"\)\.~' + - + path: docs/administration/back_office/configure_product_tour.md + line: 26 + message: '~The value "\" is not allowed for path "ibexa\.system\.\\>\.product_tour\.\\.type"\. Permissible values\: "general", "targetable"\.~' + - + path: docs/administration/back_office/customize_search_suggestion.md + line: 16 + message: '~Unrecognized options "min_query_length, result_limit" under "ibexa\.system\.\\.search"\. Available option is "suggestion"\.~' + - + path: docs/administration/configuration/dynamic_configuration.md + line: 17 + message: '~Unable to parse at line 5 \(near " "\)\.~' + - + path: docs/api/graphql/graphql_customization.md + line: 63 + message: '~Unexpected characters near "CreateSomething'', \[value\]\)''" at line 11 \(near "mutateAndGetPayload\: ''@\=mutation\(''CreateSomething'', \[value\]\)''"\)\.~' + - + path: docs/api/rest_api/rest_api_authentication.md + line: 328 + message: '~Unable to parse at line 1 \(near " ibexa_rest\:"\)\.~' + - + path: docs/cdp/cdp_data_customization.md + line: 29 + message: '~Unable to parse at line 1 \(near " App\\Export\\User\\DateOfBirthUserItemProcessor\:"\)\.~' + - + path: docs/cdp/cdp_installation.md + line: 30 + message: '~Unrecognized options "pattern, guard, stateless" under "ibexa_cdp"\. Available options are "bulk_async_threshold", "data_export"\.~' + - + path: docs/commerce/checkout/customize_checkout.md + line: 130 + message: '~Invalid configuration for path "framework\.workflows\.workflows\.ibexa_checkout"\: "supports" or "support_strategy" should be configured\.~' + - + path: docs/commerce/checkout/reorder.md + line: 51 + message: '~Mapping values are not allowed in multi\-line blocks at line 7 \(near "\.\.\."\)\.~' + - + path: docs/commerce/order_management/configure_order_management.md + line: 51 + message: '~The child config "transitions" under "framework\.workflows\.workflows\.ibexa_order" must be configured\.~' + - + path: docs/commerce/payment/enable_paypal_payments.md + line: 40 + message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' + - + path: docs/commerce/payment/enable_stripe_payments.md + line: 41 + message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' + - + path: docs/commerce/payment/payum_integration.md + line: 41 + message: '~Unable to parse at line 6 \(near "\[\.\.\.\]"\)\.~' + - + path: docs/commerce/payment/payum_integration.md + line: 55 + message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' + - + path: docs/commerce/storefront/configure_storefront.md + line: 94 + message: '~Unrecognized option "user_settings_groups" under "ibexa\.system\.site_group"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + - + path: docs/commerce/transactional_emails/extend_transactional_emails.md + line: 17 + message: '~The child config "transitions" under "framework\.workflows\.workflows\.ibexa_payment" must be configured\.~' + - + path: docs/commerce/transactional_emails/transactional_emails.md + line: 54 + message: '~Unrecognized option "connector_actito" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + - + path: docs/content_management/collaborative_editing/configure_collaborative_editing.md + line: 48 + message: '~The child config "firewalls" under "security" must be configured\.~' + - + path: docs/content_management/collaborative_editing/configure_collaborative_editing.md + line: 58 + message: '~Unrecognized option "ibexa_shareable_link" under "security"\. Available options are "access_control", "access_decision_manager", "access_denied_url", "erase_credentials", "expose_security_errors", "firewalls", "hide_user_not_found", "password_hashers", "providers", "role_hierarchy", "session_fixation_strategy"\.~' + - + path: docs/content_management/collaborative_editing/configure_collaborative_editing.md + line: 77 + message: '~Invalid type for path "ibexa\.repositories\.\\.collaboration\.participants\.auto_invite"\. Expected "bool", but got "string"\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 102 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 114 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 136 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 156 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 178 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 78 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 86 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/data_migration_actions.md + line: 96 + message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' + - + path: docs/content_management/data_migration/importing_data.md + line: 200 + message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: show_children"\)\.~' + - + path: docs/content_management/data_migration/importing_data.md + line: 220 + message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: some_field"\)\.~' + - + path: docs/content_management/data_migration/importing_data.md + line: 228 + message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: project_directory"\)\.~' + - + path: docs/content_management/data_migration/importing_data.md + line: 313 + message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: image"\)\.~' + - + path: docs/content_management/data_migration/managing_migrations.md + line: 52 + message: '~The reserved indicator "%" cannot start a plain scalar; you need to quote the scalar at line 2 \(near "migration_directory\: %kernel\.project_dir%/src/Migrations/MyMigrations/"\)\.~' + - + path: docs/content_management/data_migration/managing_migrations.md + line: 65 + message: '~Unable to parse at line 3 \(near "\.\.\."\)\.~' + - + path: docs/content_management/field_types/field_type_reference/measurementfield.md + line: 106 + message: '~Unrecognized option "measurement" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + - + path: docs/content_management/field_types/field_type_reference/measurementfield.md + line: 88 + message: '~Unrecognized option "measurement" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + - + path: docs/content_management/field_types/field_type_storage.md + line: 144 + message: '~A colon cannot be used in an unquoted mapping value at line 9 \(near " \- \{name\: ibexa\.field_type\.storage\.external\.handler, alias\: myfield\}"\)\.~' + - + path: docs/content_management/field_types/form_and_template.md + line: 192 + message: '~Unrecognized option "systems" under "ibexa"\. Did you mean "system"\?~' + - + path: docs/content_management/images/add_image_asset_from_dam.md + line: 52 + message: '~Unable to parse at line 1 \(near " ibexa\:"\)\.~' + - + path: docs/content_management/images/fastly_io.md + line: 93 + message: '~Unrecognized option "fastly_variations" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + - + path: docs/content_management/taxonomy/taxonomy.md + line: 194 + message: '~Unrecognized option "taxonomy" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' + - + path: docs/content_management/url_management/url_management.md + line: 129 + message: '~Unable to parse at line 3 \(near "\.\.\."\)\.~' + - + path: docs/content_management/url_management/url_management.md + line: 64 + message: '~A YAML file cannot contain tabs as indentation at line 7 \(near " enabled\: true"\)\.~' + - + path: docs/content_management/user_generated_content.md + line: 62 + message: '~Unrecognized option "content_edit" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + - + path: docs/content_management/workflow/workflow.md + line: 135 + message: '~The child config "matcher_value_templates" under "ibexa\.system\.default\.workflows_config" must be configured\: Matcher templates configuration\.~' + - + path: docs/customer_management/cp_page_builder.md + line: 119 + message: '~Invalid type for path "ibexa\.system\.custom_portal\.content\.tree_root\.location_id"\. Expected "int", but got "string"\.~' + - + path: docs/customer_management/cp_page_builder.md + line: 207 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/customer_management/cp_page_builder.md + line: 229 + message: '~Invalid type for path "ibexa\.system\.custom_portal\.content\.tree_root\.location_id"\. Expected "int", but got "string"\.~' + - + path: docs/customer_management/cp_page_builder.md + line: 35 + message: '~Invalid type for path "ibexa\.system\.custom_portal\.content\.tree_root\.location_id"\. Expected "int", but got "string"\.~' + - + path: docs/discounts/extend_discounts.md + line: 139 + message: '~Unable to parse at line 1 \(near " App\\Discounts\\Condition\\IsAccountAnniversaryConditionFactory\:"\)\.~' + - + path: docs/discounts/extend_discounts.md + line: 187 + message: '~Unable to parse at line 1 \(near " App\\Discounts\\Rule\\PurchasingPowerParityRuleFactory\:"\)\.~' + - + path: docs/discounts/extend_discounts.md + line: 211 + message: '~Unable to parse at line 1 \(near " App\\Discounts\\Rule\\PurchaseParityValueFormatter\:"\)\.~' + - + path: docs/discounts/extend_discounts.md + line: 229 + message: '~Unable to parse at line 1 \(near " App\\Discounts\\RecentDiscountPrioritizationStrategy\:"\)\.~' + - + path: docs/discounts/extend_discounts.md + line: 64 + message: '~Unable to parse at line 1 \(near " App\\Discounts\\ExpressionProvider\\CurrentUserRegistrationDateResolver\:"\)\.~' + - + path: docs/discounts/extend_discounts.md + line: 82 + message: '~Unable to parse at line 1 \(near " App\\Discounts\\ExpressionProvider\\IsAnniversaryResolver\:"\)\.~' + - + path: docs/discounts/extend_discounts_wizard.md + line: 142 + message: '~Unable to parse at line 1 \(near " App\\Form\\FormMapper\\PurchasingPowerParityValueMapper\: \~"\)\.~' + - + path: docs/getting_started/first_steps.md + line: 115 + message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' + - + path: docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md + line: 295 + message: '~Unable to parse at line 1 \(near " \- \[Home\] \(content\-id\=52, location\-id\=2\)"\)\.~' + - + path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md + line: 145 + message: '~Unable to parse at line 1 \(near " http_cache\:"\)\.~' + - + path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md + line: 210 + message: '~Unrecognized option "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache"\. Available options are "purge_servers", "varnish_invalidate_token"\.~' + - + path: docs/infrastructure_and_maintenance/security/development_security.md + line: 20 + message: '~Unrecognized option "require_previous_session" under "security\.firewalls\.ibexa_front\.form_login"\. Available options are "always_use_default_target_path", "check_path", "csrf_parameter", "csrf_token_id", "default_target_path", "enable_csrf", "failure_forward", "failure_handler", "failure_path", "failure_path_parameter", "form_only", "login_path", "password_parameter", "post_only", "provider", "remember_me", "success_handler", "target_path_parameter", "use_forward", "use_referer", "username_parameter"\.~' + - + path: docs/infrastructure_and_maintenance/security/security_checklist.md + line: 142 + message: '~The child config "firewalls" under "security" must be configured\.~' + - + path: docs/multisite/languages/languages.md + line: 135 + message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' + - + path: docs/multisite/languages/languages.md + line: 78 + message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' + - + path: docs/multisite/multisite_configuration.md + line: 28 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/multisite_configuration.md + line: 57 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/multisite_configuration.md + line: 69 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/set_up_translation_siteaccess.md + line: 43 + message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' + - + path: docs/multisite/site_factory/site_factory.md + line: 204 + message: '~Invalid type for path "doctrine\.dbal\.connections"\. Expected "array", but got "string"~' + - + path: docs/multisite/site_factory/site_factory.md + line: 215 + message: '~Invalid type for path "framework\.cache"\. Expected "array", but got "string"~' + - + path: docs/multisite/site_factory/site_factory.md + line: 40 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/site_factory/site_factory.md + line: 58 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/site_factory/site_factory_configuration.md + line: 81 + message: '~The child config "siteaccess_group" under "ibexa_site_factory\.templates\.\" must be configured\.~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 108 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 123 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 140 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 161 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 178 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 194 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 237 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 32 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 72 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/multisite/siteaccess/siteaccess_matching.md + line: 91 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/permissions/limitation_reference.md + line: 28 + message: '~Unable to parse at line 3 \(near " ibexa\.api\.role\.limitation_type\.function_list\:"\)\.~' + - + path: docs/personalization/attribute_search_in_elasticsearch.md + line: 16 + message: '~Invalid output type in \{"\"\:\{"title"\:"\"\}\}\. Output type id should be type of int\.~' + - + path: docs/product_catalog/enable_purchasing_products.md + line: 106 + message: '~Unable to parse at line 1 \(near " none\:"\)\.~' + - + path: docs/product_catalog/product_catalog_configuration.md + line: 77 + message: '~Unable to parse at line 1 \(near " none\:"\)\.~' + - + path: docs/recommendations/raptor_integration/tracking_functions.md + line: 33 + message: '~Duplicate key "connector_raptor" detected at line 6 \(near " tracking_type\: ''client'' \# Returns \ tags"\)\.~' + - + path: docs/release_notes/ez_platform_v2.4.md + line: 200 + message: '~Unable to parse at line 1 \(near " lexik_jwt_authentication\:"\)\.~' + - + path: docs/release_notes/ez_platform_v2.4.md + line: 221 + message: '~Unable to parse at line 1 \(near " security\:"\)\.~' + - + path: docs/release_notes/ez_platform_v2.4.md + line: 236 + message: '~Unable to parse at line 2 \(near " parameters\:"\)\.~' + - + path: docs/search/search_engines/elasticsearch/configure_elasticsearch.md + line: 185 + message: '~Unable to parse at line 1 \(near "\"\)\.~' + - + path: docs/search/search_engines/elasticsearch/configure_elasticsearch.md + line: 396 + message: '~Unable to parse at line 1 \(near " ibexa_elasticsearch\:"\)\.~' + - + path: docs/search/search_engines/solr_search_engine/install_solr.md + line: 163 + message: '~Unable to parse at line 1 \(near " env\(SEARCH_ENGINE\)\: solr"\)\.~' + - + path: docs/templating/design_engine/add_new_design.md + line: 16 + message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' + - + path: docs/templating/image_variations.md + line: 22 + message: '~Invalid type for path "ibexa\.system\.\\.image_variations\.\\.filters\.\"\. Expected "array", but got "string"~' + - + path: docs/templating/templates/template_configuration.md + line: 99 + message: '~Duplicate key "match" detected at line 3 \(near "match\: \[\]"\)\.~' + - + path: docs/templating/templates/view_matcher_reference.md + line: 237 + message: '~Unexpected token "''" at line 2 \(near "''@Ibexa\\Taxonomy\\View\\Matcher\\TaxonomyEntryBased\\Id''\: \[1, 2, 3\]''"\)\.~' + - + path: docs/update_and_migration/from_3.3/to_4.0.md + line: 237 + message: '~Unrecognized option "ezrichtext" under "ibexa\.system\.admin_group\.fieldtypes"\. Available options are "ibexa_image_asset", "ibexa_richtext"\.~' + - + path: docs/update_and_migration/from_4.3/update_from_4.3_old_commerce.md + line: 168 + message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' + - + path: docs/update_and_migration/from_4.6/update_from_4.6.md + line: 513 + message: '~Unrecognized option "trace" under "ibexa_elasticsearch\.connections\.default"\. Available options are "authentication", "connection_pool", "connection_selector", "debug", "elastic_cloud_id", "hosts", "index_templates", "node_pool_resurrect", "node_pool_selector", "retries", "ssl"\.~' + - + path: docs/update_and_migration/from_4.6/update_from_4.6.md + line: 80 + message: '~Unrecognized option "Ibexa\\Contracts\\Shipping\\Notification\\ShipmentStatusChange" under "ibexa\.system\.my_siteacces_name\.notifications\.subscriptions"\. Available option is "timeout"\.~' + - + path: docs/update_and_migration/from_5.0/update_from_5.0.md + line: 238 + message: '~Unrecognized option "trace" under "ibexa_elasticsearch\.connections\.default"\. Available options are "authentication", "connection_pool", "connection_selector", "debug", "elastic_cloud_id", "hosts", "index_templates", "node_pool_resurrect", "node_pool_selector", "retries", "ssl"\.~' + - + path: docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md + line: 526 + message: '~Mapping values are not allowed in multi\-line blocks at line 2 \(near " ezpublish\.persistence\.slug_converter\:"\)\.~' + - + path: docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md + line: 537 + message: '~Unable to parse at line 1 \(near " ezpublish\.persistence\.slug_converter\:"\)\.~' + - + path: docs/users/invitations.md + line: 33 + message: '~Unable to parse at line 1 \(near " ibexa\:"\)\.~' + - + path: docs/users/oauth_server.md + line: 78 + message: '~The child config "firewalls" under "security" must be configured\.~' + - + path: docs/users/oauth_server.md + line: 90 + message: '~The attribute "name" must be set for path "security\.firewalls"\.~' + - + path: docs/users/user_authentication.md + line: 41 + message: '~Unrecognized option "encoders" under "security"\. Available options are "access_control", "access_decision_manager", "access_denied_url", "erase_credentials", "expose_security_errors", "firewalls", "hide_user_not_found", "password_hashers", "providers", "role_hierarchy", "session_fixation_strategy"\.~' + - + path: docs/users/user_authentication.md + line: 65 + message: '~Unexpected token " " at line 5 \(near "\- \{ name\: kernel\.event_subscriber \} "\)\.~' From b201298378d2112ef7382eb32139b8f2e0dbef36 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:47:32 +0200 Subject: [PATCH 33/63] Rework JWT doc for MCP --- docs/ai/mcp/mcp_config.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 5274be1695..9a91dc1b39 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -18,10 +18,10 @@ In `config/packages/security.yaml`, - uncomment the `ibexa_jwt_rest` firewall to allow the request of JWT tokens through REST API - uncomment the `ibexa_jwt_mcp` firewall to allow the use of JWT for authentication against MCP servers -Notice that you don't need to activate JWT for the REST API. +Notice that you don't need to activate JWT authentication for the REST API or GraphQL. You can now request JWT tokens to use with your MCP servers. -See examples of JWT token request in [REST JWT authentication](rest_api_authentication.md#jwt-authentication) or in [cURL test](#curl-test). +See examples of JWT token requests in [REST JWT authentication](rest_api_authentication.md#jwt-authentication), in [cURL test of MCP Server](#curl-test), or [GraphQL JWT authentication](graphql.md#jwt-authentication). ## MCP server configuration From 90c44f249db1ea5bd9b236b73b8303f9d63ef2b5 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:47:51 +0200 Subject: [PATCH 34/63] Rework JWT doc for MCP --- docs/ai/mcp/mcp_config.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 9a91dc1b39..622cdcef69 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -21,7 +21,10 @@ In `config/packages/security.yaml`, Notice that you don't need to activate JWT authentication for the REST API or GraphQL. You can now request JWT tokens to use with your MCP servers. -See examples of JWT token requests in [REST JWT authentication](rest_api_authentication.md#jwt-authentication), in [cURL test of MCP Server](#curl-test), or [GraphQL JWT authentication](graphql.md#jwt-authentication). +See examples of JWT token requests +in [REST JWT authentication](rest_api_authentication.md#jwt-authentication), +in [cURL test of MCP Server](#curl-test), +or [GraphQL JWT authentication](graphql.md#jwt-authentication). ## MCP server configuration From 39b4645d945612618c6593cb72f2a3e2042bf8e6 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:49:29 +0200 Subject: [PATCH 35/63] Rework JWT doc for MCP --- docs/ai/mcp/mcp_config.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 622cdcef69..51173950e5 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -11,7 +11,8 @@ month_change: true MCP servers use JWT for authentication. -In `config/packages/lexik_jwt_authentication.yaml`, [enable the `authorization_header` token extractor](development_security.md#jwt-authentication) to allow the use of JWT in `Authorization` header. +In `config/packages/lexik_jwt_authentication.yaml`, [enable the `authorization_header` token extractor](development_security.md#jwt-authentication) +to allow the use of JWT token bearer in `Authorization` header. In `config/packages/security.yaml`, From 71f58902709b9e97723e804a9354353234df6e22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 23 Apr 2026 12:55:55 +0200 Subject: [PATCH 36/63] Fixes - first batch --- .../components/twig_components.yaml | 1 - .../config/packages/custom_plugin.yaml | 13 --- .../config/packages/ibexa.yaml | 2 +- .../config/services/payment_method.yaml | 4 +- .../packages/ibexa_connector_raptor.yaml | 4 +- .../configuration/dynamic_configuration.md | 2 +- docs/api/graphql/graphql_customization.md | 6 +- docs/api/rest_api/rest_api_authentication.md | 5 + docs/commerce/checkout/reorder.md | 4 +- docs/commerce/payment/payum_integration.md | 2 +- .../data_migration/managing_migrations.md | 3 +- .../field_types/field_type_storage.md | 2 +- .../images/add_image_asset_from_dam.md | 18 +-- .../url_management/url_management.md | 11 +- .../cache/http_cache/content_aware_cache.md | 2 +- .../cache/http_cache/reverse_proxy.md | 3 + .../connector_installation_configuration.md | 2 +- docs/release_notes/ez_platform_v2.4.md | 42 +++---- .../elasticsearch/configure_elasticsearch.md | 40 +++---- .../solr_search_engine/install_solr.md | 6 +- .../templates/view_matcher_reference.md | 4 +- docs/users/invitations.md | 14 +-- docs/users/user_authentication.md | 2 +- tests/yaml-validation-baseline.yaml | 106 +----------------- 24 files changed, 95 insertions(+), 203 deletions(-) delete mode 100644 code_samples/back_office/online_editor/config/packages/custom_plugin.yaml diff --git a/code_samples/back_office/components/twig_components.yaml b/code_samples/back_office/components/twig_components.yaml index 6e0458f4d0..20d8c3caa2 100644 --- a/code_samples/back_office/components/twig_components.yaml +++ b/code_samples/back_office/components/twig_components.yaml @@ -12,7 +12,6 @@ ibexa_twig_components: priority: 0 arguments: content: 'Hello world!' - admin-ui-user-menu: duplicated_user_menu: type: menu arguments: diff --git a/code_samples/back_office/online_editor/config/packages/custom_plugin.yaml b/code_samples/back_office/online_editor/config/packages/custom_plugin.yaml deleted file mode 100644 index 426b9b75b9..0000000000 --- a/code_samples/back_office/online_editor/config/packages/custom_plugin.yaml +++ /dev/null @@ -1,13 +0,0 @@ -ibexa: - system: - admin_group: - fieldtypes: - ibexa_richtext: - toolbars: - paragraph: - buttons: - date: - priority: 0 -ibexa_fieldtype_richtext: - alloy_editor: - extra_plugins: [date] diff --git a/code_samples/front/shop/order-management/config/packages/ibexa.yaml b/code_samples/front/shop/order-management/config/packages/ibexa.yaml index e17cfbc9e5..310eaca7c3 100644 --- a/code_samples/front/shop/order-management/config/packages/ibexa.yaml +++ b/code_samples/front/shop/order-management/config/packages/ibexa.yaml @@ -65,7 +65,7 @@ framework: to: - dropped -// ... +# ... ibexa: repositories: diff --git a/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml b/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml index b179640c05..ef3b33c817 100644 --- a/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml +++ b/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml @@ -8,7 +8,7 @@ services: $domain: tags: - { name: ibexa.payment.payment_method.type, alias: new_payment_method_type } -services: + App\Payment\PaymentMethod\Voter\NewPaymentMethodTypeVoter: tags: - - { name: ibexa.payment.payment_method.voter, type: new_payment_method_type } \ No newline at end of file + - { name: ibexa.payment.payment_method.voter, type: new_payment_method_type } diff --git a/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml b/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml index 61c90252b1..aa9755de29 100644 --- a/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml +++ b/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml @@ -9,8 +9,8 @@ ibexa: # Raptor Recommendations API key recommendations_api_key: ~ # Required - # Raptor Recommendations API URL, optional, set by default - recommendations_api_url: '%ibexa.connector.raptor.recommendations.api_url%' + # Raptor Recommendations API URI, optional, set by default + recommendations_api_uri: '%ibexa.connector.raptor.recommendations.api_uri%' ibexa_connector_raptor: # When enabled, tracking exceptions are thrown instead of being silently handled strict_exceptions: true diff --git a/docs/administration/configuration/dynamic_configuration.md b/docs/administration/configuration/dynamic_configuration.md index 09f9cfbf42..c847e0899d 100644 --- a/docs/administration/configuration/dynamic_configuration.md +++ b/docs/administration/configuration/dynamic_configuration.md @@ -18,7 +18,7 @@ parameters: # Internal configuration ibexa.site_access.config.default.content.default_ttl: 60 ibexa.site_access.config.site_group.content.default_ttl: 3600 -  + # Here "myapp" is the namespace, followed by the SiteAccess name as the parameter scope # Parameter "my_param" will have a different value in site_group and admin_group myapp.site_group.my_param: value diff --git a/docs/api/graphql/graphql_customization.md b/docs/api/graphql/graphql_customization.md index 5ebf97b4f0..be6421d049 100644 --- a/docs/api/graphql/graphql_customization.md +++ b/docs/api/graphql/graphql_customization.md @@ -68,9 +68,9 @@ Mutation: createSomething: builder: Mutation builderConfig: - inputType: CreateSomethingInput - payloadType: SomethingPayload - mutateAndGetPayload: '@=mutation('CreateSomething', [value])' + inputType: CreateSomethingInput + payloadType: SomethingPayload + mutateAndGetPayload: "@=mutation('CreateSomething', [value])" CreateSomethingInput: type: relay-mutation-input diff --git a/docs/api/rest_api/rest_api_authentication.md b/docs/api/rest_api/rest_api_authentication.md index f7f77366f8..a75b096d1d 100644 --- a/docs/api/rest_api/rest_api_authentication.md +++ b/docs/api/rest_api/rest_api_authentication.md @@ -325,10 +325,15 @@ For more information, see [HTTP Authentication: Basic and Digest Access Authenti If the installation has a dedicated host for REST, you can enable HTTP basic authentication only on this host by setting a firewall like in the following example before the `ibexa_front` one: ```yaml +security: + firewalls: + # ... ibexa_rest: host: ^api\.example\.com$ http_basic: realm: Ibexa DXP REST API + #ibexa_front + # ... ``` !!! caution "Back office uses REST API" diff --git a/docs/commerce/checkout/reorder.md b/docs/commerce/checkout/reorder.md index 4d022782e4..96f83c6bed 100644 --- a/docs/commerce/checkout/reorder.md +++ b/docs/commerce/checkout/reorder.md @@ -54,11 +54,11 @@ framework: places: !php/const Ibexa\OrderManagement\Value\Status::COMPLETED_PLACE: metadata: - ... + # ... can_be_reordered: true !php/const Ibexa\OrderManagement\Value\Status::CANCELLED_PLACE: metadata: - ... + # ... can_be_reordered: true ``` diff --git a/docs/commerce/payment/payum_integration.md b/docs/commerce/payment/payum_integration.md index 7da7da20b1..408515f257 100644 --- a/docs/commerce/payment/payum_integration.md +++ b/docs/commerce/payment/payum_integration.md @@ -43,7 +43,7 @@ ibexa_connector_payum: refunded: cancelled captured: pending authorized: authorized -[...] +# ... ``` ## Payment service name translations diff --git a/docs/content_management/data_migration/managing_migrations.md b/docs/content_management/data_migration/managing_migrations.md index 072a7a0e6d..c96e078208 100644 --- a/docs/content_management/data_migration/managing_migrations.md +++ b/docs/content_management/data_migration/managing_migrations.md @@ -50,7 +50,7 @@ You can configure a different folder by using the following settings: ``` yaml ibexa_migrations: - migration_directory: %kernel.project_dir%/src/Migrations/MyMigrations/ + migration_directory: '%kernel.project_dir%/src/Migrations/MyMigrations/' migrations_files_subdir: migration_files ``` @@ -64,7 +64,6 @@ ibexa_migrations: ``` yaml ibexa_migrations: migration_directory: '%kernel.project_dir%/data/' - ... ``` Then, when you run the migration command, you must use the [`--siteaccess` option](exporting_data.md#siteaccess) and provide the name of the SiteAccess that you want to migrate. diff --git a/docs/content_management/field_types/field_type_storage.md b/docs/content_management/field_types/field_type_storage.md index ed3ab221c3..2aa8816b52 100644 --- a/docs/content_management/field_types/field_type_storage.md +++ b/docs/content_management/field_types/field_type_storage.md @@ -147,7 +147,7 @@ services: autoconfigure: true public: false - App\FieldType\MyField\Storage\MyFieldStorage: ~ + App\FieldType\MyField\Storage\MyFieldStorage: tags: - {name: ibexa.field_type.storage.external.handler, alias: myfield} ``` diff --git a/docs/content_management/images/add_image_asset_from_dam.md b/docs/content_management/images/add_image_asset_from_dam.md index 8c7c236fd3..52b91bbc7c 100644 --- a/docs/content_management/images/add_image_asset_from_dam.md +++ b/docs/content_management/images/add_image_asset_from_dam.md @@ -49,15 +49,15 @@ Next, in `config/packages/ibexa.yaml`, set the `dam.html.twig` template for the For more information about displaying content, see [Content rendering](render_content.md). ``` yaml - ibexa: - system: - site: - content_view: - embed: - image_dam: - template: '@ibexadesign/embed/dam.html.twig' - match: - Identifier\ContentType: +ibexa: + system: + site: + content_view: + embed: + image_dam: + template: '@ibexadesign/embed/dam.html.twig' + match: + Identifier\ContentType: ``` In your [configuration file](configuration.md#configuration-files) add the following configuration: diff --git a/docs/content_management/url_management/url_management.md b/docs/content_management/url_management/url_management.md index a249b83d0e..a9416514a5 100644 --- a/docs/content_management/url_management/url_management.md +++ b/docs/content_management/url_management/url_management.md @@ -67,13 +67,13 @@ ibexa: url_checker: handlers: http: - enabled: true - batch_size: 64 + enabled: true + batch_size: 64 https: - enabled: true - ignore_certificate: false + enabled: true + ignore_certificate: false mailto: - enabled: false + enabled: false ``` Available options are protocol-specific. @@ -128,7 +128,6 @@ Then you must register the service with an `ibexa.url_checker.handler` tag, like ```yaml app.url_checker.handler.custom: class: 'App\URLChecker\Handler\CustomHandler' - ... tags: - { name: ibexa.url_checker.handler, scheme: custom } ``` diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md index d6ab0444a1..ae176fac6d 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md @@ -291,7 +291,7 @@ With the same content structure as above, the `[Child]` location is moved below The new structure is then: -```yaml +```text - [Home] (content-id=52, location-id=2) ez-all c52 ct42 l2 pl1 p1 p2 | diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md index f309604195..bd8f0921b0 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md @@ -142,6 +142,9 @@ ibexa: If the Varnish server is protected by Basic Auth, specify the Basic Auth credentials within the `purge_servers` setting using the format: ``` yaml +ibexa: + system: + my_siteaccess_group: http_cache: purge_servers: [http://myuser:mypasswd@my.varnish.server:8081] ``` diff --git a/docs/recommendations/raptor_integration/connector_installation_configuration.md b/docs/recommendations/raptor_integration/connector_installation_configuration.md index dfc2645400..3e133a440f 100644 --- a/docs/recommendations/raptor_integration/connector_installation_configuration.md +++ b/docs/recommendations/raptor_integration/connector_installation_configuration.md @@ -35,7 +35,7 @@ To configure the Raptor connector, use the `ibexa.system..connector_rapto - `client` - tracking is executed in the browser using JavaScript snippets generated by the [Twig functions](recommendations_twig_functions.md) and included in the templates. This approach may be blocked by ad blockers. - `server` - tracking is handled on the backend, with events sent directly to the tracking API. It's not affected by ad blockers. - `recommendations_api_key` - an API key used to authenticate requests to the Recommendations API. This key allows the connector to retrieve personalized recommendations from the recommendation engine. You can find this value as ["API key"](connector_installation_configuration.md#recommendations-api-key) in Raptor Control Panel. -- `recommendations_api_url` (optional) - overrides the default Raptor address, do not set it unless a custom endpoint is required. +- `recommendations_api_uri` (optional) - overrides the default Raptor address, do not set it unless a custom endpoint is required. By default, `tracking_type` is set to `client` as client-side tracking is the standard Raptor mode. To understand the differences between client and server tracking types, including their advantages and disadvantages, refer to the [Raptor documentation](https://content.raptorservices.com/help-center/client-side-vs.-server-side-tracking). diff --git a/docs/release_notes/ez_platform_v2.4.md b/docs/release_notes/ez_platform_v2.4.md index 90562b8ada..16d92cbdb2 100644 --- a/docs/release_notes/ez_platform_v2.4.md +++ b/docs/release_notes/ez_platform_v2.4.md @@ -197,18 +197,18 @@ The biggest benefit of this feature is saving load time on complex landing pages 2\. Add the following configuration to `/app/config/config.yml` ``` yaml - lexik_jwt_authentication: - secret_key: '%secret%' - encoder: + lexik_jwt_authentication: + secret_key: '%secret%' + encoder: signature_algorithm: HS256 # Disabled by default, because Page Builder uses custom extractor - token_extractors: - authorization_header: - enabled: false - cookie: - enabled: false - query_parameter: - enabled: false + token_extractors: + authorization_header: + enabled: false + cookie: + enabled: false + query_parameter: + enabled: false ``` By default `HS256` is used as signature algorithm for generated token but we strongly recommend switching to SSH keys. @@ -218,23 +218,23 @@ The biggest benefit of this feature is saving load time on complex landing pages 3\. Add `EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator` authentication provider to `ezpublish_front` firewall before `form_login` in `app/config/security.yml`: ``` yaml - security: + security: # ... - firewalls: - ezpublish_front: - # ... - simple_preauth: - authenticator: 'EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator' - form_login: - require_previous_session: false - # ... + firewalls: + ezpublish_front: + # ... + simple_preauth: + authenticator: 'EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator' + form_login: + require_previous_session: false + # ... ``` 4\. Make sure that parameter `page_builder.token_authenticator.enabled` has value `true`. If the parameter isn't present, add it to `/app/config/config.yml`: ``` yaml - # ... - parameters: + # ... + parameters: # ... page_builder.token_authenticator.enabled: true ``` diff --git a/docs/search/search_engines/elasticsearch/configure_elasticsearch.md b/docs/search/search_engines/elasticsearch/configure_elasticsearch.md index 3e05c45665..38c9cf33bb 100644 --- a/docs/search/search_engines/elasticsearch/configure_elasticsearch.md +++ b/docs/search/search_engines/elasticsearch/configure_elasticsearch.md @@ -182,7 +182,7 @@ If your Elasticsearch server is protected by HTTP authentication, you must provi In the basic authentication, you must pass the following parameters: ``` yaml - +: # ... authentication: type: basic @@ -377,14 +377,14 @@ Index names use the following pattern: You can create index templates with settings that apply to a specific language only, for example, to eliminate stop words from the index, or help divide concatenations. You use patterns to identify index templates that contain settings specific for a given language: - ``` yaml - ibexa_elasticsearch: +``` yaml +ibexa_elasticsearch: # ... index_templates: default_en_us: patterns: ['default_*', '*eng_us*'] - # ... - ``` + # ... +``` - `settings` - Settings under this key control all aspects related to an index. @@ -392,21 +392,21 @@ For more information and a list of available settings, see [Elasticsearch docume For example, you can define settings that convert text into a format that is optimized for search, like a normalizer that changes a case of all phrases in the index: - ``` yaml - ibexa_elasticsearch: - # ... - index_templates: - default: - # ... - settings: - analysis: - normalizer: - lowercase_normalizer: - type: custom - char_filter: [] - filter: lowercase - # ... - ``` +``` yaml +ibexa_elasticsearch: + # ... + index_templates: + default: + # ... + settings: + analysis: + normalizer: + lowercase_normalizer: + type: custom + char_filter: [] + filter: lowercase + # ... +``` - `mappings` - Settings under this key define mapping for fields in the index. diff --git a/docs/search/search_engines/solr_search_engine/install_solr.md b/docs/search/search_engines/solr_search_engine/install_solr.md index edf2a76c0c..b7de523435 100644 --- a/docs/search/search_engines/solr_search_engine/install_solr.md +++ b/docs/search/search_engines/solr_search_engine/install_solr.md @@ -160,9 +160,9 @@ The Solr Search Engine Bundle can be configured in many ways. The config further below assumes you have parameters set up for Solr DSN and search engine *(however both are optional)*, for example: ``` yaml - env(SEARCH_ENGINE): solr - env(SOLR_DSN): 'http://localhost:8983/solr' - env(SOLR_CORE): collection1 +env(SEARCH_ENGINE): solr +env(SOLR_DSN): 'http://localhost:8983/solr' +env(SOLR_CORE): collection1 ``` ### Configure Solr version diff --git a/docs/templating/templates/view_matcher_reference.md b/docs/templating/templates/view_matcher_reference.md index 687569c488..4e706fbeb1 100644 --- a/docs/templating/templates/view_matcher_reference.md +++ b/docs/templating/templates/view_matcher_reference.md @@ -235,7 +235,7 @@ match: ``` yaml match: - '@Ibexa\Taxonomy\View\Matcher\TaxonomyEntryBased\Id': [1, 2, 3]' + '@Ibexa\Taxonomy\View\Matcher\TaxonomyEntryBased\Id': [1, 2, 3] ``` ## Taxonomy entry identifier @@ -264,4 +264,4 @@ match: ``` yaml match: '@Ibexa\Taxonomy\View\Matcher\TaxonomyEntryBased\Taxonomy': 'product_category' -``` \ No newline at end of file +``` diff --git a/docs/users/invitations.md b/docs/users/invitations.md index 446e852902..ddcebdd860 100644 --- a/docs/users/invitations.md +++ b/docs/users/invitations.md @@ -30,13 +30,13 @@ If the SiteAccess isn't set, it falls back to the default `site` value. For example, use the following [configuration](configuration.md#configuration-files): ```yaml - ibexa: - system: - : - user_invitation: - hash_expiration_time: P7D - templates: - mail: "@@App/invitation/mail.html.twig" +ibexa: + system: + : + user_invitation: + hash_expiration_time: P7D + templates: + mail: "@@App/invitation/mail.html.twig" ``` Here, you can specify which template should be used for the invitation mail, and what should be the expiration time for the invitation link included in that mail. diff --git a/docs/users/user_authentication.md b/docs/users/user_authentication.md index d2b7280301..9ec9e79c5d 100644 --- a/docs/users/user_authentication.md +++ b/docs/users/user_authentication.md @@ -66,7 +66,7 @@ services: App\EventListener\InteractiveLoginListener: arguments: ['@ibexa.api.service.user'] tags: - - { name: kernel.event_subscriber }  + - { name: kernel.event_subscriber } ``` Don't mix `MVCEvents::INTERACTIVE_LOGIN` event (specific to [[= product_name =]]) and `SecurityEvents::INTERACTIVE_LOGIN` event (fired by Symfony security component). diff --git a/tests/yaml-validation-baseline.yaml b/tests/yaml-validation-baseline.yaml index 6e642cf974..6bcade4e53 100644 --- a/tests/yaml-validation-baseline.yaml +++ b/tests/yaml-validation-baseline.yaml @@ -2,30 +2,14 @@ # To suppress a failure: regenerate this file after confirming it is expected. # To fix a suppressed failure: fix the doc error and regenerate. ignoreErrors: - - - path: code_samples/back_office/components/twig_components.yaml - line: 0 - message: '~Duplicate key "admin\-ui\-user\-menu" detected at line 15 \(near " depth\: 1"\)\.~' - - - path: code_samples/back_office/online_editor/config/packages/custom_plugin.yaml - line: 0 - message: '~Unrecognized option "toolbars" under "ibexa\.system\.admin_group\.fieldtypes\.ibexa_richtext"\. Did you mean "toolbar"\?~' - path: code_samples/forms/custom_form_attribute/config/custom_services.yaml line: 0 message: '~Unable to parse at line 1 \(near " App\\FormBuilder\\FieldType\\Field\\Mapper\\CheckboxWithRichtextDescriptionFieldMapper\:"\)\.~' - - - path: code_samples/front/shop/order-management/config/packages/ibexa.yaml - line: 0 - message: '~Unable to parse at line 68 \(near "// \.\.\."\)\.~' - - - path: code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml - line: 0 - message: '~Duplicate key "services" detected at line 11 \(near " \- \{ name\: ibexa\.payment\.payment_method\.voter, type\: new_payment_method_type \}"\)\.~' - path: code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml line: 0 - message: '~Unrecognized option "recommendations_api_url" under "ibexa\.system\.\\.connector_raptor"\. Did you mean "recommendations_api_uri"\?~' + message: '~The path "ibexa\.system\.\\.connector_raptor\.customer_id" cannot contain an empty value, but got ""\.~' - path: code_samples/workflow/custom_workflow/config/packages/workflows.yaml line: 0 @@ -42,18 +26,6 @@ ignoreErrors: path: docs/administration/back_office/customize_search_suggestion.md line: 16 message: '~Unrecognized options "min_query_length, result_limit" under "ibexa\.system\.\\.search"\. Available option is "suggestion"\.~' - - - path: docs/administration/configuration/dynamic_configuration.md - line: 17 - message: '~Unable to parse at line 5 \(near " "\)\.~' - - - path: docs/api/graphql/graphql_customization.md - line: 63 - message: '~Unexpected characters near "CreateSomething'', \[value\]\)''" at line 11 \(near "mutateAndGetPayload\: ''@\=mutation\(''CreateSomething'', \[value\]\)''"\)\.~' - - - path: docs/api/rest_api/rest_api_authentication.md - line: 328 - message: '~Unable to parse at line 1 \(near " ibexa_rest\:"\)\.~' - path: docs/cdp/cdp_data_customization.md line: 29 @@ -66,10 +38,6 @@ ignoreErrors: path: docs/commerce/checkout/customize_checkout.md line: 130 message: '~Invalid configuration for path "framework\.workflows\.workflows\.ibexa_checkout"\: "supports" or "support_strategy" should be configured\.~' - - - path: docs/commerce/checkout/reorder.md - line: 51 - message: '~Mapping values are not allowed in multi\-line blocks at line 7 \(near "\.\.\."\)\.~' - path: docs/commerce/order_management/configure_order_management.md line: 51 @@ -82,10 +50,6 @@ ignoreErrors: path: docs/commerce/payment/enable_stripe_payments.md line: 41 message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/commerce/payment/payum_integration.md - line: 41 - message: '~Unable to parse at line 6 \(near "\[\.\.\.\]"\)\.~' - path: docs/commerce/payment/payum_integration.md line: 55 @@ -162,14 +126,6 @@ ignoreErrors: path: docs/content_management/data_migration/importing_data.md line: 313 message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: image"\)\.~' - - - path: docs/content_management/data_migration/managing_migrations.md - line: 52 - message: '~The reserved indicator "%" cannot start a plain scalar; you need to quote the scalar at line 2 \(near "migration_directory\: %kernel\.project_dir%/src/Migrations/MyMigrations/"\)\.~' - - - path: docs/content_management/data_migration/managing_migrations.md - line: 65 - message: '~Unable to parse at line 3 \(near "\.\.\."\)\.~' - path: docs/content_management/field_types/field_type_reference/measurementfield.md line: 106 @@ -178,18 +134,10 @@ ignoreErrors: path: docs/content_management/field_types/field_type_reference/measurementfield.md line: 88 message: '~Unrecognized option "measurement" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' - - - path: docs/content_management/field_types/field_type_storage.md - line: 144 - message: '~A colon cannot be used in an unquoted mapping value at line 9 \(near " \- \{name\: ibexa\.field_type\.storage\.external\.handler, alias\: myfield\}"\)\.~' - path: docs/content_management/field_types/form_and_template.md line: 192 message: '~Unrecognized option "systems" under "ibexa"\. Did you mean "system"\?~' - - - path: docs/content_management/images/add_image_asset_from_dam.md - line: 52 - message: '~Unable to parse at line 1 \(near " ibexa\:"\)\.~' - path: docs/content_management/images/fastly_io.md line: 93 @@ -198,14 +146,6 @@ ignoreErrors: path: docs/content_management/taxonomy/taxonomy.md line: 194 message: '~Unrecognized option "taxonomy" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/content_management/url_management/url_management.md - line: 129 - message: '~Unable to parse at line 3 \(near "\.\.\."\)\.~' - - - path: docs/content_management/url_management/url_management.md - line: 64 - message: '~A YAML file cannot contain tabs as indentation at line 7 \(near " enabled\: true"\)\.~' - path: docs/content_management/user_generated_content.md line: 62 @@ -262,17 +202,9 @@ ignoreErrors: path: docs/getting_started/first_steps.md line: 115 message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - - - path: docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md - line: 295 - message: '~Unable to parse at line 1 \(near " \- \[Home\] \(content\-id\=52, location\-id\=2\)"\)\.~' - - - path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md - line: 145 - message: '~Unable to parse at line 1 \(near " http_cache\:"\)\.~' - path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md - line: 210 + line: 213 message: '~Unrecognized option "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache"\. Available options are "purge_servers", "varnish_invalidate_token"\.~' - path: docs/infrastructure_and_maintenance/security/development_security.md @@ -386,30 +318,10 @@ ignoreErrors: path: docs/recommendations/raptor_integration/tracking_functions.md line: 33 message: '~Duplicate key "connector_raptor" detected at line 6 \(near " tracking_type\: ''client'' \# Returns \ tags"\)\.~' - - - path: docs/release_notes/ez_platform_v2.4.md - line: 200 - message: '~Unable to parse at line 1 \(near " lexik_jwt_authentication\:"\)\.~' - path: docs/release_notes/ez_platform_v2.4.md line: 221 - message: '~Unable to parse at line 1 \(near " security\:"\)\.~' - - - path: docs/release_notes/ez_platform_v2.4.md - line: 236 - message: '~Unable to parse at line 2 \(near " parameters\:"\)\.~' - - - path: docs/search/search_engines/elasticsearch/configure_elasticsearch.md - line: 185 - message: '~Unable to parse at line 1 \(near "\"\)\.~' - - - path: docs/search/search_engines/elasticsearch/configure_elasticsearch.md - line: 396 - message: '~Unable to parse at line 1 \(near " ibexa_elasticsearch\:"\)\.~' - - - path: docs/search/search_engines/solr_search_engine/install_solr.md - line: 163 - message: '~Unable to parse at line 1 \(near " env\(SEARCH_ENGINE\)\: solr"\)\.~' + message: '~Unrecognized option "require_previous_session" under "security\.firewalls\.ezpublish_front\.form_login"\. Available options are "always_use_default_target_path", "check_path", "csrf_parameter", "csrf_token_id", "default_target_path", "enable_csrf", "failure_forward", "failure_handler", "failure_path", "failure_path_parameter", "form_only", "login_path", "password_parameter", "post_only", "provider", "remember_me", "success_handler", "target_path_parameter", "use_forward", "use_referer", "username_parameter"\.~' - path: docs/templating/design_engine/add_new_design.md line: 16 @@ -422,10 +334,6 @@ ignoreErrors: path: docs/templating/templates/template_configuration.md line: 99 message: '~Duplicate key "match" detected at line 3 \(near "match\: \[\]"\)\.~' - - - path: docs/templating/templates/view_matcher_reference.md - line: 237 - message: '~Unexpected token "''" at line 2 \(near "''@Ibexa\\Taxonomy\\View\\Matcher\\TaxonomyEntryBased\\Id''\: \[1, 2, 3\]''"\)\.~' - path: docs/update_and_migration/from_3.3/to_4.0.md line: 237 @@ -454,10 +362,6 @@ ignoreErrors: path: docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md line: 537 message: '~Unable to parse at line 1 \(near " ezpublish\.persistence\.slug_converter\:"\)\.~' - - - path: docs/users/invitations.md - line: 33 - message: '~Unable to parse at line 1 \(near " ibexa\:"\)\.~' - path: docs/users/oauth_server.md line: 78 @@ -470,7 +374,3 @@ ignoreErrors: path: docs/users/user_authentication.md line: 41 message: '~Unrecognized option "encoders" under "security"\. Available options are "access_control", "access_decision_manager", "access_denied_url", "erase_credentials", "expose_security_errors", "firewalls", "hide_user_not_found", "password_hashers", "providers", "role_hierarchy", "session_fixation_strategy"\.~' - - - path: docs/users/user_authentication.md - line: 65 - message: '~Unexpected token " " at line 5 \(near "\- \{ name\: kernel\.event_subscriber \} "\)\.~' From b144d931b154c5a4c7a59f2953539d0c7d7d3590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 23 Apr 2026 14:31:45 +0200 Subject: [PATCH 37/63] Fixes - batch 2 --- .../packages/ibexa_connector_raptor.yaml | 4 +- composer.json | 7 +- .../customize_search_suggestion.md | 5 +- docs/cdp/cdp_installation.md | 13 +-- .../payment/enable_paypal_payments.md | 1 - .../payment/enable_stripe_payments.md | 1 - .../storefront/configure_storefront.md | 7 +- .../configure_collaborative_editing.md | 17 ++-- .../field_types/form_and_template.md | 2 +- docs/content_management/taxonomy/taxonomy.md | 5 +- .../user_generated_content.md | 13 +-- docs/customer_management/cp_page_builder.md | 6 +- docs/multisite/site_factory/site_factory.md | 4 +- docs/templating/image_variations.md | 4 +- docs/users/oauth_server.md | 2 +- tests/yaml-validation-baseline.yaml | 80 +++---------------- 16 files changed, 61 insertions(+), 110 deletions(-) diff --git a/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml b/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml index aa9755de29..1898c35aae 100644 --- a/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml +++ b/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml @@ -3,11 +3,11 @@ ibexa: : connector_raptor: enabled: true - customer_id: ~ # Required + customer_id: "12345" # Required tracking_type: client # One of: "client" or "server" # Raptor Recommendations API key - recommendations_api_key: ~ # Required + recommendations_api_key: "your_api_key_here" # Required # Raptor Recommendations API URI, optional, set by default recommendations_api_uri: '%ibexa.connector.raptor.recommendations.api_uri%' diff --git a/composer.json b/composer.json index 67c2badab9..351e081fec 100644 --- a/composer.json +++ b/composer.json @@ -57,7 +57,7 @@ "ibexa/page-builder": "5.0.x-dev", "ibexa/order-management": "5.0.x-dev", "ibexa/calendar": "5.0.x-dev", - "ibexa/payment": "5.0.x-dev", + "ibexa/payment": "~5.0.x-dev", "ibexa/shipping": "5.0.x-dev", "ibexa/fieldtype-matrix": "5.0.x-dev", "ibexa/storefront": "5.0.x-dev", @@ -95,7 +95,10 @@ "ibexa/site-context": "~5.0.x-dev", "ibexa/fieldtype-richtext-rte": "~5.0.x-dev", "ibexa/site-factory": "~5.0.x-dev", - "ibexa/ckeditor-premium": "~5.0.x-dev" + "ibexa/ckeditor-premium": "~5.0.x-dev", + "ibexa/measurement": "~5.0.x-dev", + "ibexa/connector-actito": "~5.0.x-dev", + "ibexa/fastly": "~5.0.x-dev" }, "scripts": { "fix-cs": "php-cs-fixer fix --config=.php-cs-fixer.php -v --show-progress=dots", diff --git a/docs/administration/back_office/customize_search_suggestion.md b/docs/administration/back_office/customize_search_suggestion.md index 158b3384c2..2764115e25 100644 --- a/docs/administration/back_office/customize_search_suggestion.md +++ b/docs/administration/back_office/customize_search_suggestion.md @@ -17,8 +17,9 @@ ibexa: system: : search: - min_query_length: 3 - result_limit: 5 + suggestion: + min_query_length: 3 + result_limit: 5 ``` ## Add custom suggestion source diff --git a/docs/cdp/cdp_installation.md b/docs/cdp/cdp_installation.md index 73ba9dd5ae..f84719a45e 100644 --- a/docs/cdp/cdp_installation.md +++ b/docs/cdp/cdp_installation.md @@ -27,11 +27,14 @@ Symfony Flex installs and activates the package. After an installation process is finished, go to `config/packages/security.yaml` and uncomment `ibexa_cdp` rule. ```yaml -ibexa_cdp: - pattern: /cdp/webhook - guard: - authenticator: 'Ibexa\Cdp\Security\CdpRequestAuthenticator' - stateless: true +security: + firewalls: + # ... + ibexa_cdp: + request_matcher: Ibexa\Cdp\Security\RequestMatcher + custom_authenticators: + - 'Ibexa\Cdp\Security\CdpRequestAuthenticator' + stateless: true ``` Now, you can configure [[= product_name_cdp =]]. diff --git a/docs/commerce/payment/enable_paypal_payments.md b/docs/commerce/payment/enable_paypal_payments.md index 3bccfdcdc5..2e4b890c25 100644 --- a/docs/commerce/payment/enable_paypal_payments.md +++ b/docs/commerce/payment/enable_paypal_payments.md @@ -42,5 +42,4 @@ ibexa: type: pp_express_checkout: name: "Translated PayPal Express Checkout name" - ``` diff --git a/docs/commerce/payment/enable_stripe_payments.md b/docs/commerce/payment/enable_stripe_payments.md index 105ed62402..5d03bd8829 100644 --- a/docs/commerce/payment/enable_stripe_payments.md +++ b/docs/commerce/payment/enable_stripe_payments.md @@ -43,5 +43,4 @@ ibexa: type: strp_checkout: name: "Translated Stripe Checkout name" - ``` diff --git a/docs/commerce/storefront/configure_storefront.md b/docs/commerce/storefront/configure_storefront.md index bdc96c02c8..5d69a73251 100644 --- a/docs/commerce/storefront/configure_storefront.md +++ b/docs/commerce/storefront/configure_storefront.md @@ -94,9 +94,10 @@ Settings for a Storefront user are configured under the `ibexa.system..st ibexa: system: site_group: - user_settings_groups: - - location - - custom_group + storefront: + user_settings_groups: + - location + - custom_group ``` By default, only the `location` user settings is provided: diff --git a/docs/content_management/collaborative_editing/configure_collaborative_editing.md b/docs/content_management/collaborative_editing/configure_collaborative_editing.md index 482040f3e1..268f774ff4 100644 --- a/docs/content_management/collaborative_editing/configure_collaborative_editing.md +++ b/docs/content_management/collaborative_editing/configure_collaborative_editing.md @@ -57,14 +57,15 @@ security: ```yaml security: # ... - ibexa_shareable_link: - request_matcher: Ibexa\Collaboration\Security\RequestMatcher\ShareableLinkRequestMatcher - pattern: ^/ - provider: shared - stateless: true - user_checker: Ibexa\Core\MVC\Symfony\Security\UserChecker - custom_authenticators: - - Ibexa\Collaboration\Security\Authenticator\ShareableLinkAuthenticator + firewalls: + ibexa_shareable_link: + request_matcher: Ibexa\Collaboration\Security\RequestMatcher\ShareableLinkRequestMatcher + pattern: ^/ + provider: shared + stateless: true + user_checker: Ibexa\Core\MVC\Symfony\Security\UserChecker + custom_authenticators: + - Ibexa\Collaboration\Security\Authenticator\ShareableLinkAuthenticator ``` ### Configuration diff --git a/docs/content_management/field_types/form_and_template.md b/docs/content_management/field_types/form_and_template.md index 471cdf36c9..9babd387cc 100644 --- a/docs/content_management/field_types/form_and_template.md +++ b/docs/content_management/field_types/form_and_template.md @@ -190,7 +190,7 @@ If you don't use the design engine, apply the following configuration: ``` yaml ibexa: - systems: + system: admin_group: field_templates: - { template: 'adminui/field/custom_field_view.html.twig', priority: 10 } diff --git a/docs/content_management/taxonomy/taxonomy.md b/docs/content_management/taxonomy/taxonomy.md index f01ddb75df..118b787a18 100644 --- a/docs/content_management/taxonomy/taxonomy.md +++ b/docs/content_management/taxonomy/taxonomy.md @@ -191,10 +191,9 @@ By default, the system returns three suggestions. You can change the default number if needed by altering the following setting: ``` yaml hl_lines="4" -ibexa: - taxonomy: +ibexa_taxonomy: text_to_taxonomy: - default_suggested_taxonomies_limit: 5 + default_suggested_taxonomies_limit: 5 ``` You can also override this setting per AI action by editing its configuration. diff --git a/docs/content_management/user_generated_content.md b/docs/content_management/user_generated_content.md index 4a12ecc3bf..a35612334e 100644 --- a/docs/content_management/user_generated_content.md +++ b/docs/content_management/user_generated_content.md @@ -56,14 +56,17 @@ For example, `/content/edit/draft/1/5/eng-GB` enables you to edit draft 5 of con You can use custom templates for the content editing forms. -Define the templates under the `ibexa.system..content_edit.templates` [configuration key](configuration.md#configuration-files): +Define the templates under the `ibexa.system..content_edit_view` [configuration key](configuration.md#configuration-files): ``` yaml ibexa: system: default: - content_edit: - templates: - edit: content/edit/content_edit.html.twig - create_draft: content/edit/content_create_draft.html.twig + content_edit_view: + full: + : + template: content/edit/content_edit.html.twig + match: true + params: + viewbaseLayout: '@ibexadesign/ui/layout.html.twig' ``` diff --git a/docs/customer_management/cp_page_builder.md b/docs/customer_management/cp_page_builder.md index 69e3bdd6b6..d8673c5b55 100644 --- a/docs/customer_management/cp_page_builder.md +++ b/docs/customer_management/cp_page_builder.md @@ -51,7 +51,7 @@ ibexa: languages: [ eng-GB ] content: tree_root: - location_id: location_id_of_customer_portal + location_id: 9999 # location_id_of_customer_portal excluded_uri_prefixes: [ /media/, /images/ ] ``` @@ -135,7 +135,7 @@ ibexa: languages: [ eng-GB ] content: tree_root: - location_id: location_id_of_customer_portals_root_folder + location_id: 9999 # location_id_of_customer_portals_root_folder excluded_uri_prefixes: [ /media/, /images/ ] ``` @@ -233,7 +233,7 @@ ibexa: page_layout: "@App/my_page_layout.html.twig" content: tree_root: - location_id: location_id_of_customer_portals_root_folder + location_id: 999 #location_id_of_customer_portals_root_folder excluded_uri_prefixes: [ /media/, /images/ ] ``` diff --git a/docs/multisite/site_factory/site_factory.md b/docs/multisite/site_factory/site_factory.md index 74bed2fefb..3afd0628e9 100644 --- a/docs/multisite/site_factory/site_factory.md +++ b/docs/multisite/site_factory/site_factory.md @@ -204,7 +204,7 @@ Keep in mind that with disabled Site Factory you're unable to add new sites or u doctrine: dbal: connections: - ... + # ... # This connection is dedicated for SiteFactory to avoid known issues site_factory: ``` @@ -214,7 +214,7 @@ doctrine: ``` yaml framework: cache: - ... + # ... pools: # This pool should be used only by SiteFactory bundle site_factory_pool: diff --git a/docs/templating/image_variations.md b/docs/templating/image_variations.md index cdcb8d9046..e4718dadfb 100644 --- a/docs/templating/image_variations.md +++ b/docs/templating/image_variations.md @@ -26,7 +26,9 @@ ibexa: : reference: null filters: - : + filter_name: + - parameter1 + - parameter2 ``` Variation name must be unique. diff --git a/docs/users/oauth_server.md b/docs/users/oauth_server.md index 45ac506920..bc12a9889f 100644 --- a/docs/users/oauth_server.md +++ b/docs/users/oauth_server.md @@ -89,7 +89,7 @@ In `config/packages/security.yaml`, uncomment the three following lines under th ```yaml security: #… - firewall: + firewalls: #… # Uncomment oauth2_token firewall if you wish to use product as an OAuth2 Server. diff --git a/tests/yaml-validation-baseline.yaml b/tests/yaml-validation-baseline.yaml index 6bcade4e53..01e5acfe11 100644 --- a/tests/yaml-validation-baseline.yaml +++ b/tests/yaml-validation-baseline.yaml @@ -6,10 +6,6 @@ ignoreErrors: path: code_samples/forms/custom_form_attribute/config/custom_services.yaml line: 0 message: '~Unable to parse at line 1 \(near " App\\FormBuilder\\FieldType\\Field\\Mapper\\CheckboxWithRichtextDescriptionFieldMapper\:"\)\.~' - - - path: code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml - line: 0 - message: '~The path "ibexa\.system\.\\.connector_raptor\.customer_id" cannot contain an empty value, but got ""\.~' - path: code_samples/workflow/custom_workflow/config/packages/workflows.yaml line: 0 @@ -22,18 +18,10 @@ ignoreErrors: path: docs/administration/back_office/configure_product_tour.md line: 26 message: '~The value "\" is not allowed for path "ibexa\.system\.\\>\.product_tour\.\\.type"\. Permissible values\: "general", "targetable"\.~' - - - path: docs/administration/back_office/customize_search_suggestion.md - line: 16 - message: '~Unrecognized options "min_query_length, result_limit" under "ibexa\.system\.\\.search"\. Available option is "suggestion"\.~' - path: docs/cdp/cdp_data_customization.md line: 29 message: '~Unable to parse at line 1 \(near " App\\Export\\User\\DateOfBirthUserItemProcessor\:"\)\.~' - - - path: docs/cdp/cdp_installation.md - line: 30 - message: '~Unrecognized options "pattern, guard, stateless" under "ibexa_cdp"\. Available options are "bulk_async_threshold", "data_export"\.~' - path: docs/commerce/checkout/customize_checkout.md line: 130 @@ -54,29 +42,17 @@ ignoreErrors: path: docs/commerce/payment/payum_integration.md line: 55 message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/commerce/storefront/configure_storefront.md - line: 94 - message: '~Unrecognized option "user_settings_groups" under "ibexa\.system\.site_group"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' - path: docs/commerce/transactional_emails/extend_transactional_emails.md line: 17 message: '~The child config "transitions" under "framework\.workflows\.workflows\.ibexa_payment" must be configured\.~' - - - path: docs/commerce/transactional_emails/transactional_emails.md - line: 54 - message: '~Unrecognized option "connector_actito" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' - path: docs/content_management/collaborative_editing/configure_collaborative_editing.md line: 48 message: '~The child config "firewalls" under "security" must be configured\.~' - path: docs/content_management/collaborative_editing/configure_collaborative_editing.md - line: 58 - message: '~Unrecognized option "ibexa_shareable_link" under "security"\. Available options are "access_control", "access_decision_manager", "access_denied_url", "erase_credentials", "expose_security_errors", "firewalls", "hide_user_not_found", "password_hashers", "providers", "role_hierarchy", "session_fixation_strategy"\.~' - - - path: docs/content_management/collaborative_editing/configure_collaborative_editing.md - line: 77 + line: 78 message: '~Invalid type for path "ibexa\.repositories\.\\.collaboration\.participants\.auto_invite"\. Expected "bool", but got "string"\.~' - path: docs/content_management/data_migration/data_migration_actions.md @@ -126,30 +102,10 @@ ignoreErrors: path: docs/content_management/data_migration/importing_data.md line: 313 message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: image"\)\.~' - - - path: docs/content_management/field_types/field_type_reference/measurementfield.md - line: 106 - message: '~Unrecognized option "measurement" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' - - - path: docs/content_management/field_types/field_type_reference/measurementfield.md - line: 88 - message: '~Unrecognized option "measurement" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' - - - path: docs/content_management/field_types/form_and_template.md - line: 192 - message: '~Unrecognized option "systems" under "ibexa"\. Did you mean "system"\?~' - - - path: docs/content_management/images/fastly_io.md - line: 93 - message: '~Unrecognized option "fastly_variations" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' - path: docs/content_management/taxonomy/taxonomy.md line: 194 - message: '~Unrecognized option "taxonomy" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/content_management/user_generated_content.md - line: 62 - message: '~Unrecognized option "content_edit" under "ibexa\.system\.default"\. Available options are "activity_log", "admin_ui", "admin_ui_forms", "anonymous_user_id", "api_keys", "assets", "binary_dir", "cache_service_name", "calendar", "cart", "cdp", "connector_ai", "connector_gemini", "connector_openai", "connector_raptor", "content", "content_create_view", "content_edit_view", "content_translate_view", "content_tree_module", "content_type", "content_type_field_type_groups", "content_type_group", "content_view", "corporate_accounts", "dashboard", "default_embedding_model", "default_page", "design", "discounts", "embedding_models", "field_comparison_templates", "field_edit_templates", "field_templates", "fielddefinition_edit_templates", "fielddefinition_settings_templates", "fieldtype_richtext_rte", "fieldtypes", "form_builder", "http_cache", "image_asset_view", "image_editor", "image_host", "image_variations", "index_page", "io", "languages", "limitation_value_templates", "location_ids", "location_view", "notification_count", "notifications", "notifier", "oauth2", "order_management", "page_builder", "page_builder_forms", "page_layout", "pagination", "pagination_site_factory", "pagination_user", "payment", "personalization", "product_catalog", "product_tour", "repository", "search", "search_view", "security", "segmentation", "seo", "session", "share", "shipment", "shipping", "shopping_list", "site_context", "site_factory", "storage_dir", "storefront", "subitems_module", "subtree_operations", "subtree_paths", "taxonomy", "translation_siteaccesses", "twig_variables", "universal_discovery_widget_module", "url_checker", "user", "user_change_password", "user_content_type_identifier", "user_edit", "user_forgot_password", "user_forgot_password_login", "user_forgot_password_success", "user_group_content_type_identifier", "user_invitation", "user_preferences", "user_profile", "user_registration", "user_reset_password", "user_settings_update_view", "users_group_root_subtree_path", "var_dir", "variation_handler_identifier", "workflows", "workflows_config"\.~' + message: '~The child config "default_embedding_max_tokens" under "ibexa_taxonomy\.text_to_taxonomy" must be configured\: Maximum number of tokens sent when generating embeddings~' - path: docs/content_management/workflow/workflow.md line: 135 @@ -157,19 +113,15 @@ ignoreErrors: - path: docs/customer_management/cp_page_builder.md line: 119 - message: '~Invalid type for path "ibexa\.system\.custom_portal\.content\.tree_root\.location_id"\. Expected "int", but got "string"\.~' + message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - path: docs/customer_management/cp_page_builder.md line: 207 message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/customer_management/cp_page_builder.md - line: 229 - message: '~Invalid type for path "ibexa\.system\.custom_portal\.content\.tree_root\.location_id"\. Expected "int", but got "string"\.~' - path: docs/customer_management/cp_page_builder.md line: 35 - message: '~Invalid type for path "ibexa\.system\.custom_portal\.content\.tree_root\.location_id"\. Expected "int", but got "string"\.~' + message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - path: docs/discounts/extend_discounts.md line: 139 @@ -204,8 +156,12 @@ ignoreErrors: message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md - line: 213 - message: '~Unrecognized option "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache"\. Available options are "purge_servers", "varnish_invalidate_token"\.~' + line: 128 + message: '~The child config "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache" must be configured\.~' + - + path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md + line: 145 + message: '~The child config "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache" must be configured\.~' - path: docs/infrastructure_and_maintenance/security/development_security.md line: 20 @@ -238,14 +194,6 @@ ignoreErrors: path: docs/multisite/set_up_translation_siteaccess.md line: 43 message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - - - path: docs/multisite/site_factory/site_factory.md - line: 204 - message: '~Invalid type for path "doctrine\.dbal\.connections"\. Expected "array", but got "string"~' - - - path: docs/multisite/site_factory/site_factory.md - line: 215 - message: '~Invalid type for path "framework\.cache"\. Expected "array", but got "string"~' - path: docs/multisite/site_factory/site_factory.md line: 40 @@ -326,10 +274,6 @@ ignoreErrors: path: docs/templating/design_engine/add_new_design.md line: 16 message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' - - - path: docs/templating/image_variations.md - line: 22 - message: '~Invalid type for path "ibexa\.system\.\\.image_variations\.\\.filters\.\"\. Expected "array", but got "string"~' - path: docs/templating/templates/template_configuration.md line: 99 @@ -366,10 +310,6 @@ ignoreErrors: path: docs/users/oauth_server.md line: 78 message: '~The child config "firewalls" under "security" must be configured\.~' - - - path: docs/users/oauth_server.md - line: 90 - message: '~The attribute "name" must be set for path "security\.firewalls"\.~' - path: docs/users/user_authentication.md line: 41 From ad17a4b94493feb17b4e2b0e176edb241412d289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 23 Apr 2026 14:37:05 +0200 Subject: [PATCH 38/63] fixup! Added code for testing YAML samples --- .github/workflows/build.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 931cfcea53..ae1f767165 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -88,7 +88,6 @@ jobs: env: TOKEN: ${{ secrets.EZROBOT_PAT }} run: | - mkdir vale-styles curl -H "Authorization: token $TOKEN" -L https://github.com/ibexa/vale-styles/archive/refs/heads/main.zip -o vale.zip rm -rf tests unzip vale.zip From 648fa58347d7b0477edcdc0eba3c9ae024dc5a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 23 Apr 2026 14:38:09 +0200 Subject: [PATCH 39/63] Selfreview --- docs/api/rest_api/rest_api_authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/rest_api/rest_api_authentication.md b/docs/api/rest_api/rest_api_authentication.md index a75b096d1d..82b504a010 100644 --- a/docs/api/rest_api/rest_api_authentication.md +++ b/docs/api/rest_api/rest_api_authentication.md @@ -332,7 +332,7 @@ security: host: ^api\.example\.com$ http_basic: realm: Ibexa DXP REST API - #ibexa_front + #ibexa_front: # ... ``` From 5806a08a24c1332d8eaf1966ee6ad0233ad52457 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 17:23:55 +0200 Subject: [PATCH 40/63] Copilot CLI example --- code_samples/mcp/http.mcp.json | 12 ++ code_samples/mcp/mcp-ibexa-example-wrapper.sh | 21 +++ code_samples/mcp/mcp.sh | 7 +- code_samples/mcp/stdio.mcp.json | 10 ++ docs/ai/mcp/img/graphiql-jwt.png | Bin 0 -> 53080 bytes docs/ai/mcp/mcp_config.md | 135 ++++++++++++++++-- 6 files changed, 169 insertions(+), 16 deletions(-) create mode 100644 code_samples/mcp/http.mcp.json create mode 100644 code_samples/mcp/mcp-ibexa-example-wrapper.sh create mode 100644 code_samples/mcp/stdio.mcp.json create mode 100644 docs/ai/mcp/img/graphiql-jwt.png diff --git a/code_samples/mcp/http.mcp.json b/code_samples/mcp/http.mcp.json new file mode 100644 index 0000000000..f88816beb0 --- /dev/null +++ b/code_samples/mcp/http.mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "ibexa-example": { + "type": "http", + "url": "http://localhost/mcp/example", + "headers": { + "Authorization": "Bearer " + }, + "tools": ["*"] + } + } +} diff --git a/code_samples/mcp/mcp-ibexa-example-wrapper.sh b/code_samples/mcp/mcp-ibexa-example-wrapper.sh new file mode 100644 index 0000000000..90aae2368c --- /dev/null +++ b/code_samples/mcp/mcp-ibexa-example-wrapper.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -e + +baseUrl='http://localhost' # Adapt to your test case + +jwtToken=$(curl -s -X 'POST' \ + "$baseUrl/api/ibexa/v2/user/token/jwt" \ + -H 'Content-Type: application/vnd.ibexa.api.JWTInput+json' \ + -H 'Accept: application/vnd.ibexa.api.JWT+json' \ + -d '{ + "JWTInput": { + "_media-type": "application/vnd.ibexa.api.JWTInput+json", + "username": "admin", + "password": "publish" + } + }' | jq -r .JWT.token) + +exec npx -y supergateway \ + --streamableHttp "$baseUrl/mcp/example" \ + --oauth2Bearer "$jwtToken" \ + --logLevel none diff --git a/code_samples/mcp/mcp.sh b/code_samples/mcp/mcp.sh index 68420d8162..2c29e6a3ec 100644 --- a/code_samples/mcp/mcp.sh +++ b/code_samples/mcp/mcp.sh @@ -1,11 +1,14 @@ +#!/bin/bash + baseUrl='http://localhost' # Adapt to your test case jwtToken=$(curl -s -X 'POST' \ "$baseUrl/api/ibexa/v2/user/token/jwt" \ - -H 'Content-Type: application/json' \ + -H 'Content-Type: application/vnd.ibexa.api.JWTInput+json' \ + -H 'Accept: application/vnd.ibexa.api.JWT+json' \ -d '{ "JWTInput": { - "_media-type": "application/vnd.ibexa.api.JWTInput", + "_media-type": "application/vnd.ibexa.api.JWTInput+json", "username": "admin", "password": "publish" } diff --git a/code_samples/mcp/stdio.mcp.json b/code_samples/mcp/stdio.mcp.json new file mode 100644 index 0000000000..ab195e5336 --- /dev/null +++ b/code_samples/mcp/stdio.mcp.json @@ -0,0 +1,10 @@ +{ + "mcpServers": { + "ibexa-example": { + "type": "stdio", + "command": "bash", + "args": ["mcp-ibexa-example-wrapper.sh"], + "tools": ["*"] + } + } +} diff --git a/docs/ai/mcp/img/graphiql-jwt.png b/docs/ai/mcp/img/graphiql-jwt.png new file mode 100644 index 0000000000000000000000000000000000000000..19c5be8df47b7dfd1b757762ef599d28e274def5 GIT binary patch literal 53080 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%0Dbj^fytKX{$vh&Y3jH5 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 BpmP8K literal 0 HcmV?d00001 diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 51173950e5..7e02c0e303 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -25,7 +25,8 @@ You can now request JWT tokens to use with your MCP servers. See examples of JWT token requests in [REST JWT authentication](rest_api_authentication.md#jwt-authentication), in [cURL test of MCP Server](#curl-test), -or [GraphQL JWT authentication](graphql.md#jwt-authentication). +in [GraphQL JWT authentication](graphql.md#jwt-authentication), +or in [MCP Inspector test](#mcp-inspector-test) GraphIQL example. ## MCP server configuration @@ -277,25 +278,25 @@ To test the `example` MCP server, a sequence of `curl` commands is used to simul First, the shell script set the Ibexa DXP base URL into a variable for easier reuse: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 0, 1) =]] +[[= include_file('code_samples/mcp/mcp.sh', 2, 3) =]] ``` Before communicating with the MCP server, the request of a JWT token through REST API: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 0, 12) =]] +[[= include_file('code_samples/mcp/mcp.sh', 4, 15) =]] ``` The [initialization](https://modelcontextprotocol.io/specification/latest/basic/lifecycle#initialization) to get an MCP session ID: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 13, 28) =]] +[[= include_file('code_samples/mcp/mcp.sh', 16, 31) =]] ``` The validation of the initialization: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 29, 36) =]] +[[= include_file('code_samples/mcp/mcp.sh', 32, 39) =]] ``` ``` @@ -308,7 +309,7 @@ Access-Control-Expose-Headers: Mcp-Session-Id The [list of tools](https://modelcontextprotocol.io/specification/latest/server/tools#listing-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 37, 45) =]] +[[= include_file('code_samples/mcp/mcp.sh', 40, 48) =]] ``` ```json @@ -352,7 +353,7 @@ The [list of tools](https://modelcontextprotocol.io/specification/latest/server/ The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/server/tools#calling-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 46, 60) =]] +[[= include_file('code_samples/mcp/mcp.sh', 49, 63) =]] ``` ```json @@ -374,7 +375,7 @@ The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/ser The [list of prompts](https://modelcontextprotocol.io/specification/latest/server/prompts#listing-prompts): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 61, 69) =]] +[[= include_file('code_samples/mcp/mcp.sh', 64, 72) =]] ``` ```json @@ -407,7 +408,7 @@ The [list of prompts](https://modelcontextprotocol.io/specification/latest/serve The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts#getting-a-prompt): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 70, 84) =]] +[[= include_file('code_samples/mcp/mcp.sh', 73, 87) =]] ``` ```json @@ -432,7 +433,20 @@ The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/20 To test your server, you can use the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector). It's even possible to use it as a DDEV add-on with [`craftpulse/ddev-mcp-inspector`](https://github.com/craftpulse/ddev-mcp-inspector). -You still need to ask for a JWT token through REST and use it in the MCP Inspector configuration to connect to your server. +You still need to ask for a JWT token through REST or GraphQL, and use it in the MCP Inspector configuration to connect to your server. + +For example, you can open GraphiQL UI (for example at `http://localhost/graphiql`), paste in the following query, adapt it, and run it to get a token: + +```graphql +mutation CreateToken { + createToken(username: "admin", password: "publish") { + token + message + } +} +``` + +![Screenshot of GraphiQL with a JWT token request and its response](img/graphiql-jwt.png "JWT token request and response") To use the MCP Inspector for this example, the settings are: @@ -442,7 +456,7 @@ To use the MCP Inspector for this example, the settings are: - Authentication: - Custom Headers: - ✓ Authorization - - Bearer + - Bearer - OAuth 2.0 Flow: leave unedited ![Screenshot of the left pannel of the MCP Inspector with the connection settings for the example MCP server](img/mcp-inspector-config.png "MCP Inspector connection settings") @@ -459,14 +473,107 @@ It can be selected and tested in the right column. ![Screenshot of the right pannel of the MCP Inspector with the list of prompts obtained from the example MCP server, and the test of the `greet` prompt](img/mcp-inspector-greet-prompt.png "MCP Inspector `greet` prompt test") -### TODO: Copilot CLI test +### Copilot CLI test + +#### MCP Server addition to Copilot CLI + +For this example test with [Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli), +the MCP server configuration is done in an `.mcp.json` file at the Ibexa DXP project root +to make it only available for a session opened from there. + +There is two ways of dealing with the JWT token for this test: + +- to hard code the JWT token in the configuration and update it at every expiration +- to wrap JWT token request and MCP server call into a script + +##### Hard coded + +The hard coded JWT token configuration in `.mcp.json`: + +``` json +[[= include_file('code_samples/mcp/http.mcp.json') =]] +``` + +The `.mcp.json` file must be edited to update the JWT token each time it expires. +You can ask a token using for example, GraphiQL web interface or a `curl` command to get a new JWT token, then edit the file manually. +Or you can have a shell script doing the JWT token request, extracting it from the response, and replace it in the file. + +When Copilot complains that it can't communicate with the MCP server: + +- update the JWT token in the `.mcp.json` file +- reload the MCP Servers in Copilot CLI with one of those methods: + - run `/mcp reload` command which reload all MCP servers (which can be annoying if you have several MCP servers globally enabled) + - run `/mcp disable ibexa-example` then `/mcp enable ibexa-example` to only reload the `ibexa-example` server + +##### Fully scripted + +The wrapping script configuration in `.mcp.json`: + +``` json +[[= include_file('code_samples/mcp/stdio.mcp.json') =]] +``` + +The `mcp-ibexa-example-wrapper.sh` is a script asking for a JWT token then establishing a connection with the MCP server. + +For example, this can be achieved with [Supergateway](https://www.npmjs.com/package/supergateway) without local installation thanks to [`npx`](https://www.npmjs.com/package/npx): -TODO: Test the server with [Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli). +``` bash +[[= include_file('code_samples/mcp/mcp-ibexa-example-wrapper.sh') =]] +``` + +When Copilot complains that it can't communicate with the MCP server, reload the MCP Servers in Copilot CLI with one of those methods: -TODO: Create an .mcp.json file at the project root so the MCP server will only exist for a session of Copilot CLI opened from project root (for example, in a terminal tab of your IDE). +- run `/mcp reload` command which reload all MCP servers (which can be annoying if you have several MCP servers globally enabled) +- run `/mcp disable ibexa-example` then `/mcp enable ibexa-example` to only reload the `ibexa-example` server TODO: [Copilot CLI MCP server addition](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) is strangely asking for some OAuth ID even with a proper JWT/Bearer header. +#### MCP server test with Copilot CLI + +Launch Copilot CLI at the project root (where the `.mcp.json` file is located): + +```bash +cd /path/to/project +copilot +``` + +If needed, confirm that you trust the files in this folder when prompted (with or without remembering the answer for the future). + +With the command `/mcp show ibexa-example`, you can check server status and details: + +```text + MCP Server: ibexa-example + + Type: http + URL: http://localhost/mcp/example + Status: ✓ Connected + Source: /path/to/project/.mcp.json + + Tools (1/1 enabled): + ✓ greet: Greet a user by name +``` + +You can prompt Copilot to greet you. It should take the initiative to use the `greet` tool to do so. + +- You can ask it "Please, greet me." and it might ask you your name if it doesn't already know it. +- You can additionally give it a name to greet (like in the prompt template). +- +The interaction could look like this: + +``` +❯ Hi. Please, greet me. My name is Firstname Lastname. + +◐ The user wants to be greeted with the name "Firstname Lastname". + +● Greet a user (MCP: ibexa-example) · name: "Firstname Lastname" + └ Hello, Firstname Lastname! + +● Hello, Firstname Lastname! 👋 How can I help you today? +``` + +The Copilot reflexion in the middle and and the final result might differ from this example. +The important part is that Copilot CLI calls the `greet` tool with the right argument, displays call result, and eventually uses it. + ### TODO: Other clients? TODO: Connect AI clients to the MCP server. From a116dea3a5fa55d3de369ea7d39071bad854ae99 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 23 Apr 2026 17:53:02 +0200 Subject: [PATCH 41/63] MCP servers: change menu entry --- docs/ai/mcp/mcp_config.md | 10 +++++----- mkdocs.yml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 7e02c0e303..6cdcfe41d8 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -3,7 +3,7 @@ description: Configure an MCP server exposing built-in or custom tools TODO and month_change: true --- -# Set up an MCP server +# MCP servers configuration [[= product_name =]] can provide [MCP servers](mcp_guide.md) to external AIs. @@ -24,7 +24,7 @@ Notice that you don't need to activate JWT authentication for the REST API or Gr You can now request JWT tokens to use with your MCP servers. See examples of JWT token requests in [REST JWT authentication](rest_api_authentication.md#jwt-authentication), -in [cURL test of MCP Server](#curl-test), +in [cURL test of MCP server](#curl-test), in [GraphQL JWT authentication](graphql.md#jwt-authentication), or in [MCP Inspector test](#mcp-inspector-test) GraphIQL example. @@ -475,7 +475,7 @@ It can be selected and tested in the right column. ### Copilot CLI test -#### MCP Server addition to Copilot CLI +#### MCP server addition to Copilot CLI For this example test with [Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli), the MCP server configuration is done in an `.mcp.json` file at the Ibexa DXP project root @@ -501,7 +501,7 @@ Or you can have a shell script doing the JWT token request, extracting it from t When Copilot complains that it can't communicate with the MCP server: - update the JWT token in the `.mcp.json` file -- reload the MCP Servers in Copilot CLI with one of those methods: +- reload the MCP servers in Copilot CLI with one of those methods: - run `/mcp reload` command which reload all MCP servers (which can be annoying if you have several MCP servers globally enabled) - run `/mcp disable ibexa-example` then `/mcp enable ibexa-example` to only reload the `ibexa-example` server @@ -521,7 +521,7 @@ For example, this can be achieved with [Supergateway](https://www.npmjs.com/pack [[= include_file('code_samples/mcp/mcp-ibexa-example-wrapper.sh') =]] ``` -When Copilot complains that it can't communicate with the MCP server, reload the MCP Servers in Copilot CLI with one of those methods: +When Copilot complains that it can't communicate with the MCP server, reload the MCP servers in Copilot CLI with one of those methods: - run `/mcp reload` command which reload all MCP servers (which can be annoying if you have several MCP servers globally enabled) - run `/mcp disable ibexa-example` then `/mcp enable ibexa-example` to only reload the `ibexa-example` server diff --git a/mkdocs.yml b/mkdocs.yml index ba7cfa04dd..95011f40ba 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -362,7 +362,7 @@ nav: - MCP Servers: - MCP Servers: ai/mcp/mcp.md - MCP Servers guide: ai/mcp/mcp_guide.md - - Configure MCP Servers: ai/mcp/mcp_config.md + - MCP Servers config: ai/mcp/mcp_config.md - Product catalog: - Product catalog: product_catalog/product_catalog.md - Product catalog guide: product_catalog/product_catalog_guide.md From 781e516d8ad95542aa0336154a688dbc699a2faf Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Fri, 24 Apr 2026 13:14:57 +0200 Subject: [PATCH 42/63] Rename example PHP class --- .../mcp/src/Mcp/{ExampleTools.php => ExampleCapabilities.php} | 2 +- docs/ai/mcp/mcp_config.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename code_samples/mcp/src/Mcp/{ExampleTools.php => ExampleCapabilities.php} (95%) diff --git a/code_samples/mcp/src/Mcp/ExampleTools.php b/code_samples/mcp/src/Mcp/ExampleCapabilities.php similarity index 95% rename from code_samples/mcp/src/Mcp/ExampleTools.php rename to code_samples/mcp/src/Mcp/ExampleCapabilities.php index 78eadf60ea..2cfe385955 100644 --- a/code_samples/mcp/src/Mcp/ExampleTools.php +++ b/code_samples/mcp/src/Mcp/ExampleCapabilities.php @@ -9,7 +9,7 @@ use Mcp\Schema\Icon; use Mcp\Schema\ToolAnnotations; -final readonly class ExampleTools implements McpCapabilityInterface +final readonly class ExampleCapabilities implements McpCapabilityInterface { #[McpTool( servers: ['example'], diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 6cdcfe41d8..08d74675d9 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -234,14 +234,14 @@ php bin/console debug:router ibexa.mcp.example ### Create capability class -An `McpCapabilityInterface` is created. +An `ExampleCapabilities` class implementing the `McpCapabilityInterface` is created. It contains a function with an `McpTool` attribute associating it to the `example` server as `greet` tool for the AI. It also contains a function with the `McpPrompt` attribute to provide a prompt template to the user. ``` php -[[= include_file('code_samples/mcp/src/Mcp/ExampleTools.php') =]] +[[= include_file('code_samples/mcp/src/Mcp/ExampleCapabilities.php') =]] ``` For the example, `servers` attribute parameter is used to associate only this tool to the `example` server. From 8284cc93df41b00481b40a48ffd4a74c5f0c4a35 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Fri, 24 Apr 2026 15:41:31 +0200 Subject: [PATCH 43/63] Update example to illustrate outputSchema --- code_samples/mcp/mcp.sh.output.txt | 136 ++++++++++++++ .../mcp/src/Mcp/ExampleCapabilities.php | 39 +++- .../ai/mcp/img/mcp-inspector-greet-prompt.png | Bin 88816 -> 89823 bytes docs/ai/mcp/img/mcp-inspector-greet-tool.png | Bin 84854 -> 208739 bytes docs/ai/mcp/mcp_config.md | 176 ++++++------------ 5 files changed, 232 insertions(+), 119 deletions(-) create mode 100644 code_samples/mcp/mcp.sh.output.txt diff --git a/code_samples/mcp/mcp.sh.output.txt b/code_samples/mcp/mcp.sh.output.txt new file mode 100644 index 0000000000..adf695e097 --- /dev/null +++ b/code_samples/mcp/mcp.sh.output.txt @@ -0,0 +1,136 @@ +HTTP/1.1 202 Accepted +Access-Control-Allow-Headers: Content-Type, Mcp-Session-Id, Mcp-Protocol-Version, Last-Event-ID, Authorization, Accept +Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: Mcp-Session-Id +Cache-Control: no-cache, private +Content-Length: 0 +Content-Type: text/html; charset=UTF-8 +Date: Fri, 24 Apr 2026 11:16:27 GMT +Server: Apache/2.4.66 (Debian) +Vary: cookie,authorization +X-Cache-Debug: 1 +X-Debug-Token: 145f0a +X-Debug-Token-Link: http://ddev-ibexa-tmp.ddev.site:8080/_profiler/145f0a +X-Powered-By: Ibexa Commerce v5 +X-Robots-Tag: noindex + +{ + "jsonrpc": "2.0", + "id": 2, + "result": { + "tools": [ + { + "name": "greet", + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "the name of the person to greet" + } + }, + "required": [ + "name" + ] + }, + "description": "Greet a user by name", + "annotations": { + "readOnlyHint": true, + "destructiveHint": false, + "idempotentHint": true, + "openWorldHint": false + }, + "icons": [ + { + "src": "https://openmoji.org/data/color/svg/1F44B.svg" + } + ], + "outputSchema": { + "type": "object", + "properties": { + "general": { + "type": "string", + "description": "the safe way to greet someone" + }, + "close": { + "type": "string", + "description": "when you're close to the person, like friends or relatives" + }, + "morning": { + "type": "string", + "description": "when it's in the morning" + }, + "afternoon": { + "type": "string", + "description": "when it's the afternoon" + }, + "evening": { + "type": "string", + "description": "when it's late in the day" + } + } + } + } + ] + } +} +{ + "jsonrpc": "2.0", + "id": 3, + "result": { + "content": [ + { + "type": "text", + "text": "{\n \"general\": \"Hello, World!\",\n \"close\": \"Hey, World!\",\n \"morning\": \"Good morning, World!\",\n \"afternoon\": \"Good afternoon, World!\",\n \"evening\": \"Good evening, World!\"\n}" + } + ], + "isError": false, + "structuredContent": { + "general": "Hello, World!", + "close": "Hey, World!", + "morning": "Good morning, World!", + "afternoon": "Good afternoon, World!", + "evening": "Good evening, World!" + } + } +} +{ + "jsonrpc": "2.0", + "id": 4, + "result": { + "prompts": [ + { + "name": "greet", + "description": "Prompt to be greeted by the `greet` tool", + "arguments": [ + { + "name": "name", + "description": "The name you want to be greeted by", + "required": true + } + ], + "icons": [ + { + "src": "https://openmoji.org/data/color/svg/1F91D.svg" + } + ] + } + ] + } +} +{ + "jsonrpc": "2.0", + "id": 5, + "result": { + "messages": [ + { + "role": "user", + "content": { + "type": "text", + "text": "Hi. Please, greet me. My name is Firstname Lastname." + } + } + ] + } +} diff --git a/code_samples/mcp/src/Mcp/ExampleCapabilities.php b/code_samples/mcp/src/Mcp/ExampleCapabilities.php index 2cfe385955..22f8700c06 100644 --- a/code_samples/mcp/src/Mcp/ExampleCapabilities.php +++ b/code_samples/mcp/src/Mcp/ExampleCapabilities.php @@ -11,6 +11,7 @@ final readonly class ExampleCapabilities implements McpCapabilityInterface { + /** @return array */ #[McpTool( servers: ['example'], name: 'greet', @@ -24,14 +25,46 @@ icons: [new Icon( src: 'https://openmoji.org/data/color/svg/1F44B.svg', )], + outputSchema: [ + 'type' => 'object', + 'properties' => [ + 'general' => [ + 'type' => 'string', + 'description' => 'the safe way to greet someone', + ], + 'close' => [ + 'type' => 'string', + 'description' => 'when you\'re close to the person, like friends or relatives', + ], + 'morning' => [ + 'type' => 'string', + 'description' => 'when it\'s in the morning', + ], + 'afternoon' => [ + 'type' => 'string', + 'description' => 'when it\'s the afternoon', + ], + 'evening' => [ + 'type' => 'string', + 'description' => 'when it\'s late in the day', + ], + + ], + ], )] public function greetByName( #[Schema( description: 'the name of the person to greet' )] string $name - ): string { - return sprintf('Hello, %s!', $name); + ): array { + return [ + 'general' => sprintf('Hello, %s!', $name), + 'close' => sprintf('Hey, %s!', $name), + 'morning' => sprintf('Good morning, %s!', $name), + 'afternoon' => sprintf('Good afternoon, %s!', $name), + 'evening' => sprintf('Good evening, %s!', $name), + ]; } /** @@ -53,7 +86,7 @@ public function getGreetPrompt(string $name): array 'role' => 'user', 'content' => [ 'type' => 'text', - 'text' => "Hi. Please, greet me. My name is $name.", + 'text' => "Hi. My name is $name. Please, greet me.", ], ]; } diff --git a/docs/ai/mcp/img/mcp-inspector-greet-prompt.png b/docs/ai/mcp/img/mcp-inspector-greet-prompt.png index dc7d151049f9024de0d38a2671dabd4165a87372..64f158f516e3d21eb06d1ddf5d2b19e35c0d8745 100644 GIT binary patch literal 89823 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�eLCep#4#{kJ%sa% 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⪼c?&)aRE^8=6Q!yK76}2 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 MQtm~8xSr4d1D6GCJOBUy literal 88816 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

=S1og^!l)J6CPRvcz{{U?)Vv!gYT7O)nX$OgL7 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 P5I-tPnu?|JR)PNoCoRT{ literal 84854 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

NdY@bK_Y(`(LTZddqPCkyu2HIG^+y(;*52n5bK zn6*YO+DOD*IadXhm?U6Spa_;-i?-E_I3hTLNso#8APjW^qqRl0K|ol4^cb~StIG2+ z=|okbx?ii?X;6^n(>|A-rOkjB=E~588;@L4y?JGbdBQJQ5SuXxJw2uviEKueG+j>{ zBEAcSK!iEj{v;uZyM)A(NoyA-q4h0W(UYC#>`@vBwL4tJ)@VmUG-WtH3Q_?{%j6it zt@oqW?p>{7J(r!$n2APvnvck)oD|JVyK91OeIW`$s3$>qs*i+56BlcJurBD`Brtt}vtlS~(-0B5MCmWb-=SY_^3 zp{nHOXv!Wv(hWHac{J{3%nc`E!l@1$tHDXGn{CNh{uT3QTst5|_zE!o~SmUlfq zAQCsUa@@gtZaFhM8}|ntQ5nXLbt1eMhic`P;G>Fn>ar647wfjr@PZ0nY@4vSO69aQ zGkg{ef4?KA_9N3X<5g{VI%Ptq+0)mFY}N<`@U|-%^ibOS(;*T#9R`z_Pabqsi{qO( z25HhA+f#=nH9$2V3qrU*>F{+2D^{6RZ2o?=I9@C$iqB^UXPWnh4ah@hEo#+@gc{El z&5xRS=-g`A9|atn0~E?fQWnLx`QVXEm1dGKO$|${8QcLbb)nTozh_}?6%_4LluFB- z4x2y9!S8`2OqU)dk@DK$`0<RwYJ0ac_7+nYKtNhlvjHcfa9V( zwm;_JL?dy2YS7Zl*5AK8o!2=nCK!@Q3Uy=!jTCUPx0Qwy-TpasA-Q0GI>+4`#L1(?%su`2M}61w zGFj4!;-;**c`5j#`JgMSYAoWc6v-DFg?#^7!g!OD@397INm5bt1>5R0VkK6u8@rWCpl#JWoo%D-5U8}8mkG?rEdTa{YF+Rz2amW!`7%mr~G2~jU&7zKMEUG#FX5vOA3=dpm z8HwYCHBzCbnHNdOYeGBSYE_MK%9ni|^7eXYKW{?$)T&6dqe#i=x{w4YY4d5>1kxb^ z%W%F|!sp4{2WWTTUQ~|@MlifMDm+yg)>e}c6KL@fmP|k%cCq%gW8Cp z8lQRnQ~*6!mTe7)kV}EYbT#d3CrFvx5J#rsCFc8uf{(n^7pW_>38jl;x+Dm?**bi z_Z%MqQk~(d<{{76_33zxf@C^U`F$Sj;LWU7oaeZ*FIdDJv{&UdR`^Rz;e(mRPkQyNj*0SI6^{x_ zd(S!!>C+9{i(-$F?IAV%sx3cvo_5dV6U`^){m||CW6h#A(>zl>1Z6BM_1+4raeIg4 zM2lYfxe7YD_78kqT5epfb(lMG6x73@4G)UPg(axsAly4s1#XbDo+(hr>+Q2yPs#p6g2?LR0W7ZhIl#1dGRA&V z21TvWMqGakw_rG_+}S(Xx!84%@Nl#0m^|J8t8m;@4TueKonHNPx*r~X*mM4-#5{T^ zGW9#6DV>;m8y45}*;7&2iFTXg;ZhB3TndA{MgMiU|NZ|CU3`SF zEbJ}7!N4^0UucF*mIQcwT&L+;+JA$F13)G;84Jhi-_h~!hEMeszzh=0<@Ue+HTvHh z7vPNU4}D(s->vxe0k{&A+f8wp{5N)~0|FM;gaiJB7XJsz06Hd42I$| ze>8xSDFG4SlqY=mj>|v8dcUt8QGGj){I_5J;|)H%jSJN??5jV5qIdIW;{aEvL<6Aq z6~h>ZL>{u{%EDmCLoBQCw?}l{!k?BVEboVz$^ur&9CK)x`AcH#Q$9ZJa_eziXh(z) zzqc1ihApHX4bYCVoi-S`3IBw~WtU8~7i^fP)Lb;}^W1 zd#qPim!GcKECb4+F2Wwr=D)k8A1F9CdA=6J^PtHuK>8)yYLw);`DlIw-sQ1C;MNqN zxqmQGawGw#)5~!@p)R?dwLat-dP$?t3thqDJD z;-D+5xtdlmVdKG7^!j8yQi{tBEBEmP9IZy_LFt7K2&^+U^Tc_xS~;A*NUI+4=IR`e zw0-{iw|%+gFzmi9!bI(@cV3D3N=U8>2v(^?HPUXSJKc4(d!j)fORdTbnL$Q|RuhD4 z*5^2S9GsOK^Nx`bkXYu?r|l|IXKSm{_VmWm^293`w*snc()Gq<%>iUOwr+!6A16MS zW6QQY%no!Xe5>XY|GC|di3WQVHmfPu{%|hAnPLLX4ylYgM3^lgI*3@y* z!s4Q*DuLXOJSDw?(I?MP2%Ed)b5JStCZuLEQa!idLx--nkxKC1=lfn)s*9!xR^0#& zpNr4Ngw5TfTae>gmV8Bo)|l~xfbb1pa_+x_gl zXu>)?r`cO7wxHKQ1ZC5ubwdy!=E+MPd(c5t91_WUiM!`@L|(eg2e|0(?A4Og>)ObV z`-C*2q7R3tO#&Q?ZVX~~oR*s?+!A{(73NB#*Cpn>*D)%mlS$xON}@mEEGJZ&l(tIe zY{5sR+~9LiKe$H?ms$eiXe0Y_b0j~Qv%-9VPhaGN-p@@H;w5&8nPPjIH8krkE2(T& zb%AYy*Ngwa`?r3)Di@T2%Jub;4StAp3E`NwzNd zLr~RoRtIDPj~r8I0+v>*znisabo&d)tU8+WpF|aa!ZU|0r^4FWSXp?OrcDHsy4^+6 z4q;juww6+-f#UV~9IkBln+8?1O+F_n7A4IJ3U>3MN7`PO8M#|M<}zh+rb7nt zr>Cr#o62+UM9fA5J{n&LrW<+6K4?yUC_A6LS04+tYz zRb;)tdI9k9h>M5d1gQCp9+-P=h*a23 ze|F9WTbfV1CR2>p3_0t1z%P*44&mllFfvW*wPzl?d}w*=gi}SqRE7}>PBKnlV@bfi z=P34pgGl3QEuQqjrkPWu!43@%3ob?SytO}Z$LDZ;o+0`?APK&oP?Jk{vYRzXMzW5! z%6unmEbd!!Sm!!+Z%WlmBrJvwDEc0=IWr&`4Uj*`tOd##=EcP&+h%&7Sz+R5^DRoC zW>2$WIk=aeO9!UD2k@~JMxt)5a%BHII^WyhU-c&{J*o`OtSr$2H$HwWQe*i_{?ivE zSU4V$04mA$Ncp>Y7q0Fu4_*-yg7>GI4KA!%y%Z{O!G5PEXN9PuSmx+YPl79E>p|6? z?G=a7>1hf7svLMr)JDA`k3A@Zto)cUA+uS$N{l?CeZTvs-3eqq_iM(6vt643mFc3AVae`A>ISRU7Iifp_Ic1SFgEbLZ`yPRA}w=<8N{<|DP*kH!p zcB|JKIsIjLuUA{Xb~1d#g>Hmg?4#pjK{GSN!X>6cz|E{a z;=8f25uOS0r@5gUo42}cYNFxY)ANuAxon>yJSX680-_SwJ#V8K!rczCb}_auTU$wg z-i4n`A_o@0_rrsJ?@pBw4eIHR9mkK_)jC{C4~NGTj6*xLZ@#RgIVR~xMMaVCkMXLO zn#QSWtA5^LRCQC`Dl`7+xZOC{kh^u}X}dEAcEO8UNf9X;sU^E{p1tU67x%n^Ak-b+ zke!KO$pWM!INVnu@2+glJDDiVl1se_+%X6gZ0u zHWjn}D03Uh;_-#PEzJ1Xgkw%33U9@GFwAdDnYQH7jnc^fd6j+sIyr~GFVrt&CYgMV zEj-wf))Anqbv!0RLzEp>8i0bpg}Xx>p{Sc{6|R-DW?chxgsMcg8u|4W82k4I;Om_m zXgNEK;2uBuv{0tSPS;KA|sLj<)A^oz z=zL9#A~6@*N*r`|mOC>3MhYCGRKFw~<-zv6xv`01{UXeY zb?k%j{U$XW&35edO%{fvJh{5L9Cv#wq=B%@CT zWN46@?ZpiQtg;)%qQvuCl;)E(0sW}qp^xF@2_zi1d1Zep%Yu~v3^FeMW$m5=;Q#ts zhf!qt=;(Q-Imw&8n%<9Z;ri9~j(wg8+cm#7rn&2*O%c%Jl9<;658Biuf=v{$Qk90T zT389H`l5g73B;5~j|~u0IMn~gXZ+y*w9x||D$UKYje8H29>5IXXl%aIxprQ)`1)UD z0O0Bd=$HNFpXT=i4K(H9_2jO)^Fl(I@V%k`M}NGAp#)s5+mPti;{QfZuegE5;cMKF z`QL;}ay;OLMVCRYeOL+q9z`bm8|XgL|AUU%(40|Bl00;oUl+BryStRt(u<)m;^(Xc z`cIW!#@MpGI9?yozvFSG4m{|VE~@Y$p)@((8_@s@3(NV^xwWSU2@^}1a+j_)8?G=R z0m%P*FK);5>4qx)e9!l8>=5sYNHl|tB<@=-O9iK3Q0)fJ0GvB@b@gw+h=!QO#eCyS(}Cl8@bQ@vu!1!@U8#Bpw*h0ytw-Cxs6TD$sxLA7@QpRp=YMxa*INDljw* zNa!dJPe>QzN2jQ*sUAdAWy#soD3MC8?j=RnNfm5Cx%>Q=65#WP7z{N3Hw2j(@UPIR zFi_+FO!33AIv4j=E%}eH`J~J6M~kh*yiwOrt8TC!Ox2J03%Or&0d3#rJ_~x z68Fq3(nt)KBJHXf!RhbcKT+tk=XOwVJ{8`3XZmFpt{74dPh%c1Enxj#!&3Y62yWjz-6A;=W7+!Y7aQH2m2WVtz?U z3z)vwN%tWun0K~IAad>Dumg%0C~0B1n7y!^0wYhAo7s-JCO^UGSGxc^#SGx6H0ZrJ z+2wPV+bShg&Tz$WKW^;$eRKqwIS)leLkp|Yx@MRvw~7EzZQi4* zTBj{Xj9Pkn*RZ4ay)CeT_p>t zE}hL3UDRnQf|~KTmU3okH_AgsO|_db&DJ+Ez+0!p`PPN=O2sE3;@<&KRoaZG7aN7 zp-a%L5>J!ynkQ_Qvk{yXW@#c7)GCd(NPudM>4mChgL0k*LeKJhpD}>L3*H@fY6*~1 zmn|@2EjOEkV_mt@mbP5ld?rLwqwctFYm&TxaMC2CY)Bz})PRlzYhDX3G1_x355(~eI`NhE4{*{y2O zzLN|jZ+KBpPRZPwsP1gO!)E?fjGimoK+EfSs#y2CdwQbWkgHDU*BUKu!Azr!Qy4A> z_O#HItC+iE>xBcz?$~w4cAo4TJw}+*{1qRE7apu(a^lSPVBlVx2MSLxPTA@Y(eZw4 zJ}WZLQ?S@l@$mCd0PrJJ&9b7#P%FNbbia0gtDsSjLcr@AP1*Y9o4qt_6YKvzIxGnxuc0#= z%Qfmh-QO3Hw7`G*qVWaKB?|i(G>6dRmrCU5=yb}@9<4^t)1#v%%2W@(1p8I!`XChB z{_^oesb!AsMkP^))8Bbt18$|;?)EK&|1vvX$}Sezg6HP6+M}+lKXt?F1+P?e5(F7l zkE!Uo4PI$(QWU|K86BJb#?a-oAJZt~5)nEGn>_qgE+;s-t6w-uojY2u2F+oeoH!w< z4WF)1%TzAb3f!ILOc2uNsc~dN==#)WT*OzhM4~@x&mKCex-~=X%f>@W-~)4G7t*e8 ztTT0_8Wbt>N_me=^3tB7I}S;Bvh)X5kU<9A)2x;0Y1!>s*_g=FJI5}CmMz?o9cxH8Rg#>pQZ)&Ded({~ z5GIEl81QoW)`~WlSg- z-7M_5I_n{dBEFzf>p76k%gc+e(g`jcbnh(GEWAV^;)qz&a(_Hq^NB^QNrB9~lrFqr z>?VI29CGTlN*5KszAgP}%4zms@wS19eq=6c#WesTXdPQP<{B~PB_3<@k+@DdD#Fyr zYG?czkr#{%>Jn?dVw*%sV_*y#X_3VHjmMvDow$RFzfbqn3@B}E=>^AGSuABAYe=nP z5TJ){j#7u3MDpUL?!1!kmHvCtUIq%%a$r%-JQOP;`|{np7AUU6T+*=*rTqOJEIK_C zNZK)1yM8V(*K|8CdgShPboa-5hY zEMux%CTBfU*9Wg%;c9;CdEroFT4lt~3Q}+j&h2LstDBkS>2)3@P!Ej|y}T<>a&E+U zJ>&KJXZe<{P?cIC7QI%)IZ|ArvHo3XDOtlrCsjsM?A%t6J>)4qiIU)$9$GE=_%d)_${7I=;`IAx+S+*QV%#S9s z9z6(-Uq_mWrGMx1z~6Yo*^#H|6#zLEkTzk7sC*U<3a3TK#V#~1nz4RwZyh23R3@cf zq{uF}(Dp7Rc%<5;!-IUe4&6xM{vB+L5bC#wwG)?VN^3JAC(O`7q~jGp2yD}4CL4BU zH%jv*)ZSwHhC?1L<@-BF$wR+;ni&YcxzjjeE)$w>U(UB?FHzSq%N9PTesuV^9y4IN z^Wa7h3rkw)T@Vc18p|UIZ}s>T@wwDOcXoc?yHK3bsIIhYmbzjx{zoqO0U1-J-+_^J z2GDAop*8}=8L6?;<(2y+b znvg888%&n?UKMuq3DVIv$ed;(P3#7^-DTkr-flUdCbRqtIi*kaeqvgRuV^3yC;r*L zsc-iBKn93|=WinE3Ce!koS&pb?JRKJJoJ_6)vm|XxIE%Pi( zZRF#wuUm-fxM=-6CC8Q$?ycx=3m{xHG&HKHvagF+ccTEL_r2;qABd;BClL6F(SKsc zX*$e@M}$NTOc7kSLS#R4Gh&%)t%{;KZ9L!bLspAo@C~WG>oK670t7NVR#5sUyd%ax z;}|Z&OZmleKDo4H`x~`E0z*IQ?VGz_=hwXh#m_e_9^#e}V;;3B|5!4H{+%Of8E+io zWY3U^_Yd3aVNPHB_})bwd?}yAe8B$yJhwwx&C_;fE$2<*oHZ&B#sZB_l&m0JnlgW?A`Q|NrNi z3rBaC?EepU42)r*Z}GrDen_){S1D3;VY2`|!o0SBK~6)1G*-^i)b^x!cNc3U^YWOS zu8XFp+^NV?>sKc^n?`3G%$G0OfKeM zfv3U4y&bqRU3)SJkUI6&+o3^0%-NAsDn_m~`Li^;eyp>I$}-B%7cNbSrow9OoTY_K z_{#Y!?ny#QfAqwje0aU5-3Pl3m-Nq|bP~Z*!%bJ3`;BXRXbB}FjR2rK)(Y->QWDq9 zjK)vPY5EzyMbyl$lLF8|KK$|FVVjfuO`u_qa>l&3?oh<&NY-WP@*#Splu!wwCgf;S z@8WA>VgQfZ$>N%Jwr+FXXJuN2l5epmly94e0Es4!RR)zXn8%{=H>}o!&w*<AI-{DVj0!o<_foy!P&DbCDCtI(c*+u6{qn=(wv7{4opY{pKiA_r(gW5LiG6~$x55f=M}ccayPf860Nuceogc9~^e`KP=7$Sfmmv>TKyalpgh#OI)K?jUmLe$6c= ztCd8B^oVF0<6CV8DUj5sVWhTOBC`71lSy~Fml0|2k9}mc`y0nk_;Dw-)BR(|ld;n) z67vb-qI<@YTxgEr@e1f6a_)7{5=!g3sE4Klb*Q#HTc(EVCi5C4c1N;xc`&l3hV1`Bi#DXe^@)p+jeB zvorFsBvn`6$Ap9{o{aU^WRPE{C=w@=A3j#$8f~tjC+nvDx zX~{LBiW{1b9HSqB+zY*k3#`&@vPn4V9;NQ+7L(|0J$!<^VTp{9q!U`~V!Yf8#OU6h z!jPozSW@<#98=;%KYuW5XU?HenEf^XHs!V3{Tk6pQd8U^L88BQsTcKhvoVd|eYW>a zmg>j6v&he$()p&sM|@ZgF>!huug)8i(u%+0*XJ>kzavrPdhxpSO9v#2`m=NyA?sMfCJRLM~8)_2qQ%o72Bxr^hpg=so`yATv;@EcLnTb6Q|2biBWxq+ePLAJxyx^d9?T zM{_n$6W%_V2o_$h3cLIB7eT{mdv}%B2vbADltnRg(cTkUcv;EKaG!7Eb$<8@%V?R_ z2P|_O!B7KZ{$iBq6)UFXj_)?39O`W1DNZfCc^#B8^Xh^#>kI(dL~q| z-Yljbgi}G|d`Vks&y+N;>L;3^G$ zSUC$*OsN2aW!0|gF(AjZi?DS8Y{JzFn=sj<;ox{6DMFtqf7L-iQ$*aq`IA8pRO4*V z!_!OjGdc1fXyi$D{?*FJ%O23Qk*zKVp&R0YY%MO=UyVYf=3d9b_;fU9k1bkk;#}W@cswmkx4tT&W*ZvcGfBxj9~I z$M<2Lc5^eIZ0RP);R#u6p8V^ir4esoUOgV0={#LCs;gU*bFk6x$wl}8Da)Fm?iiC| z{7b-gPmz^Q&OaBAGhR*=Qc(hVLmDN`9g9{9!$n8D-y!bIr_IEJXR9!OU zN8(r#BXuiWy1t*5e;O>{)-G@$t`a7RB27N#$laOT5OkiQcszRVm0u@nAa^mZV^EtxlFX6Jqe_xI|0t31oyD8{J})@+T493* zHBhsa=WS_Yc>@*u5hvKNJUQ4RdbWMo}0*#lxacTQ>A7ekUweVOau zu|xtaq67AiH3wQ8Y#u%Cp4*d{QEX^XUeE)ty>7k* zkLA9lY+Q!yG-(1tOUF6MT1-KQ>OO})c}n|&9HX?+s-B2Z$UE?EW($dH3rsUi_wg6Q zsLi;W5*%C)n9$;mUBS#s#k};gKll(IGwxJ%DaEioT$wOfeH|7P-sDwAs-`c!wR`#Z zyU&$YXs-qzA8Y1hAaGbxk9X=hJzxmT~@#j%4A+WR3 zCYT#@pnX>6mSN2iJaipIw#i+Qtp#+rOgo5E_i$ zn{A~8;j-vUrgh48AC0et>?T|xx&(`|f?d^ciTO;kypLKAi)QwIt{YT!!zQPU^yp^~ z-RH=ueHc|;L_>XA*ab=4myO?Ei`I9%&zoG!xajl8-@L(0z^8x+7t@J^iC!$Pd?M|t zpg`F1sXrwE008jl@{aR^^QTN+NOFT4F0tS3euzmFiKtTJ^gSL-F`B6N@3fDQ0feM; zh9swlFLY=5$WIsQbL2a65|I%1UDe1;IU40#w6BUJMYY&eRLPwl4OJ8y)?9LC6}$4R zD3Fswf?@}s-Gx?DCYE)|i;19^yHu*N<$hqDOAQ=sHSvpF@PQH5;{5`6w_u(!`HiJu zM|47q_Zs32dc`SzNKH68rRN z2DvNB`9ODiK;ZGmLhi!(-M6GK-`G4?v`o~9=yj5%p1l1CW26lWjJr*}lN`ouv7Y3{ zovHG{z*+elr-gqJsf*{D9-rse6Wus}E@Gvmk93F~8k)WL<6A?3_{OGX*1Z>6az8V# zub$xVf1&IoBPoeJn^aVU@h3u8r4L!oFEPG=4@asj=PTn>vk2^Lyl!Z>yeWhZ8yNUL z-n4PyYW#=WN%t@5g5R{y^iwHUZMhr2ji4Fb$-T`s&W0K za@_i2usk-MWUu=n)%2akLi6#;yFa`#>@2E~oK?yBzK@gcl~xU>-Q%mUxYhx3PO=^t zg=Rvw1v5qrey#R4KbpnD^6ZwZSqAqv&Z~@x4UO z4lx8$mmmJ&x*9Cksj#bn(Ftv$!awR>2J}V-7|-d8UQjNIf6vhiO-N0i5ON!g!F5_> zFvVMchQb^+j&~~gD>$7Zwe%3Rbva2c>L@7o>(@?KU6dburgO9g7;Yc7SkGnELmF>QuvNR3hetdVR$A{GgcRe=MH|Z|B9J*U=p?>ObC4H8+ ziSTJbmrrf>H^bfVX%-Cxlut8v zRFX9#f71=G)x0ht^asOs_dxtD1&&E>%8ueMmedbGeMMa$r$k3&jAEzlo~gO5n|FW? zb^9u7E`ybs4q8w7O?i5QEO%R4lKFJ1j6YJXLm=zBsf80Iy@V6Z+R7w9+E8iz-Fvkm zyJGhM#e@%zV~udx8%FQhnieHD=SbEe~J7UyQ8p&Lmj}4Wq8#j(lD| zz(sdr-dY${z?`7K7m-fsq|--=V%WbY7r(Xlj@TG7qwQzG>DMrg?LFnKqfo>Z89nK! zqK+59H5l}WwWnD3>s^*O111tY@WF1$yFmmj=b3orA~>>>%!H^U=6{r3^rn#qX_a-w z_Ef9?&RobKbf8*RuS^NBz^ zBo4$LdROsNb%<(8zloqi?VPS5edAbc0=l+ljQz}jcAf^+f~wm$r-FsYKR=JmBfRu9 zMCS`Vp$;M0Ow`3jtgDkraX$e-}=<_q7ndP(=zRWICFogp#Gsp`ztM?GIjl ziP5pQFfhx+`#D#mQhj8@r*$lL4U^g*FbLS%(wvlX!Lj0y-pwQHt&0G^!2KE&vkVrN zztA1#ju{SGtwIAT1>QXM%+LVc@Au&u70AV$9@yG0ukC7A3i&Pc4d9&sNOBlDEUX3n z($)?0b|L4RsJSZyJmVXRJd%*==owyy)d~gOp8lbnrz4A7J7)NG>NIiW7xPxTM2r_B zI^%;vxD}9~SZ{ia34oy|#~0@?I`e?y@qq{$7f#f3aC185!1ddT)XM6>#qP2xL`jmp z=P7FLmKjyXxGfaWmVD`Ca(?U)`tExU{;Ykf)N3?y&wEL4d#z226Ane#XviTZoEHemgDqP{cP{++#(|Wt~Reo;1tQjkz0EPfRjg=WL)F%RM z_ECO8wuXTS2;8oy8GQIK5K`M$P(H#tb;)dojoo0i%ItKq9My_61s!{0@|rfbK$LIS zhZdSt>b30+CY~ee>kb0mF&~erNiy#e)PeRhF-GzW{!=LAWChJ=GltJ7aqbf&ZzX9Y zrNeP-C}0kwF&T)!av9Zi&dfs^fJ#{v4}RK-KR!;yMe7s+LZnNj;_KJ>$Z(c>)o z@ z5M2DIZ==9({mCGCZeSL7kp6I5%BCxj?Mt53v5fh4{=!XB-4%Dpfc|ynJ;nG|)Jvtv z(W#vWlC#JnT0o>n^EX>Yp{O8p<>BE&G~0>7;SXA}$;XrRZgm$w!c_f!P;io-=8N9! z=@$A3c@6)ulZ%etNh*s5!tz8iA$~ls&EnU3>uMoPvUaoZMQKMYS!6@m7It1KRLewy z#kqhkjiq@d(8SgEnoH=y0d|QxGl0>gi3KK`%;ZS#1r<~WDev0|ZiS5rip!!N+j-70 zS@jRl#w%29qzS8=1{J?{F{?n!@ZJ*WrS*`OzYxMpm!hl%@cUV!KwA3d0wL**;0uI{ za`kQH%45< z>I_{*yRQ3jC*Mt&`$&5U)mPTuw)-+fS)i>Xt@;rtbD!6v@Q6FJ_RCM@x#2#P=+I$& z{no1m`sSh(1=erR3h$u4A@IGoeYl!}9eSyJSIZEum$Q-h&x3>Dl}HfT8HNAzNFbw5 zKnVLp{-OQf|H!Ape{1%i%4eVYh)Daau1hPP4{#K*$}Q@CoY(k2Rlfj(v!xv#Fg*HC zCF+@Q2)1|Y$jsTzL5s~654ZV{zFk)8UFX0LQDDo zQWauPcY{ZN-n2mDtY9KvT=8_Sw#c7C;dqLVIDaeUpJsl4(&CcS68toK=RZH<%Me+e zT>6V;Y987fJjv#pbpIvt!f#n#{NFZzcacDrkI3Blr)a58wgJDM-PdA<-~F^brG0Yy z*D1qQqJ;vCzG48)Z_y@w3|4SAF=-Kl)*3wcniJG}OrT|sCq0{-$OBfNA~e34dXt%n zsrHZ(!6E>jjeW~|&Wdm%zMkc?cxY{%p_yi^RgLAdmc+5MCaH^U2{Kll9L$_k)0oic zHB6;+kp5NL1U{^0NXN}HK?qBPyb!Td|0*yVu#z7g8{3a#JZMZzDmbs70=$v_6*$&Q zJ6dHQJu*5vF+M)t%sTc<=#{34?5{tfY$GJg7iB~&ZlgYY%%~Tly{tno{`$9QD?bwt zBVh*o<4a57Bcmg}W~+zHL9er$Kc9{l1O6lLN?W3i&c2g=X{sefEz^5JG<5$6?vDzd z-^45La?Tg=zf{5yeL>!LaFv(*FPp8TCL~%2)v{*(OD$24gR`4$z37S0?e<^eG$6&> zp8`(}#a{-ccuNjXPgCS8j{lks{~LV2Hxni<{fCX?Q3~%_Fr^fz8Pm49$oo2IV-e1i|*Fgsvn1Z$!bQWTrW?2>5q8j z8((=-Dn2}8Ci^N8d1EeTGZl~{wbG*XdMi2Svxs8bt^M5Z6`(4E-F;jT_SE88`DE5iv&knDSJM)O9?i7)Pti{C`yu>gbXmDHBOdwAarK)p!J{~N613?8PM5h;F~|Co zHbUdcs;|R<9F;$b=sr}8S5E+T!#3&{*4FfR4s5*azS~%P`A@II&{CM4Ft)lEBJ}-0 zx>%wG#j13k+vl(U zB#!TmRzUkxoIC4SosrYaE_X{`bijJ;!rK;Ig_~b4>PN#{k4oz{aZff<_BNOsW>*A9 z)H0}_j4knfxYlthu^=1tCH9xl2-hzs8S(=~*{Yml5%y;=@#UOx&F2RvBe#=b7$DdI z0v!q?`84x*YSNnd0l=}5X8(KZ3xx|IrE~)kUoaReuWtQT+q^t{f~YZP)q-zt=bHOB zmTc?U{Wq8~Ni(3LQtUOhP2cz zI59&Gt1tO2J&O&SZNPskE4*vj@4s_6@Zn>*<^%%Z4`s#L6=nFB;a-KPLns8$Oc1Mp zcnB=8QRXO>du=yFUe(6|N@xZXv~tp~9Tz$6^?ees`%*JBPCRQ)RbU$8z`QoO??kci z*$RYUEGc&0%v3In^N8k%n+cFKP)5e|1*4N zr3rH!AZe5VkxdhC7f*o4+Yi7_C1g9hu^lcoVP>I=-#PHHg4+dzg{N->VJAB1$^DtI zhX^-ZlAZwIZi%jUgTt^Fva0*xILN5QGPHk)JlB0G8VK;Xyq^pe@cgRRlZi;!UBjQ$ z?3>^m4@VHIkw#-v^YyZpmPOqyq0;2NZVvXwbcs9#&fNv-nhD_Hs}NAPC#A_(-SMT< z$|oJk6ym%Ma5mt)Y9f!Bc(abUY`L95{pr&l2L7RhDvAm?KhZ?v$Ur0rd*m<)*+TawH zzSy*=9%Ke0GJE}!+uxXpn$+%9wD1qt)IqsCST_PrYS-Yno;M+;Ge^Jna-hcYCqHSC zUO(IC%}=bHbK*%;3u~b+4m<0=j=eTfd4*bhcMqLGNLZz*6T0VhhSy3js#s%=!W!*j zXvt>=>v#&igWg#f0hP&tM^SGRQDUv)PGbR^rPR}!4f_#h-o$l}UDlAhg$T%?Q3gq@ zA9(YWrApg7zM|tWjae@ZL{yx9yij3CJ9;?1PYFEDk)NT^&Zabc0nPJ;a? z0IwcdnY8bSAoTQfZfx$I6c_icU(9sv`0=H8u9DBbx!}->eS!_9jzGIpO$qG@ZpWVN zJY$uvyRG#P3b{W;Zl<&ggFMUGs z2DQ?%#3wI$6Hym)g#2h|S(K@t=+kAz%uxk=k)`U7PGdSi!_f6p-KRe+F>9wst*ij| z+T14dEF&!Mq^8c>3*P2>&<*2XNGLmY*izi* zMGq`<9XfV&Op#NdD^P3il+j-jbeg@k!(a%_u5}so9ENx;ac7`bKGyycqwxA}6rw3z znzR$Q^67?tJHm`{m8EVm&~>0<>zi*>)C3e>--$V1(jpymZ~@v$!C_+>ethK&YvU+q zW>arN(mtkpssb&VC%77~?JdE2jklu~p`eTcE%es7oOtbh^x=Uk-~r>DDJ$EmX!IRF zEZR@zi}ms6?l|O;x0K_=s5p9Ci-l`ujLc?e@7GFTd3O3{(#imE)oQRcCMcIU_ZZpI zBy@nj-JX(_KMon#u)4+5ts>2#bxe3dLsQ5AH$5E4`GgrFS>K@wuSs5blggIwhr_M) zpRVTV&1kU$>Q$n2e_oVt6s&MXsxDyRSBr@sV^q(+5o9$~?%mM=SNwrhEYLVMi z5(ihBsX?6N>9xwZ0!ec3wdlgX_U zP=IY}v_3N|7$?!7$~fs^k^!_|(ApIxokvw0!E*&2Z!MY>Q-LlYCDoTxLB3sN^PxK4 zZSW>zCs%wb`Sw9S5%>j{l}+>I+E>Lue=+K0!dBqyUS4+DjM5R%DWlkSsra(Vq^4hw zIu=bkwx0--;qsTsVQ#vnhE^LX{(-u&I;Mx7v@qGp*dOeS59D}g#kMm#a|zxhz0Oq; zAmwVy^JeYZN816=v_W1hxD&8$SE3Rs$69~iVTycR4etftCfb!u&_=i&XoU+lDPuWB zlZyBHD_*{K2cWY&#ReU=7Bx6;(IoKsZfJ?0yPpgp!GcoHE(l`1Z^_u>kEUE@z~1$v zZ3g!3I@He&o`GNNa-G)i-UH1Mp4t!I&p6y!LVY{=d^)BQ30gtNUg~(z^j+=Y<3s6p zX);yF%Z}FNH68*R=ImQd-A0CD7W-Hu!OMAXPk#)>PTBT{^U^@Klf>!NbS_G0XOGAk zYWmyNC+pYuZodN4>yK<@+0Irky?E%lGa*7&BzWX|NcT*!LQ#;svb8Rv{*HebPDkmz zY;(Cobx~UF(YnjpPW;u-0e8R%&W9DhrwI=Z3g5+G4&_Ym_^k;@OufH2h@>hlzHpMD#u1xxF~PZ?T^IOPey0? zM2z^=FW8Y-nbr9Z@CryEt?2#5$Q#yg`R}${*6nv&yWRiCH5~RZ&Y93uD0Cv^1qe3yVAE_GZLB?S-yDQ9kZ)nO#9+dg%p<%A-eSPHP zSeg0P?sly!Hy?T~j6#1>@U0;EuC0eb9MV0(May+{=-c7W6op1|q0ym`Z7M=ieqDlq zE-$QSml<}O74u&9tBwk@VC6R!PPaIR|c&HpT~gK0?Au7l7& zGdEW2*EW#$0?cV0dtjKS&S?li(6Jn;k^Q}|ARcM#PCQ^>jLQgDsylkPSt6`bJDTHQ zB1X8E`s~)tP0B1LsLYHkb-5~FJ1E2Jn55ot>>H&6a@z4?AY{9w2$W|e*4s0NTq0=d z{bXXRL~&|-T{EP?$|T-o2PF`==Ba+*yI|J(`7umsH9|-h9jY5uIW~b{&;+qv@jnJN zV~(d3E^nrg9AO|3(^gYvz%rzlH?D8?Ym3m9cF72Fz=G#mJBO^^=5r})zaXE1a{ul^ z*RS5rwX@uWcy^{q)}`zxa<*oDN1XKEIOL9C%hty=gPdG8wP$trR|4VJ_F`g9(a3zI zwS!wGqlZ1p=&konOkINhWwTLDlE_@V4VLIc)y+Wg3wyG`2l&_AU z@{!n90_@P4H+~5#BIQ>MaXk#9+CGTQIw?CwES`RSOhS@3^+=cOl6<3z*X@z>J>2sg zVmfk9)k5L%cpEuSf>EcK%+2<~VQdM*j3AXwY~aZqBez5;7bx9QFcwpHG-~ zd>LeiBwx;_x>0zc#7gkN;U%RO&ZD^4=a6*-%)5G}1eAJOvDlAmGg|opL6^~@7IB-e zxfS@z>%eRH7bNS{1yF>U)r$eUE9Dt7+I)>JrU<@Dw!?`CVc6b$AebK+$P1&Co~vM| z8Y2_h3C_ScMEGScQ+VniqWS5ZNn$C&2FsrTaxq&<8i#F0g94d45>BTPQ{F~X)-$bR zK|K{AF*07Lt&g5Q!eavYnOlOx$R@0RM9(AKW@WN6WRP|YkZisz2Gx>1DX>wHzN3QULcr>V++_3(M2EpbjsWT1maOd&O6i^m4}P{@tSMZGeI*= zt1%TQMt}n1Ze$>$4S%0G(AzuKGh_QbPHah^Sd(ah93@FdaV{>EYg(?CdrQi)b3z+e zy@~sDe9R`I7JY$i*SY&C32NwGAr{r4@9IkA4$(r=tm`=G5nSIGz3kYvRvj+#!Yzk| zShpK7W*x4^s>wmewQNy#366L#uf_Wp`Is0euo zbqSSkdm6u9!ve2(%0||gSk28t@&`#V79k*ZFsbp!W}Cf63$!N+7c}!>12;;`?MmZ} z$rkdj{Kn55i4j93T^e;4}~=E0+NFg#E-0+lVH_zM|g!6TM0iC(zICJ7{RN?iQBOoDYIX8lIm!;{Mh>dS%8|Vq#+S&jiU|ongLh zYD6B@5{W7kkukb@J&TSW9>XuUkBAp`)yTX3{s{WH8`+ZT=h?R4g&n*Z)=k4-xW@Rq zt;wrI{chq$$N+b#R_*)u=Cb7(nPYKfYcvT3ZRc3F9Q|b;ez30Z3!feb$sn53a?Av zhj^tk;zFMOrF5O}3-XN$UPPV$V}HL@Uwj3xb*ohpm5?*G|9xoP#Dk*b6Et*xp^(`k zc$-bEV&@_Lug%JZ;?YUI7fM=J{xaG=YP`{Q1!mLzWwi7ha$4natn&XKFd)d1Kx-YU z(0)}p=))#E*B^pY66F-SwNK#&{Mc<#$wIDNtJ?eBKMW^osLwf-Z;Q?AtLtmHCPim< zp9lASe%=uA!anW~I21k} z?&4n{Sxift{BF28aV?Vb+?)&|3GEfj9c(L&ou|nUQ%S6Tw-HmU2)e`j)aINq=ZZ66T}M_)x70g|TP9Qs7%JifaXj1nfe<(FrYp|oRxM*?))b^g9#(b3V^_LFxDUEO3~ zp5<&k_^qk74-8Lmdp(|ed!qy6*G0;J@rh1FqUwA+4vG)t96IxEeHvXdfloG1JYdp! zWYcA5l1VAPA%8|KIUzs=dYZgHI$stxv0hG_wD0h)=p_bg@cKok;ar>)~Wft zsF|-Wc5XS!oxe4OedmnTq)0grbtO<&x7d@P%7a@oi?e4p> zmTc-QA62QP&m_<98?rQh-8)JTy ``` -TODO: `ddev php bin/console debug:router --siteaccess=` should list some `ibexa.mcp. GET|POST|DELETE|OPTIONS ` - -TODO: Maybe explain that routes are built automatically from MCP server `path` configs thank to `config/routes/ibexa_mcp.yaml` and `\Ibexa\Bundle\Mcp\Routing\McpRouteLoader` +Routes are built automatically from MCP server `path` configs. +Those routes are identified as `ibexa.mcp.`. +They can be listed and checked with `php bin/console debug:router --siteaccess= ibexa.mcp`. ### MCP server options @@ -73,7 +73,8 @@ Notice that a server is disabled by default, it needs to be explicitly enabled. ### Tools configuration -Tools are the main capabilities of an MCP server, they are the actions that an AI can call on the system. +[Tools](https://modelcontextprotocol.io/specification/latest/server/tools) are the main capabilities of an MCP server, +they are the actions that an AI can call on the system. There is two ways to associate tools with a server: @@ -88,7 +89,8 @@ Ibexa DXP come with several built-in tool classes: - `list_languages`: Lists all languages in the current SiteAccess - `list_content_translations`: Lists languages which have translations for a given content item - `Ibexa\Mcp\Tool\SeoTools` - - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag). Useful for identifying content that needs SEO attention. + - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag). + Useful for identifying content that needs SEO attention. ```yaml tools: @@ -176,8 +178,6 @@ A PHP class implementing MCP server capabilities like tools, prompts, or resourc ### Tools -TODO: https://modelcontextprotocol.io/specification/latest/server/tools - The [`Ibexa\Contracts\Mcp\Attribute\McpTool` attribute](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html) declares a method as an MCP tool. It has several arguments to describe the tool usage and output: @@ -195,9 +195,7 @@ use the [`Schema` attribute](https://github.com/php-mcp/server#-schema-generatio ### Prompts -MCP servers can also provide prompt templates to guide the user in the interactions with the AI using the MCP server. - -TODO: https://modelcontextprotocol.io/specification/latest/server/prompts +MCP servers can also provide [prompt templates](https://modelcontextprotocol.io/specification/latest/server/prompts) to guide the user in the interactions with the AI using the MCP server. The [`Ibexa\Contracts\Mcp\Attribute\McpPrompt` attribute](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html) declared a method as returning a prompt. @@ -300,10 +298,7 @@ The validation of the initialization: ``` ``` -HTTP/1.1 202 Accepted -Access-Control-Allow-Headers: Content-Type, Mcp-Session-Id, Mcp-Protocol-Version, Last-Event-ID, Authorization, Accept -Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS -Access-Control-Expose-Headers: Mcp-Session-Id +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 0, 5) =]] ``` The [list of tools](https://modelcontextprotocol.io/specification/latest/server/tools#listing-tools): @@ -312,42 +307,8 @@ The [list of tools](https://modelcontextprotocol.io/specification/latest/server/ [[= include_file('code_samples/mcp/mcp.sh', 40, 48) =]] ``` -```json -{ - "jsonrpc": "2.0", - "id": 2, - "result": { - "tools": [ - { - "name": "greet", - "inputSchema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "the name of the person to greet" - } - }, - "required": [ - "name" - ] - }, - "description": "Greet a user by name", - "annotations": { - "readOnlyHint": true, - "destructiveHint": false, - "idempotentHint": true, - "openWorldHint": false - }, - "icons": [ - { - "src": "https://openmoji.org/data/color/svg/1F44B.svg" - } - ] - } - ] - } -} +``` json +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 17, 77) =]] ``` The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/server/tools#calling-tools): @@ -356,20 +317,8 @@ The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/ser [[= include_file('code_samples/mcp/mcp.sh', 49, 63) =]] ``` -```json -{ - "jsonrpc": "2.0", - "id": 3, - "result": { - "content": [ - { - "type": "text", - "text": "Hello, World!" - } - ], - "isError": false - } -} +``` json +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 77, 97) =]] ``` The [list of prompts](https://modelcontextprotocol.io/specification/latest/server/prompts#listing-prompts): @@ -378,31 +327,8 @@ The [list of prompts](https://modelcontextprotocol.io/specification/latest/serve [[= include_file('code_samples/mcp/mcp.sh', 64, 72) =]] ``` -```json -{ - "jsonrpc": "2.0", - "id": 4, - "result": { - "prompts": [ - { - "name": "greet", - "description": "Prompt to be greeted by the `greet` tool", - "arguments": [ - { - "name": "name", - "description": "The name you want to be greeted by", - "required": true - } - ], - "icons": [ - { - "src": "https://openmoji.org/data/color/svg/1F91D.svg" - } - ] - } - ] - } -} +``` json +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 97, 121) =]] ``` The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts#getting-a-prompt): @@ -411,22 +337,8 @@ The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/20 [[= include_file('code_samples/mcp/mcp.sh', 73, 87) =]] ``` -```json -{ - "jsonrpc": "2.0", - "id": 5, - "result": { - "messages": [ - { - "role": "user", - "content": { - "type": "text", - "text": "Hi. Please, greet me. My name is Firstname Lastname." - } - } - ] - } -} +``` json +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 121, 136) =]] ``` ### MCP Inspector test @@ -502,7 +414,7 @@ When Copilot complains that it can't communicate with the MCP server: - update the JWT token in the `.mcp.json` file - reload the MCP servers in Copilot CLI with one of those methods: - - run `/mcp reload` command which reload all MCP servers (which can be annoying if you have several MCP servers globally enabled) + - run `/mcp reload` command which reload all MCP servers - run `/mcp disable ibexa-example` then `/mcp enable ibexa-example` to only reload the `ibexa-example` server ##### Fully scripted @@ -526,7 +438,7 @@ When Copilot complains that it can't communicate with the MCP server, reload the - run `/mcp reload` command which reload all MCP servers (which can be annoying if you have several MCP servers globally enabled) - run `/mcp disable ibexa-example` then `/mcp enable ibexa-example` to only reload the `ibexa-example` server -TODO: [Copilot CLI MCP server addition](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) is strangely asking for some OAuth ID even with a proper JWT/Bearer header. +TODO: [`/mcp add` Copilot CLI MCP server addition](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) is strangely asking for some OAuth ID even with a proper JWT/Bearer header. #### MCP server test with Copilot CLI @@ -557,22 +469,54 @@ You can prompt Copilot to greet you. It should take the initiative to use the `g - You can ask it "Please, greet me." and it might ask you your name if it doesn't already know it. - You can additionally give it a name to greet (like in the prompt template). -- -The interaction could look like this: + +During a morning session, the interaction could look like this: ``` -❯ Hi. Please, greet me. My name is Firstname Lastname. +❯ Hi. Please, greet me. + +◐ The user wants to be greeted. I'll use the ibexa-example-greet tool, but I don't know their name. Let me ask them first... actually, the tool requires a name. Let me ask the user for their name. + + Wait, actually I can just greet them without knowing their name using a general greeting, but the tool requires a name parameter. Let me ask for their name. + +● Asked user What's your name? + └ Pulley + +● Greet a user (MCP: ibexa-example) · name: "Pulley" + └ {"general":"Hello, Pulley!","close":"Hey, Pulley!","morning":"Good morning, P... + +● Good morning, Pulley! ☀️ + +❯ Hi. Please, greet me. We're close friends. + +◐ The user wants a close friend greeting. From the previous response, I can see the "close" greeting is "Hey, Pulley!" + +● Greet a user (MCP: ibexa-example) · name: "Pulley" + └ {"general":"Hello, Pulley!","close":"Hey, Pulley!","morning":"Good morning, P... + +● Hey, Pulley! 😄 + +❯ Please, greet someone named "ElePHPant" in a general way (so I could reuse it at any time) + +◐ The user wants a general greeting for someone named "ElePHPant". + +● greet (MCP: ibexa-example) · name: "ElePHPant" + └ {"general":"Hello, ElePHPant!","close":"Hey, ElePHPant!","morning":"Good morn... + +● Hello, ElePHPant! 🐘 + +❯ Please, greet someone named "ElePHPant" like it's 22:30 -◐ The user wants to be greeted with the name "Firstname Lastname". +◐ 22:30 is evening time, so I'll use the evening greeting. -● Greet a user (MCP: ibexa-example) · name: "Firstname Lastname" - └ Hello, Firstname Lastname! +● greet (MCP: ibexa-example) · name: "ElePHPant" + └ {"general":"Hello, ElePHPant!","close":"Hey, ElePHPant!","morning":"Good morn... -● Hello, Firstname Lastname! 👋 How can I help you today? +● Good evening, ElePHPant! 🌙 ``` -The Copilot reflexion in the middle and and the final result might differ from this example. -The important part is that Copilot CLI calls the `greet` tool with the right argument, displays call result, and eventually uses it. +The Copilot reflexion and its final answer, like the improvised emoji, might differ from this session example. +The important part is that Copilot CLI thinks to use the `greet` tool, calls it with the right argument, displays the call result, and uses it. ### TODO: Other clients? From 6e909538837480c494578a209b777a5969f626c8 Mon Sep 17 00:00:00 2001 From: adriendupuis Date: Fri, 24 Apr 2026 13:52:24 +0000 Subject: [PATCH 44/63] PHP & JS CS Fixes --- code_samples/mcp/src/Mcp/ExampleCapabilities.php | 1 - 1 file changed, 1 deletion(-) diff --git a/code_samples/mcp/src/Mcp/ExampleCapabilities.php b/code_samples/mcp/src/Mcp/ExampleCapabilities.php index 22f8700c06..7861c319b9 100644 --- a/code_samples/mcp/src/Mcp/ExampleCapabilities.php +++ b/code_samples/mcp/src/Mcp/ExampleCapabilities.php @@ -48,7 +48,6 @@ 'type' => 'string', 'description' => 'when it\'s late in the day', ], - ], ], )] From d5615d91a51dd655f68c78b674eb7e608c368344 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Fri, 24 Apr 2026 16:20:03 +0200 Subject: [PATCH 45/63] security_checklist.md + JWT --- .../security/security_checklist.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/infrastructure_and_maintenance/security/security_checklist.md b/docs/infrastructure_and_maintenance/security/security_checklist.md index 1f34f7efc6..9f0ce25c4f 100644 --- a/docs/infrastructure_and_maintenance/security/security_checklist.md +++ b/docs/infrastructure_and_maintenance/security/security_checklist.md @@ -151,6 +151,13 @@ This means that editors who have access to Code blocks could add malicious JS in As site administrator, be aware of this when giving editors access to the Page Builder features, and limit that access only to trusted editors. You can [limit access to specific blocks per content type]([[= user_doc =]]/content_management/configure_ct_field_settings/#default-configuration-of-pages) by defining which page blocks are available to editors. +### Activate JWT for MCP, Rest, or GraphQL + +If you're using [MCP servers](mcp_guide.md), you must enable JWT for them. +You can optionally consider enabling JWT for [REST API](rest_api_usage.md) or [GraphQL API](graphql.md) as well. + +For more information, see how to [enable JWT authentication for specific features](development_security.md#jwt-authentication). + ## Symfony ### `APP_SECRET` and other secrets From 2fd9ba545653250691e63aa44355c48a4482993b Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:19:58 +0200 Subject: [PATCH 46/63] ai.md: apply some vale suggestions, rewording --- docs/ai/ai.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ai/ai.md b/docs/ai/ai.md index 195d7d9c7f..f65819dc5e 100644 --- a/docs/ai/ai.md +++ b/docs/ai/ai.md @@ -1,5 +1,5 @@ --- -description: AI interactions with Ibexa DXP +description: AI interactions with [[= product_name =]] page_type: landing_page month_change: true --- @@ -10,8 +10,8 @@ month_change: true to make recommendations to product customers and content readers with [Raptor connector][[#(raptor_connector_guide.md)#]], or to help editors in the back office with [AI Actions](ai_actions_guide.md). It's also opened to external AI capabilities with the exposition of [Model Context Protocol (MCP) servers](mcp_guide.md) to allow agents to interact with the system. -It's extensible. For example, new AI actions or MCP servers can be implemented. -To go further, an AI can learn to use the REST API, or learn the PHP API and help you in your development. +It's extensible. For example, you can implement new AI actions or new MCP server capabilities. +To go further, an AI can learn to use the REST API or the PHP API, and help you in your development. [[= cards([ "ai/ai_actions/ai_actions", From 29bf219b46d853a0d9433da703b542e616c3a9a8 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:46:20 +0200 Subject: [PATCH 47/63] mcp_config.md: apply some vale suggestions, rewording --- docs/ai/mcp/mcp_config.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index ee47ee7e7b..149f3b792a 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -16,10 +16,10 @@ to allow the use of JWT token bearer in `Authorization` header. In `config/packages/security.yaml`, -- uncomment the `ibexa_jwt_rest` firewall to allow the request of JWT tokens through REST API -- uncomment the `ibexa_jwt_mcp` firewall to allow the use of JWT for authentication against MCP servers +- uncomment the `ibexa_jwt_rest` firewall to allow the request of JWT tokens through REST or GraphQL +- uncomment the `ibexa_jwt_mcp` firewall to allow the use of JWT authentication against MCP servers -Notice that you don't need to activate JWT authentication for the REST API or GraphQL. +Notice that you don't need to activate JWT authentication for the REST API or the GraphQL API. You can now request JWT tokens to use with your MCP servers. See examples of JWT token requests @@ -78,19 +78,18 @@ they are the actions that an AI can call on the system. There is two ways to associate tools with a server: -- `tools` in server configuration lists classes from which **all** the `McpTool` attributes are associated with the server -- `servers` argument in `McpTool` attribute associated the **specified** tool to servers +- `tools` in server configuration lists PHP classes (FQCN) from which **all** the `McpTool` attributes are associated with the server +- `servers` argument in `McpTool` attribute associated the **specified** tool to servers #### Built-in tools -Ibexa DXP come with several built-in tool classes: +[[= product_name =]] come with several built-in tool classes: - `Ibexa\Mcp\Tool\TranslationTools` - `list_languages`: Lists all languages in the current SiteAccess - `list_content_translations`: Lists languages which have translations for a given content item - `Ibexa\Mcp\Tool\SeoTools` - - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag). - Useful for identifying content that needs SEO attention. + - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag) ```yaml tools: @@ -125,7 +124,9 @@ MCP servers store session data their own way. #### PSR-16 -Sessions are stored using a PSR-16 compatible cache implementation. Requires service option pointing to a valid cache service ID. +Sessions are stored with a PSR-16 compatible cache implementation. +It requires `service` option pointing to a valid cache service ID. +And optionally a more specific `prefix` option than the default `mcp_` to avoid key collisions with other cache usages. ```yaml session: @@ -169,7 +170,7 @@ It might not work with containers like Docker/DDEV. ## MCP server capabilities -The Ibexa DXP MCP server framework (`ibexa/mcp`) is built on top of [the official PHP SDK for MCP (`mcp/sdk`)](https://github.com/modelcontextprotocol/php-sdk) +The [[= product_name =]] MCP server framework (`ibexa/mcp`) is built on top of [the official PHP SDK for MCP (`mcp/sdk`)](https://github.com/modelcontextprotocol/php-sdk) A PHP class implementing MCP server capabilities like tools, prompts, or resources, must: @@ -186,7 +187,7 @@ It has several arguments to describe the tool usage and output: - `description` (optional): a human-readable description of the tool, useful for the LLM to understand the tool purpose and eventually choose it when it matches the prompt intent - `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances - `outputSchema` (optional): for JSON object output, an associative array describing this object -- `annotations` (optional): a [`Mcp\Schema\ToolAnnotations`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/ToolAnnotations.php) instance +- `annotations` (optional): a [`Mcp\Schema\ToolAnnotations`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/ToolAnnotations.php) instance - `meta` (optional): TODO An `inputSchema` is automatically built from the function arguments and their types. @@ -195,7 +196,7 @@ use the [`Schema` attribute](https://github.com/php-mcp/server#-schema-generatio ### Prompts -MCP servers can also provide [prompt templates](https://modelcontextprotocol.io/specification/latest/server/prompts) to guide the user in the interactions with the AI using the MCP server. +MCP servers can also provide [prompt templates](https://modelcontextprotocol.io/specification/latest/server/prompts) to guide the user interacting with the AI having this MCP server at its disposal. The [`Ibexa\Contracts\Mcp\Attribute\McpPrompt` attribute](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-Attribute-McpTool.html) declared a method as returning a prompt. @@ -208,7 +209,7 @@ It has several arguments to describe the prompt usage: - `meta` (optional): TODO An `arguments` array is automatically built from the function arguments and their types. -To add descriptions, use a docblock comment with `@param` tags. +To add descriptions, use a DocBlock comment with `@param` tags. ## Example @@ -273,7 +274,7 @@ To test the `example` MCP server, a sequence of `curl` commands is used to simul `jq`, `grep`, and `sed` are also used to parse or display outputs. -First, the shell script set the Ibexa DXP base URL into a variable for easier reuse: +First, the shell script set the [[= product_name =]] base URL into a variable for easier reuse: ``` bash [[= include_file('code_samples/mcp/mcp.sh', 2, 3) =]] @@ -390,7 +391,7 @@ It can be selected and tested in the right column. #### MCP server addition to Copilot CLI For this example test with [Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli), -the MCP server configuration is done in an `.mcp.json` file at the Ibexa DXP project root +the MCP server configuration is done in an `.mcp.json` file at the [[= product_name =]] project root to make it only available for a session opened from there. There is two ways of dealing with the JWT token for this test: From bdee1e1981469dbd025c72934955e12d5a724188 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Sat, 25 Apr 2026 14:57:21 +0200 Subject: [PATCH 48/63] MCP server practice --- docs/ai/mcp/mcp_config.md | 10 +++++++++- docs/ai/mcp/mcp_guide.md | 5 +++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 149f3b792a..07e668c258 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -1,5 +1,5 @@ --- -description: Configure an MCP server exposing built-in or custom tools TODO and prompts/resources. +description: Configure an MCP server exposing built-in or custom tools, prompts, and resources. month_change: true --- @@ -76,6 +76,12 @@ Notice that a server is disabled by default, it needs to be explicitly enabled. [Tools](https://modelcontextprotocol.io/specification/latest/server/tools) are the main capabilities of an MCP server, they are the actions that an AI can call on the system. +!!! note "MCP server design best practice" + + An MCP server with too many tools doesn't help the AI to choose the right one. + Create several servers with specific sets of tools for different contexts and purposes. + Focus on AI's user needs and task when designing your servers and capabilities, not on the technical possibilities. + There is two ways to associate tools with a server: - `tools` in server configuration lists PHP classes (FQCN) from which **all** the `McpTool` attributes are associated with the server @@ -213,6 +219,8 @@ To add descriptions, use a DocBlock comment with `@param` tags. ## Example +To focus on the MCP server configuration and capabilities creation, this example doesn't even interact with [[= product_name =]] repository. + ### Configure MCP server This example introduce an `example` MCP server with a single `greet` tool. diff --git a/docs/ai/mcp/mcp_guide.md b/docs/ai/mcp/mcp_guide.md index 0e960c8740..c093eb1761 100644 --- a/docs/ai/mcp/mcp_guide.md +++ b/docs/ai/mcp/mcp_guide.md @@ -10,14 +10,15 @@ month_change: true While [AI actions](ai_actions_guide.md) integrate AI to the back office, [[= product_name =]]'s [MCP servers](https://modelcontextprotocol.io/docs/learn/server-concepts) offer a web interface usable by AIs outside the system. +Some AI agents can use directly REST API or GraphQL API if their users explain to them how to do it in prompts, in skill files, etc. +MCP servers ease the discovery of the functionalities by AIs and help them to interpret natural language prompts into actions on the system. + `ibexa/mcp` package provides: - MCP servers [creation by configuration](mcp_config.md#mcp-server-configuration) - [buit-in tools](mcp_config.md#built-in-tools) to associate to MCP servers by configuration - a PHP API to [create custom MCP server capabilities](mcp_config.md#create-capability-class) -TODO: keep uo-to-date about prompts or resources - MCP servers capabilities (tools, prompts, and resources) can be created and associated to MCP servers thanks to a PHP API mainly based on attributes. MCP servers are configured per repository then enabled per SiteAccess scope, allowing for flexible configurations adapted to different contexts. From 208b65e5f1530eac94451973756ae22af2fa61ab Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Sat, 25 Apr 2026 16:08:35 +0200 Subject: [PATCH 49/63] MCP server user account --- code_samples/mcp/mcp-ibexa-example-wrapper.sh | 4 ++-- code_samples/mcp/mcp.sh | 4 ++-- docs/ai/mcp/img/graphiql-jwt.png | Bin 53080 -> 51131 bytes docs/ai/mcp/mcp_config.md | 17 +++++++++++++++-- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/code_samples/mcp/mcp-ibexa-example-wrapper.sh b/code_samples/mcp/mcp-ibexa-example-wrapper.sh index 90aae2368c..ce42c09439 100644 --- a/code_samples/mcp/mcp-ibexa-example-wrapper.sh +++ b/code_samples/mcp/mcp-ibexa-example-wrapper.sh @@ -10,8 +10,8 @@ jwtToken=$(curl -s -X 'POST' \ -d '{ "JWTInput": { "_media-type": "application/vnd.ibexa.api.JWTInput+json", - "username": "admin", - "password": "publish" + "username": "ibexa-example", + "password": "Ibexa-3xample" } }' | jq -r .JWT.token) diff --git a/code_samples/mcp/mcp.sh b/code_samples/mcp/mcp.sh index 2c29e6a3ec..6ee0c22976 100644 --- a/code_samples/mcp/mcp.sh +++ b/code_samples/mcp/mcp.sh @@ -9,8 +9,8 @@ jwtToken=$(curl -s -X 'POST' \ -d '{ "JWTInput": { "_media-type": "application/vnd.ibexa.api.JWTInput+json", - "username": "admin", - "password": "publish" + "username": "ibexa-example", + "password": "Ibexa-3xample" } }' | jq -r .JWT.token) diff --git a/docs/ai/mcp/img/graphiql-jwt.png b/docs/ai/mcp/img/graphiql-jwt.png index 19c5be8df47b7dfd1b757762ef599d28e274def5..8bed92853b894f420c0b9777dcc279a46ead84e4 100644 GIT binary patch literal 51131 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 z z;T|hLDK9GfJNP7mJV$4t-F>f+n3x!slQZ3cfq{Cl8WtwblWKUsjGa$L{GK^^zL)%S9~;9P=7dZg=FZH{PHsWo zkg>6`1)n~-$IqYr9f^SfT(}Wh=#NkLZ{daTV<2GM!IYEa=wvC~8G#x-iyieFIsYQ% zpMEca#(SJ^#1#M12z_MHDj&}kep+=^UH41IBR3=J?bEsxRy%cR*gwSLn*z-A+}r@m zee=9XS<{&P{fh6*wru6(tAC$|rUD;tLUg+R5ZIr_e~;4O8C-UIyJ!GgfXG4i|N5!|Vb_na(5*lIf3}1s bzr;eTFm33>qWu^K_>mS@5GxWf`1t<-H7yJw literal 53080 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%0Dbj^fytKX{$vh&Y3jH5 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 BpmP8K diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 07e668c258..2217a2376d 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -7,7 +7,9 @@ month_change: true [[= product_name =]] can provide [MCP servers](mcp_guide.md) to external AIs. -## JWT +## Authentication + +### JWT MCP servers use JWT for authentication. @@ -28,6 +30,11 @@ in [cURL test of MCP server](#curl-test), in [GraphQL JWT authentication](graphql.md#jwt-authentication), or in [MCP Inspector test](#mcp-inspector-test) GraphIQL example. +### Repository user + +- The user can generate a JWT token with their own account, or a secondary dedicated account, and pass the token to the MCP client. +- A gateway can use a dedicated shared user to generate a JWT token and establish the connection. + ## MCP server configuration MCP servers are configured per repository then enabled per SiteAccess scope. @@ -221,6 +228,12 @@ To add descriptions, use a DocBlock comment with `@param` tags. To focus on the MCP server configuration and capabilities creation, this example doesn't even interact with [[= product_name =]] repository. +### User account + +In this example, the MCP server uses JWT tokens created with a dedicated account. + +In [[= product_name =]]'s back office, create a user, for example, in **Guest accounts** user group, with login `ibexa-example`, and password `Ibexa-3xample`. + ### Configure MCP server This example introduce an `example` MCP server with a single `greet` tool. @@ -360,7 +373,7 @@ For example, you can open GraphiQL UI (for example at `http://localhost/graphiql ```graphql mutation CreateToken { - createToken(username: "admin", password: "publish") { + createToken(username: "ibexa-example", password: "Ibexa-3xample") { token message } From 1c58dcc86924f279bf89984ec170cdb9c83fce39 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 12:22:35 +0200 Subject: [PATCH 50/63] More about tool inputSchema --- code_samples/mcp/src/Mcp/ExampleCapabilities.php | 13 ++++++------- docs/ai/mcp/mcp_config.md | 4 +++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/code_samples/mcp/src/Mcp/ExampleCapabilities.php b/code_samples/mcp/src/Mcp/ExampleCapabilities.php index 7861c319b9..8df57b43c9 100644 --- a/code_samples/mcp/src/Mcp/ExampleCapabilities.php +++ b/code_samples/mcp/src/Mcp/ExampleCapabilities.php @@ -11,7 +11,11 @@ final readonly class ExampleCapabilities implements McpCapabilityInterface { - /** @return array */ + /** + * @param string $name The name of the person to greet + * + * @return array + */ #[McpTool( servers: ['example'], name: 'greet', @@ -51,12 +55,7 @@ ], ], )] - public function greetByName( - #[Schema( - description: 'the name of the person to greet' - )] - string $name - ): array { + public function greetByName(string $name): array { return [ 'general' => sprintf('Hello, %s!', $name), 'close' => sprintf('Hey, %s!', $name), diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 2217a2376d..e410bc9ffe 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -205,7 +205,9 @@ It has several arguments to describe the tool usage and output: An `inputSchema` is automatically built from the function arguments and their types. To override or complement the automatically generated input schema, -use the [`Schema` attribute](https://github.com/php-mcp/server#-schema-generation-and-validation). +you can use a DocBlock comment with `@param` tags to add descriptions, +or use the [`Schema` attribute](https://github.com/php-mcp/server#-schema-generation-and-validation). +If an argument is an [enum](https://www.php.net/manual/en/language.types.enumerations.php), its possible values are listed in the schema ([`UntitledSingleSelectEnumSchema`](https://modelcontextprotocol.io/specification/latest/schema#untitledsingleselectenumschema)). ### Prompts From 24b2b81ecca4ccbc1974304e059b159351641fad Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 14:21:51 +0200 Subject: [PATCH 51/63] More about icons and _meta --- docs/ai/mcp/mcp_config.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index e410bc9ffe..0a4eb1532b 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -198,10 +198,10 @@ It has several arguments to describe the tool usage and output: - `servers` (optional): an array of identifiers of servers proposing this tool - for more information, see [tools configuration](#tools-configuration) - `name` (optional): the name of the tool - if not set, the function name is used as the tool name - `description` (optional): a human-readable description of the tool, useful for the LLM to understand the tool purpose and eventually choose it when it matches the prompt intent -- `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances +- `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances - for more information, see [`icons` specification](https://modelcontextprotocol.io/specification/latest/basic/index#icons) - `outputSchema` (optional): for JSON object output, an associative array describing this object - `annotations` (optional): a [`Mcp\Schema\ToolAnnotations`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/ToolAnnotations.php) instance -- `meta` (optional): TODO +- `meta` (optional): a rarely used free-form array for any additional metadata - for more information, see [`_meta` specification](https://modelcontextprotocol.io/specification/latest/basic/index#_meta) An `inputSchema` is automatically built from the function arguments and their types. To override or complement the automatically generated input schema, @@ -220,11 +220,12 @@ It has several arguments to describe the prompt usage: - `servers`: an array of identifiers of servers proposing this prompt - notice that this is required for prompts - `name` (optional): the name of the prompt - if not set, the function name is used as the prompt name - `description` (optional): a human-readable description of the prompt -- `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances -- `meta` (optional): TODO +- `icons` (optional): an array of [`Mcp\Schema\Icon`](https://github.com/modelcontextprotocol/php-sdk/blob/main/src/Schema/Icon.php) instances - for more information, see [`icons` specification](https://modelcontextprotocol.io/specification/latest/basic/index#icons) +- `meta` (optional): a rarely used free-form array for any additional metadata - for more information, see [`_meta` specification](https://modelcontextprotocol.io/specification/latest/basic/index#_meta) An `arguments` array is automatically built from the function arguments and their types. -To add descriptions, use a DocBlock comment with `@param` tags. +Those prompt arguments must be strings (to respect the [`GetPromptRequestParams` schema](https://modelcontextprotocol.io/specification/latest/schema#getpromptrequestparams)). +To add descriptions (as in the [`PromptArgument` schema](https://modelcontextprotocol.io/specification/latest/schema#promptargument)), use a DocBlock comment with `@param` tags. ## Example From a214f9fc54b8a92036d78e7db00d7feae15b84b0 Mon Sep 17 00:00:00 2001 From: adriendupuis Date: Mon, 27 Apr 2026 12:29:19 +0000 Subject: [PATCH 52/63] PHP & JS CS Fixes --- code_samples/mcp/src/Mcp/ExampleCapabilities.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code_samples/mcp/src/Mcp/ExampleCapabilities.php b/code_samples/mcp/src/Mcp/ExampleCapabilities.php index 8df57b43c9..1aa107064e 100644 --- a/code_samples/mcp/src/Mcp/ExampleCapabilities.php +++ b/code_samples/mcp/src/Mcp/ExampleCapabilities.php @@ -5,7 +5,6 @@ use Ibexa\Contracts\Mcp\Attribute\McpPrompt; use Ibexa\Contracts\Mcp\Attribute\McpTool; use Ibexa\Contracts\Mcp\McpCapabilityInterface; -use Mcp\Capability\Attribute\Schema; use Mcp\Schema\Icon; use Mcp\Schema\ToolAnnotations; @@ -55,7 +54,8 @@ ], ], )] - public function greetByName(string $name): array { + public function greetByName(string $name): array + { return [ 'general' => sprintf('Hello, %s!', $name), 'close' => sprintf('Hey, %s!', $name), From 5ea48115b7e9d6d7aff6720c59a664ae9994d7ee Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 15:08:11 +0200 Subject: [PATCH 53/63] About storage --- docs/ai/mcp/mcp_config.md | 1 + docs/ai/mcp/mcp_guide.md | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 0a4eb1532b..64cf1e90d3 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -243,6 +243,7 @@ This example introduce an `example` MCP server with a single `greet` tool. It's enabled on all SiteAccesses. It's accessible with the path `/mcp/example` (for example, on `http://localhost/mcp/example` and `http://localhost/admin/mcp/example`). It uses files for both discovery cache and session storage. +(Redis/Valkey would probably be better for session storage in production, but file storage is easier for this example and testing.) In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: diff --git a/docs/ai/mcp/mcp_guide.md b/docs/ai/mcp/mcp_guide.md index c093eb1761..ecb331e3ce 100644 --- a/docs/ai/mcp/mcp_guide.md +++ b/docs/ai/mcp/mcp_guide.md @@ -22,5 +22,3 @@ MCP servers ease the discovery of the functionalities by AIs and help them to in MCP servers capabilities (tools, prompts, and resources) can be created and associated to MCP servers thanks to a PHP API mainly based on attributes. MCP servers are configured per repository then enabled per SiteAccess scope, allowing for flexible configurations adapted to different contexts. - -MCP servers have their own session storage mechanism, TODO: why, benefit,… From f986db58b39fe1a0b608fee34c038786ad69ec89 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 15:36:25 +0200 Subject: [PATCH 54/63] About repo --- docs/ai/mcp/mcp_config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 64cf1e90d3..1b31187074 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -240,7 +240,7 @@ In [[= product_name =]]'s back office, create a user, for example, in **Guest ac ### Configure MCP server This example introduce an `example` MCP server with a single `greet` tool. -It's enabled on all SiteAccesses. +It's enabled on the default repository and all SiteAccesses. It's accessible with the path `/mcp/example` (for example, on `http://localhost/mcp/example` and `http://localhost/admin/mcp/example`). It uses files for both discovery cache and session storage. (Redis/Valkey would probably be better for session storage in production, but file storage is easier for this example and testing.) From 3f4a393566cffd47f86ce07e03c125d1d2ae2c26 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 15:59:10 +0200 Subject: [PATCH 55/63] start moving config samples from Markdown to a YAML file --- code_samples/mcp/mcp.matrix.yaml | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 code_samples/mcp/mcp.matrix.yaml diff --git a/code_samples/mcp/mcp.matrix.yaml b/code_samples/mcp/mcp.matrix.yaml new file mode 100644 index 0000000000..fcfcc7c025 --- /dev/null +++ b/code_samples/mcp/mcp.matrix.yaml @@ -0,0 +1,43 @@ +ibexa: + repositories: + : + mcp: + : + path: + enabled: true + # Server options… + tools: + - Ibexa\Mcp\Tool\TranslationTools + - Ibexa\Mcp\Tool\SeoTools + discovery_cache: + session: + type: + # Session options… + mcp_psr16: + discovery_cache: cache.redis.mcp + session: + type: psr16 + service: cache.redis.mcp + prefix: 'mcp__' + mcp_file: + session: + type: file + directory: '%kernel.cache_dir%/mcp/sessions' + mcp_memory: + session: + type: memory + system: + : + mcp: + servers: + - +services: + cache.redis.mcp: + public: true + class: Symfony\Component\Cache\Adapter\RedisTagAwareAdapter + parent: cache.adapter.redis + tags: + - name: cache.pool + clearer: cache.app_clearer + provider: 'redis://mcp.redis:6379' + namespace: 'mcp' From a52c164f8b356bdca00f0fc7a750692d0293f7bd Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 18:53:34 +0200 Subject: [PATCH 56/63] finish moving config samples from Markdown to a YAML file --- docs/ai/mcp/mcp_config.md | 58 ++++++++------------------------------- 1 file changed, 12 insertions(+), 46 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 1b31187074..ae5ceb0273 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -39,24 +39,8 @@ or in [MCP Inspector test](#mcp-inspector-test) GraphIQL example. MCP servers are configured per repository then enabled per SiteAccess scope. -```yaml -ibexa: - repositories: - : - mcp: - : - path: - enabled: true - # Server options… - discovery_cache: - session: - type: - # Session options… - system: - : - mcp: - servers: - - +``` yaml +[[= include_file('code_samples/mcp/mcp.matrix.yaml', 0, 8) =]][[= include_file('code_samples/mcp/mcp.matrix.yaml', 11, 15) =]][[= include_file('code_samples/mcp/mcp.matrix.yaml', 28, 33) =]] ``` Routes are built automatically from MCP server `path` configs. @@ -104,10 +88,8 @@ There is two ways to associate tools with a server: - `Ibexa\Mcp\Tool\SeoTools` - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag) -```yaml - tools: - - Ibexa\Mcp\Tool\TranslationTools - - Ibexa\Mcp\Tool\SeoTools +``` yaml +[[= include_file('code_samples/mcp/mcp.matrix.yaml', 8, 11) =]] ``` ### Discovery cache @@ -117,8 +99,8 @@ A PSR-6 or PSR-16 cache pool must be provided for this caching. For example, a dedicated Redis/Valkey could be set up: -```yaml - discovery_cache: cache.redis.mcp +``` yaml +[[= include_file('code_samples/mcp/mcp.matrix.yaml', 16, 17) =]] ``` ### Session storage @@ -141,21 +123,8 @@ Sessions are stored with a PSR-16 compatible cache implementation. It requires `service` option pointing to a valid cache service ID. And optionally a more specific `prefix` option than the default `mcp_` to avoid key collisions with other cache usages. -```yaml - session: - type: psr16 - service: cache.redis.mcp - prefix: 'mcp__' -services: - cache.redis.mcp: - public: true - class: Symfony\Component\Cache\Adapter\RedisTagAwareAdapter - parent: cache.adapter.redis - tags: - - name: cache.pool - clearer: cache.app_clearer - provider: 'redis://mcp.redis:6379' - namespace: 'mcp' +``` yaml +[[= include_file('code_samples/mcp/mcp.matrix.yaml', 17, 21) =]][[= include_file('code_samples/mcp/mcp.matrix.yaml', 33, 43) =]] ``` #### File @@ -165,10 +134,8 @@ Sessions are persisted to the filesystem. it requires directory option to be set In this example, sessions are stored in `var/cache//mcp/sessions/` directory (for example, `var/cache/dev/mcp/session/` in `dev` environment and `var/cache/prod/mcp/sessions/` in `prod` environment): -```yaml - session: - type: file - directory: '%kernel.cache_dir%/mcp/sessions' +``` yaml +[[= include_file('code_samples/mcp/mcp.matrix.yaml', 22, 25) =]] ``` #### Memory @@ -176,9 +143,8 @@ In this example, sessions are stored in `var/cache//mcp/sessions/` Sessions are stored in memory. Suitable for development and STDIO transport. It might not work with containers like Docker/DDEV. -```yaml - session: - type: memory +``` yaml +[[= include_file('code_samples/mcp/mcp.matrix.yaml', 26, 28) =]] ``` ## MCP server capabilities From 3fa7efb7f102d363d65b7ef38b6712962c8ca817 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Mon, 27 Apr 2026 19:01:46 +0200 Subject: [PATCH 57/63] Revert "Merge remote-tracking branch 'origin/test-yamls' into mcp" This reverts commit f3185a3ac4d55e57fffcb44a5cd6a6aa59e39cca, reversing changes made to 1e881ebc4b530fc89970a0da98d5fbcb91c6fbbb. --- .github/workflows/build.yaml | 2 +- .github/workflows/code_samples.yaml | 3 - .gitignore | 1 - .../components/twig_components.yaml | 1 + .../config/packages/custom_plugin.yaml | 13 + .../config/packages/ibexa.yaml | 2 +- .../config/services/payment_method.yaml | 4 +- .../packages/ibexa_connector_raptor.yaml | 8 +- composer.json | 25 +- .../customize_search_suggestion.md | 5 +- .../configuration/dynamic_configuration.md | 2 +- docs/api/graphql/graphql_customization.md | 6 +- docs/api/rest_api/rest_api_authentication.md | 5 - docs/cdp/cdp_installation.md | 13 +- docs/commerce/checkout/reorder.md | 4 +- .../payment/enable_paypal_payments.md | 1 + .../payment/enable_stripe_payments.md | 1 + docs/commerce/payment/payum_integration.md | 2 +- .../storefront/configure_storefront.md | 7 +- .../configure_collaborative_editing.md | 17 +- .../data_migration/managing_migrations.md | 3 +- .../field_types/field_type_storage.md | 2 +- .../field_types/form_and_template.md | 2 +- .../images/add_image_asset_from_dam.md | 18 +- docs/content_management/taxonomy/taxonomy.md | 5 +- .../url_management/url_management.md | 11 +- .../user_generated_content.md | 13 +- docs/customer_management/cp_page_builder.md | 6 +- .../cache/http_cache/content_aware_cache.md | 2 +- .../cache/http_cache/reverse_proxy.md | 3 - docs/multisite/site_factory/site_factory.md | 4 +- .../connector_installation_configuration.md | 2 +- docs/release_notes/ez_platform_v2.4.md | 42 +-- .../elasticsearch/configure_elasticsearch.md | 40 +-- .../solr_search_engine/install_solr.md | 6 +- docs/templating/image_variations.md | 4 +- .../templates/view_matcher_reference.md | 4 +- docs/users/invitations.md | 14 +- docs/users/oauth_server.md | 2 +- docs/users/user_authentication.md | 2 +- phpunit.xml.dist | 14 - tests/ConfigurationProvider.php | 178 ---------- tests/Markdown/MarkdownYamlExtractor.php | 78 ----- tests/Markdown/MarkdownYamlExtractorTest.php | 208 ------------ tests/ValidationBaseline.php | 74 ---- tests/Yaml/CodeSample.php | 13 - tests/Yaml/YamlSamplesProvider.php | 96 ------ tests/Yaml/YamlTest.php | 165 --------- tests/bootstrap.php | 40 --- tests/generate-yaml-baseline.php | 142 -------- tests/yaml-validation-baseline.yaml | 316 ------------------ 51 files changed, 143 insertions(+), 1488 deletions(-) create mode 100644 code_samples/back_office/online_editor/config/packages/custom_plugin.yaml delete mode 100644 phpunit.xml.dist delete mode 100644 tests/ConfigurationProvider.php delete mode 100644 tests/Markdown/MarkdownYamlExtractor.php delete mode 100644 tests/Markdown/MarkdownYamlExtractorTest.php delete mode 100644 tests/ValidationBaseline.php delete mode 100644 tests/Yaml/CodeSample.php delete mode 100644 tests/Yaml/YamlSamplesProvider.php delete mode 100644 tests/Yaml/YamlTest.php delete mode 100644 tests/bootstrap.php delete mode 100644 tests/generate-yaml-baseline.php delete mode 100644 tests/yaml-validation-baseline.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ae1f767165..08e37fdeb4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -89,8 +89,8 @@ jobs: TOKEN: ${{ secrets.EZROBOT_PAT }} run: | curl -H "Authorization: token $TOKEN" -L https://github.com/ibexa/vale-styles/archive/refs/heads/main.zip -o vale.zip - rm -rf tests unzip vale.zip + rm vale.zip mv vale-styles-main/* vale-styles-main/.vale.ini . - name: Run Vale.sh diff --git a/.github/workflows/code_samples.yaml b/.github/workflows/code_samples.yaml index 74f593675b..d410a86455 100644 --- a/.github/workflows/code_samples.yaml +++ b/.github/workflows/code_samples.yaml @@ -53,9 +53,6 @@ jobs: - name: Run Rector check run: composer check-rector - - name: Run PHPUnit tests - run: composer phpunit - code-samples-inclusion-check: name: Check code samples inclusion runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index 10f1a32e27..d243a010bd 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,3 @@ auth.json yarn.lock docs/css/*.map .deptrac.cache -.phpunit.result.cache diff --git a/code_samples/back_office/components/twig_components.yaml b/code_samples/back_office/components/twig_components.yaml index 20d8c3caa2..6e0458f4d0 100644 --- a/code_samples/back_office/components/twig_components.yaml +++ b/code_samples/back_office/components/twig_components.yaml @@ -12,6 +12,7 @@ ibexa_twig_components: priority: 0 arguments: content: 'Hello world!' + admin-ui-user-menu: duplicated_user_menu: type: menu arguments: diff --git a/code_samples/back_office/online_editor/config/packages/custom_plugin.yaml b/code_samples/back_office/online_editor/config/packages/custom_plugin.yaml new file mode 100644 index 0000000000..426b9b75b9 --- /dev/null +++ b/code_samples/back_office/online_editor/config/packages/custom_plugin.yaml @@ -0,0 +1,13 @@ +ibexa: + system: + admin_group: + fieldtypes: + ibexa_richtext: + toolbars: + paragraph: + buttons: + date: + priority: 0 +ibexa_fieldtype_richtext: + alloy_editor: + extra_plugins: [date] diff --git a/code_samples/front/shop/order-management/config/packages/ibexa.yaml b/code_samples/front/shop/order-management/config/packages/ibexa.yaml index 310eaca7c3..e17cfbc9e5 100644 --- a/code_samples/front/shop/order-management/config/packages/ibexa.yaml +++ b/code_samples/front/shop/order-management/config/packages/ibexa.yaml @@ -65,7 +65,7 @@ framework: to: - dropped -# ... +// ... ibexa: repositories: diff --git a/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml b/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml index ef3b33c817..b179640c05 100644 --- a/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml +++ b/code_samples/front/shop/payment/src/bundle/Resources/config/services/payment_method.yaml @@ -8,7 +8,7 @@ services: $domain: tags: - { name: ibexa.payment.payment_method.type, alias: new_payment_method_type } - +services: App\Payment\PaymentMethod\Voter\NewPaymentMethodTypeVoter: tags: - - { name: ibexa.payment.payment_method.voter, type: new_payment_method_type } + - { name: ibexa.payment.payment_method.voter, type: new_payment_method_type } \ No newline at end of file diff --git a/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml b/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml index 1898c35aae..61c90252b1 100644 --- a/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml +++ b/code_samples/recommendations/config/packages/ibexa_connector_raptor.yaml @@ -3,14 +3,14 @@ ibexa: : connector_raptor: enabled: true - customer_id: "12345" # Required + customer_id: ~ # Required tracking_type: client # One of: "client" or "server" # Raptor Recommendations API key - recommendations_api_key: "your_api_key_here" # Required + recommendations_api_key: ~ # Required - # Raptor Recommendations API URI, optional, set by default - recommendations_api_uri: '%ibexa.connector.raptor.recommendations.api_uri%' + # Raptor Recommendations API URL, optional, set by default + recommendations_api_url: '%ibexa.connector.raptor.recommendations.api_url%' ibexa_connector_raptor: # When enabled, tracking exceptions are thrown instead of being silently handled strict_exceptions: true diff --git a/composer.json b/composer.json index 2cb33ceac1..d229c7579a 100644 --- a/composer.json +++ b/composer.json @@ -4,9 +4,6 @@ "type": "library", "license": "GNU General Public License v2.0", "autoload-dev": { - "psr-4": { - "Ibexa\\Tests\\Documentation\\": "tests/" - } }, "repositories": [ { @@ -18,9 +15,6 @@ "php": "^8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0", - "symfony/yaml": "^7.0", - "ibexa/connector-gemini": "5.0.x-dev", "ibexa/automated-translation": "5.0.x-dev", "ibexa/code-style": "~2.0.0", "friendsofphp/php-cs-fixer": "^3.30", @@ -58,7 +52,7 @@ "ibexa/page-builder": "5.0.x-dev", "ibexa/order-management": "5.0.x-dev", "ibexa/calendar": "5.0.x-dev", - "ibexa/payment": "~5.0.x-dev", + "ibexa/payment": "5.0.x-dev", "ibexa/shipping": "5.0.x-dev", "ibexa/fieldtype-matrix": "5.0.x-dev", "ibexa/storefront": "5.0.x-dev", @@ -92,32 +86,21 @@ "ibexa/cdp": "~5.0.x-dev", "ibexa/connector-raptor": "~5.0.x-dev", "ibexa/image-editor": "~5.0.x-dev", - "ibexa/integrated-help": "~5.0.x-dev", - "ibexa/site-context": "~5.0.x-dev", - "ibexa/fieldtype-richtext-rte": "~5.0.x-dev", - "ibexa/site-factory": "~5.0.x-dev", - "ibexa/ckeditor-premium": "~5.0.x-dev", - "ibexa/measurement": "~5.0.x-dev", - "ibexa/connector-actito": "~5.0.x-dev", - "ibexa/fastly": "~5.0.x-dev" + "ibexa/integrated-help": "~5.0.x-dev" }, "scripts": { "fix-cs": "php-cs-fixer fix --config=.php-cs-fixer.php -v --show-progress=dots", "check-cs": "@fix-cs --dry-run", "phpstan": "phpstan analyse", "deptrac": "deptrac analyse", - "check-rector": "rector process --dry-run --ansi", - "phpunit": "phpunit", - "phpunit-update-baseline": "php tests/generate-yaml-baseline.php" + "check-rector": "rector process --dry-run --ansi" }, "scripts-descriptions": { "fix-cs": "Automatically fixes code style in all files", "check-cs": "Run code style checker for all files", "phpstan": "Run static code analysis", "deptrac": "Run Deptrac architecture testing", - "check-rector": "Check for code refactoring opportunities", - "phpunit": "Run PHPUnit tests (YAML validation)", - "phpunit-update-baseline": "Regenerate tests/yaml-validation-baseline.yaml from current failures" + "check-rector": "Check for code refactoring opportunities" }, "config": { "allow-plugins": false diff --git a/docs/administration/back_office/customize_search_suggestion.md b/docs/administration/back_office/customize_search_suggestion.md index 2764115e25..158b3384c2 100644 --- a/docs/administration/back_office/customize_search_suggestion.md +++ b/docs/administration/back_office/customize_search_suggestion.md @@ -17,9 +17,8 @@ ibexa: system: : search: - suggestion: - min_query_length: 3 - result_limit: 5 + min_query_length: 3 + result_limit: 5 ``` ## Add custom suggestion source diff --git a/docs/administration/configuration/dynamic_configuration.md b/docs/administration/configuration/dynamic_configuration.md index c847e0899d..09f9cfbf42 100644 --- a/docs/administration/configuration/dynamic_configuration.md +++ b/docs/administration/configuration/dynamic_configuration.md @@ -18,7 +18,7 @@ parameters: # Internal configuration ibexa.site_access.config.default.content.default_ttl: 60 ibexa.site_access.config.site_group.content.default_ttl: 3600 - +  # Here "myapp" is the namespace, followed by the SiteAccess name as the parameter scope # Parameter "my_param" will have a different value in site_group and admin_group myapp.site_group.my_param: value diff --git a/docs/api/graphql/graphql_customization.md b/docs/api/graphql/graphql_customization.md index be6421d049..5ebf97b4f0 100644 --- a/docs/api/graphql/graphql_customization.md +++ b/docs/api/graphql/graphql_customization.md @@ -68,9 +68,9 @@ Mutation: createSomething: builder: Mutation builderConfig: - inputType: CreateSomethingInput - payloadType: SomethingPayload - mutateAndGetPayload: "@=mutation('CreateSomething', [value])" + inputType: CreateSomethingInput + payloadType: SomethingPayload + mutateAndGetPayload: '@=mutation('CreateSomething', [value])' CreateSomethingInput: type: relay-mutation-input diff --git a/docs/api/rest_api/rest_api_authentication.md b/docs/api/rest_api/rest_api_authentication.md index 82b504a010..f7f77366f8 100644 --- a/docs/api/rest_api/rest_api_authentication.md +++ b/docs/api/rest_api/rest_api_authentication.md @@ -325,15 +325,10 @@ For more information, see [HTTP Authentication: Basic and Digest Access Authenti If the installation has a dedicated host for REST, you can enable HTTP basic authentication only on this host by setting a firewall like in the following example before the `ibexa_front` one: ```yaml -security: - firewalls: - # ... ibexa_rest: host: ^api\.example\.com$ http_basic: realm: Ibexa DXP REST API - #ibexa_front: - # ... ``` !!! caution "Back office uses REST API" diff --git a/docs/cdp/cdp_installation.md b/docs/cdp/cdp_installation.md index f84719a45e..73ba9dd5ae 100644 --- a/docs/cdp/cdp_installation.md +++ b/docs/cdp/cdp_installation.md @@ -27,14 +27,11 @@ Symfony Flex installs and activates the package. After an installation process is finished, go to `config/packages/security.yaml` and uncomment `ibexa_cdp` rule. ```yaml -security: - firewalls: - # ... - ibexa_cdp: - request_matcher: Ibexa\Cdp\Security\RequestMatcher - custom_authenticators: - - 'Ibexa\Cdp\Security\CdpRequestAuthenticator' - stateless: true +ibexa_cdp: + pattern: /cdp/webhook + guard: + authenticator: 'Ibexa\Cdp\Security\CdpRequestAuthenticator' + stateless: true ``` Now, you can configure [[= product_name_cdp =]]. diff --git a/docs/commerce/checkout/reorder.md b/docs/commerce/checkout/reorder.md index 96f83c6bed..4d022782e4 100644 --- a/docs/commerce/checkout/reorder.md +++ b/docs/commerce/checkout/reorder.md @@ -54,11 +54,11 @@ framework: places: !php/const Ibexa\OrderManagement\Value\Status::COMPLETED_PLACE: metadata: - # ... + ... can_be_reordered: true !php/const Ibexa\OrderManagement\Value\Status::CANCELLED_PLACE: metadata: - # ... + ... can_be_reordered: true ``` diff --git a/docs/commerce/payment/enable_paypal_payments.md b/docs/commerce/payment/enable_paypal_payments.md index 2e4b890c25..3bccfdcdc5 100644 --- a/docs/commerce/payment/enable_paypal_payments.md +++ b/docs/commerce/payment/enable_paypal_payments.md @@ -42,4 +42,5 @@ ibexa: type: pp_express_checkout: name: "Translated PayPal Express Checkout name" + ``` diff --git a/docs/commerce/payment/enable_stripe_payments.md b/docs/commerce/payment/enable_stripe_payments.md index 5d03bd8829..105ed62402 100644 --- a/docs/commerce/payment/enable_stripe_payments.md +++ b/docs/commerce/payment/enable_stripe_payments.md @@ -43,4 +43,5 @@ ibexa: type: strp_checkout: name: "Translated Stripe Checkout name" + ``` diff --git a/docs/commerce/payment/payum_integration.md b/docs/commerce/payment/payum_integration.md index 408515f257..7da7da20b1 100644 --- a/docs/commerce/payment/payum_integration.md +++ b/docs/commerce/payment/payum_integration.md @@ -43,7 +43,7 @@ ibexa_connector_payum: refunded: cancelled captured: pending authorized: authorized -# ... +[...] ``` ## Payment service name translations diff --git a/docs/commerce/storefront/configure_storefront.md b/docs/commerce/storefront/configure_storefront.md index 5d69a73251..bdc96c02c8 100644 --- a/docs/commerce/storefront/configure_storefront.md +++ b/docs/commerce/storefront/configure_storefront.md @@ -94,10 +94,9 @@ Settings for a Storefront user are configured under the `ibexa.system..st ibexa: system: site_group: - storefront: - user_settings_groups: - - location - - custom_group + user_settings_groups: + - location + - custom_group ``` By default, only the `location` user settings is provided: diff --git a/docs/content_management/collaborative_editing/configure_collaborative_editing.md b/docs/content_management/collaborative_editing/configure_collaborative_editing.md index 268f774ff4..482040f3e1 100644 --- a/docs/content_management/collaborative_editing/configure_collaborative_editing.md +++ b/docs/content_management/collaborative_editing/configure_collaborative_editing.md @@ -57,15 +57,14 @@ security: ```yaml security: # ... - firewalls: - ibexa_shareable_link: - request_matcher: Ibexa\Collaboration\Security\RequestMatcher\ShareableLinkRequestMatcher - pattern: ^/ - provider: shared - stateless: true - user_checker: Ibexa\Core\MVC\Symfony\Security\UserChecker - custom_authenticators: - - Ibexa\Collaboration\Security\Authenticator\ShareableLinkAuthenticator + ibexa_shareable_link: + request_matcher: Ibexa\Collaboration\Security\RequestMatcher\ShareableLinkRequestMatcher + pattern: ^/ + provider: shared + stateless: true + user_checker: Ibexa\Core\MVC\Symfony\Security\UserChecker + custom_authenticators: + - Ibexa\Collaboration\Security\Authenticator\ShareableLinkAuthenticator ``` ### Configuration diff --git a/docs/content_management/data_migration/managing_migrations.md b/docs/content_management/data_migration/managing_migrations.md index c96e078208..072a7a0e6d 100644 --- a/docs/content_management/data_migration/managing_migrations.md +++ b/docs/content_management/data_migration/managing_migrations.md @@ -50,7 +50,7 @@ You can configure a different folder by using the following settings: ``` yaml ibexa_migrations: - migration_directory: '%kernel.project_dir%/src/Migrations/MyMigrations/' + migration_directory: %kernel.project_dir%/src/Migrations/MyMigrations/ migrations_files_subdir: migration_files ``` @@ -64,6 +64,7 @@ ibexa_migrations: ``` yaml ibexa_migrations: migration_directory: '%kernel.project_dir%/data/' + ... ``` Then, when you run the migration command, you must use the [`--siteaccess` option](exporting_data.md#siteaccess) and provide the name of the SiteAccess that you want to migrate. diff --git a/docs/content_management/field_types/field_type_storage.md b/docs/content_management/field_types/field_type_storage.md index 2aa8816b52..ed3ab221c3 100644 --- a/docs/content_management/field_types/field_type_storage.md +++ b/docs/content_management/field_types/field_type_storage.md @@ -147,7 +147,7 @@ services: autoconfigure: true public: false - App\FieldType\MyField\Storage\MyFieldStorage: + App\FieldType\MyField\Storage\MyFieldStorage: ~ tags: - {name: ibexa.field_type.storage.external.handler, alias: myfield} ``` diff --git a/docs/content_management/field_types/form_and_template.md b/docs/content_management/field_types/form_and_template.md index 9babd387cc..471cdf36c9 100644 --- a/docs/content_management/field_types/form_and_template.md +++ b/docs/content_management/field_types/form_and_template.md @@ -190,7 +190,7 @@ If you don't use the design engine, apply the following configuration: ``` yaml ibexa: - system: + systems: admin_group: field_templates: - { template: 'adminui/field/custom_field_view.html.twig', priority: 10 } diff --git a/docs/content_management/images/add_image_asset_from_dam.md b/docs/content_management/images/add_image_asset_from_dam.md index 52b91bbc7c..8c7c236fd3 100644 --- a/docs/content_management/images/add_image_asset_from_dam.md +++ b/docs/content_management/images/add_image_asset_from_dam.md @@ -49,15 +49,15 @@ Next, in `config/packages/ibexa.yaml`, set the `dam.html.twig` template for the For more information about displaying content, see [Content rendering](render_content.md). ``` yaml -ibexa: - system: - site: - content_view: - embed: - image_dam: - template: '@ibexadesign/embed/dam.html.twig' - match: - Identifier\ContentType: + ibexa: + system: + site: + content_view: + embed: + image_dam: + template: '@ibexadesign/embed/dam.html.twig' + match: + Identifier\ContentType: ``` In your [configuration file](configuration.md#configuration-files) add the following configuration: diff --git a/docs/content_management/taxonomy/taxonomy.md b/docs/content_management/taxonomy/taxonomy.md index 118b787a18..f01ddb75df 100644 --- a/docs/content_management/taxonomy/taxonomy.md +++ b/docs/content_management/taxonomy/taxonomy.md @@ -191,9 +191,10 @@ By default, the system returns three suggestions. You can change the default number if needed by altering the following setting: ``` yaml hl_lines="4" -ibexa_taxonomy: +ibexa: + taxonomy: text_to_taxonomy: - default_suggested_taxonomies_limit: 5 + default_suggested_taxonomies_limit: 5 ``` You can also override this setting per AI action by editing its configuration. diff --git a/docs/content_management/url_management/url_management.md b/docs/content_management/url_management/url_management.md index a9416514a5..a249b83d0e 100644 --- a/docs/content_management/url_management/url_management.md +++ b/docs/content_management/url_management/url_management.md @@ -67,13 +67,13 @@ ibexa: url_checker: handlers: http: - enabled: true - batch_size: 64 + enabled: true + batch_size: 64 https: - enabled: true - ignore_certificate: false + enabled: true + ignore_certificate: false mailto: - enabled: false + enabled: false ``` Available options are protocol-specific. @@ -128,6 +128,7 @@ Then you must register the service with an `ibexa.url_checker.handler` tag, like ```yaml app.url_checker.handler.custom: class: 'App\URLChecker\Handler\CustomHandler' + ... tags: - { name: ibexa.url_checker.handler, scheme: custom } ``` diff --git a/docs/content_management/user_generated_content.md b/docs/content_management/user_generated_content.md index a35612334e..4a12ecc3bf 100644 --- a/docs/content_management/user_generated_content.md +++ b/docs/content_management/user_generated_content.md @@ -56,17 +56,14 @@ For example, `/content/edit/draft/1/5/eng-GB` enables you to edit draft 5 of con You can use custom templates for the content editing forms. -Define the templates under the `ibexa.system..content_edit_view` [configuration key](configuration.md#configuration-files): +Define the templates under the `ibexa.system..content_edit.templates` [configuration key](configuration.md#configuration-files): ``` yaml ibexa: system: default: - content_edit_view: - full: - : - template: content/edit/content_edit.html.twig - match: true - params: - viewbaseLayout: '@ibexadesign/ui/layout.html.twig' + content_edit: + templates: + edit: content/edit/content_edit.html.twig + create_draft: content/edit/content_create_draft.html.twig ``` diff --git a/docs/customer_management/cp_page_builder.md b/docs/customer_management/cp_page_builder.md index d8673c5b55..69e3bdd6b6 100644 --- a/docs/customer_management/cp_page_builder.md +++ b/docs/customer_management/cp_page_builder.md @@ -51,7 +51,7 @@ ibexa: languages: [ eng-GB ] content: tree_root: - location_id: 9999 # location_id_of_customer_portal + location_id: location_id_of_customer_portal excluded_uri_prefixes: [ /media/, /images/ ] ``` @@ -135,7 +135,7 @@ ibexa: languages: [ eng-GB ] content: tree_root: - location_id: 9999 # location_id_of_customer_portals_root_folder + location_id: location_id_of_customer_portals_root_folder excluded_uri_prefixes: [ /media/, /images/ ] ``` @@ -233,7 +233,7 @@ ibexa: page_layout: "@App/my_page_layout.html.twig" content: tree_root: - location_id: 999 #location_id_of_customer_portals_root_folder + location_id: location_id_of_customer_portals_root_folder excluded_uri_prefixes: [ /media/, /images/ ] ``` diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md index ae176fac6d..d6ab0444a1 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md @@ -291,7 +291,7 @@ With the same content structure as above, the `[Child]` location is moved below The new structure is then: -```text +```yaml - [Home] (content-id=52, location-id=2) ez-all c52 ct42 l2 pl1 p1 p2 | diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md index bd8f0921b0..f309604195 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md @@ -142,9 +142,6 @@ ibexa: If the Varnish server is protected by Basic Auth, specify the Basic Auth credentials within the `purge_servers` setting using the format: ``` yaml -ibexa: - system: - my_siteaccess_group: http_cache: purge_servers: [http://myuser:mypasswd@my.varnish.server:8081] ``` diff --git a/docs/multisite/site_factory/site_factory.md b/docs/multisite/site_factory/site_factory.md index 3afd0628e9..74bed2fefb 100644 --- a/docs/multisite/site_factory/site_factory.md +++ b/docs/multisite/site_factory/site_factory.md @@ -204,7 +204,7 @@ Keep in mind that with disabled Site Factory you're unable to add new sites or u doctrine: dbal: connections: - # ... + ... # This connection is dedicated for SiteFactory to avoid known issues site_factory: ``` @@ -214,7 +214,7 @@ doctrine: ``` yaml framework: cache: - # ... + ... pools: # This pool should be used only by SiteFactory bundle site_factory_pool: diff --git a/docs/recommendations/raptor_integration/connector_installation_configuration.md b/docs/recommendations/raptor_integration/connector_installation_configuration.md index 3e133a440f..dfc2645400 100644 --- a/docs/recommendations/raptor_integration/connector_installation_configuration.md +++ b/docs/recommendations/raptor_integration/connector_installation_configuration.md @@ -35,7 +35,7 @@ To configure the Raptor connector, use the `ibexa.system..connector_rapto - `client` - tracking is executed in the browser using JavaScript snippets generated by the [Twig functions](recommendations_twig_functions.md) and included in the templates. This approach may be blocked by ad blockers. - `server` - tracking is handled on the backend, with events sent directly to the tracking API. It's not affected by ad blockers. - `recommendations_api_key` - an API key used to authenticate requests to the Recommendations API. This key allows the connector to retrieve personalized recommendations from the recommendation engine. You can find this value as ["API key"](connector_installation_configuration.md#recommendations-api-key) in Raptor Control Panel. -- `recommendations_api_uri` (optional) - overrides the default Raptor address, do not set it unless a custom endpoint is required. +- `recommendations_api_url` (optional) - overrides the default Raptor address, do not set it unless a custom endpoint is required. By default, `tracking_type` is set to `client` as client-side tracking is the standard Raptor mode. To understand the differences between client and server tracking types, including their advantages and disadvantages, refer to the [Raptor documentation](https://content.raptorservices.com/help-center/client-side-vs.-server-side-tracking). diff --git a/docs/release_notes/ez_platform_v2.4.md b/docs/release_notes/ez_platform_v2.4.md index 16d92cbdb2..90562b8ada 100644 --- a/docs/release_notes/ez_platform_v2.4.md +++ b/docs/release_notes/ez_platform_v2.4.md @@ -197,18 +197,18 @@ The biggest benefit of this feature is saving load time on complex landing pages 2\. Add the following configuration to `/app/config/config.yml` ``` yaml - lexik_jwt_authentication: - secret_key: '%secret%' - encoder: + lexik_jwt_authentication: + secret_key: '%secret%' + encoder: signature_algorithm: HS256 # Disabled by default, because Page Builder uses custom extractor - token_extractors: - authorization_header: - enabled: false - cookie: - enabled: false - query_parameter: - enabled: false + token_extractors: + authorization_header: + enabled: false + cookie: + enabled: false + query_parameter: + enabled: false ``` By default `HS256` is used as signature algorithm for generated token but we strongly recommend switching to SSH keys. @@ -218,23 +218,23 @@ The biggest benefit of this feature is saving load time on complex landing pages 3\. Add `EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator` authentication provider to `ezpublish_front` firewall before `form_login` in `app/config/security.yml`: ``` yaml - security: + security: # ... - firewalls: - ezpublish_front: - # ... - simple_preauth: - authenticator: 'EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator' - form_login: - require_previous_session: false - # ... + firewalls: + ezpublish_front: + # ... + simple_preauth: + authenticator: 'EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator' + form_login: + require_previous_session: false + # ... ``` 4\. Make sure that parameter `page_builder.token_authenticator.enabled` has value `true`. If the parameter isn't present, add it to `/app/config/config.yml`: ``` yaml - # ... - parameters: + # ... + parameters: # ... page_builder.token_authenticator.enabled: true ``` diff --git a/docs/search/search_engines/elasticsearch/configure_elasticsearch.md b/docs/search/search_engines/elasticsearch/configure_elasticsearch.md index 38c9cf33bb..3e05c45665 100644 --- a/docs/search/search_engines/elasticsearch/configure_elasticsearch.md +++ b/docs/search/search_engines/elasticsearch/configure_elasticsearch.md @@ -182,7 +182,7 @@ If your Elasticsearch server is protected by HTTP authentication, you must provi In the basic authentication, you must pass the following parameters: ``` yaml -: + # ... authentication: type: basic @@ -377,14 +377,14 @@ Index names use the following pattern: You can create index templates with settings that apply to a specific language only, for example, to eliminate stop words from the index, or help divide concatenations. You use patterns to identify index templates that contain settings specific for a given language: -``` yaml -ibexa_elasticsearch: + ``` yaml + ibexa_elasticsearch: # ... index_templates: default_en_us: patterns: ['default_*', '*eng_us*'] - # ... -``` + # ... + ``` - `settings` - Settings under this key control all aspects related to an index. @@ -392,21 +392,21 @@ For more information and a list of available settings, see [Elasticsearch docume For example, you can define settings that convert text into a format that is optimized for search, like a normalizer that changes a case of all phrases in the index: -``` yaml -ibexa_elasticsearch: - # ... - index_templates: - default: - # ... - settings: - analysis: - normalizer: - lowercase_normalizer: - type: custom - char_filter: [] - filter: lowercase - # ... -``` + ``` yaml + ibexa_elasticsearch: + # ... + index_templates: + default: + # ... + settings: + analysis: + normalizer: + lowercase_normalizer: + type: custom + char_filter: [] + filter: lowercase + # ... + ``` - `mappings` - Settings under this key define mapping for fields in the index. diff --git a/docs/search/search_engines/solr_search_engine/install_solr.md b/docs/search/search_engines/solr_search_engine/install_solr.md index b7de523435..edf2a76c0c 100644 --- a/docs/search/search_engines/solr_search_engine/install_solr.md +++ b/docs/search/search_engines/solr_search_engine/install_solr.md @@ -160,9 +160,9 @@ The Solr Search Engine Bundle can be configured in many ways. The config further below assumes you have parameters set up for Solr DSN and search engine *(however both are optional)*, for example: ``` yaml -env(SEARCH_ENGINE): solr -env(SOLR_DSN): 'http://localhost:8983/solr' -env(SOLR_CORE): collection1 + env(SEARCH_ENGINE): solr + env(SOLR_DSN): 'http://localhost:8983/solr' + env(SOLR_CORE): collection1 ``` ### Configure Solr version diff --git a/docs/templating/image_variations.md b/docs/templating/image_variations.md index e4718dadfb..cdcb8d9046 100644 --- a/docs/templating/image_variations.md +++ b/docs/templating/image_variations.md @@ -26,9 +26,7 @@ ibexa: : reference: null filters: - filter_name: - - parameter1 - - parameter2 + : ``` Variation name must be unique. diff --git a/docs/templating/templates/view_matcher_reference.md b/docs/templating/templates/view_matcher_reference.md index 4e706fbeb1..687569c488 100644 --- a/docs/templating/templates/view_matcher_reference.md +++ b/docs/templating/templates/view_matcher_reference.md @@ -235,7 +235,7 @@ match: ``` yaml match: - '@Ibexa\Taxonomy\View\Matcher\TaxonomyEntryBased\Id': [1, 2, 3] + '@Ibexa\Taxonomy\View\Matcher\TaxonomyEntryBased\Id': [1, 2, 3]' ``` ## Taxonomy entry identifier @@ -264,4 +264,4 @@ match: ``` yaml match: '@Ibexa\Taxonomy\View\Matcher\TaxonomyEntryBased\Taxonomy': 'product_category' -``` +``` \ No newline at end of file diff --git a/docs/users/invitations.md b/docs/users/invitations.md index ddcebdd860..446e852902 100644 --- a/docs/users/invitations.md +++ b/docs/users/invitations.md @@ -30,13 +30,13 @@ If the SiteAccess isn't set, it falls back to the default `site` value. For example, use the following [configuration](configuration.md#configuration-files): ```yaml -ibexa: - system: - : - user_invitation: - hash_expiration_time: P7D - templates: - mail: "@@App/invitation/mail.html.twig" + ibexa: + system: + : + user_invitation: + hash_expiration_time: P7D + templates: + mail: "@@App/invitation/mail.html.twig" ``` Here, you can specify which template should be used for the invitation mail, and what should be the expiration time for the invitation link included in that mail. diff --git a/docs/users/oauth_server.md b/docs/users/oauth_server.md index bc12a9889f..45ac506920 100644 --- a/docs/users/oauth_server.md +++ b/docs/users/oauth_server.md @@ -89,7 +89,7 @@ In `config/packages/security.yaml`, uncomment the three following lines under th ```yaml security: #… - firewalls: + firewall: #… # Uncomment oauth2_token firewall if you wish to use product as an OAuth2 Server. diff --git a/docs/users/user_authentication.md b/docs/users/user_authentication.md index 9ec9e79c5d..d2b7280301 100644 --- a/docs/users/user_authentication.md +++ b/docs/users/user_authentication.md @@ -66,7 +66,7 @@ services: App\EventListener\InteractiveLoginListener: arguments: ['@ibexa.api.service.user'] tags: - - { name: kernel.event_subscriber } + - { name: kernel.event_subscriber }  ``` Don't mix `MVCEvents::INTERACTIVE_LOGIN` event (specific to [[= product_name =]]) and `SecurityEvents::INTERACTIVE_LOGIN` event (fired by Symfony security component). diff --git a/phpunit.xml.dist b/phpunit.xml.dist deleted file mode 100644 index e084420e57..0000000000 --- a/phpunit.xml.dist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - tests/ - - - diff --git a/tests/ConfigurationProvider.php b/tests/ConfigurationProvider.php deleted file mode 100644 index 4dfbe49523..0000000000 --- a/tests/ConfigurationProvider.php +++ /dev/null @@ -1,178 +0,0 @@ -container = $this->buildContainer(); - } - - public function hasExtension(string $alias): bool - { - return $this->container->hasExtension($alias); - } - - public function createConfiguration(string $alias): ConfigurationInterface - { - return $this->container->getExtension($alias)->getConfiguration([], $this->container); - } - - /** - * Recursively resolves %parameter% placeholders using the container's - * parameter bag, mirroring what the real Symfony kernel does before - * passing config to the Config component. Unknown parameters (custom app - * params not present in the test container) are left as-is. - * - * @param array $config - * - * @return array - */ - public function resolveParameters(array $config): array - { - /** @var array $result */ - $result = $this->resolveValue($this->container->getParameterBag(), $config); - - return $result; - } - - private function resolveValue(ParameterBagInterface $bag, mixed $value): mixed - { - if (is_array($value)) { - return array_map(fn (mixed $v): mixed => $this->resolveValue($bag, $v), $value); - } - - if (!is_string($value)) { - return $value; - } - - try { - return $bag->resolveValue($value); - } catch (ParameterNotFoundException) { - return $value; - } - } - - private function buildContainer(): ContainerBuilder - { - $container = new ContainerBuilder(); - $container->setParameter('kernel.debug', false); - $container->setParameter('kernel.bundles', []); - $container->setParameter('kernel.bundles_metadata', []); - $container->setParameter('kernel.project_dir', sys_get_temp_dir()); - $container->setParameter('kernel.environment', 'test'); - - $bundles = self::discoverBundles(); - - // Register all extensions before calling build() on any bundle, - // because some bundles call $container->getExtension('ibexa') during build(). - foreach ($bundles as $bundle) { - try { - $extension = $bundle->getContainerExtension(); - if ($extension !== null) { - $container->registerExtension($extension); - } - } catch (\Throwable) { - // Skip bundles whose extension cannot be instantiated. - } - } - - // build() registers parsers/factories into the extensions. - foreach ($bundles as $bundle) { - try { - $bundle->build($container); - } catch (\Throwable) { - // Skip bundles whose build() fails (e.g. missing sibling extensions). - } - } - - return $container; - } - - /** - * Returns all installed bundles with SecurityBundle and IbexaCoreBundle - * guaranteed first (other bundles may call getExtension('ibexa') or - * getExtension('security') during their build()). - * - * @return list - */ - private static function discoverBundles(): array - { - // These must be registered before any bundle that calls - // $container->getExtension('ibexa'/'security') inside build(). - $bundles = [ - new SecurityBundle(), - new IbexaCoreBundle(), - ]; - - $seen = [SecurityBundle::class, IbexaCoreBundle::class]; - - $vendorBase = __DIR__ . '/../vendor'; - $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($vendorBase)); - - foreach ($iterator as $file) { - if (!$file->isFile() || !preg_match('/\w+Bundle\.php$/', $file->getFilename())) { - continue; - } - - $content = file_get_contents($file->getPathname()); - preg_match('/^namespace (.+);/m', $content, $nsMatch); - preg_match('/^(?:(?:final|abstract)\s+)?class (\w+Bundle)\b/m', $content, $clsMatch); - - if (empty($nsMatch[1]) || empty($clsMatch[1])) { - continue; - } - - $fqcn = $nsMatch[1] . '\\' . $clsMatch[1]; - - if (!class_exists($fqcn) || in_array($fqcn, $seen, true)) { - continue; - } - - $reflection = new \ReflectionClass($fqcn); - if ($reflection->isAbstract() || !$reflection->implementsInterface(BundleInterface::class)) { - continue; - } - - $seen[] = $fqcn; - - try { - $bundles[] = new $fqcn(); - } catch (\Throwable) { - // Skip bundles that cannot be instantiated without arguments. - } - } - - return $bundles; - } -} diff --git a/tests/Markdown/MarkdownYamlExtractor.php b/tests/Markdown/MarkdownYamlExtractor.php deleted file mode 100644 index a78f95385d..0000000000 --- a/tests/Markdown/MarkdownYamlExtractor.php +++ /dev/null @@ -1,78 +0,0 @@ - *)```\s*yaml[^\n]*\n(?P.*?)\n(?P=indent)```/ms'; - - private const string SKIP_PATTERN = '/include_file\s*\(|--8<--/'; - - /** - * @return iterable - */ - public function extract(string $content): iterable - { - if (!preg_match_all(self::FENCE_PATTERN, $content, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) { - return; - } - - foreach ($matches as $match) { - $body = $match['body'][0]; - $offset = $match['body'][1]; - - if (preg_match(self::SKIP_PATTERN, $body)) { - continue; - } - - $indent = $match['indent'][0]; - if ($indent !== '') { - $body = $this->stripIndentation($body, strlen($indent)); - } - - $line = substr_count(substr($content, 0, $offset), "\n") + 1; - - yield ['body' => $body, 'line' => $line]; - } - } - - private function stripIndentation(string $body, int $spaces): string - { - $prefix = str_repeat(' ', $spaces); - $lines = explode("\n", $body); - $stripped = array_map( - static fn (string $line): string => str_starts_with($line, $prefix) - ? substr($line, $spaces) - : $line, - $lines - ); - - return implode("\n", $stripped); - } -} diff --git a/tests/Markdown/MarkdownYamlExtractorTest.php b/tests/Markdown/MarkdownYamlExtractorTest.php deleted file mode 100644 index b65c6445a8..0000000000 --- a/tests/Markdown/MarkdownYamlExtractorTest.php +++ /dev/null @@ -1,208 +0,0 @@ -extractor = new MarkdownYamlExtractor(); - } - - public function testExtractsNothing(): void - { - self::assertEmpty(iterator_to_array($this->extractor->extract('No code blocks here.'))); - self::assertEmpty(iterator_to_array($this->extractor->extract(''))); - } - - public function testIgnoresNonYamlFences(): void - { - $content = <<<'MD' - ```php - $x = 1; - ``` - - ```json - {"key": "value"} - ``` - MD; - - self::assertEmpty(iterator_to_array($this->extractor->extract($content))); - } - - public function testExtractsSingleBlock(): void - { - $content = <<<'MD' - Some text. - - ```yaml - foo: bar - ``` - - More text. - MD; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(1, $blocks); - self::assertSame('foo: bar', $blocks[0]['body']); - } - - public function testExtractsMultipleBlocks(): void - { - $content = <<<'MD' - ```yaml - first: 1 - ``` - - ```yaml - second: 2 - ``` - MD; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(2, $blocks); - self::assertSame('first: 1', $blocks[0]['body']); - self::assertSame('second: 2', $blocks[1]['body']); - } - - public function testReportsCorrectLineNumber(): void - { - $content = "line1\nline2\nline3\n```yaml\nfoo: bar\n```\n"; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(1, $blocks); - // The body starts on line 5 (after 4 preceding newlines inside the fence open) - self::assertSame(5, $blocks[0]['line']); - } - - public function testAcceptsSpaceBeforeLanguageTag(): void - { - $content = "``` yaml\nfoo: bar\n```\n"; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(1, $blocks); - self::assertSame('foo: bar', $blocks[0]['body']); - } - - public function testAcceptsTrailingAnnotations(): void - { - $content = "```yaml hl_lines=\"1 2\"\nfoo: bar\n```\n"; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(1, $blocks); - self::assertSame('foo: bar', $blocks[0]['body']); - } - - public function testStripsAdmonitionIndentation(): void - { - $content = <<<'MD' - !!! note - - ```yaml - foo: bar - baz: qux - ``` - MD; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(1, $blocks); - self::assertSame("foo: bar\nbaz: qux", $blocks[0]['body']); - } - - public function testSkipsBlocksWithIncludeFile(): void - { - $content = <<<'MD' - ```yaml - [[= include_file('some/file.yaml') =]] - ``` - MD; - - self::assertEmpty(iterator_to_array($this->extractor->extract($content))); - } - - public function testSkipsBlocksWithSnippetMarker(): void - { - $content = <<<'MD' - ```yaml - --8<-- - some/file.yaml - ``` - MD; - - self::assertEmpty(iterator_to_array($this->extractor->extract($content))); - } - - public function testSkipsOnlyMatchingBlocksWhenMixed(): void - { - $content = <<<'MD' - ```yaml - [[= include_file('foo.yaml') =]] - ``` - - ```yaml - real: config - ``` - MD; - - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(1, $blocks); - self::assertSame('real: config', $blocks[0]['body']); - } - - /** - * @param array $expected - */ - #[DataProvider('provideMultilineBlocks')] - public function testExtractsMultilineBody(string $content, array $expected): void - { - $blocks = iterator_to_array($this->extractor->extract($content)); - - self::assertCount(count($expected), $blocks); - foreach ($expected as $i => $exp) { - self::assertSame($exp['body'], $blocks[$i]['body'], "body at index $i"); - self::assertSame($exp['line'], $blocks[$i]['line'], "line at index $i"); - } - } - - /** - * @return iterable}> - */ - public static function provideMultilineBlocks(): iterable - { - yield 'nested mapping' => [ - "```yaml\nparent:\n child: value\n```\n", - [['body' => "parent:\n child: value", 'line' => 2]], - ]; - - yield 'sequence' => [ - "```yaml\nlist:\n - a\n - b\n```\n", - [['body' => "list:\n - a\n - b", 'line' => 2]], - ]; - - yield 'two blocks with correct lines' => [ - "```yaml\nfoo: 1\n```\n\nsome text\n\n```yaml\nbar: 2\n```\n", - [ - ['body' => 'foo: 1', 'line' => 2], - ['body' => 'bar: 2', 'line' => 8], - ], - ]; - } -} diff --git a/tests/ValidationBaseline.php b/tests/ValidationBaseline.php deleted file mode 100644 index d689915b2f..0000000000 --- a/tests/ValidationBaseline.php +++ /dev/null @@ -1,74 +0,0 @@ -|null */ - private ?array $entries = null; - - public function __construct( - private readonly string $baselineFile, - private readonly string $repoRoot, - ) { - } - - public function isInBaseline(string $relativePath, ?int $line, string $errorMessage): bool - { - foreach ($this->getEntries() as $entry) { - $entryPath = $entry['path'] ?? ''; - - // Path: exact match or trailing-suffix match (allows glob-like partial paths) - if ($relativePath !== $entryPath && !str_ends_with($relativePath, ltrim($entryPath, '/'))) { - continue; - } - - // Line (optional): must match exactly when provided - if (isset($entry['line']) && $line !== null && (int) $entry['line'] !== $line) { - continue; - } - - // Message (optional): treated as a regex pattern - if (isset($entry['message']) && !preg_match($entry['message'], $errorMessage)) { - continue; - } - - return true; - } - - return false; - } - - /** - * @return list - */ - private function getEntries(): array - { - if ($this->entries !== null) { - return $this->entries; - } - - if (!file_exists($this->baselineFile)) { - return $this->entries = []; - } - - $parsed = \Symfony\Component\Yaml\Yaml::parseFile($this->baselineFile); - - return $this->entries = $parsed['ignoreErrors'] ?? []; - } -} diff --git a/tests/Yaml/CodeSample.php b/tests/Yaml/CodeSample.php deleted file mode 100644 index 7429e6feeb..0000000000 --- a/tests/Yaml/CodeSample.php +++ /dev/null @@ -1,13 +0,0 @@ - - */ - public function getCodeSampleYaml(): iterable - { - yield from $this->iterateCodeSampleYaml(); - yield from $this->iterateMarkdownYamlBlocks(); - } - - /** - * Yields every .yaml file found recursively under code_samples/. - * - * @return iterable - */ - private function iterateCodeSampleYaml(): iterable - { - $iterator = new RecursiveIteratorIterator( - new RecursiveDirectoryIterator(self::CODE_SAMPLES_DIR, RecursiveDirectoryIterator::SKIP_DOTS) - ); - - /** @var \SplFileInfo $file */ - foreach ($iterator as $file) { - if (!$file->isFile() || $file->getExtension() !== 'yaml') { - continue; - } - - $body = file_get_contents($file->getRealPath()); - - if ($body === false) { - continue; - } - - yield new CodeSample($file->getRealPath(), 0, $body); - } - } - - /** - * Yields every fenced YAML block found in .md files under docs/. - * - * @return iterable - */ - private function iterateMarkdownYamlBlocks(): iterable - { - $extractor = new MarkdownYamlExtractor(); - $iterator = new RecursiveIteratorIterator( - new RecursiveDirectoryIterator(self::DOCS_DIR, RecursiveDirectoryIterator::SKIP_DOTS) - ); - - /** @var \SplFileInfo $file */ - foreach ($iterator as $file) { - if (!$file->isFile() || $file->getExtension() !== 'md') { - continue; - } - - $path = $file->getRealPath(); - $content = file_get_contents($path); - - if ($content === false) { - continue; - } - - foreach ($extractor->extract($content) as $block) { - yield new CodeSample($path, $block['line'], $block['body']); - } - } - } -} diff --git a/tests/Yaml/YamlTest.php b/tests/Yaml/YamlTest.php deleted file mode 100644 index 6cf2824e60..0000000000 --- a/tests/Yaml/YamlTest.php +++ /dev/null @@ -1,165 +0,0 @@ -isInBaseline($filePath, $line ?: null, $e->getMessage())) { - self::markTestSkipped(sprintf( - 'Known baseline issue in %s at line %d: %s', - $filePath, - $line, - $e->getMessage(), - )); - } - - self::fail(sprintf( - 'YAML parse error in %s at line %d: %s', - $filePath, - $line, - $e->getMessage(), - )); - } - - $this->addToAssertionCount(1); - } - - /** - * @param int $line Starting line of the config block (0 for standalone YAML files). - */ - #[DataProvider('provideBundleConfigs')] - public function testBundleConfigurationIsValid( - string $extensionName, - mixed $config, - string $filePath, - int $line - ): void { - $configuration = self::configurationProvider()->createConfiguration($extensionName); - $processor = new Processor(); - - $config = self::configurationProvider()->resolveParameters(is_array($config) ? $config : []); - - try { - $processor->processConfiguration($configuration, [$config]); - } catch (\Exception $e) { - if (self::baseline()->isInBaseline($filePath, $line ?: null, $e->getMessage())) { - self::markTestSkipped(sprintf( - 'Known baseline issue for "%s" in %s:%d: %s', - $extensionName, - $filePath, - $line, - $e->getMessage(), - )); - } - - self::fail(sprintf( - 'Invalid configuration for "%s" in %s:%d — %s', - $extensionName, - $filePath, - $line, - $e->getMessage(), - )); - } - - $this->addToAssertionCount(1); - } - - /** - * Yields all standalone YAML files from code_samples/ plus every fenced - * YAML block extracted from docs Markdown files. - * - * @return iterable - */ - public static function provideYamlSources(): iterable - { - foreach (self::samplesProvider()->getCodeSampleYaml() as $item) { - yield self::makeLabel($item->path, $item->line) => [$item->path, $item->line, $item->body]; - } - } - - /** - * Yields one entry per (extension, config) pair found in YAML files and - * in fenced YAML blocks from docs Markdown files. - * - * @return iterable - */ - public static function provideBundleConfigs(): iterable - { - foreach (self::provideYamlSources() as [$filePath, $line, $body]) { - $path = self::relativePath($filePath); - try { - $parsed = Yaml::parse($body, Yaml::PARSE_CUSTOM_TAGS); - } catch (\Throwable) { - continue; - } - - if (!is_array($parsed)) { - continue; - } - - foreach ($parsed as $extensionName => $config) { - if (!is_string($extensionName) || !self::configurationProvider()->hasExtension($extensionName)) { - continue; - } - - yield sprintf('%s (%s)', $extensionName, self::makeLabel($path, $line)) => [$extensionName, $config, $path, $line]; - } - } - } - - private static function configurationProvider(): ConfigurationProvider - { - static $provider = null; - - return $provider ??= new ConfigurationProvider(); - } - - private static function samplesProvider(): YamlSamplesProvider - { - static $provider = null; - - return $provider ??= new YamlSamplesProvider(); - } - - private static function baseline(): ValidationBaseline - { - static $baseline = null; - - return $baseline ??= new ValidationBaseline(self::BASELINE_FILE, realpath(self::REPO_ROOT)); - } - - private static function makeLabel(string $absolutePath, int $lineNumber): string - { - return ltrim(str_replace(realpath(self::REPO_ROOT), '', $absolutePath), '/') . ':' . $lineNumber; - } - - private static function relativePath(string $absolutePath): string - { - return ltrim(str_replace(realpath(self::REPO_ROOT), '', $absolutePath), '/'); - } -} diff --git a/tests/bootstrap.php b/tests/bootstrap.php deleted file mode 100644 index 9374e6f3a2..0000000000 --- a/tests/bootstrap.php +++ /dev/null @@ -1,40 +0,0 @@ -isDir() && $item->getFilename() === 'src') { - $loader->addPsr4('App\\', $item->getRealPath()); - } -} diff --git a/tests/generate-yaml-baseline.php b/tests/generate-yaml-baseline.php deleted file mode 100644 index d8a6f7d7ff..0000000000 --- a/tests/generate-yaml-baseline.php +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env php -/dev/null', - escapeshellarg($phpunitBin), - escapeshellarg($tmpLog), -); - -passthru($cmd); - -if (!file_exists($tmpLog)) { - if ($previousBaseline !== null) { - file_put_contents($outFile, $previousBaseline); - } - fwrite(STDERR, "ERROR: PHPUnit did not produce a JUnit log file.\n"); - exit(1); -} - -$xml = simplexml_load_file($tmpLog); -unlink($tmpLog); - -if ($xml === false) { - fwrite(STDERR, "ERROR: Could not parse JUnit XML.\n"); - exit(1); -} - -$repoRoot = dirname(__DIR__); -$entries = []; - -// Collect all failures/errors at any nesting depth using XPath -/** @var \SimpleXMLElement[] $testcases */ -$testcases = $xml->xpath('//testcase[failure or error]') ?: []; - -foreach ($testcases as $testcase) { - $failure = $testcase->failure ?? $testcase->error ?? null; - if ($failure === null) { - continue; - } - - $message = (string) $failure; - // Extract file path and line from failure message - // Patterns: - // "Invalid configuration for "X" in path/to/file.yaml: error" - // "Invalid configuration for "X" in path/to/file.md:123 — error" - // "YAML parse error in path/to/file.md at line 123: error" - $path = null; - $line = null; - $errorMessage = null; - - if (preg_match('/Invalid configuration for "[^"]*" in ([^\n:]+?):(\d+) — (.+)/s', $message, $m)) { - $path = trim($m[1]); - $line = (int) $m[2]; - $errorMessage = trim(explode("\n", $m[3])[0]); - } elseif (preg_match('/Invalid configuration for "[^"]*" in ([^\n:]+?): (.+)/s', $message, $m)) { - $path = trim($m[1]); - $errorMessage = trim(explode("\n", $m[2])[0]); - } elseif (preg_match('/YAML parse error in ([^\n]+?) at line (\d+): (.+)/s', $message, $m)) { - $path = trim($m[1]); - $line = (int) $m[2]; - $errorMessage = trim(explode("\n", $m[3])[0]); - } - - if ($path === null) { - continue; - } - - // Convert absolute path to relative - if (str_starts_with($path, $repoRoot)) { - $path = ltrim(substr($path, strlen($repoRoot)), '/'); - } - - $entry = ['path' => $path]; - if ($line !== null) { - $entry['line'] = $line; - } - if ($errorMessage !== null) { - // Store as a regex: escape special chars, keep it readable - $entry['message'] = '~' . preg_quote($errorMessage, '~') . '~'; - } - - $key = $path . ':' . ($line ?? ''); - $entries[$key] = $entry; -} - -ksort($entries); - -// Render as YAML manually (keep it readable without needing a YAML library) -$lines = []; -$lines[] = '# Auto-generated by `composer phpunit-update-baseline`. Do not edit manually.'; -$lines[] = '# To suppress a failure: regenerate this file after confirming it is expected.'; -$lines[] = '# To fix a suppressed failure: fix the doc error and regenerate.'; -$lines[] = 'ignoreErrors:'; - -foreach ($entries as $entry) { - $lines[] = ' -'; - $lines[] = sprintf(' path: %s', $entry['path']); - if (isset($entry['line'])) { - $lines[] = sprintf(' line: %d', $entry['line']); - } - if (isset($entry['message'])) { - // Wrap message in single quotes, escaping internal single quotes - $msg = str_replace("'", "''", $entry['message']); - $lines[] = sprintf(" message: '%s'", $msg); - } -} - -$content = implode("\n", $lines) . "\n"; -$outFile = __DIR__ . '/yaml-validation-baseline.yaml'; -file_put_contents($outFile, $content); - -$count = count($entries); -echo "Baseline written to tests/yaml-validation-baseline.yaml ({$count} entries)\n"; -if ($count === 0) { - echo "No failures found — baseline is empty. All tests pass!\n"; -} diff --git a/tests/yaml-validation-baseline.yaml b/tests/yaml-validation-baseline.yaml deleted file mode 100644 index 01e5acfe11..0000000000 --- a/tests/yaml-validation-baseline.yaml +++ /dev/null @@ -1,316 +0,0 @@ -# Auto-generated by `composer phpunit-update-baseline`. Do not edit manually. -# To suppress a failure: regenerate this file after confirming it is expected. -# To fix a suppressed failure: fix the doc error and regenerate. -ignoreErrors: - - - path: code_samples/forms/custom_form_attribute/config/custom_services.yaml - line: 0 - message: '~Unable to parse at line 1 \(near " App\\FormBuilder\\FieldType\\Field\\Mapper\\CheckboxWithRichtextDescriptionFieldMapper\:"\)\.~' - - - path: code_samples/workflow/custom_workflow/config/packages/workflows.yaml - line: 0 - message: '~The child config "stages" under "ibexa\.system\.default\.workflows\.quick_review" must be configured\.~' - - - path: docs/administration/back_office/back_office_elements/extending_thumbnails.md - line: 109 - message: '~Unable to parse at line 1 \(near " App\\Thumbnails\\FieldValueUrl\:"\)\.~' - - - path: docs/administration/back_office/configure_product_tour.md - line: 26 - message: '~The value "\" is not allowed for path "ibexa\.system\.\\>\.product_tour\.\\.type"\. Permissible values\: "general", "targetable"\.~' - - - path: docs/cdp/cdp_data_customization.md - line: 29 - message: '~Unable to parse at line 1 \(near " App\\Export\\User\\DateOfBirthUserItemProcessor\:"\)\.~' - - - path: docs/commerce/checkout/customize_checkout.md - line: 130 - message: '~Invalid configuration for path "framework\.workflows\.workflows\.ibexa_checkout"\: "supports" or "support_strategy" should be configured\.~' - - - path: docs/commerce/order_management/configure_order_management.md - line: 51 - message: '~The child config "transitions" under "framework\.workflows\.workflows\.ibexa_order" must be configured\.~' - - - path: docs/commerce/payment/enable_paypal_payments.md - line: 40 - message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/commerce/payment/enable_stripe_payments.md - line: 41 - message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/commerce/payment/payum_integration.md - line: 55 - message: '~Unrecognized option "payment_method" under "ibexa"\. Available options are "http_cache", "image_placeholder", "imagemagick", "locale_conversion", "orm", "repositories", "router", "siteaccess", "system", "ui", "url_alias", "url_wildcards"\.~' - - - path: docs/commerce/transactional_emails/extend_transactional_emails.md - line: 17 - message: '~The child config "transitions" under "framework\.workflows\.workflows\.ibexa_payment" must be configured\.~' - - - path: docs/content_management/collaborative_editing/configure_collaborative_editing.md - line: 48 - message: '~The child config "firewalls" under "security" must be configured\.~' - - - path: docs/content_management/collaborative_editing/configure_collaborative_editing.md - line: 78 - message: '~Invalid type for path "ibexa\.repositories\.\\.collaboration\.participants\.auto_invite"\. Expected "bool", but got "string"\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 102 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 114 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 136 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 156 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 178 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 78 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 86 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/data_migration_actions.md - line: 96 - message: '~Unable to parse at line 1 \(near " actions\:"\)\.~' - - - path: docs/content_management/data_migration/importing_data.md - line: 200 - message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: show_children"\)\.~' - - - path: docs/content_management/data_migration/importing_data.md - line: 220 - message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: some_field"\)\.~' - - - path: docs/content_management/data_migration/importing_data.md - line: 228 - message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: project_directory"\)\.~' - - - path: docs/content_management/data_migration/importing_data.md - line: 313 - message: '~Unable to parse at line 1 \(near " \- fieldDefIdentifier\: image"\)\.~' - - - path: docs/content_management/taxonomy/taxonomy.md - line: 194 - message: '~The child config "default_embedding_max_tokens" under "ibexa_taxonomy\.text_to_taxonomy" must be configured\: Maximum number of tokens sent when generating embeddings~' - - - path: docs/content_management/workflow/workflow.md - line: 135 - message: '~The child config "matcher_value_templates" under "ibexa\.system\.default\.workflows_config" must be configured\: Matcher templates configuration\.~' - - - path: docs/customer_management/cp_page_builder.md - line: 119 - message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - - - path: docs/customer_management/cp_page_builder.md - line: 207 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/customer_management/cp_page_builder.md - line: 35 - message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - - - path: docs/discounts/extend_discounts.md - line: 139 - message: '~Unable to parse at line 1 \(near " App\\Discounts\\Condition\\IsAccountAnniversaryConditionFactory\:"\)\.~' - - - path: docs/discounts/extend_discounts.md - line: 187 - message: '~Unable to parse at line 1 \(near " App\\Discounts\\Rule\\PurchasingPowerParityRuleFactory\:"\)\.~' - - - path: docs/discounts/extend_discounts.md - line: 211 - message: '~Unable to parse at line 1 \(near " App\\Discounts\\Rule\\PurchaseParityValueFormatter\:"\)\.~' - - - path: docs/discounts/extend_discounts.md - line: 229 - message: '~Unable to parse at line 1 \(near " App\\Discounts\\RecentDiscountPrioritizationStrategy\:"\)\.~' - - - path: docs/discounts/extend_discounts.md - line: 64 - message: '~Unable to parse at line 1 \(near " App\\Discounts\\ExpressionProvider\\CurrentUserRegistrationDateResolver\:"\)\.~' - - - path: docs/discounts/extend_discounts.md - line: 82 - message: '~Unable to parse at line 1 \(near " App\\Discounts\\ExpressionProvider\\IsAnniversaryResolver\:"\)\.~' - - - path: docs/discounts/extend_discounts_wizard.md - line: 142 - message: '~Unable to parse at line 1 \(near " App\\Form\\FormMapper\\PurchasingPowerParityValueMapper\: \~"\)\.~' - - - path: docs/getting_started/first_steps.md - line: 115 - message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - - - path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md - line: 128 - message: '~The child config "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache" must be configured\.~' - - - path: docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md - line: 145 - message: '~The child config "fastly" under "ibexa\.system\.my_siteaccess_group\.http_cache" must be configured\.~' - - - path: docs/infrastructure_and_maintenance/security/development_security.md - line: 20 - message: '~Unrecognized option "require_previous_session" under "security\.firewalls\.ibexa_front\.form_login"\. Available options are "always_use_default_target_path", "check_path", "csrf_parameter", "csrf_token_id", "default_target_path", "enable_csrf", "failure_forward", "failure_handler", "failure_path", "failure_path_parameter", "form_only", "login_path", "password_parameter", "post_only", "provider", "remember_me", "success_handler", "target_path_parameter", "use_forward", "use_referer", "username_parameter"\.~' - - - path: docs/infrastructure_and_maintenance/security/security_checklist.md - line: 142 - message: '~The child config "firewalls" under "security" must be configured\.~' - - - path: docs/multisite/languages/languages.md - line: 135 - message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' - - - path: docs/multisite/languages/languages.md - line: 78 - message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' - - - path: docs/multisite/multisite_configuration.md - line: 28 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/multisite_configuration.md - line: 57 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/multisite_configuration.md - line: 69 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/set_up_translation_siteaccess.md - line: 43 - message: '~The child config "default_siteaccess" under "ibexa\.siteaccess" must be configured\: Name of the default siteaccess~' - - - path: docs/multisite/site_factory/site_factory.md - line: 40 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/site_factory/site_factory.md - line: 58 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/site_factory/site_factory_configuration.md - line: 81 - message: '~The child config "siteaccess_group" under "ibexa_site_factory\.templates\.\" must be configured\.~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 108 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 123 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 140 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 161 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 178 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 194 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 237 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 32 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 72 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/multisite/siteaccess/siteaccess_matching.md - line: 91 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/permissions/limitation_reference.md - line: 28 - message: '~Unable to parse at line 3 \(near " ibexa\.api\.role\.limitation_type\.function_list\:"\)\.~' - - - path: docs/personalization/attribute_search_in_elasticsearch.md - line: 16 - message: '~Invalid output type in \{"\"\:\{"title"\:"\"\}\}\. Output type id should be type of int\.~' - - - path: docs/product_catalog/enable_purchasing_products.md - line: 106 - message: '~Unable to parse at line 1 \(near " none\:"\)\.~' - - - path: docs/product_catalog/product_catalog_configuration.md - line: 77 - message: '~Unable to parse at line 1 \(near " none\:"\)\.~' - - - path: docs/recommendations/raptor_integration/tracking_functions.md - line: 33 - message: '~Duplicate key "connector_raptor" detected at line 6 \(near " tracking_type\: ''client'' \# Returns \ tags"\)\.~' - - - path: docs/release_notes/ez_platform_v2.4.md - line: 221 - message: '~Unrecognized option "require_previous_session" under "security\.firewalls\.ezpublish_front\.form_login"\. Available options are "always_use_default_target_path", "check_path", "csrf_parameter", "csrf_token_id", "default_target_path", "enable_csrf", "failure_forward", "failure_handler", "failure_path", "failure_path_parameter", "form_only", "login_path", "password_parameter", "post_only", "provider", "remember_me", "success_handler", "target_path_parameter", "use_forward", "use_referer", "username_parameter"\.~' - - - path: docs/templating/design_engine/add_new_design.md - line: 16 - message: '~The child config "match" under "ibexa\.siteaccess" must be configured\: Siteaccess match configuration\. First key is the matcher class, value is passed to the matcher\. Key can be a service identifier \(prepended by "@"\), or a FQ class name \(prepended by "\\"\)~' - - - path: docs/templating/templates/template_configuration.md - line: 99 - message: '~Duplicate key "match" detected at line 3 \(near "match\: \[\]"\)\.~' - - - path: docs/update_and_migration/from_3.3/to_4.0.md - line: 237 - message: '~Unrecognized option "ezrichtext" under "ibexa\.system\.admin_group\.fieldtypes"\. Available options are "ibexa_image_asset", "ibexa_richtext"\.~' - - - path: docs/update_and_migration/from_4.3/update_from_4.3_old_commerce.md - line: 168 - message: '~The child config "list" under "ibexa\.siteaccess" must be configured\: Available SiteAccess list~' - - - path: docs/update_and_migration/from_4.6/update_from_4.6.md - line: 513 - message: '~Unrecognized option "trace" under "ibexa_elasticsearch\.connections\.default"\. Available options are "authentication", "connection_pool", "connection_selector", "debug", "elastic_cloud_id", "hosts", "index_templates", "node_pool_resurrect", "node_pool_selector", "retries", "ssl"\.~' - - - path: docs/update_and_migration/from_4.6/update_from_4.6.md - line: 80 - message: '~Unrecognized option "Ibexa\\Contracts\\Shipping\\Notification\\ShipmentStatusChange" under "ibexa\.system\.my_siteacces_name\.notifications\.subscriptions"\. Available option is "timeout"\.~' - - - path: docs/update_and_migration/from_5.0/update_from_5.0.md - line: 238 - message: '~Unrecognized option "trace" under "ibexa_elasticsearch\.connections\.default"\. Available options are "authentication", "connection_pool", "connection_selector", "debug", "elastic_cloud_id", "hosts", "index_templates", "node_pool_resurrect", "node_pool_selector", "retries", "ssl"\.~' - - - path: docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md - line: 526 - message: '~Mapping values are not allowed in multi\-line blocks at line 2 \(near " ezpublish\.persistence\.slug_converter\:"\)\.~' - - - path: docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md - line: 537 - message: '~Unable to parse at line 1 \(near " ezpublish\.persistence\.slug_converter\:"\)\.~' - - - path: docs/users/oauth_server.md - line: 78 - message: '~The child config "firewalls" under "security" must be configured\.~' - - - path: docs/users/user_authentication.md - line: 41 - message: '~Unrecognized option "encoders" under "security"\. Available options are "access_control", "access_decision_manager", "access_denied_url", "erase_credentials", "expose_security_errors", "firewalls", "hide_user_not_found", "password_hashers", "providers", "role_hierarchy", "session_fixation_strategy"\.~' From 282a02cf8d6c109171a0992261e12823388ce112 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:13:01 +0200 Subject: [PATCH 58/63] More verbose curl script --- code_samples/mcp/mcp.sh | 31 +++++++++++----- code_samples/mcp/mcp.sh.output.txt | 59 ++++++++++++++++++++++++++++-- docs/ai/mcp/mcp_config.md | 42 +++++++++++++-------- 3 files changed, 104 insertions(+), 28 deletions(-) diff --git a/code_samples/mcp/mcp.sh b/code_samples/mcp/mcp.sh index 6ee0c22976..27a1592f5e 100644 --- a/code_samples/mcp/mcp.sh +++ b/code_samples/mcp/mcp.sh @@ -1,20 +1,28 @@ #!/bin/bash +set -e +set +x baseUrl='http://localhost' # Adapt to your test case +username='ibexa-example' +password='Ibexa-3xample' -jwtToken=$(curl -s -X 'POST' \ +curl -s -X 'POST' \ "$baseUrl/api/ibexa/v2/user/token/jwt" \ -H 'Content-Type: application/vnd.ibexa.api.JWTInput+json' \ -H 'Accept: application/vnd.ibexa.api.JWT+json' \ - -d '{ - "JWTInput": { - "_media-type": "application/vnd.ibexa.api.JWTInput+json", - "username": "ibexa-example", - "password": "Ibexa-3xample" + -d "{ + \"JWTInput\": { + \"_media-type\": \"application/vnd.ibexa.api.JWTInput+json\", + \"username\": \"$username\", + \"password\": \"$password\" } - }' | jq -r .JWT.token) + }" > response.tmp.txt + +cat response.tmp.txt | jq +jwtToken=$(cat response.tmp.txt | jq -r .JWT.token) +rm response.tmp.txt -mcpSessionId=$(curl -s -i -X 'POST' "$baseUrl/mcp/example" \ +curl -s -i -X 'POST' "$baseUrl/mcp/example" \ -H "Authorization: Bearer $jwtToken" \ -d '{ "jsonrpc": "2.0", @@ -28,7 +36,12 @@ mcpSessionId=$(curl -s -i -X 'POST' "$baseUrl/mcp/example" \ "version": "1.0.0" } } - }' | grep 'Mcp-Session-Id:' | sed 's/Mcp-Session-Id: \([0-9a-f-]*\).*/\1/') + }' > response.tmp.txt + +sed '$d' response.tmp.txt +tail -n 1 response.tmp.txt | jq +mcpSessionId=$(cat response.tmp.txt | grep 'Mcp-Session-Id:' | sed 's/Mcp-Session-Id: \([0-9a-f-]*\).*/\1/') +rm response.tmp.txt curl -s -i -X 'POST' "$baseUrl/mcp/example" \ -H "Authorization: Bearer $jwtToken" \ diff --git a/code_samples/mcp/mcp.sh.output.txt b/code_samples/mcp/mcp.sh.output.txt index adf695e097..4ca7342648 100644 --- a/code_samples/mcp/mcp.sh.output.txt +++ b/code_samples/mcp/mcp.sh.output.txt @@ -1,3 +1,54 @@ +{ + "JWT": { + "_media-type": "application/vnd.ibexa.api.JWT+json", + "_token": "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890ABCD.EFGHIJKL-MNOPQRSTUVWXYZ12345678901234567890", + "token": "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890ABCD.EFGHIJKL-MNOPQRSTUVWXYZ12345678901234567890" + } +} +HTTP/1.1 200 OK +Access-Control-Allow-Headers: Content-Type, Mcp-Session-Id, Mcp-Protocol-Version, Last-Event-ID, Authorization, Accept +Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: Mcp-Session-Id +Cache-Control: no-cache, private +Content-Type: application/json +Date: Tue, 28 Apr 2026 09:53:27 GMT +Mcp-Session-Id: 12345678-9abc-def0-1234-56789abcdef0 +Server: Apache/2.4.66 (Debian) +Vary: cookie,authorization +X-Cache-Debug: 1 +X-Debug-Token: 123456 +X-Debug-Token-Link: http://localhost/_profiler/123456 +X-Powered-By: Ibexa Commerce v5 +X-Robots-Tag: noindex +Transfer-Encoding: chunked + +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "protocolVersion": "2025-06-18", + "capabilities": { + "logging": {}, + "completions": {}, + "prompts": { + "listChanged": true + }, + "resources": { + "listChanged": true + }, + "tools": { + "listChanged": true + } + }, + "serverInfo": { + "name": "example", + "version": "1.0.0", + "description": "Example MCP Server" + }, + "instructions": "Use this server to greet someone." + } +} HTTP/1.1 202 Accepted Access-Control-Allow-Headers: Content-Type, Mcp-Session-Id, Mcp-Protocol-Version, Last-Event-ID, Authorization, Accept Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS @@ -10,8 +61,8 @@ Date: Fri, 24 Apr 2026 11:16:27 GMT Server: Apache/2.4.66 (Debian) Vary: cookie,authorization X-Cache-Debug: 1 -X-Debug-Token: 145f0a -X-Debug-Token-Link: http://ddev-ibexa-tmp.ddev.site:8080/_profiler/145f0a +X-Debug-Token: 7890ab +X-Debug-Token-Link: http://localhost/_profiler/7890ab X-Powered-By: Ibexa Commerce v5 X-Robots-Tag: noindex @@ -27,7 +78,7 @@ X-Robots-Tag: noindex "properties": { "name": { "type": "string", - "description": "the name of the person to greet" + "description": "The name of the person to greet" } }, "required": [ @@ -128,7 +179,7 @@ X-Robots-Tag: noindex "role": "user", "content": { "type": "text", - "text": "Hi. Please, greet me. My name is Firstname Lastname." + "text": "Hi. My name is Firstname Lastname. Please, greet me." } } ] diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index ae5ceb0273..d3373749d0 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -265,72 +265,84 @@ To test the `example` MCP server, a sequence of `curl` commands is used to simul `jq`, `grep`, and `sed` are also used to parse or display outputs. -First, the shell script set the [[= product_name =]] base URL into a variable for easier reuse: +First, the shell script set the [[= product_name =]] base URL and the user credentials into variables for easier reuse: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 2, 3) =]] +[[= include_file('code_samples/mcp/mcp.sh', 4, 7) =]] ``` Before communicating with the MCP server, the request of a JWT token through REST API: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 4, 15) =]] +[[= include_file('code_samples/mcp/mcp.sh', 8, 23) =]] +``` + +``` json +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 0, 7) =]] ``` The [initialization](https://modelcontextprotocol.io/specification/latest/basic/lifecycle#initialization) to get an MCP session ID: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 16, 31) =]] +[[= include_file('code_samples/mcp/mcp.sh', 20, 44) =]] +``` + +``` http +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 7, 16) =]] +``` + +``` json +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 25, 51) =]] ``` The validation of the initialization: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 32, 39) =]] +[[= include_file('code_samples/mcp/mcp.sh', 45, 52) =]] ``` -``` -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 0, 5) =]] +``` http +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 51, 56) =]] ``` The [list of tools](https://modelcontextprotocol.io/specification/latest/server/tools#listing-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 40, 48) =]] +[[= include_file('code_samples/mcp/mcp.sh', 53, 61) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 17, 77) =]] +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 68, 128) =]] ``` The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/server/tools#calling-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 49, 63) =]] +[[= include_file('code_samples/mcp/mcp.sh', 62, 76) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 77, 97) =]] +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 128, 148) =]] ``` The [list of prompts](https://modelcontextprotocol.io/specification/latest/server/prompts#listing-prompts): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 64, 72) =]] +[[= include_file('code_samples/mcp/mcp.sh', 77, 85) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 97, 121) =]] +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 148, 172) =]] ``` The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts#getting-a-prompt): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 73, 87) =]] +[[= include_file('code_samples/mcp/mcp.sh', 86, 100) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 121, 136) =]] +[[= include_file('code_samples/mcp/mcp.sh.output.txt', 172, 187) =]] ``` ### MCP Inspector test From 178ca6a3c8e7bc77aade1be39beba8537cdecb28 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Tue, 28 Apr 2026 14:49:23 +0200 Subject: [PATCH 59/63] mcp_config: remove repetition --- docs/ai/mcp/mcp_config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index d3373749d0..19144cb83d 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -411,7 +411,7 @@ The hard coded JWT token configuration in `.mcp.json`: ``` The `.mcp.json` file must be edited to update the JWT token each time it expires. -You can ask a token using for example, GraphiQL web interface or a `curl` command to get a new JWT token, then edit the file manually. +You can ask a token using, for example, GraphiQL web interface or a `curl` command, then edit the file manually. Or you can have a shell script doing the JWT token request, extracting it from the response, and replace it in the file. When Copilot complains that it can't communicate with the MCP server: From 56c2261145a693807a46c5cf3789756ed39612bc Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 29 Apr 2026 17:32:15 +0200 Subject: [PATCH 60/63] =?UTF-8?q?include=5Ffile=20=E2=86=92=20include=5Fco?= =?UTF-8?q?de?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ai/mcp/mcp_config.md | 59 ++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 19144cb83d..4aa9ce9ccf 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -40,7 +40,9 @@ or in [MCP Inspector test](#mcp-inspector-test) GraphIQL example. MCP servers are configured per repository then enabled per SiteAccess scope. ``` yaml -[[= include_file('code_samples/mcp/mcp.matrix.yaml', 0, 8) =]][[= include_file('code_samples/mcp/mcp.matrix.yaml', 11, 15) =]][[= include_file('code_samples/mcp/mcp.matrix.yaml', 28, 33) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 1, 8) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 12, 15) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 29, 33) =]] ``` Routes are built automatically from MCP server `path` configs. @@ -89,7 +91,7 @@ There is two ways to associate tools with a server: - `get_non_seo_content_ids`: Returns IDs of content items that are missing SEO optimization (no meta title tag) ``` yaml -[[= include_file('code_samples/mcp/mcp.matrix.yaml', 8, 11) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 9, 11) =]] ``` ### Discovery cache @@ -100,7 +102,7 @@ A PSR-6 or PSR-16 cache pool must be provided for this caching. For example, a dedicated Redis/Valkey could be set up: ``` yaml -[[= include_file('code_samples/mcp/mcp.matrix.yaml', 16, 17) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 17, 17) =]] ``` ### Session storage @@ -124,7 +126,8 @@ It requires `service` option pointing to a valid cache service ID. And optionally a more specific `prefix` option than the default `mcp_` to avoid key collisions with other cache usages. ``` yaml -[[= include_file('code_samples/mcp/mcp.matrix.yaml', 17, 21) =]][[= include_file('code_samples/mcp/mcp.matrix.yaml', 33, 43) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 18, 21) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 34, 43) =]] ``` #### File @@ -135,7 +138,7 @@ In this example, sessions are stored in `var/cache//mcp/sessions/` (for example, `var/cache/dev/mcp/session/` in `dev` environment and `var/cache/prod/mcp/sessions/` in `prod` environment): ``` yaml -[[= include_file('code_samples/mcp/mcp.matrix.yaml', 22, 25) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 23, 25) =]] ``` #### Memory @@ -144,7 +147,7 @@ Sessions are stored in memory. Suitable for development and STDIO transport. It might not work with containers like Docker/DDEV. ``` yaml -[[= include_file('code_samples/mcp/mcp.matrix.yaml', 26, 28) =]] +[[= include_code('code_samples/mcp/mcp.matrix.yaml', 27, 28) =]] ``` ## MCP server capabilities @@ -214,7 +217,7 @@ It uses files for both discovery cache and session storage. In a new `config/packages/mcp.yaml` file, the configuration of the MCP server: ``` yaml -[[= include_file('code_samples/mcp/config/packages/mcp.yaml') =]] +[[= include_code('code_samples/mcp/config/packages/mcp.yaml') =]] ``` An `ibexa.mcp.example` route is now available: @@ -231,7 +234,7 @@ It contains a function with an `McpTool` attribute associating it to the `exampl It also contains a function with the `McpPrompt` attribute to provide a prompt template to the user. ``` php -[[= include_file('code_samples/mcp/src/Mcp/ExampleCapabilities.php') =]] +[[= include_code('code_samples/mcp/src/Mcp/ExampleCapabilities.php') =]] ``` For the example, `servers` attribute parameter is used to associate only this tool to the `example` server. @@ -250,7 +253,7 @@ To check the server configuration, a short command using the MCP server configur (injected through [`McpServerConfigurationRegistryInterface`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Mcp-McpServerConfigurationRegistryInterface.html) and autowiring): ``` php -[[= include_file('code_samples/mcp/src/Command/McpServerListCommand.php') =]] +[[= include_code('code_samples/mcp/src/Command/McpServerListCommand.php') =]] ``` ### cURL test @@ -268,81 +271,81 @@ To test the `example` MCP server, a sequence of `curl` commands is used to simul First, the shell script set the [[= product_name =]] base URL and the user credentials into variables for easier reuse: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 4, 7) =]] +[[= include_code('code_samples/mcp/mcp.sh', 5, 7) =]] ``` Before communicating with the MCP server, the request of a JWT token through REST API: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 8, 23) =]] +[[= include_code('code_samples/mcp/mcp.sh', 9, 23) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 0, 7) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 1, 7) =]] ``` The [initialization](https://modelcontextprotocol.io/specification/latest/basic/lifecycle#initialization) to get an MCP session ID: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 20, 44) =]] +[[= include_code('code_samples/mcp/mcp.sh', 21, 44) =]] ``` ``` http -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 7, 16) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 8, 16) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 25, 51) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 26, 51) =]] ``` The validation of the initialization: ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 45, 52) =]] +[[= include_code('code_samples/mcp/mcp.sh', 46, 52) =]] ``` ``` http -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 51, 56) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 52, 56) =]] ``` The [list of tools](https://modelcontextprotocol.io/specification/latest/server/tools#listing-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 53, 61) =]] +[[= include_code('code_samples/mcp/mcp.sh', 54, 61) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 68, 128) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 69, 128) =]] ``` The `greet` [tool call](https://modelcontextprotocol.io/specification/latest/server/tools#calling-tools): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 62, 76) =]] +[[= include_code('code_samples/mcp/mcp.sh', 63, 76) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 128, 148) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 129, 148) =]] ``` The [list of prompts](https://modelcontextprotocol.io/specification/latest/server/prompts#listing-prompts): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 77, 85) =]] +[[= include_code('code_samples/mcp/mcp.sh', 78, 85) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 148, 172) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 149, 172) =]] ``` The `greet` [prompt obtainment](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts#getting-a-prompt): ``` bash -[[= include_file('code_samples/mcp/mcp.sh', 86, 100) =]] +[[= include_code('code_samples/mcp/mcp.sh', 87, 100) =]] ``` ``` json -[[= include_file('code_samples/mcp/mcp.sh.output.txt', 172, 187) =]] +[[= include_code('code_samples/mcp/mcp.sh.output.txt', 173, 187) =]] ``` ### MCP Inspector test @@ -407,7 +410,7 @@ There is two ways of dealing with the JWT token for this test: The hard coded JWT token configuration in `.mcp.json`: ``` json -[[= include_file('code_samples/mcp/http.mcp.json') =]] +[[= include_code('code_samples/mcp/http.mcp.json') =]] ``` The `.mcp.json` file must be edited to update the JWT token each time it expires. @@ -426,7 +429,7 @@ When Copilot complains that it can't communicate with the MCP server: The wrapping script configuration in `.mcp.json`: ``` json -[[= include_file('code_samples/mcp/stdio.mcp.json') =]] +[[= include_code('code_samples/mcp/stdio.mcp.json') =]] ``` The `mcp-ibexa-example-wrapper.sh` is a script asking for a JWT token then establishing a connection with the MCP server. @@ -434,7 +437,7 @@ The `mcp-ibexa-example-wrapper.sh` is a script asking for a JWT token then estab For example, this can be achieved with [Supergateway](https://www.npmjs.com/package/supergateway) without local installation thanks to [`npx`](https://www.npmjs.com/package/npx): ``` bash -[[= include_file('code_samples/mcp/mcp-ibexa-example-wrapper.sh') =]] +[[= include_code('code_samples/mcp/mcp-ibexa-example-wrapper.sh') =]] ``` When Copilot complains that it can't communicate with the MCP server, reload the MCP servers in Copilot CLI with one of those methods: From a28ab1ef6f75435510092b196f23c38676260290 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Wed, 29 Apr 2026 18:11:59 +0200 Subject: [PATCH 61/63] meta desc --- docs/ai/mcp/mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/mcp/mcp.md b/docs/ai/mcp/mcp.md index 22da48f531..2605e2a81a 100644 --- a/docs/ai/mcp/mcp.md +++ b/docs/ai/mcp/mcp.md @@ -1,5 +1,5 @@ --- -description: TODO. +description: MCP servers expose functionalities to AIs. page_type: landing_page month_change: true --- From 80a7de9b8c4091af6b72cbd5fb5c10684f322c67 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:01:50 +0200 Subject: [PATCH 62/63] REST doc example to get a JWT token --- .../{graphiql-jwt.png => jwt-graphiql.png} | Bin docs/ai/mcp/img/jwt-rest-doc.png | Bin 0 -> 244496 bytes docs/ai/mcp/mcp_config.md | 33 +++++++++++++++--- 3 files changed, 28 insertions(+), 5 deletions(-) rename docs/ai/mcp/img/{graphiql-jwt.png => jwt-graphiql.png} (100%) create mode 100644 docs/ai/mcp/img/jwt-rest-doc.png diff --git a/docs/ai/mcp/img/graphiql-jwt.png b/docs/ai/mcp/img/jwt-graphiql.png similarity index 100% rename from docs/ai/mcp/img/graphiql-jwt.png rename to docs/ai/mcp/img/jwt-graphiql.png diff --git a/docs/ai/mcp/img/jwt-rest-doc.png b/docs/ai/mcp/img/jwt-rest-doc.png new file mode 100644 index 0000000000000000000000000000000000000000..cee131aca313c8d7abf2ae12c6a8292a632e0301 GIT binary patch literal 244496 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%0D?H}K$2{(y87GQ_5tgUM0!Arlx1^fTj!t&}%SO z7(&axl<0^l5+b-Zw#V|?0zyc|K+BK;kjTu996->CrT|#?H7j9|UsexHmG+p2I&Xf7 zndu^}bbdflb z^J^|TEy5~4=joOAN?|P4C!0?^0mTfQfyOgt0!D15tdUbA+mx1;)*yu$x{ui+u&Knm zKJ9dNb+#VJHv6SA5qejo7pO`z_9kzDZ7&P}WY#x;NY(bLM~l0%bREhD*ZYIcyarh=K_Ni-QtF&FN-Ox6`MkUf0J66}=(a|Rcpf;dTIv@X`BZPT za|wE%9NDM^pl{R%T#T)A(`hmX-e|6j-{q6r>LKt8l*|IaVp6+Sc0GJG0MxVqh{+ZC zU7^`mAgw;y=r9;@NL&Q+#j}~0P64457@$pJuByI6JH38UZ0!K`YdwwOJ`5MHfZtDV z{MX|E0cHST%~aW)RYC8+n8mMk#_?CbYyQ?=^k_gR)BlEjr48=!BB8o6Sw7^;QqMR4 zG2ctwT zB7m#DSv!Ny7?CRgb#t?AhyF!A>8y~z$Mk|KiAytg?ag)7hjcOsyM{|Bk9`LzIbkx~ z$j_N*3K<$7k1l~BQ+IpEV8$@x#+g_{s6T^4K%N6hd{)=fC;rxd1OpzIj*fZ6n`2cX zc;R2z?lPc1j5l$0xClBk-;>UK5jQCXtV6nPZf>XtI~QFxDAYf_ctb`uI0Rwoz!FsxrPb6bnTL)V$LaU+3QP3g+9D8Q1mfyMM#SEp$cv!?YICN@Eow(F6xm^?K8ocg33l&62_lGx1e$N8Yce zN>#PWTEsKU!eyy*D*QZ0&SlE1(s~6ckNfZf_n8Fm)=USqkNC1q^1pgC z3safi_kJJo#Kk=R(a@CNFBzxM)=TS&V8M*`t{CsnwfSeV91lc)5$Qqtx7t46d#e-M zA^-Y92AkuH-{Lm^lhR3Xr3Q?guwC2O%OCwE>j#;lpj`vYfy<(v%a?H}VOqgx=7M{s zvIM`UO$}F|^_n&Q#YZ0|PiH>oa_gX+J2bhd)O)Kf%6G48_IhHvr4OcMAE@=FGgf*Y zL@`-A#z--=M`i;fLczB z&YhNUp&C1|Wh2JBkXCQ!W!%8uM7_{G$CC>2cEX-#zz9o3|%hFl#|Iom;u&W^MkDnyYk^?M*s) zFr-a$=S`I4Ot%8RnPDk4BV{yLu)-(8RY;qP>0w*ui#P8zY}H0%j;i_v&22h|MBh(k zY$rT~$WmRZ$cg?|NWaK3x0oPC`HWMh+GR&#c$OgCFQZ=vv3ySb9zt#`c z6u4?%>Cy6-eU|w;?;Il{4+}!%eJMX;Bp0*`Z;l}dKJZH!t?D7)cyxOz%oYYodF{a= z6+pr@#_;`%-U2BVt*?{87sYRHUdiQXSAHcf7j(1cRZXt0m6ags{fFtT>Go}2j2X>X zMWNHxW3)34k8F=(mVPoIZu~>I`@vRNeTD6?Q1XTg30cuEfxT79kxW&_%EOh)JhgA~ z1ldY48_Emtznjc~^=7H|^tgb=CpUH!sFhg)q=kwA-j=zP%!7hGG0`v=wDaO1Y`vN0 zkhu7&25||FqlYJU13U3AaYlETjczl~&)n@U_^4D{!ZrA}noyg%yz{wGV#Ug_k@e4< z`Z3rNT3L*D#QQFL_<_U%-baYR$bS_6-B~2BLr_(>X@8+B2bbzXzmT6}p#zFKX0?MD z>_5{B`IOiDJ$svec&J^B?;Ri(;Z!vBvyuX7)s;guXp!Qj=sEG|p3;kWtYcBW2(kpyGhS6O7y1%5x{+~(-YNybB}nZSUUU3;Db7L4ZZIaQD3D{kQK5_j#A^YQrl zQ4TipKZ891X6VG8VDj zt`6{tn==TLk5!fm#6~J9sG5D^Cy`m;hqz>>7k-ida4&kyEXFy(Kp?N9bY+jj6;jt@uEFP-1` z+SSL#B1PR5JC=S!itiw@FMS{+!v+!Dg;V7?|2pYrrPuk^a&W5`}n zE5oMcxS7Pl_it4{+z*%0kj^iBCvH`7?1^^okr4bK;PA{g8{>-2mOs)#*9=}~2-X7n zWM1qhqCEjB8H|iTt(-whZ_nxWkl}KAtii^6ehY z05Mi5Qqk7TilW;8$x(Aw zaH0`D)VAvSLczMfGJ?jaW27G!Sn#4WM1XcM#og1|-tI~;FXL)+LlipG6@Pv7wPnVa zH)13vQwO1-lmc}1NlC26cLPGNRwjNgmQDCvSsS0@jMJMm?ti0Qkcn6fojbB{IgSCL(QtRWeQu{?TP{C5108+&~4GfwgI8lR34V) zCP`l~U2D3*kek=N_kx1!NTtD@AE^8)YeZ{N?!dBk>#Ud55M#k;Dr)zE1>{GuUnEWW z)6nT<(hJOe6v@Uduh-`pLFlb?%fXYqotn`MZkJl7{G$OdGyxjwk9zg3J!WNidn?== z`>~%~6ZJ}GwHdKKadl`%ojb!RCzEkUMPX)30$88N=MZrv$SR zOoP}NY+W9Nzof|-E(?O-3Y%|*f!|UaB+TIz)Lm>#9g-Y-6N#iE8C3$!V>A+^E@+Js zE#2rAjl6jG3`J;OlDOUl z#L{F>weR{)-qg~Y_}dctCWiSZ91!R&(6_7qdk|@@RSCq9%W09I;&bOo_vWiF(mQ<` z1+-VaxH&Ax+!pf&)0C)JRjOAi7MGSvx_1aK#N*TazB~tkP(Y04x~^5@0bfPPlmSAf zqbrrGl45|YZ1pFbp09pPf`R_;rfJJ3noA&5!`Kg49|8KjUf-g{!?Pw zHgVdE?)HY(a64t*+eN$<()kmfGLMkua{!J6(+{@8xpao~8q!N*>B#1+ z*Mc1l-eyd<#0Ga@x-AY`8EsNj_Jw74Hw;uKOU2WoqwSXxgp0i1P2pzO20_}bI^J4n z6-2<;w9StfU8Qc&coE24GU@OQYh$YJ3pEyn7%bdp(J6n*{Em%-wQ7e>m!`n+)eHGg z_1>^}1YQyIa=hLDKm!%E?a)97R%hp_jvS4){AT^_D(NF>65F!t6_u#o29-+&;BhAmL47>k8Z%M2uBac&HS2MU|J6}?P4zla89Twst#?NgH(o;*0 z0QKBqpv^5LRv#8O>b_bH8`QCYuLo-DRl@QB+3t3Cu#SIl>|+iNV28Gqs{AEx_Sdt1 zX3@BK_h0BfU+di|zqgd<1LVR63Jk|Gj{$*M_jALA#5=jK38mTFOuY%A-&2|1GBBzPC*pT{R6BX)hU*);^6K&ve zkGcJROc8-*r)W(6*qqVuw8)SShrPtyd$2QMdp!G!%(wew)p3>EeE0zakB$C%hlA7r zF8IdoMXEl`C8Z2!FS}-cuY}VZ5y{JgPSX04{q)P|ZJWniZkD z=D6SQ+>j57tr+YiCpi+d0)+HeTzJ_M80SdOEoeBXJF}N{)pAz&1RNhlP4XtvlW`8J zqa`XrJ>iG3gb%|j-(k@6+`~^nIVjIvnPIre`eko>JdNP|w$k9r7nm0%$t+omhNGri zQUZcK(m97bQR}EAL8>G|$kTkCB8tHF#8LHRHM|1+rkZ-xHPgD%xpUJikyw4=>f`O@ zoo(A)&U*bB_xU?V*P5b3OCCpexEcrT?p7+)ZYIG<+15(cZ~5ac8MBAzi`9X}+PZX& zG-Y$?o)|sy&st(M*pD#FIF@oBI+v{BTw{3s@w*F(4Oh90ZFNXEAE$vRwUC%>B+6L> zpPh$94i0AzfO1a2Bkm;EZqO+2Fc|yC6)MS)UNWsa^#nOI!pHt%`Xo)VIzdyjI#QDC zzH+?cIEEamE}XZAySPXOT@Gd~V?13jVcW~qX>h;XYf|;B0q%T>NI7&r*;@JIJ0>Ht z+a$n0b`DgJ9=kiN7Yu%zs;Bc-oEdhB$-Q9UZ_IwVm<+5{>R(}RW0UI`b|H(M;Sr!! zPyBH|fQgI5c&;~#oOeE(ykdgQXOFqD}M&qeO2r(R-I5%IJh3dMAk9d+#lbI*c;Rcu$^t@Bcpc z-uKh^Fy}aP&hPBs-fOMBwwJcL{X`)}XJ@CRw;}l-p!6Otp*U${_-XP(NbNSXXI;AI z_;hF7*t^w4yLEu8<8bfpD3e>%%X=MfC#!ghvH1g9uFB%XWc&Pscf#6m#B;%Xa^Te- zgvr;p{=eVb|7QuYHQ9 zD0y@+yZ#4Li8Zxeq#^xlkzZ{}@}2kN2XP`FO?bMOEN-HM=Xmy%kKcW(lgs@wI=CyX zr!&LN25*szx+2bz;(z}8M}nz$f4q%^yW$_ViMG0uxBE5ykJ3}Bd=V2Ftc(MeA{9Q@ z_jcW>)U9WwMRUgxZ=>#8;0M}F2OG;AqVjxi#V3oG-)|e+BJpA1xi8*%k9WmS_l12O z!Q%NL2*vBWu`l@0@h#{@@p{SjO-wI9oiXW^+yh*KJ%3tV1 z%j3O#Z-{GYV&z*zQV7JioZqgT-JW7plUEP^#B63SGuX9&_ckB7={Odmxg$ja1myEkV!43t#C24c&RR9nHc zkj>_!lld8UrC;QaafxpO9}-a9$N?r$aDg$IhvNwqvQ1cKV2#Yv$N%SD&A7iX@x&KX zrF*Gw6K_rnKmxA6aZ#p)q*oYIhK($7;xDG;+OgB21T~!-A>9DcBGITP5!(KiB_EjV z$CGaISg7hYD+z&!ZulrZlbpg^)>kdS$OI#%nucU{%C5k~I-LT|2>>ZV14$X9@UyGG zUg@*QY_hiC~fYLh#(R{9!^(J$~h9ap1oU{*{~0 zq=B8c*y4F~l>%B>>CsBYNqg+Km+kxXO%(_7E^rvl_+ z?_H*Co|HfM`nC38`P*4YK7*9n!Ow4?Xy;AcAQRN z5xYosxOpVW_ea13rpXK2#@k^V;`ynhxHu9|i?6-?jQ&TNgj1x&6z(nTpm&Y4c!9IY zY7+J5g53GFX1$fOH#_R2f&uA|x9)whm{6fZw`CA+y5i`k)%wdw2=_bV`d;-xh6r^} zN{_Fz*$XU4vG@tPoTDs%^L=I9TcA_R0Bq;-4#Wx;@Ecg98-2ZD+#B%DU5wf9b0(Uvt%D(yBa}1L_=wR}VM!h@t34uC42B+u6O6t7 zZI%w?7ztiWjvXYLBo8Q!X5tl5(=d6+%um+81B{+n4>3G^YM*9{GjCKV+>t`H_x?EK zSbBR?RBNcrgAa2d#h6Ty;@A)b8y&@xp zb82Pm+1ak@-djiQ&5jS^Q*L!o7z~iCMjzB~Gohzju_}PD;Z1!}7gp+sk!&{h$7)s+ zQE^r~!om5?Y#_(uY^c+A zZKji1z*KLE*m^$sG54q>=N-vgv+bUrE!;rGDeZK6yT5dcx>q%Aw4tiBBwf+H9z!X%m_PUcabn`&K?=#CZ?^6aF0peJ;Uwd#^VgpWNVm z)K3wLmolL1osgmDwCHDLTaA#Hpve9+&&656Xh+-CEbI%oO$%OTcMH0>RnNagQIoa^`kX3$eMbB0gz3k< zp#dtUG}d(cQ&$QwEYkTZDV>lAs}>E#xtuJ z3+=AyrX*Zi%711)Q;?w=K4HFOD!H(`3)yUO+^_xfiUCcqlnsJiIEP41tg!lOq$jO$ z6g$2Ty6B0`I2>HqR@=8X5uI3y%hXsQ5TzO&bH4q$H$X8v<^=CMD9wwN6zTP*v+I&@ zYfFmflFT{$z1~I~ta-vSzDqLLOStC=0YYS{mOxC*|9m1Nz5bv{@V%aWQzoJLbNla{ zxG^N{hD_z1zH46%?X&)l6iQ)h0ywjfX8enjs>6S!Bi96h70#)uqa+;aQmd?tWJewd zV#@bBzgce$*R6NQls%sP-bd#jsStD?#+8xTFVt#ut$=dJQ8!Vb1VXtY{?)6(jrM0Q zfJ^+)C6%24Fx!=2w?`saWF}d${a&?&gl2n2s-$y%LYEoXf1q8MO4lXp4)GTgHBE&l z3ZbpnNc9jZHExbNmT?aPQtW5K7Nv*ZzJ7hC{RprR2}0mQGQA?7nEfXBD=cEP!4nP^ z5HdrU@yF`U9IZ96m|~NsKi|e-*tuH|(CVe^;|~zpgk-Zv?Zop2Go&~|1J&7t93KrS z)t*1-EZ^U~bEcM7!O|%y=5O(1aiu0Yb49_o>&9yAVU17_d%8V)<15)Ww}TTM7pq){ zrpP&-vVgV8f^qM^7B9Sg_`cxzTOu`_XoW=@oAJH-T<_)w;7>!RKvGqSg+p5Z&?WxokNtNO;fy+M2Q<7HM=Yx}*_>x6$PP46sZTTaUlxvpq_R_~#;?w9Xh3hYIl{d@p#GgA+ z|6^?sm+3b?2PLIOB%$5nrS)sPYQ3iSpIz>|nz|EC>X8db7%8^u+z5Y}EE&I0!Kp|2 z->R{a)|mOxF8ClLi)#4!igQz}UiwoBMS>qJdSJ}pL)E=+t~Sr;=tbX_xaB7(;!s86 z?|7-ZStM3VMod*miBayAil#ge-xOy_>Vzn!k?^cto0%M46Y0&<-8}7(gz_#jH{rLx zCW$_;729haJLc>PuU?NnjHfxz@@Pxh5fLI44Lp%&lVUR;Ve5dW~>v zwZ}XEzNYS}pHX5Al71s*WGe=3UaX5M^aU>lcoDB6$xJqG(UQMQ(@GNxBzhrH92M~{ zB35k%t~s~l!8aOa9l{AkT^fmtI~}BG)yk`=vOF6MqZKR!E4>?yPKtB ztXL(M0G%<(y z{(d1-!_yVxhHmr@-EPSYCQN-HGZSFP+SFHnPMYoR;2krT%ppwTcviUT+OdN#WUR!) z&y#ww!7-h#bB>yPjbho{D5r@fAh-O{>FK_SeO&wbR$EqdWvxZ_XSAAj6y7WOPtN#R zpeHx(uG-6}SB)OTr@j(qej?#L^KrR(%s{ZOYuxBGZt z-rA}R@k|Aw{ah$0UvDT3WMv@M16vsLn>a#*)a|pdMAvD}B1!C$c6DSwNMOGPeYacc zou~19FCmXP3C_t(F8#c3KaK*+^}~btMNz^opR_*FVXEGJ z9&9vfRbnexj9IF#ZMQCwCuhl>g|R`=_+~Tj6zw-^vJM-J_HBIxTm5 zHAfn)TWi0#8))7p>Y+_=BcqmY#lT_)-(OyJCl zS|L4$nu3B$fX2fr!oIlkn7e_rkP#X}vcyf<$ZQ#Hm1p!D4yGviK(ae@Fu=8Mp+EIK zlcPmYV7WpX28+`kg<6qVn_|*XG>!$gmgU$KAXZoxC`35zh7?G66JzOTD4DqVITKl) zCWHFOP41rkWTD7|xOB77s-f%UBo4lql4y6h#0#6Xxhpm%NddO($Xm+7Nl6!%G&|l#6V@c+Hw2cT?G{|OF&yaUuW2rUm~S>w$|xttBm||G7%;E z7Sp4Y_~8o3!sR*w{|YDGx2nTa)`B;sv6X4U{Wk-?`V`@SV|2u)5n%8V*FdYkN?hcC@qBqhB(?&0^(<=o_$tuDnFFYC#je@JMx-r;A zqo(5*+grYEmuj@yJ7g?10%s?CRrx6zhMVs9xab=T^l8Gwb^`QZKAx+%+ak zWSNw+@JM?3d-#{I7i8JDSMe@?L~c+?$rxSrKCf=V3GuxU`o4a?NxGVKML-y+#PLNy zR4!qK{Sg=Hls9p@l^ty2TkX^O+jm;IGW&#Y)fxY45<#M7@|;9AV~BaL@FGK>;5>i9VFpX1>a1+ zLH5PCrFBg5RWA3({jrsCX+`_|!5COIeR{%uddcqqOZ;9|dMLK18*yYqhKZYr7_!ej44; zLaR&@{|4S;CZHYErDQdN{W(@^Zd_OW{~~G;#T}NGHV2cPs)>GXjbO2Nf)IVA3f0C+ zZGDwV*q!G#CQD$QJLy6IHmxh?*?2P zvTGWJLZ4zsFO=R5Xl*v{p};kn>2ff%W#+QGp3n4l@qo`nrWbazS!N0)27L$?GkRAd zs;4l#9He!MC`7z!{ULO?nX)_?hPMCM#dUAzp#wdrO+dg6mjiQ4+ zbDpx2EWE+hBcJdKkJ4#;-@c2qTMqVYxX%zkGToNnd8{8{TX&;0gZKd_C!5fM3_}ps zv$js|aj=^L=Fn@h<@)Cv6!~3RqN>BlO5G5piVMOl=j+5i(@)p9Tslz2>vtg3l_?0+ zf8i0a9Z$abo;$Up`@&{DEebjnbb3ryb+FtuJQhitA0eX%9J>m+ezHAT53PB-cEISD zWCTJrpou~1!ePQ}t!e9}XdVenn{eR%@%T^t;LCTkW8I*~=^bkqHZaKd^MIK~s6j`T zOLXE&^NdyiGsB*>qn|x4YBc)r$aap5)eI4XM+{aT?Xdj)yx9CCN}qUN=tq@ExvpCCGC*~kj?q2ab%2=-@Xa7XY-LJL#y z;?oJC{8IMD@M}&|{f&Y&$Sm}0zU)(tjp1h1gIYV%;mv|vt*@8wK2GVGwBGe(2$@qi z-AiB8Qi2Lz!G#S>K*kdG6>!QS&7(@eA75d&OdGBPf0{xSd$>WHRvVY^3@(Q5#4-12 z_FV@i8tzJ@jj~WK9)(F744_ z+3H8kk%+#>rAQ@=Nxf*ak2s47{p5q_rPXby9hH?I{#`ZFy7oa)aLSfh0%(`=K13 z7sOz@pydVI#Y~|Grl790&jvw{_pn*Oir_sV+Z#+o7|TI}zyqwC8&HQut>{{-_yu?< z(@H@x_@V{ANpAfKc8n9x4L;2GR_V z<5RqwU(+$Lb?coy=^>g+k7$y^0+uCjM}A*lgQH1b!Bt0hsN#pF-LD&rSq+0jTh3$T zw@h&|Oeh&={xWLe=)A0B5{D{foZPI{1yzZm0x*ygVo}8`+3$t#sV@9HICoG8Lfs;v0 z6{$Y_usVoA>XG#{Q=j^9&K~2epvgx$&_FVp!*QhUPY?}^6`YIHNfk((NV^s={VT=tBVA^ zPHZhOA~j5~ZsiVbH>$MpARAHI7!4@Z)rLVgO$jY>=s!8pKNNYT0Imq#!Hiu|$gzg+r!&b+*3~1G{Gb+n_?2wN4C@W0G-#4GLQV3L zzVQ6)R$w)jeNIz9@+h{YhH2zm%X#Xmu25-4!tUVpGQYve{>O&X-nc{=$&~zSb6)Cw zq3mc{m)y2<()@A|GeQwQaRf0PfBIjA#y^OpK;kP1_o=r<*P(2{ep&m1;3JVL%0%MU$(f8Sz*mYy^NggWe8#x6fbSd)w zRp)vEBku|=i{F$oSe!m>y(CdlRUL=aEyJn)&T5CEVP~w$3#Et=t5FJc&`V3MIA5S7w*mS*@_4%l$^&9mmjNQ3BFxi~GqZsJH7NE{69Da1h?Y#$ z?q1%#KPeF&EE+dBo1)~fcq;zLwmiqY z(~fVyKDGg4lCu+%?U!59fw6oFIQXOh^mB_U-srbyGca_I8(=uUQ!7cyDPE)k2)}?2yofILhgUqd-NQAVuK==5psp#I_ zWEMF=ORMVdC2$r$Sy9DwCIXNx3(~W1D=)9YX|eg;oCVN6s$4ZK9_;A0Suhw;bMdZ- zUSEHsnk1%%aG}v~Zej@fZtg42oMVBcHIIgbRB4>#wrWytddbmS^`6-l zlv1OdZjN<)Efb9Ew3f&|P7|IKk4sg<)93>9*>z`?ZRwvc#9Ze>7EV!RkSTUTQa2O;SdBcdW`#bQF5_!Sm*UM`M*j{|wuqJL*eR_V~|ZuYot> zEncuPZ8^L-5_?3o)%NE&r)>Bk#asn(naAWQqA9>moo_Ks)kb7L07^qXmGt0EZ~ z8vE|)n}gO!0Xnnm2bMUc$8v}Q>oD{V{g?`LB?d3l$Np>6&1Qjm>d0iDszMB3UerEq z>y^>zw9(>n&P7U_78)vc+QJGI2Dz)rh`!#qHcaR7CHFbsdotRB2o+?D*`@^TV6tG# zjV5!GWtsp8Np*Ql7Daox$0*5G=4=1N?$P1RakF74nr`>{&y@}xGsEsVzCRvFfRPU( zhk{Pa(IcHVFAtnN$y%k+yISBd9}HNHe))E7FDBPMW~jb!S-}wHb2KVzer>iZ(G<`# ze9@Z122YCPLsE>6ZAt3SJ}ARJlLP%hST50@sKC5n7w3GSwU7@k{-V`dM;_t}Jdw9@ z>u)Rk=0bY>X%BcJcPvkPeLHwXqAyc~Sj@bTBw&Co>%jjmQQ8X;^qq1*jZg7ca6kc8 zgRUO&{Go!YzThU?b5@9q5zAuE5P>9@XVjFNlPnP2OHNzErzCsM*ZNjrQPs8J+5SVF zsjn|zqzr>LR5RwvH9P0%{&K7T86^IG6bRfwx}Mt*1qfV!ptyB=aClhg1V5f29v@{! zK1|9eB|*JfYTQVv3)9ijNiX5!C_FM*0DNr=n24YA?kbr{0b`P_*`;0nXzRm(CYvFO z`-*43=7rIuY3hFb_`m7a*ACTqSjK@7(?p$>@ZOL0`!3Ck0xA}j0O^x|AGN}H@fLHCFhwTzCAE?us+L2j?#6=I@cf1Fi+Qf!%HPDv7ft&&V> zzC+~JY0Ts}eZA-KsSvxL{O>35ALRt&o$9xF<6#8`HFodv?-Ja}{o5LPpZXDGu1~iH z=S%o42I@u6?erm0$2>P5hI9osqVGI1#8(zH#_f1COrfl@ohCbgG_2A|LsQd@DXKi_ zXAJpQe9f%P7sS=3Y6cX%_%$_+Zu_5xvbFI)cE=7V?my6klbhi$g^bb+Wt*9srx%!! z8%-#He!}mTPdXEQC4SDowvxRMu-fYD(|DWImw~G0Grr80 z+yi}~gPZT7pT`tTuTRT`x+Tr} zM6rC3co*N9-mB-`vJ=xW;Pcq!%}o_whdsWcL2uuT9t3I!GkS8*X1!X>CiO!rpJ!4J z0->=Elq4T~LL)Qa4(6Lh{r%-H$r^m&w%!p^y?vaLwh@trhE|}yd3x|lcB9A@y~z&d z3D(pGNAi?b>Duhu#Q;a#^mc2zM-e9Tcm%WaDKO|HVTpNja{A(~fp(tnS7+=C#1|hP zQLt;P-?IdGUnBg=_1O3jY+O2>bMEZ9{-sTwBy+kTygwb@(wg|xBn3NpsHJi>elopn z2xoR}ICbe;THf3dIFZSb9zjfRYr%zl!~m*t_FGQ2xBH!#{`u+76vjRB4$^;; z&#CJ}deXBxPUVCA;j6z3w)JESJ*T&He~}u~G<7~Zy&eg43O{=uB2y&Y|L}hWuVDGR zfJnqp;g_ZhO5T@7dEX-c^MzlP|Bu~EdBuku6R7@x+IH-5CdkJ>5fG?Q!&nL~I?jLf z>S*KV(!dmut@z!i)<;&u@T5|mIGLpl(*uIm09;C7oYNzg3&S^TlEh6FG!Ii;FJ@r> z88s(qZ>x3oskKBqHyDiNH}W|&t#~TbO3(SI%^py22n%6OV_-Ot;j7HTi=(8 z!LSEoUH`^F{)LD{lldj^9Z0v-!{3ywGEQq*8~Fyq^9rAh<$EHRIU|tHP`8>M+tkOH zt(Wt55M8JH)q{HY)cAbX-Zc-j=Iz?3e!?3HB|fC2iek(jM1}hV(2yuYv8hDLCS?V$ z<|SU0uD9&eS)|h1)1ZjX8C@iT{7uivs5VcQV#Oi8rAgur&R{s-E~2i;%Lg)^xgJSF z{i1r)idQgaNr*1h!l*^$0?fZY;#;tmx%<>}P&chXo4P=}#oD=iDd3JS5~r*zV z-$We_w)G1vnbql+O+c~YpQQx9w?I$53R)j4ot6#93`O*%jc)FTRMYC6rY@ofEf{2* zmr<$q%`n%6MtgS4h4ySkn~A!O9QJM%ngrS3UZRH<2n=o)70$)N__w2H(Ugr@zHx>t}@F&jMneEB?o6&VL~F}y>&T66DR@B;S?P4zqbA}9cLG`i*(ren|kHks@$cVpd{5%G)WaBUu z3xu(;y_FtGB-#6ik{N%RJ+VsSKIaKy~kzk+4B?H0}EKj2J zYa-HihOlzy-!GpwHNgk1!aPNjH_`qaHHRqQ4}UO9gkxuMTG5%w;=;Mjjc+=eerWwu zvyz5$*Fob%b#EJMf{Cy*&fdvg1IufLpmG@h?2suzd1~W`Xp$MSvmEu31s`&j=hNk zl$CtQ?S)6{%E9Fi6X8g}R^goi_Injw1G1h^n4rz5vk*IhULravg z1BSU8GeeVO`F5LuU$UVtl^^1m3+>Qnn|oB7rhS|~Cv2WrRXJhB35U6o?>z`i&bh6N zj*ZTeYiJ9f_`3nYC}KC2XAgK(;SDxS&?2%ZRcrxec+~3mAKXmE!qel!)ow6*%$HJem#a2 zV?=Hg50gJ8@$uuf;n$6<`^s_x@0MT{U!wAA;wHs+;25;%=yFhu2{#h$BM%wV5}m|| zDbD^jIY(AQUA+)nwJI%xzr@*=E3}B>z-K8<%r>d>w?PL&y9k8Xi_Ydr@xdr*hN>`S z)olz~W^_4xIFH2h<+a{eOB;0(fpbRtAzWu2=c5ycQI z74xCbx|cS+Z#^+P%eBUR&m@A(KVR`2xiK@Oo)n!rIUbwS-c{)YHq?(fXJcF)Kz6B& z8F|d}^ugtX+N)AnYa@8dI8n&Q+OOxl=>-=1Ou2u#Alv7%DHF0H{dPguinkhnp4c!<72RBoZXjvF1g5YEk2 z-;G7y9MsnIS8qfjB!mF^81EYI&qz1ynX1oaUCW)JV@PsK* zynN1zvM3iiCcfR!QZu`pZ`U;K)7W(wO*s@V-Y!Mj&;m_n3p?|I(eTob%&m^$E6-<* zb$ML}Afe826`qq$Ur=Zl1_(r{Y~8HvMstn;QMY=s9DmO43wz0s$URl&ORiib@k{3h zm0nmjUF%sMIbH(O+HMvGSDkk+w{6$(bW?Q8GS+O<@zCAxbE-Ao`(#tZkNzd9^!Duo z06L5UY+_ylJ&(^m+*SMvY)pPdit=8M3X5L-0RQ_PBKG?jbt`T4QIvXiPa#2rKVvV6 zwY90^uW5+#G<)z04>xzFLIB>VZCUd(GTBq|ppcLRD33`At$hMOm-#)60Jfip-n({d z|6cvNOm~hVTL4|jL+8V{FTilkqu-1sPtz(A-NKoKpFBy7Pe`xGS?{u>`r&M<+W2^v~j z1p@;wRX-koS30{y?Kl2Y{Cx?MFUig2u)aH5kr#;*a{C?;5f1OFMSj+Rbhd??cD?KlSE$=eFL>GrXA(oBvJhXD-j;uXi8FkM3Prb|a0u zt0$b?V)C?Xop)I>A*JWE&*_mm)_IfWkG@rX^KwE-2#FIZtyr+e!r@wg4@l-{jwqw&#&W|$vUqo11 zA3<{6p{`tGcfB~qO|R9rMD1Jw+&vxwG8q9o?s;6Pz_d&JzxkgO^Q7D2bugT8xjXd! zkK6Y*x#gv}&0hJ1VC(x7HG>o`p@kDD1VpH2apYOWL3#E>fms3Ged3v0uU7>g=MvdS$}0Hqy4-5?A}aQ=uOt)+^SE?T}FMEPj8n0&)G@CfHk1hZicV$#-SDC1{m~H z1F&Vpv&aVu!?NcL0!DQsv&VSi6W(WgJhc3{uUe10=#9a!o2z9)!Rwf>xQHR)vd~b1 z27p$a&2RiXRkkb-0HcB!R2eJ}a9N1g`s6yVw0Z6+?iPM*zNFCWkrjs(45pspJogC)%%a~0>Ud1 z-M5uJ^TQ*gj?1W=>YnUK6l`OSx?BebW1Y;Wze{}SrAko0YEPnHYBJfV65<> zho86|Qt$US?G--?=MfZs!!Y9X+8aD>m{=hAg8EV*!Xj+~(q9vX^kTS~0IH`)W! z!d?dzOd;nd46Q8hA+xhd3i~b@OwB|K_=~TP=$ty-$G+j(_YX8>VOUD=MAbctV!vaz z2a(g^$*Ao45)sT+28($EV_&Cfd{Ao=v0(fOT7qA5_9ASkuBZS&AynXpUz_uWlYZc8_8lRcivNgBrY~_Z2lG(nniSmNZr1JE;JA6G)!d_o*a$&BD4-XAS zOIT`uIcOeR|Bh&i7Ht*c0w)UT4};O?^&LlN*>V~5n2DcX7KR@#zjXx#COLu_V;5fy zMccI|PiYtmA*G@{UuEsR-+poFO_z0`pE`-DP6{`_nKTDS9G6~9Z?fG0Xlz6iwmCkC zi_`kQ2>shY`!5f`uBFiMzm;$HLVc=ftg~4obJ}>{e}w?w%#{ducqr4&tx^4^q*5Q{NfG(swk>)yVC>ej=L(JwZ>n zD$|DBzk%O7x%XjwPa~I^Ci)2%-~ZEI{3ppo?1!X~Kqf#h_e;8X!f*Ag52Z`<@bUF~ zQgm3ad}KB$Wo3+tjC9GR@FbV4y6ySbyy?UYu;pggCk>Ss4Dh;52LPtU2}s4)L=JP- z>8>;wR&4xdiygC*_c z(T;l+uX6tQ;WOu+FL}qjDKSvd2m6X)_N+lUM@NoxjqXC2;}}@(7e4(l(P0@SmhUWe zfG>I$Fl=a42zIHiS~|*=Tcs@k1v=3QcZZV6(5-*6BNpnIp%<*O*o$@5Q@kkg+4+hO za>dk2lh(be5jNdL>6&+ldTnp!uXF(TuCY8*>U6fOTc`aUq;MF;_JV8szq|l^|8&58 z)f(UWlJSC)t~V+DdFdzGSejLg3VL z?Od=_o@@^n09IvElgra4-h+epgSm}>jg^g`wA@>Ag?U8Wdk)XB3ucX;Oji=T`CMa4Ot^WnnOE9pWxq3%XTnqOe88+G(^vwx zOr^D1PZR;qJ(zT$5!iKjE&fx$>v<}i(|F@@Lj1|xmg{($MmEeBtITSB3hhyg6Azl} za_qimlR%Zq0^xYdoq81e_&e?d^sTq>-NLo2=kw$$%0XA1n$qo{pRPM^K8nSjB~`+P*x667z;Jkp`i77B{EO?VDA&Gg-BIuf z6B6B{BYt#1@@<;U(yvNEV1W-Z&|oswS*-EoqJ@?1W~U59efhE)ls#M3u9ZrwPQUak zL|)r^T*kA->F`X)+!eOt0aa~HHZxGChxlSbrW3?dF%COIb1_Vp*}zR+dbzP(cvaT2 zoStR3g+dYNPyu3_{3Q4zNCKUS{!s0HJwycqeTt&GtS{@m%4=zPI+$>t`qDCI=JJls zNxkovQ@@dXFum|nQCP8xTvKTiQ#IM0ra!3h{CcF%(~n%RvZ0oBhE}QN!&#GV_1=U$ zGW_Jri|6w%KhiG&xZ4HbStD6CbljM;+A68Fk-$|#?dc2R?a`ke4=v4Z!OD(Zq57=L z$Wb6&aWopb0#eV+su=}#Y=}rLcPg5uFJJfSbMnP0hcG-z$XjKjnk;B@eG_9pQx+VK z249={_pHy3YN5S~r`6;R%&t6saYqPQG7*YBY+d{0M=e1dDBKE0SRnJqs z)>f2Z&vMLppzc*Giz;le zGe+yM>*U7naGw~y&BH}|*H*F&h)PaEny`p>yq3Hx6VubQm3*q-4R_;k>jPyWZ{H>- zWGk+Pdx5aWF*ZQtj#gvqIj(bBCm@9bx(9V2B04Kq0d97uTd59Xz?aBWLxFU1XX4A% z>CXDzM__wmxE&P!n8|U;bDPl%aIgb>`!q{qejVRevyJtaWQ$n`j5$vM$wlJaEFOyV zs&_qbLJ*oPYWgD!=0qE`mBO zub7D~ZA)#@Axj}&zKas`wk1V_vtE(D+3FCW)$_xw^-HVSj`hq&{POLlttTg~mE0g9 zpsw9t_@*wWU?DooG#&qc$S|Nddp!mA#29E5Jifz{%aTekKmOyLXn0Ia0q)mA#gbaU z!c$O}bk9hr`SkU6CZTw(V;`XVD`WxKzf>mA4T>WDGA03osvZgu`EXe)cJ8~Fs;X*I z5eYsAjUy9DT<5}L+L;433o>MPy!@~9i^82n)wAM37Fz?|5pL$ z=sYau5GMV_Vg`}DA0gE8XCh&g^sFl6#RK>I(#ihoT!oV6Y4R#)Z4{Y1u>}pQ_mKDd z2d>uhGcwT$T_V;7{l~9NnGJrup0ToVB@kcnYSalQM|VLDGM?C}*>GJ2p4GLX=a2;jsv)U3_Mu}aTWZ^M<{#~I zx1oLdPLhajb$Ut0TAg_{1nMKb1_UP`fxu+WBhcvUr*^X=;OK~eJ!b9zE-(?aUHu_Q zrJ}$AwBP^L>3YV_DEFrq5h1Qe$JU1; zWKOFR{B7TwM+Ci6y?<{4Z_G)cdXP`%`<0E5xBhv;l9rb*d&YxR{em*)8-ooLCR4CA z@kHlaxOb1kZHyUIfeV4S!aqoY@;bvlvK;$Odw?!Yha9hgCaTkjoqpAbbOJp5RlOyx z)q5~TF1`80YI7I?^o5>yr|d<>VZr9Q{>3}qfuwUXUr@ik6MuEoyOd9((qTUxxW}e* zYI+BkI3WivX=9Hq6N({d)L}@=4FaRH|ZVp-}I7NS|SH4?|FssB&q& zE>sC4D}35z;Uk2-xF3b-fU6%d4zK+u9)TYceMw~%0YuWgy1F`%;gj#*zn6mRv(1_M z9%g6~$Pap;Pj`l%(U^LWa{}zOg0cczcO;z>Fw&w5n3&c6EI^m0rtC;9GIb8nnSJ8iMKevtF zEi02vYchx2f4~&RB|>L>vj6a&bxh~c8)7Axn!&O8c%=E*nkwZG*~$jt$1bpph+n#B zHK&Y`gH^8}!}uTOXR=>6|IK#%L*-?z5j;pKk+7Qbr}(hcRDbfGSj?2eLp0czcS(&+ zS&N0_E`^H!Q?p!_R>-_~J97^g_Gs!ZOwHpeJ}GINKnO`fPoo}39*j@O^o8R5Oq-D7 zzNr^rUAhq-aD4Q&Fq?4fe$(ngPljm+TLj^g-0BPI8~0`B#WubjN%u4jFt+^dr(4_F zfHI_)G%tLa81Zz2Iz3?We=FyR{gl{QT!l%EyQBZj_xwvRGI{TIWlG7Lg7p;(QcF>y zu=lZ5QScfb!rd=W-c&J2N8Y4U^xUl!cIF z*Cv%>rV;(T4BTB3Vb2R;sjN{;4IsBvssPW1ex#>Vvx`aGXTW^}XrjJH&oshnuQ_oBuU$)Cc#SW)ybR<74UrSjk1{d8**_ zbU}@uz_`imtuJ(7d$6q0rRSo_HwGy#J1AH67mc^C{64PeZyln2KBQ)eAYSdqJS|?A z+m-O8-UlDj`hrF`(a^keeG2a<=LyjO|M1?mWdM3Cy?#jDslOZp$mKDHU}iM*JLH2H z(;S`vsMi0RNFQfX^KD+-=(Nd`X~g6?moMfc{d-?5>dzdW(emLb>h;oLzyWw0g&jFx zm#^ghpl^B|5PW9y7gGE6isij{rRwc?z5hwk75d;FiCBSJe-%+1^f!BS^%H6&^TBix zqkmB@KXWDda8Ps!nXTpjfaSD1C~n0C)grcJQ*}7K6@sS7(^%V6vZf>oSJkU`04Vbp zkN@Y{febdTv9JFI^nM+)-1>5iC-872wADy)AFnn?!5yxIvES|gwrxk0HNYBe&0uT$ z_g~3dvc8X>?NdbJp03ZYy3`j&JSg9fRgQ~M52d;^?(JL(3#K8;Dg)eNN zRWd4Ntp9Sl5YqgBjt>baMA(sws=am5V7WJYj8cWTF{99;g0(TuD8pS^9ouSV)HT|O zue&T~Eq4f}zE;-Fd~>vI)&vN|!+iQpkY4DszYNAk0=o)yJS_^qvvjE9Zg#aq>_6n3 zMJapMs&8KCU|Gv*3!lBp#@3$`Q(j8(9{ibxeO=!{X~9f`KY;#NBfa=$^jZ2`7djhA zEEmR7Zc-oZlC@}c`Av$C_shNG+-1jB!Ua9v9<;XKp-a*Nm(4x{YSyTg3uo#(@S)ZT{nbVM}68zN&{yXU%U!ou0^9DwzHbx_o8il_k_w&h(~&J7 zN!JEZEe--@K}s~?4Ora zi4ACEiT$a2^Z&8+7En>O-TN?&D2RkegMdhPcM3>%cQ?`vQX)tr-Q78W(xr6w(B0hw z1K;6&zxDneeg13dn#F>dIp@Cj+4tVp-q*eYKON>pn8(+=UFfq{hJp@QEsdwER7Km8 zQe5mQ&*s&o2r6-W^3XJv_wyrWJKb=?u3iX4-x{_NQ}(yrZL7q{Cnu5t42TAtTmB|T zF}?Ztr#9GlMo+)$-b}9sP{(`%g>9r(=G@20ndDh9%Ru}^ncud-4H5ukXZVh~M2f#H z2_&0Pze{vtY*|}2(oiov0PeIh(EG^szGFZ!x#}C*T*sG8r8l-$wIJhszDLnx5}N+H zh?+>_P|iDF{M$E{)G{MfCR& zZ#1756VRNkDmu1)J;W08h!5j!-5UtJqd(CgJdh${)o?b!`>#2|!kMvZqsaxxcKqWJ z_zyBQ10Yj2-oRfKQ2{1P8fnNy?)_4Ty}#o@NeaLQaj~Ou-5Id zHeu|zpP`837EK9Zarm=cMEjTorCbf-!H&%rXyXNSIqM*TaXGfR8u#$tZR%8AMT=ys zDF3C*{-DOe`#LnoC|b`@9_b#2*B%1^KMR=)VdNC>Sw7Cz9$Mt>tq51O9X=ZF2*DvL z^<{@Judz3j6&2qG2T2l~=XMZMTnRBXC}gB^oC~JNS$U`D_Am(wW+I{D3ISv31&&nB z&CMqO2?=TjhDfWKggY{J_Nhz8DB|nr>CbzTqq^dDdN)XuBI4@dfui03+6PWO(-{^oo6@Qcm0 z-?CZ?fgzvRyda738TILX=VLLIWwn>&s~>cmp&={-RC zeA|tlv(6{*cz9*|C(5t<5^Qsq2v);USe|l+Gj`lh1?JG=IXZtkT>HQ8cZ=4&^ zph`zWo$|DraOJeAi|~s3b>UpES|Y3EITJ!83G7MdNvLF)No-!GZd9Aw9DH7xq9Wn7 zHnM)=RP%zbnn$Fw)kwbBG%Y_-n}`)LQMplJrU_}u)z@tb#v^B9;ytVzS{j-h0Krxk z5eZ<;(5o_leQI5{>Gj2LRpUwL3@Tsz$8+|dAwR!f0Sy*m=?X1`xaE~vbzyq$tBAmy z#R6^nmhYHYSVVnOF7)<)1ZW1&CJ_)wlbBa!WVw`8c_oxtE3~}jJ&&V@pQcj*N+`NT z`L!bg^FC@b8jA0Um{R}Rf;w?h(kewo7t7-%pL-o`=gxImq zbRAC(tQK>)O-;_nwxzh-GhTBdEV-|c6AD6udFw4bu77&^r)lJGoQbRRKI+0 zR2kragM*{Cr?A8N?T*33>DS&c9)LIP6<4;V8%GwAI&pLe9I z$Zzj6v=^nWXK9hk0oV_&kjq_R_`B=8yvnT(dA}Pk;NNeG;MY` zLu2TY`#Kr~81}cj`h~=`zLs4$I4h;Ya^kOe-3UPlOo|8$=$9^%Ep-Ri`@FZEkNL1H zlOokL?l$pdy|tht5Tdlaq+2X{$Dxz);n8c?hsHq4RF!YpNC0DXb&{pESesjtP6&*a_Z5YHx31y$SjIw&oZXAp7Gzwy^a*Psv0;2$Ul4ZRD+vpqdRI^9PRH%5uP4vH4L<{S}MahoJ}^1)%=nHbsNWM-y#I&dn$AK0^%T+V>#k>T}T8sdGe!_ z|40e{V?^%H{Qbqn#JC(0F%vt-M-I~XBf08L*PczS6AqI*zwEVHAaQ&L=Hi@FqC)C4eUWuxJ;-CgRZkzI&S0(Ca2@BP z1=jJNof*o(+B;g^O!roa&NLxcWBlnt0ht4W$tXvfPV1Tc(Xj8)Noh7taaD4(D=nyV&2qPt3{P`^h8x$e=9y$l7Pa&d;pMTwZTGujJ{;6G6nA zaHd&FQi7lGcXep*Tl-SWEt~BYT>tQra*0SY38v(|akjadD}!trODa#jyu;q__eS(9 zpsKjVxYX@l(=YYqMUTn+#mZk0Qno?jtKbv0=e;0(~5e-QS8FN05 zNK}mbUCp(j^ytgKQ)*u@(cM?O3rv=on1lC16hC5Z^}sTB;%5pMF(dd6A>=jGsSRU(`Vjxt2Un!vlLe&osV`c!&)FtJ-11FFCCXCxSNAO| zbobSU2n_{FAMqFjji<>VJL~p0o9)Djl_-zNCiRqQ`RhsKp>&h106C%c^%HhJ58Oq$f2?e)o2q@s~j9uXYQu9X-gzus&1dPBxA!{%foEr@OBlgl;{HyFC~v- zazcib_H451%BbZ-=O*ae-PiEq<4~JwBH$kb65Oi&Qdu>D6Zjiqe6uV0Jo<4?20ssP zsutHM9&Wgb39Xb!*E*)tOyIndfq#_08wXc-o5tl{xbgBTwc zs=fo98Mj?vns*io7Ud|Q9IznnN4Th^{Ll0V*zT1eQW)APu+8~gaG!oXiE%d)GaX#}O_ei>eD8M$kl_cLM&G+Fd=`1YfcaVO3HN#A*h$U zaPu@0yBv;ZOiwPgLqVrsDyNqt2G#Z_obKbgwj{jg0C}|r!x+Zn0Imnca^%1EG0X9l ze>`(q*Yt(i8E&7_jIO?!f|=P%;X2%6(za2bFYQQrUgy`ZRp!p^PUs>$blNF+BykC1 zSL27~(u`aH%gs{yJA39)&HhU z*pIyG9`@ZbaD+4uUF4Qj*orq@HK@tiPJ(nA{b6l-{IW~*tkI?TW#$K)O0Q*I&Yub* z7Bl{bPEK>D*n6l1-3Fo2WcbnY zewHyaGo5&2wSwvV&fq|OGTc@T3kw}QLYDVZWYs@!IHMux zuK&|s_YRh8b+V=x*W?KC$93GsXLGD>!m&;`b*B5SGiJv9YLK;3OHgXpjsGk82fLS3 zrP_(-a}1!7QhVP6n@{WOsXwB{t*7mBOb6n0XEUw^Qrb;*b-rmwTLrxoNg^#X9G~Ql zPfiyl(lAOLrdc511guDvnZa9LC`&p)>rem)u$q(|Z%{t>y6%jAMgsWDmX?+vfM)Yi zR+ipJ+vz4j&FGIX3y41X5Za~QCI`n?@q3{}hCVYU##?&^hFlgO(BH7WDWQxX7~wAE zjJUnAPH;__^;J7_6pmh{vV1OW;PM;=?Gw!?*Gsr(#mt>3pFw1=v9TN35jL12RDBD* zIcH+*BsEs6arZiK;XS+=%+Fqqht;jyBhSorx){tn7vb~ka4gh{fKbUBtF8l4;ZgtS z%cbbIzk^(Ug2+2O*E-1?z0~>6{Zqn(;T*veG}4#fEeBsi)wWGc>UlDW*g0)J z22K4us2L~%2!0`5N$Z3;iA`x@Z%hu{*!-48QxEW8b?29;zQn#!P zZDWShjs1)@|`;pjQRoo%oYtPfyQzYM~CtxSVOF!e`Or3aKn_Y_6(bwTZH4(il#>J=)IcBmNt4`&aGw&e#c9E z;M7FXx{qlzs$1SxM*3X($xRa_QK+t&Y#Ct|pB5(QZZl`akuOQ-^gv%Ns0Q`**bMGauhy=9Qtf<{Nw^l{svz1!> z@pvg5zVb(K);(i!b!dzNQ@G~vxa82dL`HX;nH=QRl_v7^*@)+r+1XjgQe`4amM<>s zy+zo!O!PPOguMLifU;?FY{sJP6Ymu&Bbf&!jsRcOeLvBIJ_f%AD`i`xYWy z8QwSPDJsGmyJvw70Z7v1_}lYu=w$Py>Wqy~50%&T5y*UmxWBL1lOXW9%vj0arJ&az zU`pDfVLIQ-Y!+(uhQa@TeR-B%4J9!L7RaT41gdzH z-^(#U<$nefpRuBZF3Dw(nTv*kkJMrv`eFylkP9@c^RaI5^Ah^_$ zf59HOaNh#~o9^#84Z4KWeGJ>X%dF~~6Z+G{{_|5BDMCpUZ3z}=C51&MOG!t0%liDE z%!>b?V7DT6h6@}m&TVxTV*xVqNjJJBdFAvONV4n;QJDH3V=7GIDbH8@7nS42ND? z0n*N6jb|BQ>t^(S2KG;n^`v+^p-_6`_O#lcY5RYor*`V6PJ896NpR=C-U$psc6lP9 z>}6+$UUs&o|9AWU`N}8bPpbjSs{E$%<@AGp z`LCz?nDQH-ue|W+XWjR|oiFfF4*gGnd^~?$J=0%7!;?A4=^|KVHcFS?($dn=<+R*g zDbm|h$Hc^7<7?F}3lnlV_+K3@O4I==%~e(Xivc@tpfiSP2oA&{S5yDG5Gw(=?*kN8 z0>o2Rh!f_+`E8HZY*R)Y+8Urt5m6B;fmZ6phur;Q`O2dytBTjjgOTZ$7xNMsIoYDa zIjI#*HDs~_<#&^;j0$RU9MIb_WNH?coCS#5KLOwWW?@#8aO~RM>a5Iydz#xD2ia)A z+z+pYVdp8+H)C_=m$`YSr91YI_axb<)PimPY1;g`GY+|9s46Xxr^@8Y~0 zdOSw%2O-!z>T`layj|Y;mrQA6 zfro(B8%IoF{`+WbKCRB8{^Oq9-eM_1%LUkL!7hM25%=-4{*o|%qe~8Y&$q&vWk@fE zsAROC$FaP-?-1fR2F5Cz`4L%)fN@6ZwrQfCq}$_xS$}_jcAFq?N`Y+Vx=Ju3iA#2z znEiZf+ykWHjfK?sN2^iNl$p8IqtH1w5kceGS@`aVJT!IMUNT$3&h0k; z&8WPuGkmG=moRSa-~Y1K67;9>IRe{j(X1$jQ)}n~_wgBz$NLu>tRuXA2i$bo+PlGzEyCh-F87C($JyQ8Y8P{Fmbqeo*v`L9VfBmQ z6W_t*?--V~l=#vS{yxsOo?&iq;;^&0^6ccB-Lj(Z;hl4Ut6J(%>Nm42**t|+3 zfhz1UQ@$+8*al&6*$00m_FSA}4 z;auoa2jKYKk^pkA-Nhx08)7FRZ3P%!}^O@7Nd^iofx& zen*8{Yw!_YfA!-_s^&3c-e`tRG_PRQSE-!19?rV@Pjg5hmqa%@`&0sejD{Cqy zmezzCWo&ewS@lGo;KMG-aO72F=0h}6+FWYA?Xs}f>`!HPjU;8|5Zi-+%9dk_Cf!D7 zgOOhTBDr))&p=h5w}?=O!EJ1;`F0FtE~$VLh6yds_ugOVcLNZmcgK1j@xXLLHF5ygs9rtC9LFRL*qbYTr&K~@6pR(U~_;Cw@f|qnt<;q`<+Kvn5 zrf?!tvWQWssWG3K@~gc#8q0l=K2Y+@zLtjdz;2%fuk`^r5$nL?*hoU|xS4ZUii_aa zFP>dGLKZ|6pI^Uz|L}D{-M1Os?@qB>Ww)8DU-YmEIk_QJ6Ay{7!STZLeQ2v3>xz2# zo?mC1Tvnfjt=FZRs4Fut+jZV_?6=k{z$a+TFr+yJnK_8wBN=IxjJiLyBqoowGnddn zBj9j&!VSxg3j%-Ycnwjx=3SEUU!24t^qrd?!0eU5`ULEP3;z|Oui3Bq}{3{{rg{`mRNCE_r0X$IQQznThB>Pq4XFh);`wBQ(;xmIIi5c?Y5 z;pbgkEDn1pLw9zRw5P1?8wX;3xA9+ky@3Fu)@H|j$6f|8SJ_4w5ol8!zz)K%3$weE zNb6){5*E>l*10p1z;g%d+C{Heptu$ROp6bhhYUaG9D!I)lrH@D` z9JOz~QH|ejyv+L*Q`Y(I%3%+?OYHUez2DUl{L*+ylGgO7eo`#p_zk=si@m2r>1 zS-0tJXA~Z^T!ELNgU!R+noai=4V~5YeXgQ{$Cj{q6KxivmGop&$v2SNr2rMO$z#uL z-kfre%2w&mN?F)ch#&v=VgR8z0R#}7^gK4d6Av`=CuNsIkp*vr(;ftLrkBdsnX~;> zJ$%3y<}Iqg%X?wF|Dt7jN7AA!Z6IWfn7Y*?NBXIbzXu226stFOt zw;O*DygLqD!*RHqr%t)gfOSRVAD+}-646Lry7|3)cazwnn&bnXTt>Qn*rT`qDxX>z z`R|K6pgHmSh}R^LU_K%8c`14k{%Vo_NG{WaTU4|pulx-RFG=7XPbIn3T7~)0hQ(adFjAUOoy+l z4ht5gwg8=7I{;cfPS7y=YN_AHg!97e3&vKI&z$I|LFOK3edwNg6KBh=Y~>vKRn(#O zl>WajR;aWc0N-c$?+$7g6I(Cx?J9n5S=qPP^&r+(rh=5sX9FG1hdABrea};0m=wzO z)9C)|Gb(H0;2fS9SLC=208_PXxDG0KUI#Pj9OH3Dd)p`PizyoZIPzG`km7w=BKFU1 z_|Kim*dtaA0FC2ZizW0*DRxTg;{UqgrwyF=_&H$CGT&s5`X4s=KMPH=dyYLQ$5~vO z^Ox2B_b)8-g*pyEN;L<68^V9DfD_ow!qiDsMd0F4mD)K}9`D*7=Wi?iHjHm-pTQ~S zppVe6+jqc-t{LczA5{H%+wWn!n)*y59{yF!Dw=)hNIWF*P$i?h?Iye}iN;HLujhj5 zTJZ5)aMADa+V4^E4!iwfE)%MGJ>Ae+cQ<73i$&5XFPnlh(lI%yZ~CWc7ev9mPEHr# z85ynf&+xnN@jDQ>{yFjssn_4W>>bQSqTg-e;v=+8`N5ZR{wKfJwxIV2P^6*wXe@pvR{gy41mHOV`;38i2^u*- z7tnblpbRUR(|l%T#9Ei3;#DK#llX^!_@;|k!1s;abzUW-rNo~E;&-X;_gZnP?KZV- zH^XBq`6%=8Hj{U(6yQoME)qHoVu)I_K@aWS1n=fXjBXqflD&?8@{$$~qWj%+z0G2! zxDX|QD8Q^=w_dkUp<^xquP%=#=#Qh&9SOm`Cu&}AWyY$KA3s2_bG|;$eB|@r0<6NR z0Z_I5lDUV>v*&Z{wM=kwR>0X(>^0)GG{Jv4sSHbZ>^akv6X7((u6{i(&FHfJJ0jfs zpk|I?*GoqMFBn3b z1MjypFP`p6REVF7#31K!`QdQc_3_I75yx}lG5C#MD9;ql6h!Il|C}1$-a_F~Cu#Br^g4a3$`L3>q7a-xuP&cWR{Z+PNDzkM6 zaBi!K`(V~I`;g4iD8SH#R@ac$f&! z8!9LurgbO)5VerwiCiWX7e!vsW6uCaa{OCimgMoK2T-F=pM+I`<53-NssK8`?^B@DgE$MxWXcb+Ti64|lH+DyV z@@r9!0KfrsNwsgiZ3MWp=R`?y%@(7A;q>(yh5QC%3f9niz<;};^PLEZ8GMIz97p#( z37oko_C?5qc~s7Xs9bkr$#*vxPJ^YQq#1tZ-2sb^>w5{Gb(itx!5TRNwEJ{&z2sW) zFH&B%Y^%|W^`DdXUc*|<{z8o3dVXiEf2ZX(Yxw1t&j`B4qWgM8E|3i0tofe+>apd# zoAJtxz{6#}bE|rEvmSLU2ds4Vwwj46;AQqH<lg$ znLhU2Fz+#HTcWnzPZ$YCq#ZZF;{}B{=gqf0?6)C_)z|NC<#!c&k)oR1Ler1E-;;sv z5vM{l_m$gUEL;Rrofis1cVRTMP{HCZkMig=wff@ux2t#>u5+g3Yc@&jXqSNxc_ZZw zOW-FWGyJ7tI0q??4WJ5$H1__Dp1YwCRk_d+;44WOg~SHLFXREYlidnG9J|_iz2GF@ zOmXV%>5)^mt+;Uwh#2hxgPt2l`=qhEI(Jv!^=es{zs6q%LW>v)uc1D6v87Phk<>Rl z+O~D7Ac=V2ya&6xtiQsz-wAMtwZ^4_1z$OZa5QiopX)qDL%0uK>k*tt?YLS^gDe9G z_n#?HBw;`gESw7tqNuBbJLI7-AOp4JPc2lHjw=Z6VXabRrT&uLOu66uC4w+5e6rME z!kiy|CzdRhAOf1HEGFG{^AkVBqhk*(67W1X^Uv<3cDP+Z7Q}V2cz^OqKQGEYQQy}? z?0Ve%0j8RDn2X%tg@#WJ@&sAf-YMEf4Kc=)uoN`p1&Q}b$EVc#iimhj+{#wS-p-3x za-2eYcOA$i->yc}8N6q6uF)j57bg*W1xCXw@cU&sXWFxQU`i5S0Ee;WPS5)*v|2NQ z_P{MVc#4T@;L&FZv7QjZyR|f#trB3T&>b&~;yaUUCmG7aK_ChgZLKEn-~Sc5y5fzH zLskSC^>GO$BnT@%u4y?CxEK|Mtp${y?xQmyqXQTZ5yvgP3i?;fUQb4@!1iX6;BD4R zQie*y-Z|n2ixCHh;V&Qma*x`8d#qj*RNhD@*=uj_iE$g}vCz@JJ z!8NTPObk}a#mJ1AT(wla>M-s4X}ET_ckL~ZR$IPgBX5<5inalp=e^N(mkd+Gk>d0s zOgwyO1SdHkc@Y=~a2d+=o-LdwP}}9@HDQr5CefQ}prs-iQiy)}XS~a_PNl%ayM8fc z;_;jbbpU&g&22J32u95WIPCifrCxAK`L1Y}N#LEMeXmxCMsz`4mbrm@d-ib!)&LjB zdf2ox?0c{{>gQ2X4VX6uZs}Dzn*W;x;4-}n^!T;Gyml~2VwrvQeZgf$7v5WlBD0;U zZNklWgW0b=!{jZwleqW-W`(YNCQ)Dkpa;r$0rUCja~$&DcYvXZ&c@^x!th6gpHz)am6To$v7TIlWZP$xpS)`{ z%_xv0c*X_v?i#yjv|D78hM&TW(-{{rQ6XrpAU}gqW!fgV;6XxC%Y$~lX?=ChB6yxW zfmzquq!5;EHw9 z)$T92@=-+{dS;zz>_eJ^vLuevus5{qya*?~f@_2J5lnMN<5+C3rt|3+jJz!?iCWO2 zk@D6EWC!`HZda9MBfM1#GqY0lQO4t7SW8#94DVy^=XpS_GLh(=I&i{BAHZw9jI zyT&tp{)@uu?H-rSI$HJ#9H!K8-=FpxwX45l-*yR2>R3Pze+8}fLi$Dz5Z~x9k&W%0 zll^+}+{b(vln7hDb4pl*?rt5$-OpweC9o^4qT%;{nf_DGWX6TKG#Y-;KV>I}3V9^aZb-Htu^&iiG+<1|~_ z#wzFIg=Ik9n>VD&nFW-ZBUvmJx2R{bZCWl|4Wi?Pdt;SqDD{|^V=bXj#1_Pi*(!x3 z@vbta!_5$L>E*G$!nQWh*N2N8d2rDK-L|ht?RGf*qdp$l@vi_#t>1!q!y~sr6bG2R z^6KWVjF9ON`{b@4%mF8=oO(Zf-h|U|(=tQZ_Bnq>&(>-36txm28jhW3zQM_VWnM%G z$G|a-`WTI70xskprL-Rga~o$drY3_6Z!3x~aId<*A|9QJNs6Q+K5zJntFk)Lcaz;A zZYF*po&$M`JnD{=QJ8U{B)9Dd#J%H1v3Q?*5yh6f27Q!7o?B1k_Vv#f)P4qL`|D%71PYz4g{2hQ4d6@{k@034d-ioFda)db0J>INHp1Ij`-uyrNz( zUHV`jE9U-!x`Xq$VN*w0%}cBsE!#E2bg}Z!B$&yV25^AJSMxCbqJyHRZQA!wn)q?M5cjav#q!#05$Uan`eUz!qW_ISCWx;WDk!%)A=8!Q+ z`b-V+H7YtsCOD%*E!s6hivOy!E;M#3?rvYoD>-wStOljVmOuG@n=Qe`D!QNh4j!gr zeMvRHBdn8leOm@-wP|QZFLScxq1i?6&w%=WTi$$StgkY{+1qOzd>1uAYQfwy$ti?^ z@_q0#sQ=_MGBK|9b<%$FwNNw*nN5G)%v79{8Z4&8B}V!@Fg>S9^d&b1&KAZT0g7DB zx7U{MWs+WnV^yy<^4!g@FYqr5?8Y@G*L-t5t1cIuXL|;&^}b8L{LE}xE3jy$+%bPzgNreR4r zRE;`Jn{?XzuKsc=&bPFZ-?f6+c53Tt?vuPD5!(}p!Q7l8CjeQ>QB>0{h^nz9*zv5G zb(QUR-E!eLYlQgJJkVj`?aBWETD8mM3jz3EapU=Q#3}g_x~C#1h63#bfRHU8Jmo3# zlVw0C49n!d0))h2J}R)4s~HBp3*xlD;V4Bl#V5*SDCe%a;e@ti^*nd;nF&=@hV-h{ zzPb#Js%XO%_t2PJQL|@`b5I}j1MKlO!Gk%5UnL;(v`-&w{NN412muE#Xg(H|xy}Xr z77+!L_ZJcYL!8uv8t4PcD!hNaR(B?_1u0(J^Gn{%FS)X)p|$Rnl=9pqT9p=6LDlQ7 zfo*!$_8D^))K=jN&YjHoae$s^F~q5TQ`B{@*kw8gIy+tqXC&6ft-dz0AJK|Yhu8tg zO!cqm*I=<0OEjalv+tD%ljU{OTC392rNr}_qiDU`uG~ixy~LGQt*;g9UQGg75w?$A z6M;5q@%m<>ek4@&5`FQOf*#08#|rD~F<#fla+FUQ8x|ut_=p|@I01LXqUV13A~3Lt zXw0SY9NxcFnwL-eVyOE~xVjI3D1`dvJpzdoyoJ-HvB%}ew6^^s{m+e9*zv913|Fw_ zX_|ZS+HG}RY;ab)VCq5DHXg_&D!3$G>W3`JUeh1&t-+Q;mVxWmPLH4kV$m$1hyo80 zTe)vXw)eNJ{)MyulJ}s>U+VskQ%KC`Xzxsy!+3x%`tIrVlcD*flbOORMjQtP4Wy5NsbZDO|LJo*N1=WH zXaw516!JTt+%}l1H`qe4XxhW>9R>r$cPJCYE4#d{QU?JFKFBnir!fcg2RvK|6?@e^ z75t{lX9*1mEB!s&f#?EUkQcM#QjhM!FblSR>%S1P@~@4f_;C)0-yrM>9{pH1@}+B= zDqU<(_R|w`*PGEaPj~-p6l`<1RDui&>jWmD#GDSoI6=99G|}xT^!$w-HO8kGZ5qkWN-?s)cJ5S*u9zs#AOy_Z_ zMa33=hj)rPS2TZ~l7rsQRZLvB_9y(2nP^j}J|fZiqrXBRTA4)mZbxF+fJJYIXZm>* z*Tt#}?T9r_K{R^Uy7u z{;G?a5d)&_NedEQ{iF& z+iX(FJE5D5e%v`DM`(M>mqlI*{QaR6BRu-c&>NXj0UGWZ z1Tk8s{y%POwm!r0iz;B5fuz{byNe01Yv1BO3qqZD8FH{X7wEvzhb=H1Fwj)tg4#hH z=@>INSwZ-{DP7c-5+Xm#od*qF4*?u9GPJ;ptQ!*OLu#GGu?Wjih2)SkwRNPW@Kude zNeckwn@(HAqn_M!sCyXSzyP`}2Z(zcBhaaJ2)I1O1QPEz^hh}dikdOXOx{;>=IFx5 zfC&)!RM<6!Cux<1|8~wx-k9qPEw$eUQ&~L?hV7AtWyEBOVmaC;r@li?^U46;m6^0` zqXF7@=YKn(7jMz9+D}%cM`rPbK8WJ*EC$lS%`lz$XGten1OR%Ha|j-*FnqfMc`)QL zq((0Qv=#XqeylYyy}_$PwqpeZOoe3oXAEK!bU(;DkxLe8S0X(U$TAF`3Hf8pU&5fk z6qO-*4W=WQ^$gCYOF{h zS&AlDX_P7+*;&LwTfaJhp=UW2$RyrO-mCLyoC~j@aa!6$xChoGiy#aIoN_8W4J_#piJd#P;3}wgBKJs zvMeBFILdZdDibmK&%JJN1XNVS zzuQX$d#-i*3qnn2Ykoyc*>^;=d=#g+C3|ieY_>up50?M2n%cOz$r^E%;biN=Sc&Ff zzJsaFwnmaF0Om353<_1!jz`fb?vl7r%Tr~WHTnqAysfYBEnggXz$^LT)-J)5H*&_U z*5(!HJt24>4ffnnm(#y2oD68;F!h6z;=q!z6mnwZxgifo8Hq7Ra@L;h3y=$82)qw` z$z!pTyp~vBMK0K+BmjSJs1Ef`Sbh&(HHR!fw0r)98Y`pVeEl>@r;ksIWdqm)L<__q zvNMz&+`Dz^^Mo#Z%2d&U2kZqt&$KM82%ZbDyyM&WX}<}s5rS_AZPpO`k9E3x4XXKZ z&rp7c4EPf=YKdugMDLKa!A4PKhi3dryqU4e&bUgev>gwzk?`{Qu|BP~1*^5?9u^uX z>M_~1eIaWS&k)#uZ9Qby7NV)%=~PeNwn$>aJ8+wk=D9&KthcXy$EP7Fz2}#4L-+9@ zIJu~Fb-bASah_wt#T9H$T3NfvHL__9{iIj?S751>MOJGJ5-e0T;Yi)4M+t?)!y_8- zf-bkWBeOLVf3>Ze%bZM9Y(Qvx;Ok1a#xg))Enn7r(^S#mzd>yUf9E9>4{(o54$X}Mo=?rQM( zRz=?LaT6-Myi2YP^(idxy5;XxE48d=zjVv6m2I0^Ea)pPrC0xBF9v0v&V94JA?9%$ z!EX8^V~bMp>_Ou}l7m1UgxDi5+&e!IdcPp|%q;xmPcnP$=`=af;GsLVWo5Ct;1Le{ z$7+t3VYp%Ucp{7+fm{KWw)C`yTF`-|`*moNd2vfzi9Fs5CTj8=E_@%%GKdecb2>kU zjMMj_>N=trk9uw~ZO}}B$O38Gcf>BZP>lu|g!^hyu<;Zs0a zpIYr#_$&Dy*G<>)fL!oo&hHUwESv?zCH(ceQj#)WfLxZ*wKt5Ih&b-?9elrk9sMVY z?W~aUr(&Iu7f|hae&P+(ec%X%g5po!+wV7dL0!%eoi&(HNTsv7JH@cx%b_apZbXYV zK4m~hn!UYyKii9J)fc=k(YZjqalg_wszVbD2k+s13;GEy5 zkL9);ZL6Yy1Ax3;I02uK-J*Rtce7;G35ljuiy2Nt=!aNX*JtXQ9>9BdV@PyYtJbwh zR?#?8*0-Ri^+)yyH5^(h63;G{4% zQx)2CFVeC8dLa}Q$yQxtEEvxp-5E7PlKk~Su(3FnHKvi@W8cBp-jO;OEK%R(L>dsJ zak-+2y_>z7L18=EDL0}U{}3+kv!_g?fMiZt5J)`#{3~C8SZ12jyglv6ZK4yix`tu! z(URA3gi}n*@|Dm{rDu$YV)Ig`RW@Q3tgv@Bn*TWq>^Y32ox`-`v~Xyb164#fLmi|;6}_6f#37_oOqzfyUb%?DS`F4@!$8NDF$ z7;gjR5^tsz65T?uaPu*qUEXIp_EVqAwC28QC!=5Bz2>i=@t*MYHdCkIv_3u^<9m^y4*V}qJpx_R5zFg0F@c*&()=^QuU)b*qEg_|Z#2`pX3JTI7sUQu~AYB7U zDLsJF64D~w-Cd)gba$h4Bi){RzU!=WUj4mm@sIzwn0X%Vd+&XHu4{)}*|lDu%z^TmibNZH z3QijIQwV{sTto27!mnAxoRRNq*z)JslWmOq_(r5xQ_H+sccEC*0nL8yL>$9g({DOx z$lZ{!>5T@rgG4WOPiM~C4VEd&e&2n7ZoiWVco_O_(CqVf7!+QeJVVpUhkbcyQb=WX zlzDLSp<16<*%a1WxnTIVCP^{%a(3+*;q@?D`pNnlb^kV|EYs;WbD`3@r3CYZDW$g+ zuh-cs<*?@U1D+R#4A@OY%8GwN>#XC~^VUY+l=y8kVs`c}yJ4LM=oSWkjQVsT70Nhp zYk$H=G{xdME%Dyyi)+o!@raDI#~S^uTsl=cAAJAOulE~R_b-a}4;$)r17tHHMwlOL zimNqGjR~oJ4Q2Ah-@`6W-aUyKt*ws;@Csq_n+DA&D{_GF>iT4cD6{jiM6QEEebCs*n6%z4(LgoiIJ zQWN`W&rZ%+^N)Kr7_;b{`wV~5FpQBDk!bsAHoll-I9kiRK2q!eRXIx75^CYcf2B@p zRF9oUK+flU39J6p3XTl5BsyELxb~VGZds|S7`8_w`ZNSAtY~W z4>j*t{QQxfH?P@0W9zZ;LJz?Jf*kLH=dfa}UYWUgy|DL_JSSz@XS1_Rg_;j`w!@Pt zptyfVP$0c7RDe$kI+m!8bea?o2?5pH{~Sk;vJiek z3R1~U5+0eVqtQ&S3W>d08WV%Cel2LeZ4PAG0|YIx%60g%Fq#g2U|7eF1jy!I2_wThO@i$}lWmeP{4f9jwa|2-&N_@FaSNi6tTMO#V> zx>MTp6HzvFdV+=3%yXnblg^(6!$tsH$xw>p{t{nwV7*LlF8xTSbLZ0^WGoi__2z!L zL;Ttz5dK2q33e?gRb0&`yLb$mDC`trUq{A@4IP)y=>LVee53gY)Z2C5Iz;cz$O|R#<&ii*Fh1 zYSm6L6m|`vXQ;hJ-*R}5t~=)RYi5IVoNt8i6+ht#3MqkPtS6r*iYrxMKjbFCRJWLZ zF?0Ts6v70}eJ^q%UgT(-rgKuq@qj`JAjBP<97D`!3ctk$zv(AN31gp zs+Edzf1$WSb0L=DLL1HQ^*OHMzB99Ld@uNHRc|zBbAq~}%i_5Zq-Z@esPJbiL}&!C z8PqBkUiP%rYjl}Ern^D=mDkp!(XfGcEhBr&)?at$cu4cJoD7L6&k+^Q)+?2H?*&?b z4ZQ2GPJOe%-Pk7N&H49q_ec5`{A4Bo4+x|Fak_(B@C0c)C1#t zED$;rfO}Tn0`$wbfybH_)%%glvQ4m!PnNIx1$to@i2J^ye$NGFU%l^kP--*NKU|{4 zM=+X6KjpxEaKQ5L>F3w++7{l2tPv7cv^IpP?D(ePd9l{g_s14;-V5L{G*40)z<)lF zOo#tQkCRgQO2_R1Y6=G2+?SQd^d6t2^OmV%AY>fUHMGGU+ACuwc!!ox}pUX71UKz8tdbMHl)k*b(_})RFvTGiM@-l zJtrWiXsK!t=YVb-FU!WK(_~u1pxWdZwtZCW$v4GQ^qIz`9M6+rjPDiI(LF(q;gaO4 z@(;w8agdsLv`tF857vY3;O6=+htBn`=%nb1t+~GGe0#%Q@?*7H_f|M_uHnkR;|lnH z2gUTb%6LvC8e(xHH#PicrT2CzP_~JKt1JoD1%V{Z@WSdfqZ5>)o#7J`6#LNl`W?0? zy=LvKqdX!>+6OTPjFFVwZ-68rLn*c|eSqM|v+~)O4S@PALzy$0w3&A5R%s1s&~Z-) z+-j7G>VEOFpo@57-4}(h{`~Hh_E2mF(Zy|K_O*P>SE9}%BQD?tvqCjzsDj^HmDfnN z0~T$ssV40qaXu+AXlY*V&vC%e*h;ty{vm6a=@m&I8W zdncrwtZmqPKR4_KZS5d@uaCoZpv=+5Og+x9#HRMD>M%n>YEHC%x`^s#UQTV{`#Ltjx&drESVBn_lAtn?guYU-Z~yYbQd)laA0Nw~pn zO0Qj4x+3Yp(ckie`Fj)jC(Np5HXC-7rlNsFYl~iJ@BPAP-DudPXxg38^PhxRS1c2y ztD}D0#0~G+hd8_HVf(j)w6W?aR;^eHVF!?>J>5N`4n{tYZ_Pp&&SRs86)%3Zc(`%W z7jlRPiIoUpaitOD1^-~Y6HG+4+Rb0aaBt`7@tX)5K{?NRF~eLf7c9{i5OXfb?z%+M zc}A5+`~w&VV@o)eXI1?|#HhyHs_+)J@@>Ux3+2SoG5*P8d%e`)<%hhgzjzmB+W&0Z zPmHlD&6H^7ZjX%1=mv1Cbsx=W2Eb3VYr^XWFQW&PtfMEqYLCOR>OHzW-q4Y3{}B=| zytaLJveMO{s^((a+O76?1DY1PpqTUXTtu|``5@BXITP*Dr*SprYn0EBVllSHO+*fa zXn$zPZ9A~eWPcI65w?5Fl-fnFVG7sO0Yq?tET|CBLn1ccLnhbI#21(DNTpH|MfiEP=H5)QK-UfT7r z$hMvc*c|$GMpgB!$tI3tufaw71LeDil-tLgK3!z(RL%JG&&#zCyfW11`acFO;Kgu7 zao<859a-6A1v=Q*mZy}QD-mZmmp~3KQE2^m;;Ec?qT^9Cn|4xXZjdQZKwklGj8R&& z+3H)8I6;JtPQRJolb^~u}K*s|IaaP+u+^A4xteAfRzxlSRp={>0luIKL?~zqES72R}y?thesyZmMak2NdiL#1rd0 z^0S-P*RdftA!A6bpdEw;lfR8q@aj9FJy#O7!-rl0y8 znpX39q-ji3SNa+Sh@Xw_$y;MA+ESVlGq`-FvMuo|wm{zZ={4j&oh$fS!*(xAWBQQ5 zy>_Sgvn`jgx0XYB`wbB|Yx zb;=4pOnDdU{-HjdFsn8#6xQvVjNE&^F>7Di|2J=MPK_A=vk+XWN*AV)fu=#^kiM|% za9-ak4Cqknd#otlQ$2L^G{zlMN%g-aA%=nzy;d(AG@3Ocr`PGr@HY!eJ~T)&O52kf4w6z>FJ zCbiy7WN2&p)_e%Ro1vQoXbH_zz8PE6!tH5mocB3)aM6wfKQlZds1lxtcCb!+bW4eL zLbs-L$y7})X1BLTzZH52ywZd-KYjGVK6~DJyr!$1hsOw`m+muRzJ(}uKO>%TuxoA# z{Ey`bNSB+Uaq4|Er}0Yv$&sqKfzDxc^9iMkNUG9xvQELkW_!)#PZI+|=KqnubH%02 zEgCqleFzTP3^3qZ#kIFt%0qTOHgm|@N}vtSRnoJH*bDM6L^vwdP(6YvQth#oYW8I(ksj5vHf+lo@moHCG||6n4Wa^@Iwcuh2oTM z?RnC2`gZ+Z>geE;c%0dKvepAhgJW9NoLe>0U88^bTKu7d6SU5g{mh2!gZ;c{;qWL^ zirQ=a;yQRL<4wmlrR_zsx8l=bM&kWoGsq#3Xc+^V~ro@gOE zWb7-X=JaJlp!4k5H-cz~A1Ng#?)s)t(%<;^u?*sLtn(qm4B=1d5pzUFcv8L!lFHB` zjHduf7_VCsgm{25E#qa$2u6@UM+Ntkv!n~{ow4L-N9)AoM+{_EQvQG7KAP4%oU1c91RY>PB7XD1=L~Z;% z`tD6=jzN*u$IqG<)1l$AFt4ghB(^BgjQWP53z~+P2}SvO6Q3xcqM_{vd4^K6p%HuD zr;Tmab2YjDP|N1Rm=8@KEgetg31eYoL>aaJ5<&48Qaccagjm$ul+b#s7eSlW**U`y zAw2A>Gx+Z32Xfc9M<>d$h@kX>VSsr~aFij@pcSjn<{jDypd|El2%gN4gWc*01L&8G zXd^*bI+2Li^j6n(Fq0JgxK#A_Z(uvG8Xqj@- z&_+H~CFqnQ@Fihc!Ba*v7Vj7B>4pQgTO~pS0k#pI43aJCI0xCK^I(gpMLe)6dp=GneBuGwO zqV^yNRwdGE!y@dAM2dQ8Ny!j(%nOLGUl1gXq+-!|&vV!UhTy zH{03%G1r}jTz7>HHy8bv>kox{EHDr(W#nxe*aT`J3Um6no6uRM87~r zzWze?=Qq?9DPgM46G&Qzpe~CSUrY%iOGB4TlN}uskh}9bW?_FhjL(mS?iQ{1Lu9l# z(IPY^?T5&O)D8Oyy65BoW=w|i0!%cdJy_I_UBwIuwtpRBG%?1A0BiyJ;|fD7Kmna! z#VnGsfGuAr6M6LuMzv8Zh!T%vOm&3L@hGZ;x#;~{#?VtHF(Z)+_4TQnkzf3O0Y2%G z0js~kkmqDo9(@xBS0R2Lzx~z|z6fyXRckhm!Y^$9&(G8A!-j@2n>#IQQ$o0yS zm1JuwGb*cPTRv3AZNu1Eyyj!+IkfU<;HFE^Gk0KHIozNHS6S`p0obI`X-r zojlpj5U0_K)`PLKITV%wQ7|B4EH{yJkg=68%z010wh7U!8dYoylx~^IO=5X)#)F@< zEB=xS%E=PD;Hjy6dsdp-HwmZUe!XXJeaS(A?EENO_3IJ6F#rrTH)fJ^@Uy=%^mXYf z(@%Th(U2%sRBSsG(MpmWAV1w#3j;2zN29Oiu8r~{2v#%*`;ghonAmBq`lB~DmwOQw zeIj0YBI0qah=kp9#}DTHB8>v=Q+OmUG>)D36`Gi;ucP^6`tDCmr(CRD|4Syjp~z&n zi-RW|P?0qGBm5XhslCtT3~?WiJz4w9btoqeR6L+1WR?lx=f~$OKvWN0KJ8|a^u985 zSPC2s81B8VtM)(fK&0QhOv_0i;fgE< z%WN`!b|XeTZy7-!9LBr_bF@xLbjfsR9ZubPS(E2M#@BtjjyA?LH;~%cA#5XReiN34 zuG!^ajAt60;{NrgKx8T$Y#wjyw+NQWXq$!`&ZE+Xe)m4;4SDC$(&Wq?GkZQH3ln+# zUNDvLTGFPgcD?Lm81x`~SCf_c+*CYcf2r2yFEHmPliK(sdJeG7W?pckVM)0h1e$uZ zh8v1uO2wkARD{0Bn9&EHaX(#kViTT-xV&5@dPni%GRffmZa8gNh@v2NqBun1sS?FL zd^e*)e0<+1N^Ag!h%Ec=jt4l6jcE%o-Da@`Y<;C_NUgneJ-f@)R%RM5W(w>e=!($l zEY46O-;FoT>qVG(><*@52K!j})fx}TF$%CPb+}(pN~({s6?Drknuq6@KsqgI@L^<8 zWE^*W)#ra{*!oGk43Rqv@Eh{|DYndX2UDks%|kaZQ^{;bC<#fiT7AAZ_*ksF5cV$D z`x=}=sZ+6rFvv}kT?14#bp%GGr^QHyp~3rg`yGryPw2q3H?W5V z$`~y?IbNSwbJy8G_sR*o;TKCJY$5nQUfN%s3_{T52g0R$szwgkE^MKkUcb&qO8X7B z`>IznO|CNy@FFQy_rCj!zKq=U$=PiBThg3nTjWnaR&bP<%FmZT_SoBf1@YEZYp2;q z0rL@k30gVBH_IKBu+RXG&q~@>7pxFL_BixkIgf)&d`Si~xV$Vzxg|#3o_)$oG9e7# zx~7AaO~x$u1$G~^qrVew-!0UAKk|h5@fuu}TnuY$Y}KjPds@T(;+JmL9pofEQy@S3 zi(}R`T~Y6|ti6p|*P4qe744l^u4{{kkE4C%I7?^qe0&%9z15KkD>ElmJIOIv+M-() z7Ii#T%Yc9eU=^OIrX+X+wj^Y z*QeV|cX_4K(V(op1U9oKFP6x_@d^IH?oU_OtH0Z9qYIYB+6o%hu*ome5AyE6GrRYB zArMX?7j58C-KWyQ+l1!5ZLt{`Po{oofY#;!A;8C)bE2^|vxe7B9C~|uuw24=n(XH;CAqn_^sNgn{2GzwI?0L0sXoj+CLmLoucOC9TbB$xdvpCn6kg7 z9kj(-x!6BhRIABvp1*jsuH~^k_VC-L7}HK49}sG1od&JPscsXJ%aMC*rzX z>-+gbQ>yp3-LwAzLDWznNTp$*4yLjfNlAd6LI=7^eb_y;@Slt3FZ9qXR&75MKIGvS zDC1*1HluVgt0J|9vb*RuzgixQ#3|z=`?StzNOD^i7)DZ8Vtew+M5%At1{P)-*8V(r zxp5p;kh`a5o!k94X%^;%X^lTWxtE!LK;*oPCZJ|!iHqk?-Zol0Wu9c0>U9zv>j53A zQWQ9H(V3w!Rnph=sd-U87UbK|neEo7`CuN@N`YjN_td@J^?T$R@A?va#d=rr((VQK zsQt9%fRQfN%aYXt-D9^1k&~bg8S8w-q=q94R`AB{e|`@RKy7ts`Y7<)i{l|H7(YJR z(xh-r;YMfoL^9>cA$y(N^n0#auvgZ~JPsbVkx{wnCjzyiY6c7}O&+C#BE~b1^Ymg% zrT_TnCT<)0&A!AO{JNOqWVYv|E*^fbAA2I!CfaGJ^-Z&MZZAW1L0OGWr9GY;Ydq_g zoc>BzjA-KzJ0Jb-tT=7+ti7T_ctkvt}C!72jDo^!~@V9D^2Jh(eR~zMCViknLr!E{mo!oq*pv zB;se8rXMC%Jvl3~%fMjNz zZCH4yKu&Im)&J*vqM=& zRQH3Hht*LY|d~Va0RxDGr0G}}(c;)1M{_8`a_e$XjTL*R_r7m=O-|Cv_cT~$}w8FPn*fi_r zY_P(Ig{gKWm8tMEN;zE12UF<&moSC36R^)d(Df;Ja{tF;~ z{GhE`#8QXwLQGOMJ-%=@9}R;$dj%A3;dhOJZSWkSaxTu{z}q{n$qS6;PPI$nLRjk% zjhQ;Fm*cdVn)l+wqjAc2^dPCRp9y?09S|K&uV!ZU*YYyMLpqrqeo-N(okw2&G0HY_ zC5_q6xA~)S>*-$WpPOrYlDjg)k$BKP~JI zeTYC15y@|#4ep@)=4bYysk3aZnIHK=Ue{}ypjWqu9p@{3_tOZZc9h%B?hcQ~sN$xc zj1xbg^||`}ld2hVowb@5@@=cFHg78;MDeyP9h4+zK*^{DmC~XmO1N_9} z$xi(OzlRJyYk&VDy82*5U6;}Iw&>a7{=!XrjdVsLi$hD1L$X0iGO8`S7b ze*CJ(xkWK@-=^(NXM3iU}glm&ou~pJ&cXqPhMkq@uY2Nqy3z+7kXPlQR zw&+~3Rv)P%2aTh;`0Bazy^hDApH@q{v3t+cQ-VdbCPeudubI(q<9=n>(WB!0J+p7& zlHZ{zI2|oskb)A$r`s&xj$F|#eK&nJ-Rl-!Rt9CAB|M1(yqFo%w$k~>zL(R|=#tUd zz^?E(z${d*a>dL~4*t(QscK|>_w1T$I=@^Bhh$j{zQlc5Lqer$`vdV5R< z>fM*ods}?VS&WjFNjH`tc+@*SA!#Sqs3+wOgEe^weBQii!x$YJ&8^c^{Ye zWfo@%;R__O!e{cnfV{JZg+(MoT03@6jJTd~Gi!VFy~aX%c9IkMckkaSGxtF9{oxSA z4BL=89q?S`{q5K0V2&Ud@5|OV`S=8_KXxFV-G5qb;%^7s3*RA@{Q!e@);Q)TkE_Id z3BND`BY%&{A4CS z>_Vq;qfsMHWPwcPqF&ByAe_%vW2g^<3;rr%YqRV_IA6t*;LLTGi)fbJZZ6H~_C!Gw zM&1UCssdg|aqD(i%agDoKbHMIfSF^AUMTYWbKPn z0DVdHlFbUoUr!sHpqjp4Unk~Q>#SJdU?M^WEaJPz<=VQFCGbg|}=KUEjP} z?&tic`R1@@R_=7#(?#zu(GL{9FMLCK6`4P3rB>A>27nQCWI!g%q6wV7l8e+A=DB=@B6xL-U4G zO&kBhdW?HR+|HY1r5dLSib+siQK=Y+7QXUAIVag8&H9TQ7;9pBZhpdGdQM8(g-k-4 zOg+;7mmVMo^Z?PUlVOoGw(NC_e&uGk?;60PFiF3!QbT1|cfTfn3RI?nCwyK# z+))T+l*nbh4m6%H;D?{OcS+5(brdR?Dd++kg|h|d+MzyR-Gb(j>p4iAf=UzPK|Wq2 zXU(MX&(;rV_`cQ6;UaodPrkgG6Gf`sQ9B|gnkGE~yxc8iDvTs`Sdcb6I9_+DtVAz^o^0tTczwit6u><0)me^X@i?oMP{7 ziJl3NN73AP(9MR9wzJe@k7xIhil0-HVO&vn$rg;MhZO00b4RCKr8PMeRj6VT>_3W6cvV6tQ0qANuUQnBUB5>?7a~iUW&*A4T3or3hRuRWY?r<#6ZqU1 zACTQG6*ZORT%+huLWx_4I|ATWYfzc}?%JhVwwE;G~6Su`!x?AWY`*a0~{WQ$jz z;EcejL|SdpN_nkTrharQp|e0G4RHdOs$G6|T*&n+crkk9=QwLs9nJkq{WS0H@b#!xQrOp3Wuk!nhpv@+u*M?IT~aQNtWqRIS*^jW9Cewrf1J!6#+RRsy^tPd$M85rz99cTLuuj^f2uzxi>NxdVXQ1^5@e-vU_@<3S&&5hO)J&F?j!xJFmt zM%IuTi9U+_3Sy`u=l&wt@!@|55ILy0KZUR6G22Lj zeXknwYdw#hYLg(&GmPYnIIz~wrPseVC<%wQv&Xblc}PVvR08{*TRH!lGXNkWy`sA`rPk0-^E==IUa zBPp%+M_*qiN#x4WPevmR(b7C^Ls@j_x&+{!Gd6eYe#Vgmx;|V91kw!c2~UC zwrg2;mPHnsTbFe`D(qa&A=VH%^p$gTN2ijKih5igABh~tX|C3ok$S1%!c3+?Wk-#pSse?*$|99EC7)?vY|vHzBl z`6|F;qn0^O!HGwP55u&Cop;KjsiG3RAS8$CjA=G?8-S&S5DGzLAE-KymzlL`?(Ow` z@AFdejYu!cu*+~nT7ckROgVzeDvSv)l;jp!cox>_u~w`X!$*N2h)| zPoe8}&?c6N#60j*X<**8xO0+P z-H;Z(hTDEt{o$Q#op7~_KHAhNCj#ZxC7L}7Kh=q5gj^kYKJCO7EJ|nNyFr!cWry3v zUfusR`%h3D)JJ!dI(D2#T*MB30^%&wxJ>MW4_>bKQHty%(U&NMp;UCNW*8ib?ml`0 z=M^Ph*C4A8jg-#fyMg3u0&G`NRkTpe6HEcJyA`KfznjzR>^Gp4lNUSoK2&&j{*x&` z(CL^?K9dW08j9wx-S+w`+X5rlDw?ieD%*n? zgYHvbWyM4_I*fPA$^W>~4Y~T`A$r(Y<=`_sX>B4~+KSE#pzx9+OMPZrGxy4to~s@ z#5cs`N7iC8fq5t!Y>n4{w^7IAQ zLo3>17M96okhh1fBQbbCkeZ}}48|jTP9>6t<>>jdQlOZ=8lsOud?z%mAcAbVE9X34 z(~XZ=<9fB=vy%0bh4%tc(r~_9GVzBNm_{cAaK7Ft7ZvqWNXdGx(_v6-HZ}*6eG=n` zr*i8heXA!%H;PF>W>k1)`gZ0of3crFT8>td(H%>@&h(D_;yUF@5c!$PMwi}e>+^+G z4wnekv7fs9x42C6Q z7*+lcwG4*Q=}0Pf2odR$@2@MBR?j2f8Av7hlDQzTZyesrJsb z-*nP%99|Q~p6wPI5FC!%J5mv;a_Gkr8-5%0QZj`=%r)82-&suzqL>Qe4%RcjEVl?| z6{V)`vT>0V>cwrG3OyMl&zHF9&av4&X0DmDIgXJPDf!KI{C57&mnyT^C?91JD=sga zOIgZPTgg?c>%G&)e}OS!%&UG<_HI@;wGlM6?J)1h@WH(`zLjq|rOnf;c}u`>ixE`w zXpxa2l0*4HFFu;(kN_8-V}f;@QX_5IO(6Ro!Rg$^cpTizy61rE@$*EV$bm%J776$p zed{gg8#oE&%RzZMn&-7gxz$6og@wff&Eo^!BD!!Lp)2aqoSz4$6C=|vB3+9Y_$PFl zljRx4+6-z~j|auV55IhrxM}>yrU>dNYS5!G%NC0bH9@+YRLki7a1;>zS)XuHuEdLB zWXu|_s;AAzuVKQBwkPpW)r{0l+FRc)dIb2{HShJi&QhE~dq5{D z`aUP^QkYn_9*lVi=@$QKDL&4v<}ovk)%gqT1kO?X2wTnFZMociH1Ig^xaI_zsevdK zwteS(`#1bB%o*P}7qhdV4NY%#>f%msc$WJ=Z8Qs}OesK~)~i3KJNgMg;)yn9++=WM zt?{2eZs*HPO`LFe1 z7LywIebn^)dxjK!`>xsLN|(DD8=&%1BpSNn-7=BfKBKk3()8m6Qq!~raE@q}W4eE9 zfvB9U97W%I=E5!)AG?Od<<*C8(prHWZSt$C`8CHcGcn~tVnT8k44rN?mCJ0MCleuc z^dWm*dmbixYG%dMwvDif*r->OX2oGPs;+3Mmb*MX?4)e#t0&^S+ApUJ3dnRShKp_5 zq`l^NOGi$4nEd?}SS8et)UE>_>!v3TkZ57WX0&PUcx~qA8sn5-t9Us+G1eLS-ehz< zX`v}_+V^|e|{WFgaxnSn$_ zmEJKjAJCY|2~yt$K{;~+-Y1n4?48j&>Zpw9&6fQST+TJEQOG%2(SxX`wSJF~=w-+~ zP?Ci=8-hyjhJ_boO3PBtT(LwWt?;OCCU2XA(k*ny)phnwhg~3zE6$`^Y4eL6Y&=nH zXsRHg$kCwP@z|>f!AZ2b&9dW2xZQUCL+F6l$rQ7v>A-y9$#cwxn(0TvQ}czJn+VoW!g^rDC1}yZl@5 zb{Qhs#H;l`;uKhJg516Z6k0Xc$GmZl zf`3sYgAbcIVinNCi0cNv?zi$>&CcSp{H^DG5cM=XYp8w_D#)n)O7pVwUWn(s+uHYi z(=zMz()(ZkV|^%jf8hp6&_v$-n*8*QaSRl!VhzOix!y9|Lq+pq_a4~H*1aK)0(LKL z<3BoS92`}H&ys_R<*bt?LDXv~I*zp9j&3#J;;=0J2W{~tHMkr=lP17GQrv8GFNkW> zrmoy$3ae~`q24@-i4O*P?Az3Z9g!x%`jTIy>lp>jsFuEQ`{0@e66bLKZ83^LQ%eVj zgL)8uTqqiE8B55+X7HyLI&e53wlD`|wMV7Z#|voB14hw=xS2O`@W1BTUzUW(g`C{` zh3YGA`+m8EQ%2gnvuCQ|4e4sR`n3MY5J}784X$(g3Y7R~K6G{iqA@6mHl#!j{6`h6 z4nYtRL7uB24SfTNPfU-9GC^#AdnuWmlR=SX$rU{2=?==Iqw?hkNC};+Jk$7AX#zX6 z11Ic*Mwilm+S@a=S0I>($rBApBR&JdVCZq(Ksv3nO;NcFDpdU~NR+aXqP~=PK?%cq zKq>0^Ut|3OGVVFtOK94s603(^9KeudG94!X+KYg+ST1c^t&kYBwOWu&t&;0b@N#tx zSeI!Qr(E&Q^Z>hQ+*0!To9)^cgUB-^I-%5gZSxMC7)s`5X1J{WY2s=g75)3hPNgtx z^&Tg|Bx8%VFs^VZ2t6i-nzNCL^PQd+RrZItRjp$F0pZ=A1X>mb3mdh?zD3sT8>EsY z1WQ;m`SSmh!VHoCKt~A<8IG~AXqCqfQ)clysBt8s4GbUhNNK7wxbvzfRb^hxXhJ2U zUd_z0m$#G5smgQQb&@5J;9DL?lcBF#ZSbozy!u5B?bDX=(#FaQ7VqBDy$&xfvF-dX zHrWGN!Cap0O{|{ECs6BtfQsmaS9CGWfv#>kI6TA-t@nrkVGTppERxc&yE1Y`R{yHl zLPbg=ayq$#yn!+28-H4fKFZJp_d)Wdf^7s@qKAPTxUoayfZX6H)yO*UVXirQy<*yy zBjNegw$=Kdz%*stFhyVfBf9%c`1b;)Q;~@C5IU@<>Yu%FXF-ElUiRr{t=cC@T2P+o z(Ia+pq#v`9fF7D!bUTKvJh@+DNK!oCr<2AJYN zrqj#Zriv6b2l(#8nJLj7o>MXenpTwd^W<$RPFsLd$=O=rA^UdR^h^de+dc_$a7yzR z!gLu0T$~LJ++%~}Jf$7Msw(cPdc8V<8x(elv*)Px&f067+)&)UJNw2hQE~ zb4Ueqv&j;Rs>m)Go1XKmPgi7aXn7|Un8|SG>gu(G*4!_SFAy0TU;3)yhlQma(Z@Da zk+yql&8+7+q^T(M24Yfp-+xBQ`yje}j##XC-&TdiDR2y)ZF+feFn~Mo%D~M`y|4CY z3UjUA`T$HscroS=z5w>@(VBkJWskyhp#p_}2S;(>H>Z(renj8}<)X|-PjJJJx$rG1 z))aMDpoh6=6$ZVGrB*kLy!*y7;oZ78uUAyqN@1 z!^t^j(ci&{7c&Q1VVfqfOD%RyX`w>#nFC8y5pv!D1jNO``G&M{K1ql{>w$DT^_Row z9{>~AWmh!|FLko|)gJst?2@4;>*LY?E<>SI0SYN)`2^EX-ggzX1+nj>L3oukCUgKa zr1w84VVIUHVm;Mze5>2}H?o=;n5el$*^M4S#v5`K?+x|=`n&;*n~TDB%ms7n~7 zl-7bd>)XPjiWkf1QK*RMw|}lrWn+fWY4`u*c46-7145$Y}Ej=Hhhvj7_jv_#Iq$%p%=Sh-is!LoFEmeT?p zc3~BWk%E3(=yN{EHel4L(oiAW0g9W{oY3cN4Z&5zT>^47JXGA|QPppYIsC~C-u={i ztzD&yR-^e^6a=0(p06gAs=@kf%a<|zr1Mcj(_JvTrr2a4w!ED5)A9aIDK(-?dFT`S zo5yI7ms?M0)BWF9Wc<#VWCo=TZJbziF@yp`kgjV`O?MD7wCA}dRKE5w?ZAq3or>R1 z?``M(KGmu-GJZH7~5y4~mOz+F+!wXNsWclQ`w7uiWJ z>5n4Z%gl6XPvQWUG@AH+QK|k>*c}YaIhLDt`bne$|fhtW&zKF?v zo5)-1)w!@1wO7+!gyB2Uc*bjq7AbXoac)gjD6a&)>LsWfJD#|~gO4|qd<2i;Bg`K| z7D#Yvd^kE6fEXWWbOO@#!|o=dzz9W*1bc&r`;0v(1%mkQxTxqqBsU1?l>!&3MY}=L z`vIeYNS&x*z=KqhR#(CMB(Q1jAZkEo<5Jl#xJ3l%A}m4B1T_K=XCuf6C~aK+B;NoE zQ4s_V_w&LFc=@?@F5P5(fKE2oZSbRie;1C5)`1BH&P zqrwX3W}OCTAl`x3Ie98QXJCfv!v-y7D$PpuaBW3U1duc z&1B|tq_1NjW$u-<6A+$B4OylkCGj7*3TY&><%|d0T8~LbgH1#7LP9E{kCURUZx_2) zcQgY;h;5gxP(+}0+`Iaq8d)GB?gXYI;T8R|eiB2LLq^AYz~&77ej#l-!EM!+07BtA z_gw%y6rSF{TMGIfDDohf4ECm-curRAVrciEhbtl;A9(>DFoEI5*M3w-!bMgk0rPc$ zuz>{m_a_hAQewP_nEzK`fuhU-P$BqZPJiw;duf)wR17}U)(WAhmvpf+ZCM=11W6-_ z)cfBAEXa-+tYr*fo_hl_0BU*sKiNou=#lq8zPax6Tn1e%x?X# z-a?M^sST;}lT-3_R_2R~lDExlX?OKL`#k)%u|#Wx`6i7_8SUKObBSsW93&(|L#Sj3 zgnqNp0SfLo!$np{69kLFRl!<-yXF&-2HYudo5R&dGZ*yt6A4_u@`+hG0Vyu96?TTi zex{`26wDRC>;Ia&zz0!u-bmjYK#cAdOmjRa8KXVyeUA;#l@M&G*aiC|4wMr+)&I%8 ze&I{0jyl_`mSh~Mu6$LT^k|Z}{)^AT2^szTClMLvDjt`Y^4-5z;E5D@nHkTW$$d>% z1f%kkh> z@5l`>ce(sCC4?u=7Frb{_MUDyn*^8TH9cJg*$b__BAepk1W#l3@d6uSKCBRyhYeab zzD7pO5ATzph4{%moSR#?!lLyQnD_We66mog=Kgf8X>ZwnRpjl>p+fs{|8n8$wg4F~ z^-=?oc_u^Kld&T0%BRww8|Vyi-fc#5W=x<%Z!i?l6kZ%{6B)Z(lUCz8KgDJA-LSI?w@P0fT@Q%kt~6Ma}hM(@!yct=Jb z1|FA?N;aWm-wwM0_qp#`cr~#~5Jj7Du%&qjdz=AZ>a)%Zb&K)p+qA+@aiv_9%=K9_ z!aTD>w7H&65Wlx2Ss|0hcuMuC{Qh0zyHNrAOZUvo8aVuDL(MKvb~4vjgcMi^<4pP9 z8GnAfa{n4+)v=VEeuw$pmFHTy@5MgZ-e!>_YcF?)zGx2R8G3W^#O-zW9;h?P?Ntn) zj&ITnYgf)TxY(HNu$>a^<2bYnpp)YB5n;Qv@$@XB*;wV#3#` zt{>->=S^~sBL0u>2!XS#f_DDRxwr1=P=xUF)#!d^?2x(LSdl*T=~GzTTk1HqU(7VEKU@q+U(7q4$(w!BaOn~&Lu`O@R3kA5whCc4niOnIpGf~^&AsUDhJ zOFq9)3NgaSZyY_Y^`;qG*1bnwdAC8{zmL`H7o%dkZh`!d)Ta2O zr0xflOxh`?6y#B~7OoqY*W2^@mhS%#b?^Pv#J@(3N)OT!kREEJC>;bs=pB_Jq8Oxx zD$;wE8XyRSD!nKmh$7OY2vS1m3R0vh9YT|iRN;>2d*1b)bME~I?ppH$YYmf3WRi+ucO`9o0p~wY{m}t)i_F??7q0QHZzA3k_AD57_zM6o$Uo#flKyJ z84M(Z+aX5#n@2L~htYfUNAsGG%XU*Zo$vR5krw`5n^^orpr!buy!2)MOi4>B*Lv6| zo31NH+qWZs-{Dw3FmryI-AGygab2KE!M1y9I@I_u)!fW<0kQ0$g3%j7^0udtxRDG* zZ-=-Tja(NkFj33Vt23A?sduOddYnVgpQXIOhqZm&duF;{Q|~rBC!42`#GLM1xrydu zK36*NS__yrx&5r<&rC_PLuXj9JI6rr@@(pOO2A9kbBpSb>i)#itmamcb?&SdrGMu2 zlI}~D%)Tjdu}%N%^ z;k5TA*C?w?k|fZ%6V7?0nG+^`*da-@PNBSr8<_6}PPd5o(EJ9Xof4m|A97p7O13>o zK2q{52QST2mG@f9unrLp7@9->A^uENHIvw!)*OXPkfO46{DDp@(7t`Qu}Cq9rGcmA zByWy&N4(efZZ^I28 zE^T2%yTVA^$O(*QYkzM*1m%cnR^V9J+m>6Vxdh>5T&D0v4int5atGe_3h!-a8nl!E zE1u>F)&L+Z8jBSeBnh}1J&zdpkjyW(w|rC>gI7LY7R>vbKlQyIFbD9|Bai1G*q!57 zsZocR?XBuN6kFcjldrS#Ua#GvkKTi8x132=5SHe=hBTQwrNV*^*BRv(2dE`_2YQ^r z-)kHUY$9(W+y?gl+PmkeVtLh&3c6+8z2By&~lbF>B%^0u25-h+6Sxe{}}eqY@& zQcmL_(p0dZC?50+bQ9OAzL(+=V>liSX$Qx6`c>sA};>Nx@u&a5Mg z`Gk@F4r%DDN7?LRr|?C)``nxVetFmbjqIiFh2Y)20Pc88 znEn);IM;lh6>j}4A&K9JQuSli_Ke#jg!2`pIc9o z@3T-^F(0vrkwYswIxzAF4lDC=69dO|T3fc|rb{*%U(0LC9c|_~BG`oYCVVRz@>DB( zEuQCXb84z?j=MKTPBPm4qB~#t!dqz-ZWHy=Mu(!Cj3SR4LF|pzaX8+Y_qdhUIpuwQ zM>`PtQzwTOl1IiAlS*EgrcZTJJd%_xJKTL=l|VVK7L#2IitH(|(VJ<|Mq;^mIr`Ls zn|qYkQn|ENdl?i2={S7)NZ4`iGeXNeAzFXr>;;<=%2p3hRYe`=fXY%#^qybIQcm*q z;bkOrYozLswzM>ot09?|LyMrF-%Cg6x-aT$_SA#0Uhl_Jj<0qT_a!oTwcH3h z`gZ)YjKivoxS2wU0cK(1S0(;A@Zz?~tK_;8aRjjG5>S;-87N$GJ^iS( zQ&7t-*O9f#)ZJb9^ktN* zuYVnxXSJ6NTF(mR+t-?Y)dFYEt$p)o3N$E7QU)^W>+~sarGC>E+t8>LWD5?@+s%=2 zVWVKIBK;=%hN}@2N^A)TG_P`TDyL*b{$XKP%$W>JAtp z!VL`-kEm*s5v63yBCa99lm-;!<7Gyr6Kie6>KAbR7+N;$(8*u6rmyvhJ_RIvroy~w z!q6JNdjiK=$VaI$2D`NYG|-V-_kLWKB~Jh}6Bvi6I=jSltYPv8K> z*Secg73Z@aOUuD=tGs*kMYsA?t`U{?#Ql(kFw;1zvSOPRhco*ZVy#+)+yUV{qxDQ$ zSz!dZP)bGtg3x*LnOe(z&;+nc95E!7e7*k{pO1kx^6B)y)lEEOzdUY#s~eJ)zro?r zr$NXWP#~O0GUi}mwEEu9*D_lH-l?JPx1rJmZqeXu9$bt#ozk&Y?vzfhX!Z>ladZ%f z8k*-SEMg`gibOFMx!j{0w+M3iB0H$_c9CsNxjPIJ1vzr?$w*r4 zxyLo;=AFbhD!OgtPMjA;BLZA#&B|1Ye1`RcT8Pk(Aiyln+N75~L?`C-C5@rhkH4I~ z&`|%7ED2SP;W2m7$8Sub%XqHB4|+K=yKK!mRIfUH_A0qC-MsVlL`41E#5lUUip$HZ zlH_$g3_iGRRuqfIyxa$7>@=_FUPN0V=lWxq3c?6dq}N5s&|J{o<8qCeIal zyf7~9*2%93l0kmL10yYR&*qkZtpIWsbUTl&<6Y3h0lrdQILm&axmP@^$6k)6$&Pkb z0Mi?~3O)|IxkfujGNUAq^DY}l0Pgt}2`<%RoN6C7R24_hLRh{r`CG71FZe|@r!qoY1|mBe6F1wjlcW25|0~@-qZK@=WPop@z@Cl zvaw@S9a4R6j>fHA5=j>j0E7@hbf}1Egi6S~0vYBL5wJhyd_^@Xgs34m#31sr^3FFN ztKux?f)kR&xuQrkOYw+yOqlX-Z{x>ktfX}^ExlTbK5QiJM19~H0)gQ~1joODxvsJJ z$AtSI$6F%ac&GKi@*IafLcLpz_M^#?v1Cjv2r0a(c7$ON!lp$ueQ#(@?TdSYKCOq5 z1)6deQl1;yKPrtjtGD6_XMh4x*qpWlb+T&AH7Bw>R+iT*2^+_y!DX~ENTO9V%A-g< z{XiRzXedsE7e~fQ=k3i4l8mgbYVeQ>Qqd|S=L9p(5@bD(W16}1*MeoQ8gosN<>{4o z!b?;v0J>(C7v?o_9X0ZsN#`ukJ*94-nhe(0nZ5yffS1m@x2HDqMy%obzLr9{bQG8I zQ-TWnt6x^%3-|R2Tw+adad$ykVsg#4)yVBU>2ZJ#? zj+aePmIMY;9Nzm~5X>YbLg*PST_zRqiX@XW#5AD;a22BizGT349~2 z5Iv+NWC^2+lu(I$xgv+VGr+A~o!=b46Cp)RcY)EwlbF5Xn&SV(sx?Z6B~V=|33k?e zl?rjJR2t@Np&ru>k$nRT;Q|@_03DP=catgBHv#YbScluGoP$Is>i(xK#AyjKDrO3c z7$`LIX06kd?6PLhCwFzcyOK061Mb+5lnO8u!{5GuSe;w&1kV4l&$QQjd@P_yz7hN_ zx=!U!=(Y0q)U~_8Jhk9Z^bOAS7$O#OlV&|b2X{U?Bvqo^N+x_KZKRy2Pb*j&F3QtT3}oH6 z*6c4pM_niRtxIwEI`znWY+^f%3r*7e?DKkJPWy0%7gloJqcF#Qg}p;f?UnMcKV)%wsel+0|EC z11CEm{NUw*-WK5Mv>1IT2N&Y;ZEXiCp=-R?zqgZBIG=h0LIQ1z+sfkjQxybAu|yBo zX~NUB8gH2B4K6d@op%c5Ehy%#);?A`D(2e8f)UVQr!r9QvXSttrY zhM`>JHo*htDkw1aWZ@;peF7$6qMfM~V}@2<$Z<&Y2i=%r<_N_N^EV{6X-VS}$A4V7Ow`yUXqcO^WbpXXE?}c$e z)8+DA5a&x&V+xV(*6wk)Ds_g9PxM}X87+-NF02IDbdkG+eY);?4s-vUm&7l2eir8& ztK6q+e&2Fbz~wn1OBJy`&0(jalR{_D#@&^zCOXJ#d9UGb_bP@?orYvxn{=}}resgO z_C~z!$_|}NR^Z%GcAZ8}1nf}fqzdQ|s51k`!t;&to$LkgJyIy3PHBtytqWuaJPes@ zCCKGb$$9&p_bvxc=d5B^WEsK}l3s7_?A2j1`7G1EPb&pjbCVlBS7xaPMVcx&p|$;` z;A+jIlrHo`z1sqVEQ5&UaEe{YB$b&H)1K|CcGmae!}$q#K$!6XWYw2o;~w8iN6kOn zRdZGS;*G4_-yH=U?xL+??K@pH`}W2@MY{f#JOngP*224Q^}Ip4Q>y(Iydb@k>j~nz zx9E={!(H0zd5T+$;OyX%8cZmj4@-MBj|6(O3T|BF#Oi}M7!Yz>U_hpgZBrd7moZJw1O*3pUJcDX<1}eU^LU)!8q=>jWI9X4b`FW_59Pt zmW-U=8tl3&QF|Rp!E+hRwC_F|G?mbBQ}4vQ=@b(y$7Afur>Ma^2rxl6yt@xw#IO}9 zw5xU;G1--yGka7ykRy34MHu8gu}O;DKG&LS-aHnlSlVw>Z1Ga;MF-Cb zO7Ui%7QIiTB4!s77-TyPdt>!WW-N4pTM2zNl9AeCj;^I#-UWiDwgwON-3s38R?)5g za`7c#`cMHOJaVcYC-@oN_*7p=8Sg-#bSUNs3%!*|hm1zK}*lw5Jo&7}J2O za%Dv&T3KsRkExK$Rc`Y7-;Vp;^)j07&8|YKHu^eA5c2FK;q^KD;<;b4jH<%ut9qh^ z6)Ca4WuL18>(PD{yLT=)+XkmucID*vI`(zVjsL@jx$`Mu0)J6DZ{;saoiDCuh=~Qc zmoQaAyz&f^9fCn#L#E;nZXoW?gdgD78iv*iiy~fNl*f>=9^Of-{!-FOSQg{EXi8w* zLg5JJnX)(3bo2K>!FvN zkP2^1nHQhmEVg=B zxF7q*icOBm4lz;OFVEh8Pn7(s70!EU^t3o0bZ2if-5)3M{skfIz=JP=k# zsm>y-&! zl%Tu2nmdpf0HhvE)%NS<|ESDXyN zFvuX4SVvzqr^OJuLMe2(2;1%+@AwyJyI&FuAJY{5x%UB{kGk+}%k~|3U}HZo4yW`Q z#)-Kk9H$1r6nwh2DF!19xVq^=g(@@mvmDT~q#^2A95|^vKllB@eY@f*$nS&b+@`3V znzAmii`k`j<-2Zvb)&_qGB2z&7K-eDxvz{TIK?Vbw`y`4P?v}PQ*EhZ4Ntg?Yy4XM z2JLk>j24u46~W`Ir52M)OFUAZDHEl0=a=wqcb4*$?jv=DAypRU@*CdGYwjcSMGTXI z7`iPUILm9Tuu9h#17vIS1&$`(GpitRN&T2aeP!av0qTNj(s?wu=e+6<_}+_bSuy3p z$nzoALRf;1?I&nJkx|5P`w+_h@pU_1Jp^~!ds8sdTYN2E;#Vq`iAi19CM_m-5u_dy zeUQ1OMFA-Rvb(e`JTx2v!eq!l{-q;&+6n%*6S1(7Vo0kuPJsjQv@)7KWDROWi^%gv zR`GUZ?=*J|%jZcfnw+cuC{~wK;1Iqp3SAo=xe+C>u_jn*$_Uv8X-(1Oc?w72!;2J$ z+SNzf3a}hU3U1A*vVD5~>sP5LbJqkHGW4$#(6<61B@Q2 za-?nV=_^rIyw!6FsjHZbTbR^AYThAEtN8EVqexw%e(N^r4|u{_ zOMtmG-{p7slx*V74gFA-yR54kl?1G z&_EEUBeZn(r|;zV$WyzgrNXWH!$d;|F_A=!AtX;)L0%z70mg5*$gf}uT4B_>V6MTh zKplW}BX?FOBxb(LtuAI4;ocR<{13cV4i83+-n!7Vz54X+Vj^uQ_lbJ{o7ZNipl`9( zPe-H6T_=}8^O_V1h^53^9LB9$+JZveT=odYQCSZ8i#7%<+<(5(K8-4GcTE*K1Zjha z9aRnU*ssMW%XsYOVHr6{5TKc?SLzEM^`H?@mFrMek&SNfq+FkxKx%`#g_06XzfnJi zv)dt&Dl{#z64)MSwn0=D-fB0*LQ+u2n^4(NkKUVZOYQq?QXhYF?Wv!51poGKHtJPe zSmex;+VY|c!FNAXT69nseYXc@9_U{xb3(><5x&3vE+| z(iocZ+_$R(e26u9Ua-tJQE6TX{m&41TSYr zswgUer$>m~=|{>(;-SUs7D%wHhyP5YKGglS*+ACD&eCMbABnh#pyTBi>k8#(yND%( z*q&-j)wTQlt>77Gz=m2-V|H?MSSCCY6?XJbN2N(< z&D8M{Ae`GpgE(e&7Y3a-2)+$u=>G(ifcuc@y;LsAeqvO1un<3dhhJaEOQwJ#&fM3^ zuwxI=kgtn7e#pRJbg6|0`jB~$$EXq#wnTGjvYgN=OMOeSq4Tl(`sDu7+DTJA*Kjx8 z$z6n))Y0c(_r}k=g3bzm;=%|c1-H*T@=mYQTwr(DI~=wGSV9t;e|Z9l)U_MhPXEUX z;O|my^^EwuLh=b_{s~ZE6FM=~w9K1bEmn7%yAIUX_P!CmGS*z{lvkNS9boa%&u?p^ z#W@FNDYdo3ne&LZHT)6H`*(cRcKW4{?wa8ZV%YlG#vR}2KC}O7CF$&Ya&XX4@P&PM zA;qJ?@~GSIGJZCwrA|H1jZYjrJ~{*H>f5~ysRgMQ zvfdo6J9gt{<+k1}RS_q1Do@RNn|T_JQIS4-h(kP8^1?5eG^d-BnL+ed7k0j2U%Mp> z@ zW%qbHk|(ANQidp2jMjb@4*5CTD}`#_I{(zYJfBN6?lJj#@hD~2J;6KIKvFc3LU}6% zm3n0Kfgt0S4~VS0UVO~P>dxUG5%NdX|j5t+=l%|u-fAPFRPF7XEH{IJ-8pHRD zF7=DpxW`h$+3kF%t#Zl?wys4_Ia)h%mu!^OS3VXdZA#k zWjJ13&=kuY>>?dRL-NzV}vbJ9HF9Jtfww*0~%~MK`!08pF{l26cf*MJd>8edZ z?Ic_z)Qjzm-YeL2Us_@gZLrnm7q~P%&G*B48r6y9#n=Wfb;}3#Zm{pOrt2=_@8c25 z^{#G$!j22ocl^BeYF>H!gwhbP*znkX5*Xtz314~f`wikWRb{=V%}+S)Tx(Bm4g8Rr zUgBXUABU@*!D%mku#8%=in{M#cec4oI_#2VK5NlbH1g<;s)1R^S7!27ee-p zQ16w@mX!!;>HXr4TGEmTiLb&!5--^7jap%wDIEI4yrCEnTK=S%iIQv<6S+WcjCv(h{Bzc9M|XUy=K9?oieV!*rXEU{LU*?Y1msTy+lS1 zJz;Gr9?J(==U_4R-AY;rO0S!K7r#rdOJYkxKX9M{;_u(wElL0R!QluSN>?Lsc!f$v zd%hDPA?)Qmr!J7yOwTMTEouM@;Nrpee`qYQwW#@2_v(z((m0^!rd#i^=c#Tp2rhGu z`jhW>S|wbgI*z^mgw-s$Uzk{du53`FnzWIFR5$v&!@oc`5oCfB1OOJgkC~dRt9YA) zjv;21B_#ei0&4M*8SpuPrW;$J0Nv`jRHdNdt3Bk zO=&7y^cg-DuAaGr3pK`8Co!=bqgXo;{eEI}+sC_mN&Ew?spKcHi_PI3?_L4<>}s!@ z^OXIgj$>6k?vrqI?GC|iNh$y*HfAdP-ThT?F%_2qbLcUF^JIyGN+=?0r#LGQrs#VF z*bgk&yys{V0oaBc9wcJJ5mYBISEZoI*o@jW@u0ljpN;bcHRMzmvxSS}8E}al(rc@*wh50^82^ML6HyrV zoU@?@1^WXY41AmMax-mREwUCgC~6OV7oMqh-6MZqXnynIc}>&JrbpH4tV|DtqoJm| z07GWzp9Y|+gwG9k&s_JQnj z)|F=M_2(bsE9c)(`|d9x*;+cXy?ErNQ}n7U4?Jrr?X0^E)~{%l9j=*yTaX_b2P<&U zukAy^n;Lpq6E8At^xuS*yz(q2)829qhD4GT&pR0NV*Xk;!+qFMn5c}R+wi)Ggs6$U z%ri_N&aeRbJ)!|!Z{V@QLRUWOOsw@ueC`eX2RAIK+C2tlA6gQuH;>zBsnnt5{lTn{1t*exJ=g#RYzG0CpXs+ zQCi0r@qn)(Tfjb;C%!`b)W&zpF+hu$hqZk?!jl@9T6bt-*fF>0f>pN}&MLv?RFpTS zMl+TQrTGII6t2=fPuHI6jp11+&cz6v?=LhP4P-4HlcDK}DU>nzSL!iZ$=VaqH0)DA zQ$<$IskU$uS;1hiHo9YXzzkxX#gx&aCU!I}A(mm23N zx#eITQduZ+`!2iMJx_g!!UDuAnk4dH@!?ndI>IO;pyAX`=$p7KRluR8+|e|*^)3|9 zo4G<&crK}V#gE&=s7Samh6Cn&AAlsexotZ)(R>Q6$KA%a(Tkzr1+)Wq^xiYTF4$uS zjo{HA*0l2C6z~|CS^BS;lNuK2nPuW8w=(rU3ZNny)CTevgRlN=jFW5s{2q>N-5Pv} zyj%5!r?xV<4&>0vyYrVaBlzTxN}vXr+Iv&@3JEF-qq@VZ3&}Tc@=Yit*+q-DA8w3` zRSe>-wOPiT=qYI5@p|xYwu<$14a1&m~Q zcN&dh^otL6{pmyNab(Fm7!wVq1(xv|he5%3NYW?j-JIO+og0=sqg>u@o09rN;t^?$M}4@x2Z);&2AP zLTUge3dcI#rSsMzU35+M3=~W@>#V;=>C(UdH6R(gF=nkH;SmgE&<$&c?ZG9;=crh5 zLIWpW@?@_mDE26dq8_ktB=0 z>2m9%egioSFI)&UZb($VfVU)4F?nbR+i`!u1o!F58ExDo|MqXr$UoJFfc!ALbN+`y zy?$l07DAR3&3+R=_tXLz&DVW?z)beo7_rZJ>-=C3tBbG zI5sCG2)H-^&>m_LMY*@B#dYv%Jx01f`g)7_GhOePnJseilC)xUXG|8?#(~LkCmZb% z1HUao=g5-{Rs=cqky1g8O*A0HtcI~%3mV=wdYT{!pE|$o8AI;U$Ha<1m*kzzboU4R z{2PjLK{xjj_!uN&)XgMBa>OxDw+y!cUmH<<1_4^(LX0S>s8LiI)q2->s(psC7_af< zmUkvL&R2tFFWhdXQ|72qU!I!-FM6@74wRk-%dpLcvrCK{vb>yCiQjYl!HXDMba1^m zxTB3I5?1TQ+*0PT-t-@gSd|(69S1jgH-b@PKOYg|5TsU8$ZM5p(VI2^So2C$i0EFu zQ>ex5PV-1wcii@=5R)v_C>_EN3VZzVsU|9F6*VPEoK?I2{T;I(%?d~NsIBnZ20$bX ze}1(ji}x*E-=WRbpM`<79u3yGIwG!d=sKO*^D2legpt zO7Ar_NKm*%yt9hGUOk33nIc_RL)f_rgClS62{bBSsuXY)F4Cn7S$mx^_IhpY`fM*V zG2@0L(|zFszz;UWnYlbtYpF(tnMz^-0-+?CiW{fc_|JPP{ZuyZBmWiVjsG-hI7 z^+P~YJmgOl+zw1e6z@~8_8s|EJDvqXA@T+wI8S%WM6U`YiXYZ7FqoaujRTYrYU}hs z{LQz-@U_wxr>-7GUzyg|Yn9bA%5F%wUc%MLg-C9oU>#Ui4ky=@7@yEETdHM}$NTP*4 zIXzPO4rkRBSV~ocq*dE3>*20!jC79UI5ofcuZ-g?&IBt5DbcZ?)+R9`PA@$2w~zUj zx%$);(g>E9r;mc?qY_?%JE)Zu0R5AMB}hT0$NHzxA+c;I>isgC3yH5Q&$85s7FtR% ztGOzGX&yY|YQhIaHDmo9+QLt@GQHvBQ%tcboi>1fPtT+P@EX0@wAHzRfcVv&hd=-TU>t1=4w`#w9Kmsbl=e;#Z{em(w3Zgm=koli{RbQp2 zOE<&4zKUq^O1xExlYGcl75foe*7qZE;RXm=QfGa;#0);u3h2C7>H2G^UOq4mE-j~K z@m?Rj@mv@$Fb+0e$|~#ArPP9>I2=C7j=N*vV_=&E{8K6_a`H;u6ww^!WP`o9Z{4`Q zHd5kDNyWdc86Dmgqkb+1&}AEW2*{e8sFLMu)D_Q}<0+vDr3fm?W&j8nvmE>3nGQC> zEjEVsr|^?kExl59XpVALcdIK`=HuOq6>8a`k=(U%=N%Nsm*gPoGL)dUrmE?K3jKlH7eNxvx7i*mV(CUd+Hj+h%E_@ z44P=L@?U@DTKMq1-z7d=$DP1SHy<6Q@`T&kJ(yn@)u63ZNzeNUq#bzt^``P<)b7So zyX9@C0z&`nZscKNaKpr+lwh;wsV6c17{ zr4^h7`;w!h=#Cn?{PsHJgB6un{E=I`yc}Ydk_NqlXjn+!;u<({JmZW{^n9;yCUu)L zy;dh)(%}rT}Y!+$~DlPW(xgk0|gk^R8#rI;mX9G`&ANW@fLx|)k ziO{6R@Nyp{8HBj(!l+fAo0%(Ez-*YW!#~9ArLDkd4b|d&>Mr3ROVaKIxplNcO?1lI zr}9|6^l-S*$#NR)(f$5k7dP%!D}?0vY4EJ2a49vl+M1Qw?GT}D71;OXvJ$U%j~>6t zv7P++p*4sz)$vq%FZ)ZAWw+a2prmkt(f-^~>bT;w){LL>5waf#P&r1Ylbx?O{@K9) zy^ZGp+xSdHLG3avq%G|mFnN?pvaa#U*%9wXeoxrBy_;;r(yEQLz$A#wgQGw&XwmzuJ$XBaCN?vqf7Qr!uf2ykT?Y*SWS6HQjQ=p^{*N$Xk3L+a zh6FyIA47GqAK1s_Q1=?^{D@v zg-oEe!1CX&R277SAof6k?Z1LwGxd$`31`9ht^d;7wEflq%Dq8vziOC(EB^=;k6B0j>X4`FS)$;fvI>E#-IOW-ywC&&%ni3&DZPH#_&W z{I~X}Si--QC_z8(&t6{0aw?-=jO@3`2jGbNn@Z;cU^EVkD22pegHuAFFBY!AxuDy% z9MFTM$q_i2vRLSD9p^x$Q1>KS+FY3jTnl5H$Qk(GdGBm{Kygu|E41O2f#H*q=cr6#W5(o7Qp5^z(TA4igg?1dhBz*`4-CgTFwoFFK(O zG*~61d&B;bX~n#mV0D~`{GjKU0P)Bozzxs6x7TH;1Q0WUW<=38Xe6PBwi9hbK;hgI z^85t!a~tyEx}6;>cAKCt5@yDcm@*po~YVC=8Aq(?Qc$sqmA8ze~em0cwCybTy zLd;rgu|WtpQBDqNOw-*umndG`N!wOgDmoWE(bb;75obbjhsE~+;8T{fc+IUGFTSY5 z&T`Knm#BZM-Mwu-h9e}lLsJxW{6(%lt)O92B>NM8{@!xG_NDMkhYq3gwaS5CwJVuK ze_;PAcK!p#xQPSMz|iC@!-!V0MFC(LXiy})@2NTm=@8($>B52V z#;9GDh_flR99Rwp`f-iLN@5)ye}3}0W{6QQ>GvGFX&vYFKu+kz4nC?42U+<`wtB!__?`-VA5|4Pc2{U?YE=hwv#3 zt%f#TpADDM6g0Ms4A94`&vznwDxazye_~7 zE?m_FF{Cp`O4Wk4*tTD^rs-EP#&ByVYFWf=8p@9AV+2Tnd+Ht6` z^HW(f-Uy(v18V2~!ej3ZSRrLUjF9zLdgcoVi#2%SShOC{lS?GLW*)-4gl$IBDLuKo zIBFfwlf7echAxVQlY9iQup!dR;)zMF=;^>4t*4D$wl#>A75sTt;3A?%R*x66g0 zjwALef~>H6fe z!PL0|bf!hC$@^_VKiutcePirn`F{ml8r)(GNp><~;{*0fG(1PZ`<_VF=5+j; zEnU+dNihw0$XpZg0ABkl!l_IkoNW7G#K2Pab-I^p0U-Ak1VNsPnAXMPYP1tMhwlGv z5v;X~mQFd-{SJtvcCBLV*2RsSAQ9;H=Q^3sa6ZDZe`DNhfw~a>_p>2qB3BUu@i_X) zgG?Le4^}RJjXM{;SNQd^HTsJPS~H!VbzB@lonKdur~V z7+F;P0m0}bkmzs(RD_j)<&xahP8O?Q%6P>m-(Cu`nY()?GzijpoG)@+Vj|LR4C{W^ zv@+5v(b~sW+UW_2_D0@l0Xfg)^-kH=1jEb=Dsm65aN&%MGk05f-My6Z`7gldy=!06 zc!V~}sJylU{AVBp%;jW_!-sw;59`;O&5Liz-^r$*+%PJ!W%ZNXJ{A7&6EY1yGXTbWGp?tg(p(L?6Dd-by+ z?C*OYzI_mDH+Rfda<>$*7n{_X9oIoT2`o)4oQ83**5a=R*3iPi{tmVWTYMZBkoHR4 z+sT$^XM&ljA@`M=kjtOq9xd>2l$VT>+1a~W-K$KoNj@xVN6W3gj9hrI3jAjUJ2y9{ z7zr_xA)U4cB9gpPRU?&lBdyG-yp@R9hHq@n&cDfr|Bfk= zV*jSls>WoJ9Pn&~*o4GPTz{Zpd2o4??blU+{{C@>O)rra67K_%z^|x?dV^8A1Wg6$ zt2uNYpMe~S2TjFxeB3u{J%JI2-Tni!5^AZa@s1?sF>hWa$bHPy^6t%n{%GCLfrrmc zRLiR<=|jMsx<*~ru~uLDcup&C8C3wOvB&!>Uu}?MA3}alI*h$kCHdt1Z ze#MAO3_=!rSXd~*u#>y8O?d^oi?pud9lU)GG7}Lb1&~$uA|>~wn6+ulU74&1GSqy} z1BbnCZ@UUZ=25P*h>=GN zunVCS`4lb6pw&7EiwF|O6o=uL=fNvckwoKj(H(Rj9uRVGPj@UNZU90o#}16C#a3b< ze+Vf;49lWcoGJ!AqTE=c7cKQo$`*U}Plfp}YyggM8pzAgUPlgRmZnB5>r1G}?b)%j zT228isa)Y2eOvh;?dFCy^@cgHA1FUJH?HkLD5v&Y7OzWutp8qFNAM9m1$EAL1Tntd zPB;SRhg94QQEK`KJ)Y zEYVGmeExz|>f`*SEt)+J5=OpR3pwk4>T4%|Y(Mo5hA6Xsu0#tX7B8(=_F zaH_cWsNjFc2k_N*^llWG=3ZekEn$Uifd}Pc@gn&Rynl7N|8YzR6Vun^L>YujWnEc# zNGy};bT8mPU&2H(Wx0uNBaGqRZ&jBkNuLG=oHx}RD%4!8Xj*fo4!9Oo&G%pHB5x8ApseA$o33lB&u2dpjqsxc z(0fQ7kaC+!;k)a}e6QtyZ;1OVsd0rFs{y4P5Rnh3SNlrov#k@QvLU5UD3zzZR z`T-wKK0{tp`>)Lln3i>%MA)WsKxQ87^7+99TMd5GGHaT=`UI9*<&N#-84^;(2FYGKgxE4gJy-@OX zYlg;WZO>c=egyDbC>fVold;Q(6as3UpV=JK6Tc@*KfO0=lq^x)IeQh|d5m6UpKST~ zw)^1hH@ofZ0s9lXI~lbM22bd5+bu1Z3!UYY9tq9`bC&-Ni~sHmRvYv>O_^Ua#4N96 zQ!$HNGgr* zL6BvRoL8OC_T+Sa=qV5T{FBS zS5-fIHevB>o|1j91Jpza*Z(_fO`D&@K7-}Cp01_vMb3V&yV)$-dSE8sXkyg#{%hnI zVS`A<8Q&u)?DTzNI)5v;HGwYT@VT+!T!EO6pBDo+4j#w`@quPp zr5q*=R6!ri8gaj8KiJn^l_LA3(tiG1EAgn@Ig{z0=b7F0bypoOOv!AnC7Yc}D zOFN29OQB;omJ;2;dUM|!)i(8lFD(A|mkz6N|FZVg%zSL-GT7%kf8s#8v2iD;M%(Rd zx6~4cm@1R;8gn+~D4|e3`Eoa!tp3i6zB=bMN%=AphBMSeBI?ebz}TPnM+*;TV6@8k z2!ZJ`t9H0cqfT<(ueLu&RUcYety(W7I+=u#ESf6=sOKKvZ@zG@H}BVMf9}t}^%!;P z33Ppn@Tqgw@$$L$nvnnOt={Rg=bxcthbe>Pha2R{=F{ougm)`3$DIC4Wk|k{Pq!F9 zvXMmFh_oNEA;qw zj$)8&Z3q+1hWWOOUk$4L*Z!|7?@T^tKU02^`Ea%=+uXZ7OXkVWj`*`<&5b`71mn+v z-y2+gkd+634`cxQX-A@Qv;VGOL|jZ+Un`cCtAs_YHn#N=QgYLP&f~#HUd^l8aTUv^ zM!V(Rojm0+w10-!p!d5gTzsmY9jrYX`}KP3cRjgJ`GjZ_^5SRzv<+Q-jY$mwc}W!c zen9nXx@|iYbhI(`@sT;SRIn9%&c&+n+r;6PB}3!I|HtBWlXUo|Jp>z%Td6jmHXO<*2ZVoa%%`*KE`Y{De6jC*c$jfG5Zy^U)7*so>&vxl~Tf;iq>l zC{Xu`5qySO-OU1Hsj zd2(JQ56h7fTU%$$bdAlG-jmgpB_CTEMIMjRDj&?ToF?`f6}_&}N_gs#y<-5=j>(H_ zr8*h|b^VDDx67DULY;~;AvGL6f1*I|9R7M=uUtvN71HP0x@}6~mEKm03Nq)69MUEch%>;$eeUZicwxvHP@~?!${) zo5kn-s}k)Irg&PHdxPtvGh!?IXYCye1HHPYuA@7Z4f~Qt>B?t&?CjF(^_lz^bdNWb z{~z|=GOVht4I5PirMo+%yBn027U}NpMoPLv=`I1KyK@msx|Hs&MarV#O!vFL_jS9! z-{;4<&cCS_bFMMQe8w1eJmZ-umYe@tdL#^)1Fp|^7B&YG%5CRrCO)LWa#~G(zTz%7 z=1B`+K25u5@K||Fz3_yj@r8KG^?v31-HQItbpvxi3`XsBqa7|U>xK0XXw}ri#Be0e zlG!<>ise6W+F!^inlgTxyH+P%{{DS^Ov>+$)889htR#5>bFHAd+Sj^&qXxxS#?x_}1iwmtnvNps`YPzvkJ zoK}ZV2nqoY=q%)MpSZ3QqUxA|O+Rz3{^ZYykiopN+N8_iFiR)#T#=-@nmV(8+y^vrg}*V^`n@lVKQI|{MTFpI!3GNT%UclP-F35zf(Z|tz@CuBF7pIWZ5nE zcwki7wmcM>LT5jtJ4e~y;k+fAA>v!aY)}mvOk^>W6qkItwAg%ZyH~T-jj3a(u(gTw zk#;efpw@V{#!OZxPfU>d$aEB(BNf}AsP|ygn#76+_t-X0$E=y_(2!^@@7pXY+vcaXM>8DU4u}mk zEj;M8U#b%)O`b;V1mYh!$R#sX-$To-W}XK`e-)V`o_dP-yjrP1_@zAcmE9ri?N}Dt zED~#{RZOe^7gw7Y^yoH+5O*=%s011@k{;aOEVl{z(4D%{uahLqpmm-QSFIOBu3v3j z=nL)R~J zf9tLf!sTPK&i{V8mnb$Y$bP&n>i$-n!SqICG#wrQ6zh(b0aUt+e3Znf_Ww z*CfY(ZYKNarX~h$THoBC)Ni-j{l2pTKHcd4>xfrEZ%(spX=)aauT))wdTC1-giNBS zRUB31o4#+g%T>#KG93HGc!AzwM#r=AIfR&ULW^F*p2@abKi1 z0I_DrjYQ|aTXB}%EUN`2@pcO1$)7twckL81h>emM)vB@`{4MQ{e80Dd%yrAA=u_1R zEy;UXynnJ)P6F$d&@bH^%I7pm26aczJ8rv-fDphQ+>-f`_HEhm8kk(dss{zao1w4^ zJr8{y04B4?lXRT1uY{w}nKvI!wabCUxN+UNE%P3`3_8g&ghSkH1RyrcNv1t($M>a& ziMu8~*2gV2$1Y10`vN}MHnuhsqT3yNDmHX1jde4FoL%q&;M%(_+I zNWBiz=sXveyb4fILo2fLl=N%+_1y;~E&3eO&Xlw@U|4mVX1~CG_uv0+FubR^TFUtUL<=#4VY^aZ`f`Ua@S5`OSJRJ=}Kik0MRyHRG#3p(c!lq zqFL$gec^Smf$earlRBSmncJ1o3!MWSmKYef(ah$zSJPkHbK0+E@oc=o7jKnW-~&HN z#rkXNJI#3+y)u$)QYWW*lf{;l(c*c(MQe9lqGl{09o%&Ayp$pTXUSvhH~0CkhUh(T zAl2tll-~N`jXl1N3sGZk$Ok@Xb&V_cz2?K2IJ~>_b~Db?TM@U$?-T8QR+_YX{(Um! zzrxbDz$foQ_Z)7crI5Xh=1cUJN<#Fe_SdUkOjJ8*pZ=^`#Jo^uyE5xPpo$YF5^ZeV z2sM0ChH2r%0$)p;5=xNV8R~Zxa641ey0C~Hts-sy(R#TfQGJLhgENWgEhyD~_~#U+ zQ4ABR&B2EN@t*nFPYtdEla3B~YVcI302wqdKLFTW#6wZ2TUuFOAsejvfyqKAi;apUeKZdZ>AcXKK8j^|w`IctQQYr(frZI2DXD??3s(q0EuJu{ z1cq+y!S5!pRx>*WD7Z%!`7-y?=NopFUGV|I*4<+)uhDZHb*Tg!ta@fwQ&{wHnaYzO zU#K2&J8Ank_Y#rRwTf&~=-v(kwum*L6QBvD1aGw-jP=k0ImCHis}?GZ-g_2)%h^Mg z*U+yu`o7O*=A~i6d|o!^QVx)_jXOWk;O~h80Qw#u8MXd#cw@R-JC$Ni!x&qb8GP0u zI9W^)W`3kc}$|+pgzW?cp^qJ{5QLFmlqYiJc(l+T3 zzAbDQ-dwMCXuqKQl7e0Smg9_JJtHo|`XzwQHG?+3Omz0WeKBoULx3GPQ0@g!ThyVV zCEvGYnZ0gQzSD!Y2z*^Y)TnXE$Bp>w7ows?^AbQma9=cx*y|b&6W#sbyOC%@c#wy( zAMzD+DScph&PLcXuTi#Ok#&8^R^McoIeLFq>M%EKh{H_CG`j(EHF%EMa(QT{Vc;RH zSu8}Q$XXQO-J|3zCS!s_c0IJq2Ol8WWQrebXvY#YtP$J|_Z)w5Er)yb7jcz(fy55; zeiuzt^7XKx6i3VtBmK@l5OUWIY*ji7LO-8A{uZ0D+196g-np@U2QJwVUuPCOCwDF% zVZ3CbQPf)QwCw1BQv(eHVW9dfP4VU zZyt3J^f)%LJBXTHToW{r8w3tfNLu#0+~D)@TfBPXuAD07bH^?X$GD3Ib(ziG8}ACN zFX6UPMT%;-nR8Nzt9cBSdcRg!ZU^cWUH7@+=oX7yl}CMWWciU_^%WNl77hNucwuRQ z-8qw3%C(}sM3NZJm;{1nbn015o88FJUDHZ;_@!UmWpDsIUz~GMonhZjt7#}V=deMe zIW#odSYuRv1d@ybv5O0WOS)K%J{j{(?aN&Mg9!&POMZA@&!`cZx=1oS@fL)F*-0U- zN+V4`j|{=tN$$T@gKu)aj0TuM06o^zQ}rH5!_#%|5A^6f2It*p_r z86=RiVp(f2J=V?s8z*9_fsIE%8w3UJmD3gD861(Kp560z@s?r~RXnV0?JT^u@gRP< zMA7KyP8AQ7bO1>0`de1!p6_$*fqZ%-5?C&v>TN%0U*p?0;|Q|{zEgeoQ~v685wy!$ zyOgE(m9}1a6tOt(Eu8P9}_m^y*flsmxfglt-ae8=CD^8RwPVFz?^y^eZh)HW3)!SpqP7axZYR|@HJS9d6_KPc zsBs+Hw}A%3vf_0Ne7`E(-N*4=m$rE6|=DDrw6aYy*%}gd^pM~Dy-Gsj|@PCY&{dBpdVgO zB|8kSwCs^U9K#?Zeu|+hwzDH#ECXp;Tfos@vkz67aJ8rG)lA zKYEBC9(SL(nj9n>y_?gAe&=M>dZVMOri?j6pe-%&g7qB zP%pzTI>D7&o>k^P5j;5&se6Z;) zXD+2{=dFC@^Mm(eBmuVquCYW4ZjS~jP1Wj0VndC;0ce2xcJ*U+&F?2qo8n8*upXVq zzH;mI*`6m<2sZN=@koXZ9Xb_s%1cqN&?Z1Ov!$#z7ls^Gg(>7^Apt7oV8wZgyoZio zHb5#AvW57EkC=!q*WPTKO@4lJYBSGVn~lH}5RJRJiJ$guwA!RvkfHKb0JpkiXDH4) z`*Q@txfqLan&*f-qUwGBC*|aC+!!zWgd#m5s`l;7dzp(?DXen-kFcz7#K~4>GD**i z?@W5=^wSO>m=tJI#JpClVbe)gzIpy#D)N6C%PW1#_}ZUia{Oxg|JDxx4dQ8p7B}3V z#1K6onhL1I>ZDeL{Exh*zhnZL;S!YpJ^w$-!3TI#V!(ZmF6A)O{0ANT>o<+n?S8i( z|8q^g@k=()O``Al9VY+h8aT}L?BD-O0MyXn*(i}G!2Or9AD^m5^k4Mw--~a2FmO|8 z8=^Ey^?+ig)8TVHnN~K5`LDZY2VvDK_3b1hv8y9-+!qGv%Oga}joktDk^nC8PyY$9 z5gy<_PdTQkv+Lx(3V>8Ls8arW{OYjA)931_Gy?zKjSM*;H_Qcrq3xeB2n^(_d7!>R z5lJ)VA0`{np;_HuKAW8K+CPBmUn4mQ2s1p8Z%MiTdS2JBJmMwYK*axxJLC>L&q}%i z_TSIrNderUZA?|q|68vBOH0t1n(j}xX%0&hkR(oJ-E?)Dt=0CoQ2Y#slxUBlNz^iE#3qic!dMMI;vZ-Nk+1U8r z*HAn(wrU+9B-hSnCaRw=`!swZ5D(FYuTw=jeUYs?YapA+t>vAyWx>wQt>Dfdnrv~vJCs{^EUt-VQVyW%YOL8xEaWFhE2@L*{M z@1MO4XnSpVeTD-C=r<%NuCwO(iy5tAFZD7_BQ%k_L}sm;UMTQkEGdhIM~|TLg(wHj z9x5VDKuv8}6Me9~*e8y+^9;5Plg{Bedt1IwI(M@$&zsDwV~&K&R0UMv>^s{rSa~k! zu-umFqpgNwn7w;u@Jn}g-(A_CPpz&k_~N^|{HO`YbC72H%DG4VV>5rj&lMMBe7zzM zKW%<(9j`6%YAYUnNA!I+>;!+t3rs%>9$i%59syaJ!AsMj>7!Q|CzWl}L)l(OIE=Uw zqA000ybbnNBe4#|wP(L>658?79J>EG$E$F?i^zfg__SxW3LX{GR1qL9U`g6E(dj@;cGc?mO&_@YlR-TyE5{ zZy8h+$a|xDtI^o8gl?)s#fQ?X(ik10msIFCk8t7g?)N&;4$>Ys?0ArV|vLSdi|)CAz0Dq zvnKk_R7v!JHgQAHXHh1D4j*-T{G4UKzDb)$Vd>Q0Ip*j!tlHXW{8zbj zM=xMYd15kd;lzXN34&RYHIH(f&z!2eM^i;?y!(or|G_z4^a+TwwwoI4tJ@ib@psbU(P zVVcUKLl^lk9}nOou}Ms7Lh{8+W_s5ij0U6TV`(;17Q=Nag|eE}`2*ftcJ5X3_G7Uh zV;dR`9H?b+4K#))Iv;SiNAOT>Vxs!4kG$0uIC;1(yWkPTk}hhg#DkV>DuwN4#?hCY z{BM4y@o>tM#s9I%eA9uIioTkIB1@H-1YuOk&!QDyO6P!)QE#0-|CntpVMYt>@+S3M zgf10_3PY83S{s)}pmFaMtKx#H^csAw--mQt56w@tgH(FRf_Uf*D&!YUEM`wWs?#4T zeFv0)vYz|K7YD}}JnWjmPNMf*^9&kg=oaA}7|Bcx&E@r3lXrXv*GJM$Cd~5afrFtRmwSV>$%@W2@2}{q*KF;^^%aZ7 zKj1EzwfZEbzTg_uPxuJ3=bNMbBL>fYZ_-T4#5nTg4WQ&b*B<~f8!(s`;E*1)VkCoB zEdqYFc_G-1#~?U zp1>Q>s7OKc{V5n*aN~P|Ex_jBYz`Bf&|;MsrGDbVzyJD5jP!zK2ETnLj+!(zwYt*_}Rc+(1c z&e}Ooae)@O{nN8@rK|q3DAe2J&;e!Nj?v!gjfYy5eCL&{N9)51q|9`7;(CsjtZrJv zpv9g6T46*8y@NyQNrZ@wMS>`!s2e0A*40^%VTX|}HE51sL@`}Pg={2m{(*PTPy?y~ zs`)X?qe1xc3pQsT$B6hG^5w{7nIoH&ldqHJc{usr09ELCt5;ZtJwgmk_7C@pvn}I9mVb006`-E#rXf>Hy?A!6uvHc}2Z(8pz<78o&4^!$%s4(|nm#Z4@UD0}pG z)tI&0(DG(}R_n`Nf%#5}GNeBu$%>YZ&i2Vronh>_*2Wne;~qN{+Di6fLp{QiiC#L> z9mw&pZ)$E&Vo{syK$_nRbWv&yIv{P*_bU#ijz|cE8e5;T7Jz%H)4gGRe-!MzP^Ykj zD`MY}3h}lj9BNN7II!9pOpLWyaPGI8t0{#1m|1D49ksRpmAPTxdhnVN&m5dTqsUh= zArMoo53;&b$p!o$JDEy}4+;BKsT>Zio>l8O461Y&?iHP!RLLQOw@2@UV-de2nxAQN zLs37JhP@4qJU!7Tuc>~QW!TZdKs@!1!xk-O!*FGAjTAg#IB$R9kJn#b;F1-AjM$~V zD33BLYFmH5@$Ib>Z*AUMQ#OUTbni6;*qm$PM6M@8Q6Bku{_gYy`Cc4O`w1`U1A9RYp4TePCRG)@cczDS&&@6*Nu zIyafmVGdP(WkyWM*W4gs)S3*RE^u-zZv2{>xv0z3P``fPKc+fu{59mQ^7_w$-eV&2JlHNy^O{F^ZSp}8MP3G6@O=vU@n4+cQ()=G5Y{v^Wz!?XZ(zjphA`6o&5`u}8y zc+fPiCky55mha#i-e2rrIP;6@>eQGHyq~GLtugLH)TuJe1N^-~cyMbb{GGqI1x)d~ zX7K6CVN{w?DtmM_C)77i%HnRvML{2m;pnVC0~JBMQpI+cnH6>n=RU` zKh-y<`Eli3V52^Skl-%o)@u1Y`#jU)I(x%!dFA^4aqKOO>?;Jir_{Nyi61bPVPsd` zX>*Nv&1LYSlh%lGP`R4$wyNkB4%`#+Z~!*;2+T9LC1RYez?+(73w5xW>k>xUBY&2@~+g#7tZN^tt8s z9dh%B6C}lKp`fOwD`E>iW?_L)s(v%sbCE?NciEt%h5F!7e5EAnB-iaGuo_6BRY zUl`>e{5IWqp3iH)&Pg>c!sSL{Mta2SDW$wdnRbqN_rL%GiD2F9q(L0EFaAmxpk>W^ z^8)@3+dl2@Sl#lk4^~${T!LeI!!=$QAB{!X!dxGao!+@98Lfvo5J-C-v373Nl@k3k z)PS}JEWQMyjn``1Sx5JBU~1|aa1Mzp(7Becs(VYWr}32^M)4fHperl_rlQbRlmq*< zzd`p9BN-?zD?WaMZgJ*w0N-atO7jEI!q8B-7NTL~cx1O(wdVjs^!+96Y_$s-abdP^ z^*(=;%kApDLY3RC;^BO)!Jzm)h|!uSq=LHxWtCEG?<+2dAHGc%478RXD1s zU>d)CsTK8WLi{gQe$5VZ^l`S0jMvcf(M&37@Jq zf|aXsSsRYwLo7s;-bp|Hd(Js$e2AP|q)Cs06c$^g!le%;GsI$hDJWT66Aq>@1|^m9 zl56RYOnou38-B2Qia$C8m%?K^A9BUOs4AoZAYz^L^X%(b3p`HH9~C5+>$? z_XD1V4KsSHS1ttSe_9y~$v=xg8eZRkgoKA(AIw992x^ z^{4lF3F~#-5k#lehM&%B!-S+(p3*jdP4})Scyo-UZx!!-+Rcsh?+eji;~u{Nn|X72 zESes3bEVs%jJEP7ovC!`{SabPMMXvPQe%S$3e5GncY*Gl%E=|`OUj120e@y(&EC!G zWO_ZALRs9Ds+B>hI%oExW#LwW;s)6*!=^X8$IYpHbymKjM<3%2vo*>zp9D%G&y;BO zm5Ci{e93iE5f)l{TjCj?xnVBVE2Jgb8Tf5yEdWS$rr=>wBwlv$yctlW(eOwJ7Q|y! zSKYr#f5`SLNg#OVix4K_%_6lAE^q-ie9PIml@6)-*oDZTup*JR;>Tr zFyj-8cs;q5Le+SGKdy3WV-N@X#*EKg+eO@m;hVI<5|2v_& zmK0v~0n66I+XxG`_os9|tu{2qpN!8>WZW!)KUzeDVPR3URBNH`Z@>@Rm$X@oq_E8S z@7*6To6LSSjpL{PvXi+w&GQler?nm<{YWVKueLr|e;XXVJ5Tue1sE0&l&8{8CSxx% z`#+=PhhT))?3{`H#y zQ3!lbP$H*$o~<+_zA&gAFMiz_6?ee<-+dEka5vDN?TILFt_S?dDGo=2J@apa!(!Uz z+N303QRRSV=ty>TcR%HRcF@)H152>LW2wZ*vh(*IQNz0ah}Q|cpU={kvUP8$cZ0ap zh5qUSS-|1B5z);fw#Q2S3<2Zc>wnV%!k5(ch2tk#oqxW5*;O83WrgyzSvDGfi;YD+ zyFq(1E@*JrSnk_=G0@;(e%s8gc%Md%*<3ho2dd!QhcRQw%}DCQ7L(A~Ns#5j_EQWC0)H>cBYXR^ zL5j#NE~@C!tf;;#r6SORAlY+~M`U38caii|StN!R4CH(}@kNCnUmrMAAltfG>vWDP ze`6~^$o(azqdkWUCiWHGw2F!fyWcuCm7xLYBHo)f1D?k{W2S!k_%|wK1YtWkeX9n~ zZ_qMjoCF*mjPIae=buM&C~ns3k}X2yRfupFGP|Tbc`6~!vt;i0X_VHbYG0pdXe?YT zHrudbCVWzE7W3M~dahb^i$>Z%m+Io^;UR5pUGig5G6x`|5&-EA+z+<<%#5 zNarIwN4yJ0IfrAqt>@>pF>xmK{K*a8T@%A|B^E0c+&q5T5T}+Dm-;0+V!UHKj!ho$ zFl6dX+3AQ$7ny;(oXoq$KJ`RBxj$?)peE+=-iz4@_=B9T>R|4yXUAFqwoEPuKaNxi8n?Xu|3n;f1#c9Q0i#Bp@G zlaXjFsxskgng4&F`roUxJpur%8)3bVJO&*{cWd7Q2rk;GAQBGuwc*4QDiJzFrEDP- z0}SQ6HGjT4e8kPMI2G!k=*T=B&;6eS*Z}lQ+*BnNB#i+1g`i`ren(CeJ=D|H?P61Y zSgm|l${-a-91Tzv{L?qDyT<1>Xcc7z-}c)fCqC>66ak+GTd>FvqZh)sUzQ4n76Y#m)>a{Kk?NTjyMRSIlomD!&Ik+i0V zZ|Ldi4h`T3-q4$iJb*SQV`+sP)&1CxA_5aRvqG=XwnS6NE)Y~HaAc`H`POKRH(Q)GShlbMK;(gp)K z++_el$>BaN>PI;V@79t8=Zh4cDi`mfL?zYh5^yKt91}(4v4H6Z-H?-)Prlu%Ta)%k z)V&_CA*K#Y0965{sQEBSts3M8@7Eda&R$C%;3~YWuzjOit~)V2(xGRs12d(tZBT1& zhEcqL-eM!VKV1h%uwKiyBQ4kcogH3;kwh{<8+&;`M z^{su>pEG;?`MDo7-rZ9_(=l3rD9D(DblKqU@}2VN#=VVRvD}VN`LR&kCEtR@%Rt|? z#VaxrD>>x_vKhPIwmZ6jpsGw2&jI=Wl7=7mWWe{KCu8H zb>xddvz;y#( zL})$6KSNoy#T_DWA=bzOnJ5Ks;NLFOo}hO_2f`dcE1l%qqdLK3B9Gd{?f4s?etfE$ z#;8P<*i-4NcD<(bxjKCuKkNvdt)rHZkZFT|<$&N1i3AG@8wdL~@Vy_>sNgiQJnd>P zDi=*I1KIQ#pnv?XP27v$#<5Paf$ax9)f`UeBs-XPko-}CQ*FLPL&XyL9J}A9=Xt*V zQo7Vt2ltVQ?Mn4fbQla+t+#`o$7IY_rRp7e$8ER88A06FN8gpE%tfW@>$A@O)zv&l zjJ6}s^;4+%Fg6$Q0xUwk2-Ue8##8f=6d0Fpr49t_chyyS@T4c}GF0ZGo*ti_*bNBS zaVbDkuZdj*N)(R1hOM!peTa)o!FWrIU-^uTqmADkM!kG4bwfzKQXQe-;UXV?Hb3?H zer&si+g|kr05G`~>G}?KKZ>I>1v*0)L$2(ng^-DEgakxx;;qKyZ$63opo5f+M@;}2 zAG&4V{J5LQ`8}P*I?|R*z-O4R8D;-R@BPTp8eQST)4RI^vh8j;yyoOm=ZUBz>e z%^ocMXWNdgkus)QjYddPacLjGrt(x_Xqer%8M?=n=(H1Xt_SysIK3~9+syM3JMPyk zNkEu-7@>A%6IBUu={ z^=HR}dn*J9=2vVk2!f(eHj($2ZpiyHQ^9tAj~hZ*Fg79CD)Opj%F~-}Doj2XBeuj* zd`5oXI9r^-qf3_apDD5r=ezmhraIHjB=GtIee+y;L%f+9k28+9*Dt9VCBEQdt$kOL zIO+lDK{|X26V*ei2LEXR?}UCZ`;um)jb;M65ddFh$R~I!s+Tkk{Nk}jl{SV3$9)g2JTR3PcQ$T|v7T>dR8u>*8cGUC6P2uh5I0{dEj*Ewd06_x@ zgi6Ale-wm}lMzzV506z-Pztd1v@dD}CC&ZCy#Wt7KE++drL)!IL{3Ac1RAFuG$@;d zKfz(g?JP4b#K{$!j1{};8#h|_=h~b;8Df{zPTjO^kIxCGD`QY5(L%V=R1&7BP5HbG z2&m2jJdXK499!H|&LkNfYVo5Xmbq8{9PmoPQw%}8S&t7!2WJXe9B~R%p&ZO`9P#wT z^q`WkM@6cY>vqHIFB_<{@Er59yy}0%e_CaEia3n(aWLNW=+>hl2DpohIGG7zmXv4&Z32{g%l8Z8oltvj6_eTSck9MMhVVVE$;j6 zoRyXwdYxK+O7im2&`h(nO!`zd#2F`>0io!5cM3iQ>O-Y38g9REn6Exe3}XhI2e}~m8w_IvI31tnb5b6 zw(T=lrBDv=*$okz0Hq|xrcp`4wk+6wvio!Vd4lq)w*>hJwnwy4U7X0|e0b_f0hq;= zy7RHoe#HvbtF?i7yw)2JL0C8_EALi52iw_|jQ;)pbUDRZ+Zef6FMl7|xetK|gwkUTy#_PBJCr-26-+p~h}&)6%7v zKTAvalo0c!(c##7VR#EA-qEgQw^af;fn*1CvMGgPvk_NVx~YA{Ws+M}#$wNROd?|2 zT&Ik7CUUPr3d$6~p`Q7c3>I>`xde$2xsDMaI^cxj;H5aaw5%{{0HuD69^@}a&&d10 zx?`qkFV5Ze8aOJ`Fksq7tE-(t@or1h3L?D>ofKi&AKTfY1?l+_Iwq%Mup|A+$jFA% zxsib4GSZFqOF;D-Q5j2rqdJ=zMOc5Y;Z*i#*VK18_y1(y^OKji&bOQ|5imhlyVSFAPT+4Gbr2I{696!50VB25Gq^$Flak ztCOMTi}@cst|n*%_DS(l;0VabDesIP*~n~(|Ee(7G2mVG&KBBA%_Ptj%-`1=f2crJZjrI znrH6Kgq&pLrcq6$GsBU)&7Xkuxq8<>ezIP|@YLMW7q` z7S6(+_gT~`A3|Ji7(*^e#lwMol%VByZ=$edc}BGoQwf$3$Paa=2gdt7{@;oI6oT%Y zbL*6a?~9Q*qq-NSAM@QXq1vjjbDI&zhPzQ?1TVg0Mr5+|J}8sT zfXSd|LQXnM>9uyqazNYv)*q9T0XsdXFSGn zkZP8wdrkT;1TAtHYI3>ZDPb5UDu_9PeU8@8wk$dodogZn{pdEn=c7__e5VY%P_|j$|G6pCDt5_8#HEd*~R3@6-RpdNtXbVT)2ZnB~#H3*wlIgN20nd|Ci3c;UnUk^hAS&AXy z8!3txcOEZPOEgD?Rt^1lvi1l+p&2x(@EngAIu)GnbUG?je#gIMV99T^O`CM~ zf1i5LCs{Eln<}j5aeFWpQqmTJ)e}XlL`W;dfKQvwU*)qZKI;AQXZGci(ZHM;9|wuc zGF~Pb_d(K8DPzpR`^&fE9Ce<9iS#rM4N@_L{dtAo)F`~$vFo#c!$P*O-_zPhj)R#n z65%AipM(kfNBiIHaZzcG%IcGagsEK>++{Mka-NN#jUcw^dWIogkE3kFc}LEfP+}Wg z&uF?JYIp(ac!d)g8c@b~Nh4Ag7xB5@j&+@);%HN&lP?vfNS06!pP^97ac-eI#{Vm4|=i{o{h&4VzeM>3X87P$qYu!{&VD&=R-q5_RGP(AFlR;`1C;8*i?UH$1_l|~XR6wf4l+PMxv zAoBBaB%?yz<2fT~9QJ0WG-`15)hN@A%M!dykJma-6Tz14k%~16^i3R+U7x5R{sy6;!zJiBl!LMF?1f;DYEV#6Ow+vo zYSloy&s#CBYX)ME>$Qy1zN7@sV6}R~(+t<6AmC-fEw@PXo zlKhv(&-X@YloI)~k>71;;_u5Dy<+bbQmw$2<1soTOckgv&Fk3wk+ng_+ z*Q&4_a2}>qzF7AnrUJivwJlFUokc`3*JPwudxC{mw4VRYH^+Oj4L3Z&@BD%y_4Fdn znb{+4X7&pHII??7p6|$Nz~A@eq2Kb-5h<-S$P3-^RmDuC8qsj%H{?C@Wv-p&P6v;> z7Q?SjPIJ5llD$IK$vov5a;OI)TC02LpiLw3N>aTMkgP5w#buR`u4X@~badvDZL>)Z zEIqzg%@g{R#CsXbha1DiZH`CJ91V?kig(3m*gI|}2<<6;g^tFe!!|u{d|%PklhAg@ zH3pXDKDK4T8a_Pm2#DR$;45a|XULPD31Ys-uuCF5f(=Szyk$IF@8UAGIGD8SQRJ`7 z%*`!uy>5`19r_K;^K3skJ|(=-u%5W|8IlXg{b#MW87{?wHb+hbykIe0+aaA`mYoZa zsCJo$R=d6H-!~~81io*K6jvE4uy4oBkawd2uVe^DIH140sVwlQ$qLqQ?hdk_HuP-oLdEN68OJDvmS!R}l2{sWMNtiMnLPol?Z5_<4Dxh3*@bCtnRk}+ zT6T6id)|3g6#kjU(_`3iU?!SV^r$(VZNa1(ffxa)Xufq*P!fk^_In-IKsWYlDzU^J zXJqF<1VM9AWSt_-H8ih=o<}-&{N!P18j`ow!ks;TXc^dD*ffv4!3ZI+G$!WtFi@H- z$XDw^p7t#4_7H4L(kSA!$N;@<%0XoUi+{9q_LQWnjs1b9p}Ot1Dst;GN7{KVgt){v z`ertspb`&hVSAST+uln~pXt87J)c>Q+YU|nw@l92!?ar$>rH$#k*|T7&#X_S@8P%O zR@FbC@#3xP`F)8Hi#VsRLMqpf&CjukGkB*R_{202U2|g6nio5J@Jd@4y_rFTxyR>7M)qk4A za%mdK6e#61;-wR+;s*59uz6-sPtfhZnVrT5bLPC$Ba~B3b3$- zc75hauy;?H@Az%&dBA}2sW&q<{Vb7z%h9=TC>RqS&Svl+zsjNu z^==%EB6}rfz6`TLL!#=(Tb2G~CDP|rB(W=gOw&9|zR6K8p{&tE#EGIaoVcYGehj~7 z4J`Wnvg|}Q{L8`^Bc4V|hVFNq&daTrZ3!MrO$^kcM2YTR6Q*AF-wkc*s(jY_nstx{ zJ0`etDEXuE$8vqFPK=&|aOuOy!(HvErWjP)d0(2qoNcRo?yZK~&@${lk!%!@IdO|3~~CwO9JU8GSVugr^Ru zXb2SM74;)Y4G|E=k){3Xu~;p)pYMKmG02ZGl-V;bE8bMZhEoP#r`s(E8D@%g$b$7# zl$#vgmI3c011>Ao|I5}9%_}DjHT4HGRK_Je@304JQ%}_MOdSzR9hs<09LW>Ww{)L< zeSJ5DLCk$3g`OesTFX2BEM1Qg)mCJ`tvSjtym5e&o&knB)Z2Px#_sf(J}R2Ht^m$Y zahoI%4h-*tRM0&$5|Jy4B+)vEI znWH*&Lpv_ylDIXw(4M6^5}bQRig)T||M7Ckp9<7WM7;I1xwiBa@Xj^aQbd&cZ6rN# ze&yu+boOr9?%8xtn6R)XbIqg{RZ#K%FDu$R&Y6 zhQi)a%i1ui_}^wUVFHcN$o~`u-Euh>i&|CpvXl_O{#|MQD{#BYX;(cD!g8tp%*ptx zHI62~%wT-h^77w(!M~H5ygmRgPskC&75=xT|DVVFeP^YPiXg)pmwPti$ICaQH_|ss zBQmdT&zcX8Z03_*&@W?{V|>vzHV`s(k#Ms5{lz#0Z0~tB#N&Civn(Sc*OX^J$vMSt zx3R;Qf$gie!#vyhgq6kfv}NC%iink&FwhU_IXMOOL(AwujO-h$h}|1K+F&qohq230 zPqNW?TY!cTRKuO-GfnPJoYIErT|}pIOLoB@L-C3Q3z#-TuUu-IuW$YOW|K@#)_TZ{ zEFP8brcE&XM4R9fW)wJVnuRj7muzop{T>mNkGAe<8$9QKrwhBRckXZ) zjr=+veyu4{GxLp5kmj{1zcaLouTyZu>y9)9H*Vw2$3+Qe?N9vfTr`V5oj=C{IBy*( zANXRk1tZa&;vho-U+%Arr&RB-1&A?1ED4VRpZ1u@@Y zogQQxR5`Brm=aiU5z!M2@FhEfhG~U4Ask>Xeqn^S^b_H-d_lezP)cShZVSr@O8Lvo zW#2Rx@1MF&-3t`D*TwyDB;7b#!tLi7JS~XcXT5*%i?Q-y3D=U2)`sKf7xT zb|1(q{IY3)P!D5mbaa&Cs5H=TUM4yOjSmT$XtA}SdL=H&AHqKw=xJnu2gQ%_ZX2lZoJM90{%XvjLp)Fxp4br>xDpi!wOM(=Y5F~V^N)Jd8Py&PlNUs7B zP*e~NU8D!3XcUkl5K2NXDn&wofYLh`ffJVNo^|!!=eytLVL!~n?D_sR|7;h_ei|tQ2WTth?la+Bv*qOOpWU|)?Z-HWAS;K&$X~H) z_3-ho<%PXTmsTPNA4gegNvaX9WdXpm<`p5HSR9Bzv@Os~Y4`Y5oESNPTD8{m%Zzd$ zAH!8J09hM?54X|rQQk{>H3Tan5|od4+<-V$?mDYNJ(bNc{2(Z~*>2ojli8s7 z?&cz4pu~pTm!-h;wbQN8(R+#=K;amP;O9^95DQTg(FIE(E}e+7VpD z(TMN}{PK=cDYZEimzhdz;y;Q>f|j;g=zQVw)f*GCkD1fV5Rp*glxC?s1<4T<5b*1$ zbvh13R{R8OOg65seE01*?HazAAR#8dG(}u6I}SF>IN;&KAAVZpPa%KbZuB_*(W6V; z{~9(>ci&3a2l|k#s(FJ_z?&W^{sPO8*lP z563)BG#Y)Qw^HLw!4|q3qevT)+C|LTj+uIY zp(i&up;MF3pM$1te=9)FX@W%4r`~P(4XJn0Lm24g|DxiMjhvE+nB;^Typae6I1iC- z)CbvjF&S&C;Jtjf9zh>!*sXTEbAMb1A6T&-OB({x zFr7cmA!phedrvqywRvNWQ*n2>T59;#UeMlo-LK`s=E8*TsT?Kh$$z(>e|)#|6s8H; z{Cu>W&Y$5Oomv0!`Zwys>6IC{-M}>lhpSI!jKsx1vk+&LtHoi)i(h7Iq?Ro9M9IoM zz0g7>{X7Gck*U)O#9{+BX*W@|yCw8=jlQ~0L`BT?O@X_YCTc?_dVTIK zFAorUy*o{&3RFja|m5vfArb8M1FIlJ0Y>v_3j8 z;0C%Z>$2tK>*g}wz064HRt6nhl+0}EMi4_4jnjkc$@y?6Kuwm+CalwtYXE)wqvO#9 z+t|vx+2sb;GxLTRi|$zw*)$v)`BM@K1Vz=}Q-Y(`<;g$0T=O?E zip6Dhy}rbKx8xhk<_-Z;bBEAh-WK-R&kr?=lOz>(K&mwT>V3HZ8uVhbNZLyrjJn&A zeAPi_cDHBacNaorA#o>k5r7(f%Kk5GefdtYx9Rg1t*6q$g)8r zKe$P*PE^{0WnEbpN^obq2h0~}h#skVE~VBC6vAW|+rCnbKT@S4pg>S97N1Y;6y`^V zR998gtI2a?O)93IzjdV-n2V^{?Y;IXm)b)-U-=f-QybadHTz1%ie^5ge zf>k4H6J7wGz_mSQV!cprP}ut%OLWoE7uv|kbL5BrATRh>o7Jy?KQg&wG$!{6zod8U ziymeD9nUF17G)&;~;``lV=fCg>(f+lspnW{XOVTY0kVwBNM+ev>1E6O;~bPEJy}YG?!e*{JP+ zK4r(ibL&WKAP$G8gV zyvAZm()z|<4L3?U56>6eIA^tHtk!{Be6I|e;3Bf~^TN4K`M6XCvZDP+lIr5DJrtZ(Q`)EY_^|nXJcb?!*Ux;G^hdu`|OR*U-k2*N%ZfAV*bZg zz!F`tepON4cyLl=Q>^N4@qu?X-xKEl)F>yZP!`-NL(v9bK_tg-nf(e7fD`sV1*|Cj z19(ro{=qR6_W%Figm`#({58dsl%o9y#r)DT+ia%pJO2XTk@+u~Lus-Qsw0*WPIQr$ S_5l4U%7Hu literal 0 HcmV?d00001 diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 4aa9ce9ccf..3f19668bc1 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -354,7 +354,30 @@ To test your server, you can use the [MCP Inspector](https://modelcontextprotoco It's even possible to use it as a DDEV add-on with [`craftpulse/ddev-mcp-inspector`](https://github.com/craftpulse/ddev-mcp-inspector). You still need to ask for a JWT token through REST or GraphQL, and use it in the MCP Inspector configuration to connect to your server. -For example, you can open GraphiQL UI (for example at `http://localhost/graphiql`), paste in the following query, adapt it, and run it to get a token: +For REST example, you can: + +- open REST API live doc (for example at `http://localhost/api/ibexa/v2/doc`) +- go to **User Token** section **POST /user/token/jwt** resource (for example at `http://localhost/api/ibexa/v2/doc#/User%20Token/api_usertokenjwt_post`) +- click the **Try it out** button +- fill in the following adapted payload with the user credentials +- click the **Execute** button to get a token + +```json +{ + "JWTInput": { + "username": "ibexa-example", + "password": "Ibexa-3xample" + } +} +``` +![Screenshot of REST API live documentation with a JWTInput payload, a JWT token request and its response](img/jwt-rest-doc.png "REST doc JWT token request and response") + + +For GraphQL example, you can: + + - open GraphiQL UI (for example at `http://localhost/graphiql`) + - paste in the following adapted query with the user credentials + - click the execute button **▶** to get a token ```graphql mutation CreateToken { @@ -365,7 +388,7 @@ mutation CreateToken { } ``` -![Screenshot of GraphiQL with a JWT token request and its response](img/graphiql-jwt.png "JWT token request and response") +![Screenshot of GraphiQL with a JWT token request and its response](img/jwt-graphiql.png "GraphiQL JWT token request and response") To use the MCP Inspector for this example, the settings are: @@ -374,9 +397,9 @@ To use the MCP Inspector for this example, the settings are: - Connection Type: Via Proxy - Authentication: - Custom Headers: - - ✓ Authorization - - Bearer - - OAuth 2.0 Flow: leave unedited + - `Authorization` + - `Bearer ` + - OAuth 2.0 Flow: left unedited ![Screenshot of the left pannel of the MCP Inspector with the connection settings for the example MCP server](img/mcp-inspector-config.png "MCP Inspector connection settings") From 7b3fca45b57dc0385883a2db606a42202a809a1e Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:32:25 +0200 Subject: [PATCH 63/63] =?UTF-8?q?cURL=20=E2=86=92=20curl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://curl.se/ --- docs/ai/mcp/mcp_config.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ai/mcp/mcp_config.md b/docs/ai/mcp/mcp_config.md index 3f19668bc1..aa58202d0b 100644 --- a/docs/ai/mcp/mcp_config.md +++ b/docs/ai/mcp/mcp_config.md @@ -59,7 +59,7 @@ They can be listed and checked with `php bin/console debug:router --siteaccess=< | `description` | string | No | `null` | Human-readable server description | | `instructions` | string | No | `null` | Instructions dedicated for LLM interaction | | `tools` | string | No | `[]` | List of tool classes | -| `discovery_cache` | string | Yes | | PSR-6 ou PSR-16 cache pool service identifier | +| `discovery_cache` | string | Yes | | PSR-6 or PSR-16 cache pool service identifier | | `session` | object | Yes | | Session storage configuration | Notice that a server is disabled by default, it needs to be explicitly enabled. @@ -256,7 +256,7 @@ To check the server configuration, a short command using the MCP server configur [[= include_code('code_samples/mcp/src/Command/McpServerListCommand.php') =]] ``` -### cURL test +### `curl` test To test the `example` MCP server, a sequence of `curl` commands is used to simulate an AI client to MCP server communication.