agent/php/Services
Snider 48b2c2fe58 feat(agent/php): artisan agentic:sync-profiles + agentic:dispatch-queue (#829)
agentic:sync-profiles iterates AgentProfile rows, calls GET {gateway}/v1/models
via Http::withToken, infers capability_tags from exposed model ids
(claude-opus → handoff/analysis/core; gpt-5.4-mini → dispatch/cheap;
embedding-* → embedding), leaves last_dispatched_at untouched.

agentic:dispatch-queue uses extended MantisClient->listOpen() (new
small wrapper), skips assigned tickets + 5min in-flight markers, runs
ProfileSelector::pickFor, adds suppression note via MantisClient->note,
queues DispatchMantisTicketJob up to --limit (default 3). Both
commands emit progress via Log.

Pest Feature tests use Http::fake + Queue::fake. Tests register the
new commands directly (Boot.php registration is a deferred follow-up
per #837 lane note).

Codex note: php -l clean; pest blocked by unrelated repo migration
infra (dedicated brain connection + SQLite-incompatible agent_sessions
rename).

Closes tasks.lthn.sh/view.php?id=829

Co-authored-by: Codex <noreply@openai.com>
2026-04-26 01:08:42 +01:00
..
Concerns revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentApiKeyService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentDetection.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgenticManager.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgenticProviderInterface.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgenticResponse.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentSessionService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentToolRegistry.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
BrainService.php feat(agent/brain): lift OpenBrain discovery features (search/discoverTags/listScopes) (#180) 2026-04-25 20:39:14 +01:00
ClaudeService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ContentService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ForgejoService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
GeminiService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
HermesClient.php feat(agent/php): DispatchMantisTicketJob + HermesClient + agent_dispatches table (#827) 2026-04-26 00:52:37 +01:00
IpRestrictionService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
MantisClient.php feat(agent/php): artisan agentic:sync-profiles + agentic:dispatch-queue (#829) 2026-04-26 01:08:42 +01:00
OpenAIService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
PlanTemplateService.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ProfileSelector.php feat(agent/php): ProfileSelector + ShapeClassifier services per Phase 3 (#826) 2026-04-26 00:48:37 +01:00
ShaExtractor.php feat(agent/php): CaptureDispatchResultJob + MantisClient + ShaExtractor (#828) 2026-04-26 00:44:23 +01:00
ShapeClassifier.php feat(agent/php): ProfileSelector + ShapeClassifier services per Phase 3 (#826) 2026-04-26 00:48:37 +01:00