- New Cost_Tracker class: logs every API call (model, tokens, cost), enforces monthly budgets with hard-stop mode, provides aggregated reporting - New llm_costs database table with indexes on created_at, model, operation - Modified LLM class: call_openrouter_with_usage() extracts token usage from OpenRouter responses; budget gate checks before each API call - Admin settings: monthly budget (USD), enforcement mode (disabled/warn/hard-stop), cost log retention period - Admin cost dashboard: budget progress bar, daily cost chart (Chart.js), per-model and per-operation breakdowns, recent API call log - PHPUnit tests: 16 tests covering cost calculation, pricing lookups, budget enforcement logic, and model validation - Updated ARCHITECTURE.md with new table schema, data flow, and key decisions - Updated CONVENTIONS.md with "how to add cost tracking for a new operation" - Version bump to 2.4.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
1.0 KiB
JSON
Executable File
38 lines
1.0 KiB
JSON
Executable File
{
|
|
"name": "peptiderepo/peptide-news-plugin",
|
|
"description": "WordPress plugin for peptide research news aggregation with click analytics.",
|
|
"type": "wordpress-plugin",
|
|
"license": "GPL-2.0-or-later",
|
|
"require": {
|
|
"php": ">=7.4"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.6",
|
|
"wp-phpunit/wp-phpunit": "^6.4",
|
|
"squizlabs/php_codesniffer": "^3.9",
|
|
"wp-coding-standards/wpcs": "^3.1",
|
|
"phpcompatibility/phpcompatibility-wp": "^2.1",
|
|
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
|
|
"yoast/phpunit-polyfills": "^2.0"
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"PeptideNews\\Tests\\": "tests/"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"test": "phpunit",
|
|
"lint": "phpcs",
|
|
"lint:fix": "phpcbf",
|
|
"check": [
|
|
"@lint",
|
|
"@test"
|
|
]
|
|
},
|
|
"config": {
|
|
"allow-plugins": {
|
|
"dealerdirect/phpcodesniffer-composer-installer": true
|
|
}
|
|
}
|
|
}
|