@nomad-e/bluma-cli 0.0.62 → 0.0.63

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.
@@ -1,200 +1,206 @@
1
1
  {
2
- "nativeTools": [
3
- {
4
- "type": "function",
5
- "function": {
6
- "name": "shell_command",
7
- "description": "Executes a terminal command in a robust and Windows/Linux compatible way.",
8
- "parameters": {
9
- "type": "object",
10
- "properties": {
11
- "command": {
12
- "type": "string",
13
- "description": "Shell command to execute"
14
- },
15
- "timeout": {
16
- "type": "integer",
17
- "description": "Maximum execution time in seconds",
18
- "default": 20
19
- },
20
- "cwd": {
21
- "type": "string",
22
- "description": "Working directory for command execution (must use absolute path)"
23
- },
24
- "verbose": {
25
- "type": "boolean",
26
- "description": "If True, returns detailed report; if False, only main output",
27
- "default": false
28
- }
29
- },
30
- "required": [
31
- "command",
32
- "timeout"
33
- ]
34
- }
2
+ "nativeTools": [
3
+ {
4
+ "type": "function",
5
+ "function": {
6
+ "name": "shell_command",
7
+ "description": "Executes a terminal command in a robust and Windows/Linux compatible way.",
8
+ "parameters": {
9
+ "type": "object",
10
+ "properties": {
11
+ "command": {
12
+ "type": "string",
13
+ "description": "Shell command to execute"
14
+ },
15
+ "timeout": {
16
+ "type": "integer",
17
+ "description": "Maximum execution time in seconds",
18
+ "default": 20
19
+ },
20
+ "cwd": {
21
+ "type": "string",
22
+ "description": "Working directory for command execution (must use absolute path)"
23
+ },
24
+ "verbose": {
25
+ "type": "boolean",
26
+ "description": "If True, returns detailed report; if False, only main output",
27
+ "default": false
35
28
  }
36
- },
37
- {
38
- "type": "function",
39
- "function": {
40
- "name": "edit_tool",
41
- "description": "Safely and precisely replaces text in a file, or creates a new file. The tool is resilient to common formatting issues but performs best with precise input.\n\n**Best Practices for Success:**\n1. **Use a read tool first:** Always read the file to get the exact content before generating the `old_string`.\n2. **Provide Context:** For `old_string`, provide a unique, multi-line segment of the file. Including 3+ lines of context around the target change is highly recommended to ensure precision.\n3. **Create New Files:** To create a new file, provide the full `file_path` and an empty string for `old_string`.",
42
- "parameters": {
43
- "type": "object",
44
- "properties": {
45
- "file_path": {
46
- "type": "string",
47
- "description": "The absolute or relative path to the file. The tool will correctly resolve the path for the current operating system."
48
- },
49
- "old_string": {
50
- "type": "string",
51
- "description": "The exact text to be replaced. To ensure accuracy, this should be a unique, multi-line segment from the file, including all original indentation and whitespace. Do not manually escape newlines (use literal newlines, not '\\n'). For creating a new file, this must be an empty string."
52
- },
53
- "new_string": {
54
- "type": "string",
55
- "description": "The new text that will replace `old_string`. Match the indentation and formatting of the surrounding code to maintain code quality. Do not manually escape newlines."
56
- },
57
- "expected_replacements": {
58
- "type": "integer",
59
- "description": "Optional. The number of occurrences to replace. Defaults to 1. If you expect to replace multiple instances of `old_string`, set this value accordingly.",
60
- "default": 1
61
- }
62
- },
63
- "required": [
64
- "file_path",
65
- "old_string",
66
- "new_string"
67
- ]
68
- }
69
- }
70
29
  },
71
- {
72
- "type": "function",
73
- "function": {
74
- "name": "agent_end_turn",
75
- "description": "Signal to the system that the agent has completed its work Turn.",
76
- "parameters": {
77
- "type": "object",
78
- "properties": {},
79
- "required": []
80
- }
30
+ "required": [
31
+ "command",
32
+ "timeout"
33
+ ]
34
+ }
35
+ }
36
+ },
37
+ {
38
+ "type": "function",
39
+ "function": {
40
+ "name": "edit_tool",
41
+ "description": "Safely and precisely replaces text in a file, or creates a new file. The tool is resilient to common formatting issues but performs best with precise input.\n\n**Best Practices for Success:**\n1. **Use a read tool first:** Always read the file to get the exact content before generating the `old_string`.\n2. **Provide Context:** For `old_string`, provide a unique, multi-line segment of the file. Including 3+ lines of context around the target change is highly recommended to ensure precision.\n3. **Create New Files:** To create a new file, provide the full `file_path` and an empty string for `old_string`.",
42
+ "parameters": {
43
+ "type": "object",
44
+ "properties": {
45
+ "file_path": {
46
+ "type": "string",
47
+ "description": "The absolute or relative path to the file. The tool will correctly resolve the path for the current operating system."
48
+ },
49
+ "old_string": {
50
+ "type": "string",
51
+ "description": "The exact text to be replaced. To ensure accuracy, this should be a unique, multi-line segment from the file, including all original indentation and whitespace. Do not manually escape newlines (use literal newlines, not '\\n'). For creating a new file, this must be an empty string."
52
+ },
53
+ "new_string": {
54
+ "type": "string",
55
+ "description": "The new text that will replace `old_string`. Match the indentation and formatting of the surrounding code to maintain code quality. Do not manually escape newlines."
56
+ },
57
+ "expected_replacements": {
58
+ "type": "integer",
59
+ "description": "Optional. The number of occurrences to replace. Defaults to 1. If you expect to replace multiple instances of `old_string`, set this value accordingly.",
60
+ "default": 1
81
61
  }
82
- },
83
- {
84
- "type": "function",
85
- "function": {
86
- "name": "message_notify_user",
87
- "description": "Send a message to user without requiring a response. Use for acknowledging receipt of messages, providing progress updates, reporting task completion, or explaining changes in approach.",
88
- "parameters": {
89
- "type": "object",
90
- "properties": {
91
- "message": {
92
- "type": "string",
93
- "description": "The body of the message in Markdown format."
94
- }
95
- },
96
- "required": [
97
- "message"
98
- ]
99
- }
62
+ },
63
+ "required": [
64
+ "file_path",
65
+ "old_string",
66
+ "new_string"
67
+ ]
68
+ }
69
+ }
70
+ },
71
+ {
72
+ "type": "function",
73
+ "function": {
74
+ "name": "agent_end_turn",
75
+ "description": "Signal to the system that the agent has completed its work Turn.",
76
+ "parameters": {
77
+ "type": "object",
78
+ "properties": {},
79
+ "required": []
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "type": "function",
85
+ "function": {
86
+ "name": "message_notify_user",
87
+ "description": "Send a message to user without requiring a response. Use for acknowledging receipt of messages, providing progress updates, reporting task completion, or explaining changes in approach.",
88
+ "parameters": {
89
+ "type": "object",
90
+ "properties": {
91
+ "message": {
92
+ "type": "string",
93
+ "description": "The body of the message in Markdown format."
100
94
  }
101
- },
102
- {
103
- "type": "function",
104
- "function": {
105
- "name": "ls_tool",
106
- "description": "Lists files and subdirectories with advanced support for pagination and filtering. Automatically ignores common unnecessary files/directories like '.venv', 'node_modules', etc.",
107
- "parameters": {
108
- "type": "object",
109
- "properties": {
110
- "directory_path": {
111
- "type": "string",
112
- "description": "Path of the directory to list. Defaults to '.' (current directory).",
113
- "default": "."
114
- },
115
- "recursive": {
116
- "type": "boolean",
117
- "description": "If True, lists recursively all subdirectories.",
118
- "default": false
119
- },
120
- "ignore_patterns": {
121
- "type": "array",
122
- "items": {
123
- "type": "string"
124
- },
125
- "description": "Additional patterns to ignore (beyond defaults). E.g., ['test_*', '*.tmp']"
126
- },
127
- "start_index": {
128
- "type": "integer",
129
- "description": "Starting index for pagination (0-based).",
130
- "default": 0
131
- },
132
- "end_index": {
133
- "type": "integer",
134
- "description": "Ending index for pagination (exclusive). If not provided, lists everything from start_index."
135
- },
136
- "show_hidden": {
137
- "type": "boolean",
138
- "description": "If True, shows files/directories starting with '.'.",
139
- "default": false
140
- },
141
- "file_extensions": {
142
- "type": "array",
143
- "items": {
144
- "type": "string"
145
- },
146
- "description": "List of extensions to filter (e.g., ['.ts', '.js', '.md']). If not provided, shows all file types."
147
- },
148
- "max_depth": {
149
- "type": "integer",
150
- "description": "Maximum depth for recursive listing. If not provided, there is no limit."
151
- }
152
- },
153
- "required": []
154
- }
95
+ },
96
+ "required": [
97
+ "message"
98
+ ]
99
+ }
100
+ }
101
+ },
102
+ {
103
+ "type": "function",
104
+ "function": {
105
+ "name": "ls_tool",
106
+ "description": "Lists files and subdirectories with advanced support for pagination and filtering. Automatically ignores common unnecessary files/directories like '.venv', 'node_modules', etc.",
107
+ "parameters": {
108
+ "type": "object",
109
+ "properties": {
110
+ "directory_path": {
111
+ "type": "string",
112
+ "description": "Path of the directory to list. Defaults to '.' (current directory).",
113
+ "default": "."
114
+ },
115
+ "recursive": {
116
+ "type": "boolean",
117
+ "description": "If True, lists recursively all subdirectories.",
118
+ "default": false
119
+ },
120
+ "ignore_patterns": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "string"
124
+ },
125
+ "description": "Additional patterns to ignore (beyond defaults). E.g., ['test_*', '*.tmp']"
126
+ },
127
+ "start_index": {
128
+ "type": "integer",
129
+ "description": "Starting index for pagination (0-based).",
130
+ "default": 0
131
+ },
132
+ "end_index": {
133
+ "type": "integer",
134
+ "description": "Ending index for pagination (exclusive). If not provided, lists everything from start_index."
135
+ },
136
+ "show_hidden": {
137
+ "type": "boolean",
138
+ "description": "If True, shows files/directories starting with '.'.",
139
+ "default": false
140
+ },
141
+ "file_extensions": {
142
+ "type": "array",
143
+ "items": {
144
+ "type": "string"
145
+ },
146
+ "description": "List of extensions to filter (e.g., ['.ts', '.js', '.md']). If not provided, shows all file types."
147
+ },
148
+ "max_depth": {
149
+ "type": "integer",
150
+ "description": "Maximum depth for recursive listing. If not provided, there is no limit."
155
151
  }
156
152
  },
157
- {
158
- "type": "function",
159
- "function": {
160
- "name": "count_file_lines",
161
- "description": "Counts and returns the total number of lines in a text file. Useful for quickly determining file size or checking if a file is empty before reading it.",
162
- "parameters": {
163
- "type": "object",
164
- "properties": {
165
- "filepath": {
166
- "type": "string",
167
- "description": "Path to the file to count lines from. Can be relative or absolute."
168
- }
169
- },
170
- "required": ["filepath"]
171
- }
153
+ "required": []
154
+ }
155
+ }
156
+ },
157
+ {
158
+ "type": "function",
159
+ "function": {
160
+ "name": "count_file_lines",
161
+ "description": "Counts and returns the total number of lines in a text file. Useful for quickly determining file size or checking if a file is empty before reading it.",
162
+ "parameters": {
163
+ "type": "object",
164
+ "properties": {
165
+ "filepath": {
166
+ "type": "string",
167
+ "description": "Path to the file to count lines from. Can be relative or absolute."
172
168
  }
173
169
  },
174
- {
175
- "type": "function",
176
- "function": {
177
- "name": "read_file_lines",
178
- "description": "Reads and returns content between specific line numbers from a text file. Ideal for efficiently reading portions of large files.",
179
- "parameters": {
180
- "type": "object",
181
- "properties": {
182
- "filepath": {
183
- "type": "string",
184
- "description": "Path to the file to read from."
185
- },
186
- "start_line": {
187
- "type": "integer",
188
- "description": "Starting line number (1-based index). Must be >= 1."
189
- },
190
- "end_line": {
191
- "type": "integer",
192
- "description": "Ending line number (1-based index, inclusive). Must be >= start_line."
193
- }
194
- },
195
- "required": ["filepath", "start_line", "end_line"]
196
- }
170
+ "required": [
171
+ "filepath"
172
+ ]
173
+ }
174
+ }
175
+ },
176
+ {
177
+ "type": "function",
178
+ "function": {
179
+ "name": "read_file_lines",
180
+ "description": "Reads and returns content between specific line numbers from a text file. Ideal for efficiently reading portions of large files.",
181
+ "parameters": {
182
+ "type": "object",
183
+ "properties": {
184
+ "filepath": {
185
+ "type": "string",
186
+ "description": "Path to the file to read from."
187
+ },
188
+ "start_line": {
189
+ "type": "integer",
190
+ "description": "Starting line number (1-based index). Must be >= 1."
191
+ },
192
+ "end_line": {
193
+ "type": "integer",
194
+ "description": "Ending line number (1-based index, inclusive). Must be >= start_line."
197
195
  }
198
- }
199
- ]
196
+ },
197
+ "required": [
198
+ "filepath",
199
+ "start_line",
200
+ "end_line"
201
+ ]
202
+ }
203
+ }
204
+ }
205
+ ]
200
206
  }
package/dist/main.js CHANGED
@@ -2021,7 +2021,7 @@ var BluMaAgent = class {
2021
2021
  eventBus;
2022
2022
  mcpClient;
2023
2023
  feedbackSystem;
2024
- maxContextTurns = 10;
2024
+ maxContextTurns = 300;
2025
2025
  isInterrupted = false;
2026
2026
  constructor(sessionId2, eventBus2, llm, deploymentName, mcpClient, feedbackSystem) {
2027
2027
  this.sessionId = sessionId2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomad-e/bluma-cli",
3
- "version": "0.0.62",
3
+ "version": "0.0.63",
4
4
  "description": "BluMa independent agent for automation and advanced software engineering.",
5
5
  "author": "Alex Fonseca",
6
6
  "license": "Apache-2.0",