Function: make-eca--session--cmacro

make-eca--session--cmacro is a function defined in eca-util.el.

Signature

(make-eca--session--cmacro CL-WHOLE &cl-quote &key ID STATUS PROCESS CHATS LAST-CHAT-BUFFER OPENING-CHAT-ID WORKSPACE-FOLDERS REQUEST-HANDLERS RESPONSE-HANDLERS MODELS TOOL-SERVERS CHAT-AGENTS CHAT-VARIANTS CHAT-DEFAULT-MODEL CHAT-DEFAULT-AGENT CHAT-DEFAULT-VARIANT CHAT-DEFAULT-TRUST CHAT-WELCOME-MESSAGE GLOBAL-CONFIG-PATH INIT-TASKS PROVIDERS JOBS)

Documentation

compiler-macro for make-eca--session.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-util.el
;; Could not find source code, showing raw function object.
#[(cl-whole &rest --cl-rest--)
  ((let*
       ((id (car (cdr (plist-member --cl-rest-- ':id))))
	(status
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':status) '(nil 'stopped)))))
	(process (car (cdr (plist-member --cl-rest-- ':process))))
	(chats
	 (car
	  (cdr (or (plist-member --cl-rest-- ':chats) '(nil 'nil)))))
	(last-chat-buffer
	 (car (cdr (plist-member --cl-rest-- ':last-chat-buffer))))
	(opening-chat-id
	 (car (cdr (plist-member --cl-rest-- ':opening-chat-id))))
	(workspace-folders
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':workspace-folders)
	       '(nil 'nil)))))
	(request-handlers
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':request-handlers)
	       '(nil 'nil)))))
	(response-handlers
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':response-handlers)
	       '(nil 'nil)))))
	(models
	 (car
	  (cdr (or (plist-member --cl-rest-- ':models) '(nil 'nil)))))
	(tool-servers
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':tool-servers) '(nil 'nil)))))
	(chat-agents
	 (car (cdr (plist-member --cl-rest-- ':chat-agents))))
	(chat-variants
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':chat-variants) '(nil 'nil)))))
	(chat-default-model
	 (car (cdr (plist-member --cl-rest-- ':chat-default-model))))
	(chat-default-agent
	 (car (cdr (plist-member --cl-rest-- ':chat-default-agent))))
	(chat-default-variant
	 (car (cdr (plist-member --cl-rest-- ':chat-default-variant))))
	(chat-default-trust
	 (car (cdr (plist-member --cl-rest-- ':chat-default-trust))))
	(chat-welcome-message
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':chat-welcome-message)
	       '(nil "")))))
	(global-config-path
	 (car (cdr (plist-member --cl-rest-- ':global-config-path))))
	(init-tasks
	 (car (cdr (plist-member --cl-rest-- ':init-tasks))))
	(providers (car (cdr (plist-member --cl-rest-- ':providers))))
	(jobs (car (cdr (plist-member --cl-rest-- ':jobs)))))
     (progn
       (let ((--cl-keys-- --cl-rest--))
	 (while --cl-keys--
	   (cond
	    ((memq (car --cl-keys--)
		   '(:id :status :process :chats :last-chat-buffer
			 :opening-chat-id :workspace-folders
			 :request-handlers :response-handlers :models
			 :tool-servers :chat-agents :chat-variants
			 :chat-default-model :chat-default-agent
			 :chat-default-variant :chat-default-trust
			 :chat-welcome-message :global-config-path
			 :init-tasks :providers :jobs
			 :allow-other-keys))
	     (unless (cdr --cl-keys--)
	       (error "Missing argument for %s" (car --cl-keys--)))
	     (setq --cl-keys-- (cdr (cdr --cl-keys--))))
	    ((car (cdr (memq ':allow-other-keys --cl-rest--)))
	     (setq --cl-keys-- nil))
	    (t
	     (error
	      "Keyword argument %S not one of (:id :status :process :chats :last-chat-buffer :opening-chat-id :workspace-folders :request-handlers :response-handlers :models :tool-servers :chat-agents :chat-variants :chat-default-model :chat-default-agent :chat-default-variant :chat-default-trust :chat-welcome-message :global-config-path :init-tasks :providers :jobs)"
	      (car --cl-keys--))))))
       (cl-block make-eca--session--cmacro
	 (cl--defsubst-expand
	  '(id status process chats last-chat-buffer opening-chat-id
	       workspace-folders request-handlers response-handlers
	       models tool-servers chat-agents chat-variants
	       chat-default-model chat-default-agent
	       chat-default-variant chat-default-trust
	       chat-welcome-message global-config-path init-tasks
	       providers jobs)
	  '(cl-block make-eca--session
	     (record 'eca--session id status process chats
		     last-chat-buffer opening-chat-id
		     workspace-folders request-handlers
		     response-handlers models tool-servers chat-agents
		     chat-variants chat-default-model
		     chat-default-agent chat-default-variant
		     chat-default-trust chat-welcome-message
		     global-config-path init-tasks providers jobs))
	  nil cl-whole nil id status process chats last-chat-buffer
	  opening-chat-id workspace-folders request-handlers
	  response-handlers models tool-servers chat-agents
	  chat-variants chat-default-model chat-default-agent
	  chat-default-variant chat-default-trust chat-welcome-message
	  global-config-path init-tasks providers jobs)))))
  (cl-struct-eca--session-tags jotain-doc--kind-helpful
			       jotain-doc--sym-pkg
			       jotain-doc--face-syms
			       jotain-doc--var-syms
			       jotain-doc--fun-syms
			       jotain-doc--skipped
			       jotain-doc--pkg-dirs jotain-doc--quick)
  nil
  "compiler-macro for `make-eca--session'.\n\n(fn CL-WHOLE &cl-quote &key ID STATUS PROCESS CHATS LAST-CHAT-BUFFER OPENING-CHAT-ID WORKSPACE-FOLDERS REQUEST-HANDLERS RESPONSE-HANDLERS MODELS TOOL-SERVERS CHAT-AGENTS CHAT-VARIANTS CHAT-DEFAULT-MODEL CHAT-DEFAULT-AGENT CHAT-DEFAULT-VARIANT CHAT-DEFAULT-TRUST CHAT-WELCOME-MESSAGE GLOBAL-CONFIG-PATH INIT-TASKS PROVIDERS JOBS)"]