php-agentic/Services
darbs-claude 91ee71b8a1
Some checks failed
CI / PHP 8.3 (pull_request) Failing after 1m37s
CI / PHP 8.4 (pull_request) Failing after 1m36s
fix: improve template variable error messages (#30)
Enhance `validateVariables()` in `PlanTemplateService` to produce
actionable errors instead of the generic "Required variable '...' is missing".

Changes:
- Extracted `buildVariableError()` helper that composes the message from
  the variable's `description`, `format`, `example`, and `examples` fields
- Added `naming_convention` key to the returned array so callers have
  a constant reminder that variable names use snake_case
- Added a `NAMING_CONVENTION` private const to avoid string duplication

Tests (6 new cases in `PlanTemplateServiceTest`):
- description included in error message
- single `example` value included
- `examples` list (first two) included
- `format` hint included alongside example
- `naming_convention` present in both valid and invalid results
- bare variable (no description) still produces useful "missing" message

Closes #30

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 11:48:27 +00:00
..
Concerns chore: fix pint code style and add test config 2026-02-23 03:50:09 +00:00
AgentApiKeyService.php perf: cache permitted tools per API key (closes #24) 2026-02-23 10:54:12 +00:00
AgentDetection.php refactor: rename namespace Core\Agentic to Core\Mod\Agentic 2026-01-27 16:12:58 +00:00
AgenticManager.php fix: validate API keys on AgenticManager init (#29) 2026-02-23 11:39:01 +00:00
AgenticProviderInterface.php refactor: rename namespace Core\Agentic to Core\Mod\Agentic 2026-01-27 16:12:58 +00:00
AgenticResponse.php refactor: rename namespace Core\Agentic to Core\Mod\Agentic 2026-01-27 16:12:58 +00:00
AgentSessionService.php chore: fix pint code style and add test config 2026-02-23 03:50:09 +00:00
AgentToolRegistry.php perf: cache permitted tools per API key (closes #24) 2026-02-23 10:54:12 +00:00
ClaudeService.php fix: add error handling to ClaudeService streaming (#26) 2026-02-23 11:04:07 +00:00
ContentService.php fix: add batch failure recovery to ContentService (#27) 2026-02-23 11:17:56 +00:00
GeminiService.php chore: fix pint code style and add test config 2026-02-23 03:50:09 +00:00
IpRestrictionService.php refactor: rename namespace Core\Agentic to Core\Mod\Agentic 2026-01-27 16:12:58 +00:00
OpenAIService.php chore: fix pint code style and add test config 2026-02-23 03:50:09 +00:00
PlanTemplateService.php fix: improve template variable error messages (#30) 2026-02-23 11:48:27 +00:00