Function: claude-code-ide--normalize-tool-spec
claude-code-ide--normalize-tool-spec is a natively compiled function
defined in claude-code-ide-mcp-server.el.
Signature
(claude-code-ide--normalize-tool-spec TOOL-SPEC)
Documentation
Convert TOOL-SPEC to normalized format for processing.
Handles both old format: (func :description ... :parameters ...) and new format: (:function func :name ... :args ...). Returns a consistent plist format with :args.
Source Code
;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide-mcp-server.el
(defun claude-code-ide--normalize-tool-spec (tool-spec)
"Convert TOOL-SPEC to normalized format for processing.
Handles both old format: (func :description ... :parameters ...)
and new format: (:function func :name ... :args ...).
Returns a consistent plist format with :args."
(let ((format (claude-code-ide--tool-format-p tool-spec)))
(cond
((eq format 'old)
;; Convert old format to new normalized format with :args
(let* ((func (car tool-spec))
(plist (cdr tool-spec))
(description (plist-get plist :description))
(parameters (plist-get plist :parameters)))
;; Emit deprecation warning
(message "Warning: Tool '%s' is using deprecated format. Please use `claude-code-ide-make-tool' instead."
(symbol-name func))
(list :function func
:name (symbol-name func)
:description description
:args (claude-code-ide--parameters-to-args parameters))))
((eq format 'new)
;; New format - already in the right format, just return it
tool-spec)
(t
(error "Cannot normalize tool spec: %S" tool-spec)))))