feat(models): OpenRouter model picker + AJAX refresh + cost preview (v0.11.0 complete)
- AJAX endpoint 'prautoblogger_refresh_models' for manual model registry refresh - Admin UI button on AI Models tab to trigger refresh (nonce + capability gated) - Cost preview integration in field renderer using historical token averages - New public method on Cost Tracker: get_avg_tokens_for_stages(array $stages, int $days = 30): array - Enhanced field renderer with capability-specific cost calculation (outline+draft+polish for writing, single stage for analysis/editor) - Autoloader updated to scan ajax/ directory for model registry refresh handler - Admin JS enhanced with AJAX toggle handler for refresh button - Template updated with refresh button + nonce in AI Models section - CHANGELOG + CONVENTIONS + version bump to 0.11.0 - All files under 300-line cap, PHPCS-clean Spec: https://github.com/peptiderepo/prautoblogger/issues/111 Open questions all resolved per seq-02 plan-ack.
This commit is contained in:
@@ -153,6 +153,7 @@ class PRAutoBlogger {
|
||||
add_action( 'wp_ajax_prautoblogger_generate_image', array( $this->ajax_handlers, 'on_ajax_generate_image' ) );
|
||||
add_action( 'wp_ajax_prautoblogger_test_connection', array( $this->ajax_handlers, 'on_ajax_test_connection' ) );
|
||||
add_action( 'wp_ajax_prautoblogger_get_models', array( $this->ajax_handlers, 'on_ajax_get_models' ) );
|
||||
add_action( 'wp_ajax_prautoblogger_refresh_models', array( new PRAutoBlogger_Model_Registry_Refresh( $this->ajax_handlers->get_registry() ), 'handle' ) );
|
||||
|
||||
$review_queue = new PRAutoBlogger_Review_Queue();
|
||||
add_action( 'wp_ajax_prautoblogger_approve_post', array( $review_queue, 'on_ajax_approve_post' ) );
|
||||
|
||||
Reference in New Issue
Block a user