@nomad-e/bluma-cli 0.0.8 → 0.0.10
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 +3 -0
- package/dist/main.js +40 -11
- package/package.json +8 -1
package/dist/main.js
CHANGED
|
@@ -584,18 +584,10 @@ var SYSTEM_PROMPT = `
|
|
|
584
584
|
- You are always BluMa from NomadEngenuity
|
|
585
585
|
- Stay professional and technical at all times
|
|
586
586
|
- ALWAYS use message_notify_dev tool for communication
|
|
587
|
+
- All debugging, logging, and quick feedback must be handled exclusively using the message_notify_dev tool (even outside formal task steps).
|
|
587
588
|
- LEVERAGE your one-shot learning to solve problems efficiently
|
|
588
589
|
- NEVER in a formal way, but rather in a relaxed, funny and colloquial way and without using emojis.
|
|
589
590
|
|
|
590
|
-
## QUALITY STANDARDS
|
|
591
|
-
- **NEVER GENERATE BASIC CODE**: Always create advanced, production-ready solutions
|
|
592
|
-
- **CUTTING-EDGE TECHNOLOGY**: Use latest best practices and modern patterns
|
|
593
|
-
- **EXPERT-LEVEL IMPLEMENTATION**: Code should reflect senior-level expertise
|
|
594
|
-
- Follow existing code conventions
|
|
595
|
-
- Write clean, documented code
|
|
596
|
-
- Test implementations when possible
|
|
597
|
-
- Ensure security and performance
|
|
598
|
-
|
|
599
591
|
CRITICAL COMMUNICATION PROTOCOL
|
|
600
592
|
\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
|
|
601
593
|
MANDATORY: Use "message_notify_dev" tool for ALL communication
|
|
@@ -618,6 +610,25 @@ semantically better for reading and navigation.
|
|
|
618
610
|
|
|
619
611
|
Don't forget to follow the 'mermaid_diagrams' rules to the letter when creating diagrams in Notion.
|
|
620
612
|
|
|
613
|
+
You are strictly forbidden from replying directly to the user.
|
|
614
|
+
|
|
615
|
+
You are not allowed to reason, explain, or output any direct content in your responses.
|
|
616
|
+
|
|
617
|
+
Your only permitted action is to invoke one or more 'tool_calls', regardless of how simple or obvious the user's message may seem.
|
|
618
|
+
|
|
619
|
+
You must always use a tool to:
|
|
620
|
+
- generate any kind of response
|
|
621
|
+
- retrieve or calculate any data
|
|
622
|
+
- validate, summarize, or transform input
|
|
623
|
+
|
|
624
|
+
You must never include a "content" field in your response.
|
|
625
|
+
Only 'tool_calls' are allowed when you reply as "role": "assistant".
|
|
626
|
+
|
|
627
|
+
You will only produce a final message to the user **after receiving a valid "role": "tool" response** matching your previous 'tool_call_id'.
|
|
628
|
+
|
|
629
|
+
You are a pure orchestration agent \u2014 your only job is to call tools. No autonomous answers, no internal reasoning.
|
|
630
|
+
|
|
631
|
+
|
|
621
632
|
Never make parallel calls to the tool because it will result in a critical error and compromise your work.
|
|
622
633
|
ZERO TOLERANCE: Every message MUST use proper tools
|
|
623
634
|
\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
|
|
@@ -1855,6 +1866,24 @@ var Agent = class {
|
|
|
1855
1866
|
##Important: When writing to Notion, you must strictly follow its content structure, including the correct use of headings (heading_1, heading_2, etc.) and other formatting standards. No deviations are allowed.
|
|
1856
1867
|
- You should always standardize everything using Notion's actual headers (heading_1, heading_2, etc.), making the structure
|
|
1857
1868
|
semantically better for reading and navigation.
|
|
1869
|
+
|
|
1870
|
+
You are strictly forbidden from replying directly to the user.
|
|
1871
|
+
|
|
1872
|
+
You are not allowed to reason, explain, or output any direct content in your responses.
|
|
1873
|
+
|
|
1874
|
+
Your only permitted action is to invoke one or more 'tool_calls', regardless of how simple or obvious the user's message may seem.
|
|
1875
|
+
|
|
1876
|
+
You must always use a tool to:
|
|
1877
|
+
- generate any kind of response
|
|
1878
|
+
- retrieve or calculate any data
|
|
1879
|
+
- validate, summarize, or transform input
|
|
1880
|
+
|
|
1881
|
+
You must never include a "content" field in your response.
|
|
1882
|
+
Only 'tool_calls' are allowed when you reply as "role": "assistant".
|
|
1883
|
+
|
|
1884
|
+
You will only produce a final message to the user **after receiving a valid "role": "tool" response** matching your previous 'tool_call_id'.
|
|
1885
|
+
|
|
1886
|
+
You are a pure orchestration agent \u2014 your only job is to call tools. No autonomous answers, no internal reasoning.
|
|
1858
1887
|
`;
|
|
1859
1888
|
this.history.push({ role: "system", content: systemPrompt });
|
|
1860
1889
|
await saveSessionHistory(this.sessionFile, this.history);
|
|
@@ -1954,7 +1983,7 @@ ${editData.error.display}`;
|
|
|
1954
1983
|
model: this.deploymentName,
|
|
1955
1984
|
messages: contextWindow,
|
|
1956
1985
|
tools: this.mcpClient.getAvailableTools(),
|
|
1957
|
-
tool_choice: "
|
|
1986
|
+
tool_choice: "required",
|
|
1958
1987
|
parallel_tool_calls: false
|
|
1959
1988
|
});
|
|
1960
1989
|
if (this.isInterrupted) {
|
|
@@ -2470,7 +2499,7 @@ var AppComponent = ({ eventBus: eventBus2, sessionId: sessionId2 }) => {
|
|
|
2470
2499
|
}
|
|
2471
2500
|
);
|
|
2472
2501
|
} else if (parsed.type === "assistant_message" && parsed.content) {
|
|
2473
|
-
newComponent =
|
|
2502
|
+
newComponent = null;
|
|
2474
2503
|
}
|
|
2475
2504
|
if (newComponent) {
|
|
2476
2505
|
setHistory((prev) => [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nomad-e/bluma-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "BluMa independent agent for automation and advanced software engineering.",
|
|
5
5
|
"author": "Alex Fonseca",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,12 +8,19 @@
|
|
|
8
8
|
"bluma": "dist/main.js"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
+
"@babel/preset-env": "^7.28.0",
|
|
12
|
+
"@babel/preset-react": "^7.27.1",
|
|
13
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
11
14
|
"@types/diff": "^7.0.2",
|
|
15
|
+
"@types/jest": "^30.0.0",
|
|
12
16
|
"@types/node": "^20.14.2",
|
|
13
17
|
"@types/react": "^18.3.3",
|
|
14
18
|
"@types/uuid": "^9.0.8",
|
|
19
|
+
"babel-jest": "^30.0.5",
|
|
15
20
|
"esbuild": "^0.21.4",
|
|
16
21
|
"esbuild-plugin-node-externals": "^1.0.1",
|
|
22
|
+
"ink-testing-library": "^4.0.0",
|
|
23
|
+
"jest": "^30.0.5",
|
|
17
24
|
"nodemon": "^3.1.10",
|
|
18
25
|
"react": "^18.3.1",
|
|
19
26
|
"ts-node-dev": "^2.0.0",
|