naisys 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +106 -62
  2. package/dist/apps/llmail.js +1 -1
  3. package/dist/apps/llmynx.js +2 -2
  4. package/dist/command/commandHandler.js +87 -39
  5. package/dist/command/commandLoop.js +13 -1
  6. package/dist/command/promptBuilder.js +1 -1
  7. package/dist/command/shellCommand.js +2 -1
  8. package/dist/command/shellWrapper.js +2 -1
  9. package/dist/config.js +18 -3
  10. package/dist/llm/contextManager.js +6 -6
  11. package/dist/llm/llModels.js +27 -7
  12. package/dist/llm/llmService.js +59 -9
  13. package/dist/utils/utilities.js +3 -0
  14. package/naisys.sh +19 -7
  15. package/package.json +11 -14
  16. package/.env.example +0 -15
  17. package/agents/example.yaml +0 -34
  18. package/dist/__tests__/utils/output.test.js +0 -22
  19. package/dist/__tests__/utils/output.test.js.map +0 -1
  20. package/dist/__tests__/utils/utilities.test.js +0 -42
  21. package/dist/__tests__/utils/utilities.test.js.map +0 -1
  22. package/dist/apps/llmail.js.map +0 -1
  23. package/dist/apps/llmynx.js.map +0 -1
  24. package/dist/command/commandHandler.js.map +0 -1
  25. package/dist/command/commandLoop.js.map +0 -1
  26. package/dist/command/promptBuilder.js.map +0 -1
  27. package/dist/command/shellCommand.js.map +0 -1
  28. package/dist/command/shellWrapper.js.map +0 -1
  29. package/dist/config.js.map +0 -1
  30. package/dist/llm/contextManager.js.map +0 -1
  31. package/dist/llm/costTracker.js.map +0 -1
  32. package/dist/llm/llModels.js.map +0 -1
  33. package/dist/llm/llmDtos.js.map +0 -1
  34. package/dist/llm/llmService.js.map +0 -1
  35. package/dist/naisys.js.map +0 -1
  36. package/dist/utils/dbUtils.js.map +0 -1
  37. package/dist/utils/inputMode.js.map +0 -1
  38. package/dist/utils/logService.js.map +0 -1
  39. package/dist/utils/output.js.map +0 -1
  40. package/dist/utils/utilities.js.map +0 -1
package/README.md CHANGED
@@ -1,77 +1,112 @@
1
1
  ## NAISYS (Node.js Autonomous Intelligence System)
2
2
 
3
- NAISYS is acts as a proxy shell between a LLM and a real shell. The goal is to see how far a LLM can
3
+ NAISYS acts as a proxy shell between LLM(s) and a real shell. The goal is to see how far a LLM can
4
4
  get into writing a website from scratch as well as work with other LLM agents on the same project. Trying to figure
5
- out what works and what doesn't when it comes to 'cognitive architectures'. NAISYS isn't
5
+ out what works and what doesn't when it comes to 'cognitive architectures' for autonomy. NAISYS isn't
6
6
  limited to websites, but it seemed like a good place to start.
7
7
 
8
- Since the LLM has a limited context, NAISYS should take this into account and help the LLM
8
+ Since the LLM has a limited context, NAISYS takes this into account and helps the LLM
9
9
  perform 'context friendly' operations. For example reading/writing a file can't use a typical editor like
10
10
  vim or nano so point the LLM to use cat to read/write files in a single operation.
11
11
 
12
+ [NPM](https://www.npmjs.com/package/naisys) | [Website](https://naisys.org) | [Discord](https://discord.gg/JBUPWSbaEt) | [Demo Video](https://www.youtube.com/watch?v=Ttya3ixjumo)
13
+
12
14
  #### Node.js is used to create a simple proxy shell environment for the LLM that
13
15
 
14
- - NAISYS helps the LLM keep track of its current context size
16
+ - Helps the LLM keep track of its current context size
15
17
  - Gives the LLM the ability to 'reset' the context and carry over information to a new session/context
16
18
  - Proxy commands to a real shell, and help guide the LLM to use context friendly commands
17
19
  - Prevent the context from being polluted by catching common errors like output that includes the command prompt itself
18
- - Allows communication with the LLM by way of a 'debug' prompt after each run of the LLM
20
+ - Allows debugging by way of a 'debug' prompt after each run of the LLM
19
21
  - A custom 'mail' system for context friendly inter-agent communication
20
- - A 'lynx' browser wrapper called 'llmynx' that uses a separate LLM to reduce the size of web pages to fit in the context
21
- - Cost tracking built in, and cost limits must be set in the config to run NAISYS
22
- - Supports multiple LLM backends, configurable per agent - Google, OpenAI, and self-hosted LLMs
22
+ - A browser called 'llmynx' that uses a separate LLM to reduce web page size as well as make links unique across the context
23
+ - Cost tracking and cost limits that must be set in the config
24
+ - Support for multiple LLM backends, configurable per agent - OpenAI, Google, Anthropic, and self-hosted LLMs
23
25
 
24
- ## Resources
26
+ ## Getting Started
25
27
 
26
- - [Website](https://naisys.org)
27
- - [Discord](https://discord.gg/JBUPWSbaEt)
28
- - [NPM Package](https://www.npmjs.com/package/naisys)
28
+ - See notes for Windows users at the bottom of this file
29
+ - Install Node.js, NAISYS has been tested with version 20
30
+ - Install lynx using `apt install lynx`
31
+ - Run `npm install -g naisys`
32
+ - Create a `.env` file:
29
33
 
30
- ## Installation
34
+ ```bash
35
+ # Agent home files and NAISYS specific databases will be stored here
36
+ NAISYS_FOLDER="/var/naisys"
31
37
 
32
- #### Getting started locally
38
+ # The folder where the website and logs are served from (if not defined then logs put in the naisys folder)
39
+ WEBSITE_FOLDER="/var/www"
33
40
 
34
- - Install Node.js, NAISYS has been tested with version 20
35
- - Clone this repository
36
- - Run `npm install` to install dependencies
37
- - Create a `.env` from the `.env.example` file, and configure
38
- - Run `npm run compile`
39
- - Configure your agent using the examples in the `./agents` folder
40
- - Run `node dist/naisys.js <path to agent yaml file>`
41
+ # Leave api keys/url blank if not using the service
42
+ OPENAI_API_KEY="xxx"
43
+ GOOGLE_API_KEY="yyy"
44
+ ANTHROPIC_API_KEY="zzz"
41
45
 
42
- #### Notes for Windows users
46
+ LOCAL_LLM_URL="http://localhost:1234/v1"
47
+ LOCAL_LLM_NAME="minstral instruct v0.2"
43
48
 
44
- - Install WSL (Windows Subsystem for Linux)
45
- - The naisys/website folder should be set to the WSL path
46
- - So `C:\var\naisys` should be `/mnt/c/var/naisys` in the `.env` file
47
- - If you want to use NAISYS for a website
48
- - Install a local web server, for example [XAMPP](https://www.apachefriends.org/) on Windows
49
- - Start the server and put the URL in the `.env` file
49
+ # Custom global vars for use in agent configurations here
50
+ WEBSITE_URL="http://localhost:8080/"
51
+ ```
52
+
53
+ - Create an agent configuration file `smith.yaml`:
54
+
55
+ ```yaml
56
+ # Used to identify the agent on the prompt, logs, home dir, mail, etc..
57
+ username: smith
58
+
59
+ # How other agents will understand the role of this agent
60
+ title: Software Engineer
61
+
62
+ # The model to use for console interactions
63
+ # (gpt4turbo, gpt4turbo, gemini-pro, claude3sonnet, claude3opus, local)
64
+ consoleModel: claude3sonnet
65
+
66
+ # The model to use for llmynx, pre-processing websites to fit into a smaller context
67
+ webModel: gpt3turbo
68
+
69
+ # A system like prompt explaining the agent's role and responsibilities
70
+ # You can use config variables in this string
71
+ agentPrompt: |
72
+ You are ${agent.username} a ${agent.title} with the job of creating a Neon Genesis Evangelion fan website.
73
+ The website should be very simple html, able to be used from a text based browser like lynx. Pages should be relatively short.
74
+ The location of the website files should be in ${env.WEBSITE_FOLDER}
75
+ The website can be tested with 'llmynx open ${env.WEBSITE_URL}' to see how it looks in a text based browser.
76
+ You can use PHP as a way to share layout across pages and reduce duplication.
77
+ Careful when creating new files that what you are creating is not already there.
78
+
79
+ # The number of tokens you want to limit a session to, independent of the LLM token max itself
80
+ # A lower max relies more on the LLM ending the session with good enough notes to not get lost when the session restarts
81
+ # A higher max allows the LLM to do more without losing track, but is more expensive
82
+ tokenMax: 5000
83
+
84
+ # The number of seconds to pause after each console interaction for debugging and rate limiting
85
+ # No value or zero means wait indefinitely (debug driven)
86
+ debugPauseSeconds: 5
87
+
88
+ # If true, regardless of the debugPauseSeconds, the agent will not wake up on messages
89
+ # With lots of agents this could be costly if they all end up mailing/replying each other in quick succession
90
+ wakeOnMessage: false
50
91
 
51
- #### Getting started on a VM (Digital Ocean for example)
92
+ # The maximum amount to spend on LLM interactions
93
+ # Once reached the agent will stop and this value will need to be increased to continue
94
+ spendLimitDollars: 2.00
95
+ # Additional custom variables can be defined here and/or in the .env file to be loaded into the agent prompt
96
+ ```
97
+
98
+ - Run `naisys <path to yaml or directory>`
99
+ - If a yaml file is passed, naisys will start a single agent
100
+ - If a directory is passed, naisys will start a tmux session with the screen split for each agent
101
+
102
+ #### Creating a persistent agent run website (on Digital Ocean for example)
52
103
 
53
104
  - Create new VM using the [LAMP stack droplet template](https://marketplace.digitalocean.com/apps/lamp)
54
105
  - Login to the droplet using the web console
55
- - Clone this repo using the [instructions from GitHub](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
56
- - Run `apt install lynx`
57
106
  - Run `apt install npm`
58
107
  - Install `nvm` using the `curl` url from these [instructions](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)
59
108
  - Run `nvm install/use 20` to set node version to 20
60
- - Create a `.env` from the `.env.example` file
61
- - Set the api keys for the LLMs you need to access
62
- - Set `NAISYS_FOLDER` to `/var/naisys`
63
- - If you plan to use NAISYS for a website
64
- - Set `WEBSITE_FOLDER` to `/var/www/html`
65
- - Set `WEBSITE_URL` to the `http://<IP address of the droplet>`
66
- - Follow the instructions for getting started locally above
67
-
68
- #### Getting started from NPM (Still in development)
69
-
70
- - Run `npm install -g naisys`
71
- - Create a `.env` from the `.env.example` file, and configure
72
- - Run `naisys <path to directory or yaml>`
73
- - If a directory is passed, naisys will start a tmux session with the agents in the directory
74
- - If a yaml file is passed, naisys will start a single agent
109
+ - Follow the general install instructions above
75
110
 
76
111
  ## Using NAISYS
77
112
 
@@ -84,7 +119,7 @@ vim or nano so point the LLM to use cat to read/write files in a single operatio
84
119
  - Pause on the debug prompt for that many seconds
85
120
  - Pause indefinitely
86
121
  - Pause until a new message is received from another agent
87
- - Combined logs across all agents are written to the `{WEBSITE_FOLDER}/logs` folder as html
122
+ - Agents logs are written as html to `{WEBSITE_FOLDER or NAISYS_FOLDER}/logs`
88
123
 
89
124
  #### Console Colors Legend
90
125
 
@@ -102,24 +137,33 @@ vim or nano so point the LLM to use cat to read/write files in a single operatio
102
137
  - `exit` - Exits NAISYS. If the LLM tries to use `exit`, it is directed to use `endsession` instead
103
138
  - `talk` - Communicate with the local agent to give hints or ask questions (the agent itself does not know about talk and is directed to use `comment` or `llmail` for communication)
104
139
  - Special Commands usable by the LLM as well as by the debug prompt
105
- - `comment <notes>` - The LLM is directed to use this for 'thinking out loud' which avoid 'invalid command' errors
106
- - `endsession <notes>` - Clear the context and start a new session.
140
+ - `comment "<note>"` - The LLM is directed to use this for 'thinking out loud' which avoids 'invalid command' errors
141
+ - `endsession "<note>"` - Clear the context and start a new session.
107
142
  - The LLM is directed to track it's context size and to end the session with a note before running over the context limit
108
143
  - `pause <seconds>` - Can be used by the debug agent or the LLM to pause execution indefinitely, or until a new message is received from another agent, or for a set number of seconds
109
144
  - NAISYS apps
110
145
  - `llmail` - A context friendly 'mail system' used for agent to agent communication
111
146
  - `llmynx` - A context friendly wrapping on the lynx browser that can use a separate LLM to reduce the size of a large webpage into something that can fit into the LLM's context
112
147
 
113
- ## Code Design Notes
114
-
115
- - The entry point is in `./naisys.ts`
116
- - LLM configurations are in the `src/llm/llmModels.ts` file
117
- - A helpful `dependency-graph.png` is included to get an idea of the overall architecture
118
- - This also doubles as a way to prevent cyclic dependencies as a DI library is not used currently
119
- - The code is organzied into module based services
120
- - Think poor mans singleton dependency injection
121
- - A previous version had class based services using real DI, but made the code a soup of `this.` statements
122
- - Code from these services are imported with \* so it's clear when you're calling out to a service like llmService.send()
123
- - There is a command loop that first checks for internally handled NAISYS commands, unhandled commands fall through to an actual shell
124
- - Multiline commands are added to a temporary shell script and then executed so it's easier to pinpoint where a command failed by line number in the script versus the entire shell log
125
- - Various sqlite databases are used for logging, cost tracking and mail. All stored in the `{NAISYS_FOLDER}/lib` folder
148
+ ## Running NAISYS from Source
149
+
150
+ #### Getting started locally
151
+
152
+ - Install Node.js, NAISYS has been tested with version 20
153
+ - Clone the NAISYS repository from Github
154
+ - Run `npm install` to install dependencies
155
+ - Create a `.env` from the example above
156
+ - Run `npm run compile`
157
+ - Configure your agent using the examples in the `./agents` folder
158
+ - Run `node dist/naisys.js <path to agent yaml file>`
159
+
160
+ #### Notes for Windows users
161
+
162
+ - To use NAISYS on Windows you need to run it locally from source (or from within WSL)
163
+ - Use the above instructions to install locally, and then continue with the instructions below
164
+ - Install WSL (Windows Subsystem for Linux)
165
+ - The `NAISYS_FOLDER` and `WEBSITE_FOLDER` should be set to the WSL path
166
+ - So `C:\var\naisys` should be `/mnt/c/var/naisys` in the `.env` file
167
+ - If you want to use NAISYS for a website
168
+ - Install a local web server, for example [XAMPP](https://www.apachefriends.org/) on Windows
169
+ - Start the server and put the URL in the `.env` file
@@ -7,7 +7,7 @@ import { naisysToHostPath } from "../utils/utilities.js";
7
7
  const _dbFilePath = naisysToHostPath(`${config.naisysFolder}/lib/llmail.db`);
8
8
  let _myUserId = -1;
9
9
  // Implement maxes so that LLMs actively manage threads, archive, and create new ones
10
- const _threadTokenMax = config.tokenMax / 2; // So 4000, would be 2000 thread max
10
+ const _threadTokenMax = config.agent.tokenMax / 2; // So 4000, would be 2000 thread max
11
11
  const _messageTokenMax = _threadTokenMax / 5; // Given the above a 400 token max, and 5 big messages per thread
12
12
  /** The 'non-simple' version of this is a thread first mail system. Where agents can create threads, add users, and reply to threads, etc..
13
13
  * The problem with this was the agents were too chatty with so many mail commands, wasting context replying, reading threads, etc..
@@ -15,7 +15,7 @@ let _nextGlobalLinkNum = 1;
15
15
  export async function handleCommand(cmdArgs) {
16
16
  outputInDebugMode("LLMYNX DEBUG MODE IS ON");
17
17
  const argParams = cmdArgs.split(" ");
18
- const defualtTokenMax = config.tokenMax / 8;
18
+ const defualtTokenMax = config.agent.tokenMax / 8;
19
19
  if (!argParams[0]) {
20
20
  argParams[0] = "help";
21
21
  }
@@ -28,7 +28,7 @@ export async function handleCommand(cmdArgs) {
28
28
  links <url> <page>: Lists only the links for the given url. Use the page number to get more links`;
29
29
  case "search": {
30
30
  const query = argParams.slice(1).join(" ");
31
- return await loadUrl("https://www.google.com/search?q=" + encodeURIComponent(query), config.tokenMax / 2, // Prevent form being reduced as google results are usually short anyways and we want to maintainq the links
31
+ return await loadUrl("https://www.google.com/search?q=" + encodeURIComponent(query), config.agent.tokenMax / 2, // Prevent form being reduced as google results are usually short anyways and we want to maintainq the links
32
32
  true, true);
33
33
  }
34
34
  case "open": {
@@ -10,6 +10,7 @@ import { InputMode } from "../utils/inputMode.js";
10
10
  import * as logService from "../utils/logService.js";
11
11
  import * as output from "../utils/output.js";
12
12
  import { OutputColor } from "../utils/output.js";
13
+ import * as utilities from "../utils/utilities.js";
13
14
  import * as promptBuilder from "./promptBuilder.js";
14
15
  import * as shellCommand from "./shellCommand.js";
15
16
  export var NextCommandAction;
@@ -23,40 +24,19 @@ export async function consoleInput(prompt, consoleInput) {
23
24
  // We process the lines one at a time so we can support multiple commands with line breaks
24
25
  let firstLine = true;
25
26
  let processNextLLMpromptBlock = true;
26
- const userHostPrompt = promptBuilder.getUserHostPrompt();
27
27
  let nextCommandAction = NextCommandAction.Continue;
28
- let nextInput = consoleInput.trim();
29
- while (processNextLLMpromptBlock && nextInput) {
30
- let input = "";
31
- // if the prompt exists in the input, save if for the next run
32
- const nextPromptPos = nextInput.indexOf(userHostPrompt);
33
- if (nextPromptPos == 0) {
34
- const pathPrompt = await promptBuilder.getUserHostPathPrompt();
35
- // check working directory is the same
36
- if (nextInput.startsWith(pathPrompt)) {
37
- // slice nextInput after $
38
- const endPrompt = nextInput.indexOf("$", pathPrompt.length);
39
- nextInput = nextInput.slice(endPrompt + 1).trim();
40
- continue;
41
- }
42
- // else prompt did not match, stop processing input
43
- else {
44
- break;
45
- }
46
- }
47
- // we can't validate that the working directory in the prompt is good until the commands are processed
48
- else if (nextPromptPos > 0) {
49
- input = nextInput.slice(0, nextPromptPos);
50
- nextInput = nextInput.slice(nextPromptPos).trim();
51
- }
52
- else {
53
- input = nextInput;
54
- nextInput = "";
28
+ consoleInput = consoleInput.trim();
29
+ while (processNextLLMpromptBlock && consoleInput) {
30
+ const { input, nextInput, splitResult } = await splitMultipleInputCommands(consoleInput);
31
+ consoleInput = nextInput;
32
+ if (splitResult == SplitResult.InputIsPrompt) {
33
+ continue;
55
34
  }
56
- if (!input.trim()) {
35
+ else if (splitResult == SplitResult.InputPromptMismatch ||
36
+ !input.trim()) {
57
37
  break;
58
38
  }
59
- // first line is special because we want to append the output to the context without a line break
39
+ // First line is special because we want to append the output to the context without a line break
60
40
  if (inputMode.current == InputMode.LLM) {
61
41
  if (firstLine) {
62
42
  firstLine = false;
@@ -64,22 +44,25 @@ export async function consoleInput(prompt, consoleInput) {
64
44
  output.write(prompt + chalk[OutputColor.llm](input));
65
45
  }
66
46
  else {
67
- await output.commentAndLog("Optimistically continuing with the next command...");
68
- await contextManager.append(input, ContentSource.LlmPromptResponse);
47
+ await output.commentAndLog("Continuing with next command from same LLM response...");
48
+ await contextManager.append(input, ContentSource.LLM);
69
49
  }
70
50
  }
71
51
  const cmdParams = input.split(" ");
72
52
  const cmdArgs = input.slice(cmdParams[0].length).trim();
73
53
  switch (cmdParams[0]) {
74
54
  case "comment": {
55
+ // Important - Hint the LLM to turn their thoughts into accounts
75
56
  await contextManager.append("Comment noted. Try running commands now to achieve your goal.");
76
- // There may be additional commands after the comment, try to slice it out after the new line and continue
77
- const nextNewLine = input.indexOf("\n");
78
- nextInput = nextNewLine > 0 ? input.slice(nextNewLine).trim() : "";
79
57
  break;
80
58
  }
81
59
  case "endsession": {
82
- previousSessionNotes = cmdArgs;
60
+ // Don't need to check end line as this is the last command in the context, just read to the end
61
+ previousSessionNotes = utilities.trimChars(cmdArgs, '"');
62
+ if (!previousSessionNotes) {
63
+ await contextManager.append(`End session notes are required. Use endsession "<notes>"`);
64
+ break;
65
+ }
83
66
  await output.commentAndLog("------------------------------------------------------");
84
67
  nextCommandAction = NextCommandAction.EndSession;
85
68
  processNextLLMpromptBlock = false;
@@ -99,7 +82,8 @@ export async function consoleInput(prompt, consoleInput) {
99
82
  break;
100
83
  }
101
84
  // With no argument, in debug mode, pause will pause forever,
102
- // in LLM mode it will pause until a message is receieved (don't want the llm to hang itself)
85
+ // in LLM mode it will pause until a message is receieved
86
+ // Don't want the llm to hang itself, but it still can if it's the only agent or if all the agents pause..
103
87
  // The setting only lasts for the next command, next loop it uses the agent default
104
88
  case "pause": {
105
89
  return {
@@ -139,8 +123,8 @@ export async function consoleInput(prompt, consoleInput) {
139
123
  }
140
124
  }
141
125
  // display unprocessed lines to aid in debugging
142
- if (nextInput.trim()) {
143
- await output.errorAndLog(`Unprocessed LLM response:\n${nextInput}`);
126
+ if (consoleInput.trim()) {
127
+ await output.errorAndLog(`Unprocessed LLM response:\n${consoleInput}`);
144
128
  }
145
129
  return {
146
130
  nextCommandAction,
@@ -148,4 +132,68 @@ export async function consoleInput(prompt, consoleInput) {
148
132
  wakeOnMessage: config.agent.wakeOnMessage,
149
133
  };
150
134
  }
135
+ var SplitResult;
136
+ (function (SplitResult) {
137
+ SplitResult[SplitResult["InputIsPrompt"] = 0] = "InputIsPrompt";
138
+ SplitResult[SplitResult["InputPromptMismatch"] = 1] = "InputPromptMismatch";
139
+ })(SplitResult || (SplitResult = {}));
140
+ async function splitMultipleInputCommands(nextInput) {
141
+ let input = "";
142
+ let splitResult;
143
+ // If the prompt exists in the input, save if for the next run
144
+ const userHostPrompt = promptBuilder.getUserHostPrompt();
145
+ const nextPromptPos = nextInput.indexOf(userHostPrompt);
146
+ const newLinePos = nextInput.indexOf("\n");
147
+ if (nextPromptPos == 0) {
148
+ const pathPrompt = await promptBuilder.getUserHostPathPrompt();
149
+ // Check working directory is the same
150
+ if (nextInput.startsWith(pathPrompt)) {
151
+ // Slice nextInput after $
152
+ const endPrompt = nextInput.indexOf("$", pathPrompt.length);
153
+ nextInput = nextInput.slice(endPrompt + 1).trim();
154
+ splitResult = SplitResult.InputIsPrompt;
155
+ }
156
+ // Else prompt did not match, stop processing input
157
+ else {
158
+ splitResult = SplitResult.InputPromptMismatch;
159
+ }
160
+ }
161
+ // We can't validate that the working directory in the prompt is good until the commands are processed
162
+ else if (nextPromptPos > 0) {
163
+ input = nextInput.slice(0, nextPromptPos);
164
+ nextInput = nextInput.slice(nextPromptPos).trim();
165
+ }
166
+ // Most custom NAISYS commands are single line, but comment in quotes can span multiple lines so we need to handle that
167
+ // because often the LLM puts shell commands after the comment
168
+ else if (nextInput.startsWith(`comment "`)) {
169
+ // Find next double quote in nextInput that isn't escaped
170
+ let endQuote = nextInput.indexOf(`"`, 9);
171
+ while (endQuote > 0 && nextInput[endQuote - 1] === "\\") {
172
+ endQuote = nextInput.indexOf(`"`, endQuote + 1);
173
+ }
174
+ if (endQuote > 0) {
175
+ input = nextInput.slice(0, endQuote + 1);
176
+ nextInput = nextInput.slice(endQuote + 1).trim();
177
+ }
178
+ else {
179
+ input = nextInput;
180
+ nextInput = "";
181
+ }
182
+ }
183
+ // If the LLM forgets the quote on the comment, treat it as a single line comment
184
+ else if (newLinePos > 0 && nextInput.startsWith("comment ")) {
185
+ input = nextInput.slice(0, newLinePos);
186
+ nextInput = nextInput.slice(newLinePos).trim();
187
+ }
188
+ // Else process the entire input now
189
+ else {
190
+ input = nextInput;
191
+ nextInput = "";
192
+ }
193
+ return { input, nextInput, splitResult };
194
+ }
195
+ export const exportedForTesting = {
196
+ splitMultipleInputCommands,
197
+ SplitResult,
198
+ };
151
199
  //# sourceMappingURL=commandHandler.js.map
@@ -53,6 +53,7 @@ export async function run() {
53
53
  chalk[output.OutputColor.loading](`LLM (${config.agent.consoleModel}) Working...`);
54
54
  try {
55
55
  await displayNewMail();
56
+ await displayContextWarning();
56
57
  await contextManager.append(prompt, ContentSource.ConsolePrompt);
57
58
  process.stdout.write(workingMsg);
58
59
  input = await llmService.query(config.agent.consoleModel, contextManager.getSystemMessage(), contextManager.messages, "console");
@@ -149,7 +150,7 @@ async function displayNewMail() {
149
150
  // Check that token max for session will not be exceeded
150
151
  const newMsgTokenCount = newMessages.reduce((acc, msg) => acc + utilities.getTokenCount(msg), 0);
151
152
  const sessionTokens = contextManager.getTokenCount();
152
- const tokenMax = config.tokenMax;
153
+ const tokenMax = config.agent.tokenMax;
153
154
  // Show full messages unless we are close to the token limit of the session
154
155
  // or in simple mode, which means non-threaded messages
155
156
  if (sessionTokens + newMsgTokenCount < tokenMax * 0.75) {
@@ -173,4 +174,15 @@ async function displayNewMail() {
173
174
  `Use llmail read <id>' to read the thread, but be mindful you are close to the token limit for the session.`, ContentSource.Console);
174
175
  }
175
176
  }
177
+ async function displayContextWarning() {
178
+ const tokenCount = contextManager.getTokenCount();
179
+ const tokenMax = config.agent.tokenMax;
180
+ if (tokenCount > tokenMax) {
181
+ await contextManager.append(`The token limit for this session has been exceeded.
182
+ Use \`endsession <note>\` to clear the console and reset the session.
183
+ The note should help you find your bearings in the next session.
184
+ The note should contain your next goal, and important things should you remember.
185
+ Try to keep the note around 400 tokens.`, ContentSource.Console);
186
+ }
187
+ }
176
188
  //# sourceMappingURL=commandLoop.js.map
@@ -31,7 +31,7 @@ _readlineInterface.on("close", () => {
31
31
  });
32
32
  export async function getPrompt(pauseSeconds, wakeOnMessage) {
33
33
  const promptSuffix = inputMode.current == InputMode.Debug ? "#" : "$";
34
- const tokenMax = config.tokenMax;
34
+ const tokenMax = config.agent.tokenMax;
35
35
  const usedTokens = contextManager.getTokenCount();
36
36
  const tokenSuffix = ` [Tokens: ${usedTokens}/${tokenMax}]`;
37
37
  let pause = "";
@@ -8,8 +8,9 @@ export async function handleCommand(input) {
8
8
  hasErrors: true,
9
9
  };
10
10
  // Route user to context friendly edit commands that can read/write the entire file in one go
11
+ // Having EOF in quotes is important as it prevents the shell from replacing $variables with bash values
11
12
  if (["nano", "vi", "vim"].includes(cmdParams[0])) {
12
- await contextManager.append(`${cmdParams[0]} not supported. Use 'cat' to view a file and 'cat > filename << EOF' to write a file`);
13
+ await contextManager.append(`${cmdParams[0]} not supported. Use \`cat\` to read a file and \`cat > filename << 'EOF'\` to write a file`);
13
14
  return response;
14
15
  }
15
16
  if (cmdParams[0] == "lynx" && cmdParams[1] != "--dump") {
@@ -174,6 +174,7 @@ cd ${_currentPath}
174
174
  ${command.trim()}`;
175
175
  // create/writewrite file
176
176
  fs.writeFileSync(naisysToHostPath(scriptPath), scriptContent);
177
- return `bash ${scriptPath}`;
177
+ // Source will run the script in the current shell, so any change directories in the script should persist in the current shell
178
+ return `source ${scriptPath}`;
178
179
  }
179
180
  //# sourceMappingURL=shellWrapper.js.map
package/dist/config.js CHANGED
@@ -7,15 +7,14 @@ program.argument("<agent-path>", "Path to agent configuration file").parse();
7
7
  dotenv.config();
8
8
  /** The system name that shows after the @ in the command prompt */
9
9
  export const hostname = "naisys";
10
- /** The number of tokens you want to limit a session to, independent of the LLM token max */
11
- export const tokenMax = 4000;
12
- /* .env is used for global configs across naisys, while agent configs for the specific agent */
10
+ /* .env is used for global configs across naisys, while agent configs are for the specific agent */
13
11
  export const naisysFolder = getEnv("NAISYS_FOLDER", true);
14
12
  export const websiteFolder = getEnv("WEBSITE_FOLDER");
15
13
  export const localLlmUrl = getEnv("LOCAL_LLM_URL");
16
14
  export const localLlmName = getEnv("LOCAL_LLM_NAME");
17
15
  export const openaiApiKey = getEnv("OPENAI_API_KEY");
18
16
  export const googleApiKey = getEnv("GOOGLE_API_KEY");
17
+ export const anthropicApiKey = getEnv("ANTHROPIC_API_KEY");
19
18
  export const agent = loadAgentConfig();
20
19
  function getEnv(key, required) {
21
20
  const value = process.env[key];
@@ -35,6 +34,7 @@ function loadAgentConfig() {
35
34
  "webModel",
36
35
  "agentPrompt",
37
36
  "spendLimitDollars",
37
+ "tokenMax",
38
38
  // debugPauseSeconds and wakeOnMessage can be undefined
39
39
  ]) {
40
40
  if (!valueFromString(checkAgentConfig, key)) {
@@ -43,4 +43,19 @@ function loadAgentConfig() {
43
43
  }
44
44
  return checkAgentConfig;
45
45
  }
46
+ export const packageVersion = await getVersion();
47
+ /** Can only get version from env variable when naisys is started with npm,
48
+ * otherwise need to rip it from the package ourselves relative to where this file is located */
49
+ async function getVersion() {
50
+ try {
51
+ const packageJsonPath = new URL("../package.json", import.meta.url);
52
+ const packageJson = await import(packageJsonPath.href, {
53
+ assert: { type: "json" },
54
+ });
55
+ return packageJson.default.version;
56
+ }
57
+ catch (e) {
58
+ return "0.1";
59
+ }
60
+ }
46
61
  //# sourceMappingURL=config.js.map
@@ -34,23 +34,23 @@ For example when you run 'cat' or 'ls', don't write what you think the output wi
34
34
  Your role is that of the user. The system will provide responses and next command prompt. Don't output your own command prompt.
35
35
  Be careful when writing files through the command prompt with cat. Make sure to close and escape quotes properly.
36
36
 
37
- NAISYS ${process.env.npm_package_version} Shell
37
+ NAISYS ${config.packageVersion} Shell
38
38
  Welcome back ${config.agent.username}!
39
39
  MOTD:
40
40
  Date: ${new Date().toLocaleString()}
41
41
  Commands:
42
42
  Standard Unix commands are available
43
43
  vi and nano are not supported
44
- Read/write entire files in a single command with cat
44
+ Read files with cat. Write files with \`cat > filename << 'EOF'\`
45
45
  Do not input notes after the prompt. Only valid commands.
46
46
  Special Commands: (Don't mix with standard commands on the same prompt)
47
47
  llmail: A local mail system for communicating with your team
48
48
  llmynx: A context optimized web browser. Enter 'llmynx help' to learn how to use it
49
- comment <thought>: Any non-command output like thinking out loud, prefix with the 'comment' command
49
+ comment "<thought>": Any non-command output like thinking out loud, prefix with the 'comment' command
50
50
  pause <seconds>: Pause for <seconds> or indeterminite if no argument is provided. Auto wake up on new mail message
51
- endsession <note>: Ends this session, clears the console log and context.
52
- The note should help you prevent from having to find your bearings in the next session.
53
- The note should contain your next goal. Important things should you remember. Maybe a task list.
51
+ endsession "<note>": Ends this session, clears the console log and context.
52
+ The note should help you find your bearings in the next session.
53
+ The note should contain your next goal, and important things should you remember.
54
54
  Try to keep the note around 400 tokens.
55
55
  Tokens:
56
56
  The console log can only hold a certain number of 'tokens' that is specified in the prompt
@@ -3,6 +3,7 @@ export var LlmApiType;
3
3
  (function (LlmApiType) {
4
4
  LlmApiType["OpenAI"] = "openai";
5
5
  LlmApiType["Google"] = "google";
6
+ LlmApiType["Anthropic"] = "anthropic";
6
7
  })(LlmApiType || (LlmApiType = {}));
7
8
  const llmModels = [
8
9
  {
@@ -10,18 +11,18 @@ const llmModels = [
10
11
  name: "gpt-4-0125-preview",
11
12
  apiType: LlmApiType.OpenAI,
12
13
  maxTokens: 128000,
13
- // Prices are per 1000 tokens
14
- inputCost: 0.01,
15
- outputCost: 0.03,
14
+ // Prices are per 1M tokens
15
+ inputCost: 10,
16
+ outputCost: 30,
16
17
  },
17
18
  {
18
19
  key: "gpt3turbo",
19
20
  name: "gpt-3.5-turbo-0125",
20
21
  apiType: LlmApiType.OpenAI,
21
22
  maxTokens: 16000,
22
- // Prices are per 1000 tokens
23
- inputCost: 0.0005,
24
- outputCost: 0.0015,
23
+ // Prices are per 1M tokens
24
+ inputCost: 0.5,
25
+ outputCost: 1.5,
25
26
  },
26
27
  {
27
28
  key: "local",
@@ -29,11 +30,12 @@ const llmModels = [
29
30
  baseUrl: config.localLlmUrl,
30
31
  apiType: LlmApiType.OpenAI,
31
32
  maxTokens: 8000,
33
+ // Prices are per 1M tokens
32
34
  inputCost: 0,
33
35
  outputCost: 0,
34
36
  },
35
37
  {
36
- key: "google",
38
+ key: "gemini-pro",
37
39
  name: "gemini-pro",
38
40
  apiType: LlmApiType.Google,
39
41
  maxTokens: 8000,
@@ -41,6 +43,24 @@ const llmModels = [
41
43
  inputCost: 0.000125,
42
44
  outputCost: 0.000375,
43
45
  },
46
+ {
47
+ key: "claude3opus",
48
+ name: "claude-3-opus-20240229",
49
+ apiType: LlmApiType.Anthropic,
50
+ maxTokens: 200000,
51
+ // Prices are per 1M tokens
52
+ inputCost: 15,
53
+ outputCost: 75,
54
+ },
55
+ {
56
+ key: "claude3sonnet",
57
+ name: "claude-3-sonnet-20240229",
58
+ apiType: LlmApiType.Anthropic,
59
+ maxTokens: 200000,
60
+ // Prices are per 1M tokens
61
+ inputCost: 3,
62
+ outputCost: 15,
63
+ },
44
64
  ];
45
65
  export function getLLModel(key) {
46
66
  const model = llmModels.find((m) => m.key === key);
@@ -1,3 +1,4 @@
1
+ import Anthropic from "@anthropic-ai/sdk";
1
2
  import { GoogleGenerativeAI } from "@google/generative-ai";
2
3
  import OpenAI from "openai";
3
4
  import * as config from "../config.js";
@@ -13,6 +14,9 @@ export async function query(modelKey, systemMessage, context, source) {
13
14
  if (model.apiType == LlmApiType.Google) {
14
15
  return sendWithGoogle(modelKey, systemMessage, context, source);
15
16
  }
17
+ else if (model.apiType == LlmApiType.Anthropic) {
18
+ return sendWithAnthropic(modelKey, systemMessage, context, source);
19
+ }
16
20
  else if (model.apiType == LlmApiType.OpenAI) {
17
21
  return sendWithOpenAiCompatible(modelKey, systemMessage, context, source);
18
22
  }
@@ -39,7 +43,7 @@ async function sendWithOpenAiCompatible(modelKey, systemMessage, context, source
39
43
  if (lastMessage.role !== LlmRole.User) {
40
44
  throw "Error, last message on context is not a user message";
41
45
  }
42
- const chatCompletion = await openAI.chat.completions.create({
46
+ const chatResponse = await openAI.chat.completions.create({
43
47
  model: model.name,
44
48
  messages: [
45
49
  {
@@ -52,16 +56,16 @@ async function sendWithOpenAiCompatible(modelKey, systemMessage, context, source
52
56
  })),
53
57
  ],
54
58
  });
55
- // Total up costs, prices are per 1000 tokens
56
- if (chatCompletion.usage) {
57
- const cost = chatCompletion.usage.prompt_tokens * model.inputCost +
58
- chatCompletion.usage.completion_tokens * model.outputCost;
59
- await costTracker.recordCost(cost / 1000, source, model.name);
59
+ // Total up costs, prices are per 1M tokens
60
+ if (chatResponse.usage) {
61
+ const cost = chatResponse.usage.prompt_tokens * model.inputCost +
62
+ chatResponse.usage.completion_tokens * model.outputCost;
63
+ await costTracker.recordCost(cost / 1000000, source, model.name);
60
64
  }
61
65
  else {
62
66
  throw "Error, no usage data returned from OpenAI API.";
63
67
  }
64
- return chatCompletion.choices[0].message.content || "";
68
+ return chatResponse.choices[0].message.content || "";
65
69
  }
66
70
  async function sendWithGoogle(modelKey, systemMessage, context, source) {
67
71
  var _a;
@@ -105,9 +109,55 @@ async function sendWithGoogle(modelKey, systemMessage, context, source) {
105
109
  const responseText = result.response.text();
106
110
  // Total up cost, per 1000 characters with google
107
111
  // todo: take into account google allows 60 queries per minute for free
108
- const cost = lastMessage.content.length * model.inputCost +
109
- responseText.length * model.outputCost;
112
+ const inputCharCount = systemMessage.length +
113
+ context
114
+ .map((m) => m.content.length)
115
+ .reduce((prevVal, currVal) => prevVal + currVal, 0);
116
+ const cost = inputCharCount * model.inputCost + responseText.length * model.outputCost;
110
117
  await costTracker.recordCost(cost / 1000, source, model.name);
111
118
  return responseText;
112
119
  }
120
+ async function sendWithAnthropic(modelKey, systemMessage, context, source) {
121
+ var _a;
122
+ const model = getLLModel(modelKey);
123
+ if (!config.anthropicApiKey) {
124
+ throw "Error, anthropicApiKey is not defined";
125
+ }
126
+ const anthropic = new Anthropic({
127
+ apiKey: config.anthropicApiKey,
128
+ });
129
+ // Assert the last message on the context is a user message
130
+ const lastMessage = context[context.length - 1];
131
+ if (lastMessage.role !== LlmRole.User) {
132
+ throw "Error, last message on context is not a user message";
133
+ }
134
+ const msgResponse = await anthropic.messages.create({
135
+ model: model.name,
136
+ max_tokens: 4096, // Blows up on anything higher
137
+ messages: [
138
+ {
139
+ role: "user",
140
+ content: systemMessage,
141
+ },
142
+ {
143
+ role: "assistant",
144
+ content: "Understood",
145
+ },
146
+ ...context.map((msg) => ({
147
+ role: msg.role == LlmRole.Assistant ? "assistant" : "user",
148
+ content: msg.content,
149
+ })),
150
+ ],
151
+ });
152
+ // Total up costs, prices are per 1M tokens
153
+ if (msgResponse.usage) {
154
+ const cost = msgResponse.usage.input_tokens * model.inputCost +
155
+ msgResponse.usage.output_tokens * model.outputCost;
156
+ await costTracker.recordCost(cost / 1000000, source, model.name);
157
+ }
158
+ else {
159
+ throw "Error, no usage data returned from Anthropic API.";
160
+ }
161
+ return ((_a = msgResponse.content.find((c) => c.type == "text")) === null || _a === void 0 ? void 0 : _a.text) || "";
162
+ }
113
163
  //# sourceMappingURL=llmService.js.map
@@ -37,4 +37,7 @@ export function ensureFileDirExists(filePath) {
37
37
  fs.mkdirSync(dir, { recursive: true });
38
38
  }
39
39
  }
40
+ export function trimChars(text, charList) {
41
+ return text.replace(new RegExp(`^[${charList}]+|[${charList}]+$`, "g"), "");
42
+ }
40
43
  //# sourceMappingURL=utilities.js.map
package/naisys.sh CHANGED
@@ -4,21 +4,33 @@
4
4
 
5
5
  # Check if an argument is provided
6
6
  if [ $# -eq 0 ]; then
7
- echo "Runs an entire team of agents in a tmux session"
8
- echo " Usage: naisys <path_to_agent_directory>"
9
- echo " Note: The folder the agents are in will be treated as the tmux session name"
7
+ echo "NAISYS: Node.js Autonomous Intelligence System"
8
+ echo " Usage: naisys <path to agent config yaml, or directory>"
9
+ echo " Note: If a folder is passed then all agents will be started in a tmux session"
10
10
  exit 1
11
11
  fi
12
12
 
13
+ # Resolves the location of naisys from the bin directory
14
+ SCRIPT=$(readlink -f "$0" || echo "$0")
15
+ SCRIPT_DIR=$(dirname "$SCRIPT")
16
+
17
+ # if path is a yaml file then start a single agent
18
+ if [ -f "$1" ]; then
19
+ if [[ "$1" == *".yaml" ]]; then
20
+ echo "Starting single agent..."
21
+ node $SCRIPT_DIR/dist/naisys.js "$1"
22
+ exit 0
23
+ else
24
+ echo "Invalid file type. Please provide a .yaml file."
25
+ exit 1
26
+ fi
27
+ fi
28
+
13
29
  # TODO: In the future should implement a max agents per window in the session
14
30
  # Will require an outer loop to create new windows
15
31
  # How many agents per window
16
32
  # AGENTS_PER_WINDOW=4
17
33
 
18
- # Resolves the location of naisys from the bin directory
19
- SCRIPT=$(readlink -f "$0" || echo "$0")
20
- SCRIPT_DIR=$(dirname "$SCRIPT")
21
-
22
34
  # Directory containing agent files
23
35
  AGENT_DIR="$1"
24
36
  TEAM_NAME=$(basename "$AGENT_DIR")
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "naisys",
3
3
  "description": "Node.js Autonomous Intelligence System",
4
- "version": "1.0.1",
5
- "main": "dist/naisys.js",
4
+ "version": "1.0.3",
6
5
  "type": "module",
6
+ "main": "dist/naisys.js",
7
+ "preferGlobal": true,
8
+ "bin": {
9
+ "naisys": "naisys.sh"
10
+ },
7
11
  "scripts": {
8
12
  "compile/run/attachable": "tsc && node --inspect dist/naisys.js ./agents/example.yaml",
9
13
  "run agent:dev": "node dist/naisys.js ./agents/eva-site-2-team/dev.yaml",
@@ -19,17 +23,9 @@
19
23
  "updates:check": "npm-check-updates",
20
24
  "updates:apply": "npm-check-updates -u && npm update"
21
25
  },
22
- "bin": {
23
- "naisys": "naisys.sh"
24
- },
25
- "files": [
26
- "agents/example.yaml",
27
- "dist/**/*",
28
- ".env.example"
29
- ],
30
26
  "repository": {
31
27
  "type": "git",
32
- "url": "https://github.com/swax/NAISYS.git"
28
+ "url": "git+https://github.com/swax/NAISYS.git"
33
29
  },
34
30
  "keywords": [
35
31
  "ai",
@@ -44,10 +40,10 @@
44
40
  "devDependencies": {
45
41
  "@types/escape-html": "1.0.4",
46
42
  "@types/js-yaml": "4.0.9",
47
- "@types/node": "20.11.22",
43
+ "@types/node": "20.11.25",
48
44
  "@types/text-table": "0.2.5",
49
- "@typescript-eslint/eslint-plugin": "7.1.0",
50
- "@typescript-eslint/parser": "7.1.0",
45
+ "@typescript-eslint/eslint-plugin": "7.1.1",
46
+ "@typescript-eslint/parser": "7.1.1",
51
47
  "eslint": "8.57.0",
52
48
  "jest": "29.7.0",
53
49
  "prettier": "3.2.5",
@@ -55,6 +51,7 @@
55
51
  "typescript": "5.3.3"
56
52
  },
57
53
  "dependencies": {
54
+ "@anthropic-ai/sdk": "0.16.1",
58
55
  "@google/generative-ai": "0.2.1",
59
56
  "chalk": "5.3.0",
60
57
  "commander": "12.0.0",
package/.env.example DELETED
@@ -1,15 +0,0 @@
1
- # Agent home files and NAISYS specific databases will be stored here
2
- NAISYS_FOLDER="/var/naisys"
3
-
4
- # The folder where the website and logs are served from (if not defined then logs put in the naisys folder)
5
- WEBSITE_FOLDER="/var/www"
6
-
7
- # Leave api keys/url blank if not using the service
8
- OPENAI_API_KEY="xxx"
9
- GOOGLE_API_KEY="yyy"
10
-
11
- LOCAL_LLM_URL="http://localhost:1234/v1"
12
- LOCAL_LLM_NAME="minstral instruct v0.2"
13
-
14
- # Custom global vars for use in agent configurations here
15
- WEBSITE_URL="http://localhost:8080/"
@@ -1,34 +0,0 @@
1
- # Used to identify the agent on the prompt, logs, home dir, mail, etc..
2
- username: jill
3
-
4
- # How other agents will understand the role of this agent
5
- title: Software Engineer
6
-
7
- # The model to use for console interactions
8
- consoleModel: gpt4turbo
9
-
10
- # The model to use for llmynx, pre-processing websites to fit into a smaller context
11
- webModel: gpt3turbo
12
-
13
- # A system like prompt explaining the agent's role and responsibilities
14
- # You can use config variables in this string
15
- agentPrompt: |
16
- You are ${agent.username} a ${agent.title} with the job of creating website on the latest Winter weather conditions across the USA.
17
- The website should be very simple html, able to be used from a text based browser like lynx. Pages should be relatively short.
18
- The location of the website files should be in ${env.WEBSITE_FOLDER}
19
- The website can be tested with 'llmynx open ${env.WEBSITE_URL}' to see how it looks in a text based browser.
20
- You can use PHP as a way to share layout across pages and reduce duplication.
21
- Careful when creating new files that what you are creating is not already there.
22
-
23
- # The number of seconds to pause after each console interaction for debugging and rate limiting
24
- # No value or zero means wait indefinitely (debug driven)
25
- debugPauseSeconds: 5
26
-
27
- # If true, regardless of the debugPauseSeconds, the agent will not wake up on messages
28
- # With lots of agents this could be costly if they all end up mailing/replying each other in quick succession
29
- wakeOnMessage: false
30
-
31
- # The maximum amount to spend on LLM interactions
32
- # Once reached the agent will stop and this value will need to be increased to continue
33
- spendLimitDollars: 2.00
34
- # Additional custom variables can be defined here and/or in the .env file to be loaded into the agent prompt
@@ -1,22 +0,0 @@
1
- import { describe, expect, it, jest } from "@jest/globals";
2
- jest.unstable_mockModule("../../config.js", () => ({}));
3
- const mockLogServiceWrite = jest
4
- .fn()
5
- .mockResolvedValue(1);
6
- jest.unstable_mockModule("../../utils/logService.js", () => ({
7
- write: mockLogServiceWrite,
8
- }));
9
- const output = await import("../../utils/output.js");
10
- describe("commentAndLog function", () => {
11
- it("should call writeDbLog with the correct arguments", async () => {
12
- // Assuming you've refactored commentAndLog to take logService or its functionality as a parameter
13
- await output.commentAndLog("Test message");
14
- // Verify the mock was called correctly
15
- expect(mockLogServiceWrite).toHaveBeenCalledWith({
16
- content: "Test message",
17
- role: "user",
18
- type: "comment",
19
- });
20
- });
21
- });
22
- //# sourceMappingURL=output.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/output.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG3D,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExD,MAAM,mBAAmB,GAAG,IAAI;KAC7B,EAAE,EAAwD;KAC1D,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAExB,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,mBAAmB;CAC3B,CAAC,CAAC,CAAC;AAEJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,kGAAkG;QAClG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAE3C,uCAAuC;QACvC,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC;YAC/C,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,42 +0,0 @@
1
- import { describe, expect, test } from "@jest/globals";
2
- import { valueFromString } from "../../utils/utilities.js";
3
- describe("valueFromString", () => {
4
- const obj = {
5
- user: {
6
- name: "John Doe",
7
- contact: {
8
- email: "john@example.com",
9
- phone: {
10
- home: "123456",
11
- work: "789101",
12
- },
13
- },
14
- },
15
- };
16
- test("retrieves a nested value successfully", () => {
17
- expect(valueFromString(obj, "user.name")).toBe("John Doe");
18
- expect(valueFromString(obj, "user.contact.email")).toBe("john@example.com");
19
- expect(valueFromString(obj, "user.contact.phone.home")).toBe("123456");
20
- });
21
- test("returns undefined for non-existent path", () => {
22
- expect(valueFromString(obj, "user.address")).toBeUndefined();
23
- });
24
- test("returns default value for non-existent path when specified", () => {
25
- const defaultValue = "N/A";
26
- expect(valueFromString(obj, "user.age", defaultValue)).toBe(defaultValue);
27
- });
28
- test("handles non-object inputs gracefully", () => {
29
- expect(valueFromString(null, "user.name")).toBeUndefined();
30
- expect(valueFromString(undefined, "user.name")).toBeUndefined();
31
- expect(valueFromString("not-an-object", "user.name")).toBeUndefined();
32
- });
33
- test("deals with edge cases for paths", () => {
34
- expect(valueFromString(obj, "")).toEqual(obj);
35
- expect(valueFromString(obj, ".", "default")).toBe("default");
36
- });
37
- test("handles empty object and non-matching paths", () => {
38
- expect(valueFromString({}, "user.name")).toBeUndefined();
39
- expect(valueFromString(obj, "user.nonexistent.prop", "default")).toBe("default");
40
- });
41
- });
42
- //# sourceMappingURL=utilities.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utilities.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/utilities.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,GAAG,GAAG;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF,CAAC;IAEF,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5E,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACtE,MAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3D,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAChE,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CACnE,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"llmail.js","sourceRoot":"","sources":["../../src/apps/llmail.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"llmynx.js","sourceRoot":"","sources":["../../src/apps/llmynx.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandHandler.js","sourceRoot":"","sources":["../../src/command/commandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iEAAQ,CAAA;IACR,qEAAU,CAAA;IACV,+EAAe,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAQD,MAAM,CAAC,IAAI,oBAAoB,GAAG,MAAM,UAAU,CAAC,yBAAyB,EAAE,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,YAAoB;IAEpB,0FAA0F;IAC1F,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,yBAAyB,GAAG,IAAI,CAAC;IACrC,MAAM,cAAc,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;IAEzD,IAAI,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IAEnD,IAAI,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAEpC,OAAO,yBAAyB,IAAI,SAAS,EAAE,CAAC;QAC9C,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,8DAA8D;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAExD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAE/D,sCAAsC;YACtC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,0BAA0B;gBAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5D,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,mDAAmD;iBAC9C,CAAC;gBACJ,MAAM;YACR,CAAC;QACH,CAAC;QACD,sGAAsG;aACjG,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC1C,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,SAAS,CAAC;YAClB,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM;QACR,CAAC;QAED,iGAAiG;QACjG,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YACvC,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACpE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,aAAa,CACxB,oDAAoD,CACrD,CAAC;gBACF,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAExD,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,cAAc,CAAC,MAAM,CACzB,+DAA+D,CAChE,CAAC;gBAEF,0GAA0G;gBAC1G,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEnE,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,oBAAoB,GAAG,OAAO,CAAC;gBAC/B,MAAM,MAAM,CAAC,aAAa,CACxB,wDAAwD,CACzD,CAAC;gBACF,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC;gBACjD,yBAAyB,GAAG,KAAK,CAAC;gBAClC,MAAM;YACR,CAAC;YAED,4DAA4D;YAC5D,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,OAAO,CAAC;gBAExB,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;oBACxC,MAAM,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;oBACjD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,cAAc,CAAC,MAAM,CACzB,sBAAsB,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CACpD,CAAC;oBACF,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAED,MAAM;YACR,CAAC;YAED,6DAA6D;YAC7D,6FAA6F;YAC7F,mFAAmF;YACnF,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO;oBACL,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ;oBAC7C,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7C,aAAa,EAAE,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG;iBACnD,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;gBACpD,MAAM,CAAC,OAAO,CACZ,sBAAsB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CACzF,CAAC;gBACF,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC3D,MAAM,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM;YACR,CAAC;YAED,KAAK,SAAS;gBACZ,cAAc,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM;YAER,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAE9D,IAAI,aAAa,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;oBACzC,MAAM,MAAM,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;oBACrE,yBAAyB,GAAG,KAAK,CAAC;gBACpC,CAAC;gBAED,iBAAiB,GAAG,aAAa,CAAC,SAAS;oBACzC,CAAC,CAAC,iBAAiB,CAAC,eAAe;oBACnC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,WAAW,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB;QAC5C,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;KAC1C,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandLoop.js","sourceRoot":"","sources":["../../src/command/commandLoop.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptBuilder.js","sourceRoot":"","sources":["../../src/command/promptBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shellCommand.js","sourceRoot":"","sources":["../../src/command/shellCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAOlD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa;IAEb,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,QAAQ,GAA+B;QAC3C,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,6FAA6F;IAC7F,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,CAAC,MAAM,CACzB,GAAG,SAAS,CAAC,CAAC,CAAC,sFAAsF,CACtG,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvD,MAAM,cAAc,CAAC,MAAM,CACzB,qFAAqF,CACtF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YACvC,MAAM,cAAc,CAAC,MAAM,CACzB,gEAAgE,CACjE,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAExD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shellWrapper.js","sourceRoot":"","sources":["../../src/command/shellWrapper.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,kCAAkC,CAAC,CAAC,KAAK,EAAE,CAAC;AAE7E,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,mEAAmE;AACnE,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAEjC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,+FAA+F;AAE/F,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAEvC,SAAS,MAAM,CAAC,GAAW,EAAE,QAAkB;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QACvB,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAcD,SAAS,eAAe;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CACpB,CAAC;IAEjB,qCAAqC;IACrC,KAAK,MAAM,GAAG,IAAI;QAChB,UAAU;QACV,OAAO;QACP,cAAc;QACd,UAAU;QACV,aAAa;QACb,mBAAmB;QACnB,uDAAuD;KACxD,EAAE,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/llm/contextManager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"costTracker.js","sourceRoot":"","sources":["../../src/llm/costTracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,MAAM,CAAC,YAAY,eAAe,CAAC,CAAC;AAE5E,MAAM,IAAI,EAAE,CAAC;AAEb,KAAK,UAAU,IAAI;IACjB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE7D,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG;YACnB;;;;;;;QAOE;SACH,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAY,EACZ,MAAc,EACd,SAAiB;IAEjB,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC/B,MAAM,EAAE,CAAC,GAAG,CACV,8FAA8F,EAC9F,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CACzB;;2BAEqB,EACrB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CACxB,CAAC;QAEF,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAI,GAAiC;IAC/D,OAAO,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"llModels.js","sourceRoot":"","sources":["../../src/llm/llModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAYD,MAAM,SAAS,GAAe;IAC5B;QACE,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,UAAU,CAAC,MAAM;QAC1B,SAAS,EAAE,MAAO;QAClB,6BAA6B;QAC7B,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;KACjB;IACD;QACE,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,UAAU,CAAC,MAAM;QAC1B,SAAS,EAAE,KAAM;QACjB,6BAA6B;QAC7B,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,MAAM;KACnB;IACD;QACE,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO;QACpC,OAAO,EAAE,MAAM,CAAC,WAAW;QAC3B,OAAO,EAAE,UAAU,CAAC,MAAM;QAC1B,SAAS,EAAE,IAAK;QAChB,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;KACd;IACD;QACE,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,UAAU,CAAC,MAAM;QAC1B,SAAS,EAAE,IAAK;QAChB,2EAA2E;QAC3E,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,2BAA2B,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"llmDtos.js","sourceRoot":"","sources":["../../src/llm/llmDtos.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,wBAAa,CAAA;IACb,kCAAkC;IAClC,4BAAiB,CAAA;AACnB,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"llmService.js","sourceRoot":"","sources":["../../src/llm/llmService.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"naisys.js","sourceRoot":"","sources":["../src/naisys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAE7C,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;AAExB,MAAM,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAEhD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dbUtils.js","sourceRoot":"","sources":["../../src/utils/dbUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAY,IAAI,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,IAAI,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,WAAW;KACnD,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,IAAI,EAAE,OAAO,CAAC,cAAc;KAC7B,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAE1C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,GAAiC;IAEjC,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputMode.js","sourceRoot":"","sources":["../../src/utils/inputMode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAC,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;AAErC,MAAM,UAAU,MAAM,CAAC,SAAqB;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;SAAM,IAAI,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logService.js","sourceRoot":"","sources":["../../src/utils/logService.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,iCAAkB,CAAA;AACpB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,2BAA2B;AAC3B,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,QAAqB,WAAW,CAAC,OAAO;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,OAAO,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,IAAY;IACjD,MAAM,UAAU,CAAC,KAAK,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,GAAG;QACZ,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/utils/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;6DAC6D;AAC7D,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,qBAAqB;QACrB,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,IAAY,EAAE,YAAqB;IAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC;QACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAE3C,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}