gptel-curl: Autoload gptel-curl-get-response

gptel-curl.el (gptel-curl-get-response): Rename from `gptel--curl-get-response'
and autoload it to ease its use in `gptel-send'.  Remove Version header
identifying gptel-curl as a separate package and make it require `gptel' instead.
This commit is contained in:
Karthik Chikmagalur 2023-03-08 19:17:14 -08:00
parent 5159a773a0
commit 172059060a
2 changed files with 9 additions and 8 deletions

View file

@ -4,9 +4,8 @@
;; Author: Karthik Chikmagalur;; <karthikchikmagalur@gmail.com> ;; Author: Karthik Chikmagalur;; <karthikchikmagalur@gmail.com>
;; Keywords: convenience ;; Keywords: convenience
;; Version: 0.05
;; Keywords: convenience ;; SPDX-License-Identifier: GPL-3.0-or-later
;; URL: https://github.com/karthink/gptel
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
@ -27,13 +26,14 @@
;;; Code: ;;; Code:
(require 'gptel)
(eval-when-compile (eval-when-compile
(require 'subr-x)) (require 'subr-x))
(require 'map) (require 'map)
(require 'json) (require 'json)
(require 'aio) (require 'aio)
(defvar gptel-api-key)
(defvar gptel--curl-process-alist nil (defvar gptel--curl-process-alist nil
"Alist of active GPTel curl requests.") "Alist of active GPTel curl requests.")
@ -69,7 +69,8 @@ PROMPTS is the data to send, TOKEN is a unique identifier."
(push (format "-d%s" data) args) (push (format "-d%s" data) args)
(nreverse (cons url args)))) (nreverse (cons url args))))
(defun gptel--curl-get-response (prompts) ;;;###autoload
(defun gptel-curl-get-response (prompts)
"Retrieve response to PROMPTS." "Retrieve response to PROMPTS."
(with-current-buffer (generate-new-buffer "*gptel-curl*") (with-current-buffer (generate-new-buffer "*gptel-curl*")
(let* ((token (md5 (format "%s%s%s%s" (let* ((token (md5 (format "%s%s%s%s"

View file

@ -48,7 +48,7 @@
;;; Code: ;;; Code:
(declare-function markdown-mode "markdown-mode") (declare-function markdown-mode "markdown-mode")
(declare-function gptel--curl-get-response "gptel-curl") (declare-function gptel-curl-get-response "gptel-curl")
(eval-when-compile (eval-when-compile
(require 'subr-x) (require 'subr-x)
@ -105,8 +105,8 @@ When set to nil, it is inserted all at once.
(full-prompt (gptel--create-prompt)) (full-prompt (gptel--create-prompt))
(response (aio-await (response (aio-await
(funcall (funcall
(if (and gptel-use-curl (require 'gptel-curl nil t)) (if gptel-use-curl
#'gptel--curl-get-response #'gptel--get-response) #'gptel-curl-get-response #'gptel--get-response)
full-prompt))) full-prompt)))
(content-str (plist-get response :content)) (content-str (plist-get response :content))
(status-str (plist-get response :status))) (status-str (plist-get response :status)))