branch: elpa/gptel
commit 83915299d6142a239613c9c5705c3bfc21bba91c
Author: akṣaya śrīnivāsan <aks...@vakra.xyz>
Commit: Karthik Chikmagalur <karthikchikmaga...@gmail.com>

    gptel-bedrock: Add Curl check in backend
    
    * gptel-bedrock.el (gptel-bedrock--curl-args, gptel-make-bedrock):
    gptel-bedrock requires Curl version 8.5 or higher.  Check for this
    when creating a bedrock backend.
---
 gptel-bedrock.el | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gptel-bedrock.el b/gptel-bedrock.el
index 570ac2a0c4..63829583bc 100644
--- a/gptel-bedrock.el
+++ b/gptel-bedrock.el
@@ -591,6 +591,12 @@ REGION is one of apac, eu or us."
      (when token
        (list (format "-Hx-amz-security-token: %s" token))))))
 
+(defun gptel-bedrock--curl-version ()
+  (let* ((output (shell-command-to-string "curl --version"))
+         (version (and (string-match "^curl \\([0-9.]+\\)" output)
+                       (match-string 1 output))))
+    version))
+
 ;;;###autoload
 (cl-defun gptel-make-bedrock
     (name &key
@@ -609,6 +615,9 @@ MODELS - The list of models supported by this backend
 MODEL-REGION - one of apac, eu, us or nil
 STREAM - Whether to use streaming responses or not."
   (declare (indent 1))
+  (unless (and gptel-use-curl (version<= "8.5" (gptel-bedrock--curl-version)))
+    (error "Bedrock-backend requires curl >= 8.5, but gptel-use-curl := %s, 
curl-version := %s"
+           gptel-use-curl (gptel-bedrock--curl-version)))
   (let ((host (format "bedrock-runtime.%s.amazonaws.com" region)))
     (setf (alist-get name gptel--known-backends nil nil #'equal)
           (gptel--make-bedrock

Reply via email to