branch: elpa/gptel commit 8bd1f614e98499586c5818a0f1168e15ccac9c8d Author: Karthik Chikmagalur <karthikchikmaga...@gmail.com> Commit: Karthik Chikmagalur <karthikchikmaga...@gmail.com>
gptel: Bookkeeping updates * NEWS: (0.9.8.5): Reduce from 0.9.9 in preparation for upcoming release. * gptel-transient.el: Add headers to section defining EIEIO classes. * gptel.el (gptel--openai-models): Update pricing change for o3. --- NEWS | 2 +- gptel-transient.el | 14 ++++++++++++++ gptel.el | 4 ++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 4033841882..546c1f06a5 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ # -*- mode: org; -*- -* 0.9.9 +* 0.9.8.5 ** Breaking changes diff --git a/gptel-transient.el b/gptel-transient.el index 50dff91394..e8d7065b50 100644 --- a/gptel-transient.el +++ b/gptel-transient.el @@ -448,6 +448,8 @@ which see." ;; * Transient classes and methods for gptel +;; ** Class for generic gptel elisp variables + (defclass gptel-lisp-variable (transient-lisp-variable) ((display-nil :initarg :display-nil) ;String to display if value if nil (display-map :initarg :display-map :initform nil)) ;Display string from alist display-map @@ -469,6 +471,8 @@ which see." (oset obj value value) gptel--set-buffer-locally)) +;; ** Class for managing gptel tools + (defclass gptel--switch (transient-switch) ((category :initarg :category)) "Class used for arguments that share a category.") @@ -491,6 +495,8 @@ It is a list of the category and argument, e.g. (oset obj value nil)) (oset transient--prefix scope state))) +;; ** Class for managing gptel tool categories + (defclass gptel--switch-category (transient-switch) ((category :initarg :category)) "Class used for arguments that switch a group of other arguments. @@ -544,6 +550,8 @@ Their own value is ignored") ;; Finally set the "value" of the category itself (oset obj value value)) +;; ** Class for gptel options that are three-way switches + (defclass gptel--switches (gptel-lisp-variable) ((display-if-true :initarg :display-if-true :initform "True") (display-if-false :initarg :display-if-false :initform "False")) @@ -564,6 +572,8 @@ Their own value is ignored") (propertize display-if-true 'face (if value 'transient-value 'transient-inactive-value)))))) +;; ** Class for gptel's scope management, singleton + (defclass gptel--scope (gptel--switches) ((display-if-true :initarg :display-if-true :initform "buffer") (display-if-false :initarg :display-if-false :initform "global")) @@ -599,6 +609,8 @@ This is used only for setting this variable via `gptel-menu'.") (oref obj variable) (oset obj value value))) +;; ** Class for managing gptel's backend and model, singleton + (defclass gptel-provider-variable (transient-lisp-variable) ((backend :initarg :backend) (backend-value :initarg :backend-value) @@ -625,6 +637,8 @@ This is used only for setting this variable via `gptel-menu'.") gptel--set-buffer-locally)) (transient-setup)) +;; ** Class for infix options with in-buffer overlay display + (defclass gptel-option-overlaid (transient-option) ((display-nil :initarg :display-nil) (overlay :initarg :overlay)) diff --git a/gptel.el b/gptel.el index d22de703ba..421f655488 100644 --- a/gptel.el +++ b/gptel.el @@ -663,8 +663,8 @@ the same as t." :capabilities (reasoning media tool-use json url) :mime-types ("image/jpeg" "image/png" "image/gif" "image/webp") :context-window 200 - :input-cost 10 - :output-cost 40 + :input-cost 2 + :output-cost 8 :cutoff-date "2024-05") (o3-mini :description "High intelligence at the same cost and latency targets of o1-mini"