Function: claude-code-ide--parameters-to-args

claude-code-ide--parameters-to-args is a natively compiled function defined in claude-code-ide-mcp-server.el.

Signature

(claude-code-ide--parameters-to-args PARAMETERS)

Documentation

Convert PARAMETERS (old format) to :args (new format).

PARAMETERS is a list of plists with :name, :type, :description, :required. Returns a list of plists with :name, :type, :description, :optional.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide-mcp-server.el
(defun claude-code-ide--parameters-to-args (parameters)
  "Convert PARAMETERS (old format) to :args (new format).
PARAMETERS is a list of plists with :name, :type, :description, :required.
Returns a list of plists with :name, :type, :description, :optional."
  (mapcar (lambda (param)
            (let ((name (plist-get param :name))
                  (type (plist-get param :type))
                  (description (plist-get param :description))
                  (required (plist-get param :required)))
              ;; Build arg spec
              (let ((arg (list :name name
                               :type (if (stringp type)
                                         (intern type)
                                       type))))
                (when description
                  (setq arg (plist-put arg :description description)))
                (unless required
                  (setq arg (plist-put arg :optional t)))
                ;; Handle additional properties
                (when-let* ((enum (plist-get param :enum)))
                  (setq arg (plist-put arg :enum enum)))
                (when-let* ((items (plist-get param :items)))
                  (setq arg (plist-put arg :items items)))
                (when-let* ((properties (plist-get param :properties)))
                  (setq arg (plist-put arg :properties properties)))
                arg)))
          parameters))