@nomad-e/bluma-cli 0.0.62 → 0.0.64
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.
- package/dist/config/native_tools.json +195 -189
- package/dist/main.js +1 -2
- package/package.json +1 -1
|
@@ -1,200 +1,206 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
"
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
"
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
"
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
-
"
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
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
|
@@ -1709,7 +1709,6 @@ Ensure that each task contributes to a cohesive, functional, and visually appeal
|
|
|
1709
1709
|
- Architecture: {architecture}
|
|
1710
1710
|
- Current Directory: {workdir}
|
|
1711
1711
|
- Shell: {shell_type}
|
|
1712
|
-
- User: {username}
|
|
1713
1712
|
- Current Date: {current_date}
|
|
1714
1713
|
</current_system_environment>
|
|
1715
1714
|
|
|
@@ -2021,7 +2020,7 @@ var BluMaAgent = class {
|
|
|
2021
2020
|
eventBus;
|
|
2022
2021
|
mcpClient;
|
|
2023
2022
|
feedbackSystem;
|
|
2024
|
-
maxContextTurns =
|
|
2023
|
+
maxContextTurns = 300;
|
|
2025
2024
|
isInterrupted = false;
|
|
2026
2025
|
constructor(sessionId2, eventBus2, llm, deploymentName, mcpClient, feedbackSystem) {
|
|
2027
2026
|
this.sessionId = sessionId2;
|