Files
passepartout/skills/org-skill-tool-permissions.org

35 lines
982 B
Org Mode

#+TITLE: SKILL: Tool Permissions (org-skill-tool-permissions.org)
#+AUTHOR: Agent
#+FILETAGS: :skill:security:permissions:
#+PROPERTY: header-args:lisp :tangle org-skill-tool-permissions.lisp
* Overview
The *Tool Permissions* skill manages the authorization levels for different cognitive tools.
* Implementation
** Package Context
#+begin_src lisp
(in-package :opencortex)
#+end_src
** Permission Registry
#+begin_src lisp
(defvar *tool-permissions* (make-hash-table :test 'equal))
(defun set-tool-permission (tool-name level)
"Sets the permission level for a tool."
(setf (gethash (string-downcase (string tool-name)) *tool-permissions*) level))
(defun get-tool-permission (tool-name)
"Retrieves the permission level for a tool."
(gethash (string-downcase (string tool-name)) *tool-permissions* :ask))
#+end_src
** Skill Registration
#+begin_src lisp
(defskill :skill-tool-permissions
:priority 600
:trigger (lambda (ctx) (declare (ignore ctx)) nil))
#+end_src