forked from denoland/std
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DC Definitions adding capabilities concept
- Loading branch information
TartanMalcolm
committed
Oct 6, 2024
1 parent
7bfb1e2
commit 66f22d5
Showing
1 changed file
with
191 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
# Dreamcatcher Framework Rules | ||
|
||
# TABLE OF CONTENTS | ||
|
||
1. ENTITIES | ||
2. DEFINITIONS OF ACTIONS AVAILABLE | ||
3. NOUN DEFINITIONS | ||
4. SYSTEM FRAMEWORK | ||
5. TEMPLATES | ||
|
||
|
||
## ENTITIES | ||
- DAVE: The human user. | ||
**Actions Available** | ||
- PROMPT | ||
- TASK HAL | ||
- Receive RESPONSE from HAL | ||
- Take a STATEBOARD_ACTION | ||
|
||
- HAL: A privileged AGENT that directly interacts with DAVE. | ||
**Actions Available** | ||
- PROMPT AGENTS or DRONES | ||
- Send RESPONSES directly to DAVE and STATEBOARD. | ||
- SEND RESPONSES to AGENTS and DRONES | ||
- Can trigger COMMAND_EXECUTION available from their BOT_DEFINITION | ||
|
||
- AGENT: An INSTANTIATION of a BOT_DEFINITION that, having been INSTANTIATED, can be uniquely identified. | ||
**Actions Available** | ||
- PROMPT AGENTS or DRONES | ||
- Complete TASKS | ||
- TASK AGENTS and DRONES (within the limits of their system prompt) | ||
- SEND RESPONSES to other AGENTS and DRONES | ||
- Can trigger COMMAND_EXECUTION available from their BOT_DEFINITION | ||
|
||
- DRONE: A INSTANTIATION of a BOT_DEFINITION that, having been INSTANTIATED, can be uniquely identified. | ||
**Actions Available** | ||
- SEND RESPONSES to other AGENTS and DRONES that have TASKed them. | ||
- Can trigger COMMAND_EXECUTION available from their BOT_DEFINITION | ||
|
||
- ISOLATE: Traditional code executed by HAL, an AGENT, or a DRONE. COMMANDS are sent to ISOLATES for execution. | ||
**Actions Available** | ||
- Run COMMANDS. | ||
|
||
- AI_MODEL: An external service used to INSTANTIATE and RUN HAL, AGENTS and DRONES, and RUN TASKS. | ||
**Actions Available** | ||
- INSTANTIATE HAL, an AGENT, or a DRONE using a BOT_DEFINITION. | ||
|
||
- ARTIFACT: The operating system. | ||
**Actions Available** | ||
- Grant or deny PERMISSION for an ACTION AVAILABLE to an ENTITY. | ||
- RUN COMMAND_EXECUTIONS. | ||
|
||
|
||
## DEFINITIONS OF ACTIONS AVAILABLE | ||
|
||
- PROMPT: Input via voice, text, or uploaded files. | ||
|
||
- RESPONSE: An output following a call to AI_MODEL. from an AGENT, HAL or DRONE sent back to the AGENT, HAL or DRONE that gave it that TASK. | ||
|
||
- STATEBOARD_ACTION: An action initiated by interacting with the STATEBOARD. STATEBOARD_ACTIONS can call COMMAND_EXECUTION or TASKS. | ||
|
||
- COMMAND_EXECUTION: The request to an ISOLATE to run a piece of code. | ||
|
||
- INSTANTIATE: The creation of an running instance of HAL, an AGENT or a DRONE by creating a BOT_DEFINITION, using the BOT_TEMPLATE, based on the intended use. | ||
|
||
- DEINSTANTIATE: to delete an INSTANTIATED AGENT or DRONE. Generally used when BOT_TEMPLATES are updated while INSTANTIATED AGENTS or DRONES are extant, and when DRONES complete their TASK. | ||
|
||
- TASK: A request for INFO, an ACTION or an TRANSMISSION. | ||
|
||
|
||
|
||
## NOUN DEFINITIONS: | ||
|
||
- PERMISSION: On HAL, AGENTS and DRONES requesting a TASK, PERMISSION is a yes/no returned by ARTIFACT. | ||
|
||
- INTENT: The high-level outcome that DAVE wants HAL to achieve. HAL generates INTENT based on the THREAD conversation. INTENT can be used to gain additional context beyond the last PROMPT. | ||
|
||
- INFO: A RESPONSE, in natural language, that does not result in a STATE_CHANGE. | ||
|
||
- ACTION: A COMMAND_EXECUTION that results in a STATE_CHANGE. | ||
|
||
- TRANSMISSION: A RESPONSE, typically in a set format such as JSON or Markdown, that is intended to be consumed and presented by HAL, an AGENT or a DRONE. | ||
|
||
- STATE_CHANGE: A file operation (create, read, update, delete) on files within the SYSTEM FRAMEWORK that DAVE has PERMISSION to access. | ||
|
||
- COMMAND: Within a BOT_TEMPLATE or BOT_DEFINITION, a COMMAND is a link to a piece of executable software available to HAL, and AGENT or DRONE that carries out a COMMAND_EXECUTION when called on. COMMANDS carry out a single purpose, typically a STATE_CHANGE. | ||
|
||
|
||
## SYSTEM FRAMEWORK: | ||
|
||
- HAL_TEMPLATE: A text file that defines the structure of HAL. See below for more details. | ||
|
||
- BOT_TEMPLATE: A text file that defines the structure of an AGENT or DRONE, to which CAPABILITIES can be added. See below for more details. | ||
|
||
- BOT_DEFINITION: A text file containing instructions that define the behavior of HAL, AGENTS and DRONES, guiding their operations, interactions, and RESPONSES. | ||
|
||
- FOLDER_STRUCTURE: A description of which folders and files are available, a description of what each type of file or folder is for, and which can be used to discern the data to act on. The FOLDER_STRUCTURE is controled by ARTIFACT. | ||
|
||
- STATEBOARD: A visual interface that helps DAVE understand HAL's RESPONSES, enabling STATEBOARD_ACTIONS or facilitating PROMPTS. | ||
|
||
- CAPABILITY: A text file, which can only be used as a sub-section of a BOT_DEFINITION, that when included with a BOT_DEFINITION provides the INSTANTIATED AGENT or DRONE with additional functions. Note, the presence of a CAPABILITY within a BOT_DEFINITION does not imply PERMISSION to use it. | ||
|
||
- CAPABILITY_TEMPLATE: A text file denoting the template to use when creating a new CAPABILITY. | ||
|
||
- PREFERENCES: A list or natural language collection of preferences as to how DAVE would like to interact with HAL. Note, PREFERENCES cannot override PERMISSION or PRIORITY. | ||
|
||
- THREAD: The PROMPT/RESPONSE record of interaction between DAVE and HAL. | ||
|
||
- LIBRARY: A list of CAPABILITIES available to be used in the construction of a BOT_DEFINITION. | ||
|
||
- STUCK: A bug, problem or request by DAVE for a CAPABILITY that doesn't exist. Once solved, a STUCK becomes a CAPABILITY. | ||
|
||
- STUCK LIBRARY: A list of STUCKS yet to be solved. | ||
|
||
|
||
|
||
|
||
|
||
## TEMPLATES | ||
|
||
|
||
### TERMS USED in TEMPLATES | ||
|
||
The following are additional definitions used within a BOT_DEFINITION. | ||
|
||
- CONFIG: ARTIFACT level control over how this INSTANTIATED AGENT, HAL or DRONE calls COMMANDS. | ||
- GLOBAL_DEFINITIONS: A list of Definitions that supercede any other definitions you may have. The HAL, the AGENT or DRONE must use these at all times. | ||
- GLOBAL_RULES: A list of Rules that must always be adhered to, and supersede any other rules. | ||
- LOCAL_DEFINITIONS: A list of Definitions that have specific meaning when used within this BOT. They are overridden by PRIORITY_DEFINITIONS. If similar words are used that match the descriptions of the words in LOCAL_DEFINITIONS, then use the specific word that matches and carry on. | ||
- LOCAL_RULES: A list of Rules that the AGENT or DRONE must follow, unless they interfere or are inconsistent with GLOBAL_RULES. | ||
- OVERVIEW: A Natural Langugage description of what this AGENT or DRONE does | ||
- IDENTITY: A description of who this AGENT or DRONE is and how it should behave. | ||
- OBJECTIVE: A description of what this AGENT or DRONE is to do. | ||
- PROCESS: A description of how this AGENT or DRONE should acheive its OBJECTIVE | ||
- RESULT: What is expected after the AGENT or DRONE has a RESPONSE. May include example formats to constrain the syntax. May also include guidelines on handling errors. | ||
- EXAMPLES: A helpful example of the output required if given a TASK. | ||
|
||
|
||
### BOT_TEMPLATE | ||
|
||
When HAL, an AGENT or a BOT is INSTANTIATED, a BOT_DEFINITION is compiled and stored as a file. The structure of that file is as follows: | ||
|
||
- BOT_ID | ||
- CONFIG: <Required> | ||
- COMMANDS: <Required> | ||
- OVERVIEW: <Optional> | ||
- PRIORITY_DEFINITIONS <Required> | ||
- LOCAL_DEFINITIONS <Optional> | ||
- GLOBAL_RULES: <Required> | ||
- LOCAL_RULES <Optional> | ||
- IDENTITY <Required> | ||
- OBJECTIVE: <Required> | ||
- PROCESS: <Required> | ||
- RESULT: <Required> | ||
- EXAMPLES: <Optional> | ||
- CAPABILITY: <Optional> If no CAPABILITIES are provided, the AGENT uses the bare AI_MODEL without further system prompting. NOTE: a BOT_DEFINITION can have more than one CAPABILITY. | ||
|
||
|
||
### DAVE_TEMPLATE: | ||
|
||
- ID: <Required> Unique ID within the Dreamcatcher System | ||
- Identity: <Required> E.g. Dave's personal account details | ||
- Preferences: <optional> | ||
- Personal Folder Structure: <Required> | ||
|
||
### HAL_TEMPLATE: | ||
- ID: <Required> | ||
- DAVE_ID: <Required> The owner of this HAL. A link to the ID of DAVE who has sole control over this particular HAL. | ||
- THREAD: <Required> Provided by ARTIFACT, a list of hashs that link to previous conversations and STATES between HAL and DAVE. | ||
- INSTANTIATED AGENT list: <Optional> A list of running AGENTS generated by HAL on DAVE's requests. | ||
- LIBRARY: <Required> See above. | ||
- STUCK LIBRARY: <Required> See above | ||
- Live AGENTS: List of previously INSTANTIATED AGENTS that were INSTANTIATED by this DAVE identified through DAVE_ID. | ||
|
||
|
||
### CAPABILITY_TEMPLATE: | ||
- CAPABILITY_ID | ||
- CONFIG: <Required> | ||
- COMMANDS: <Required> | ||
- OVERVIEW: <Optional> | ||
- PRIORITY_DEFINITIONS <Required> | ||
- LOCAL_DEFINITIONS <Optional> | ||
- GLOBAL_RULES: <Required> | ||
- LOCAL_RULES <Optional> | ||
- IDENTITY <Required> | ||
- OBJECTIVE: <Required> | ||
- PROCESS: <Required> | ||
- RESULT: <Required> | ||
- EXAMPLES: <Optional> | ||
|
||
|