@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.
@@ -150,8 +150,11 @@
150
150
  }
151
151
  },
152
152
  "required": []
153
+
153
154
  }
155
+
154
156
  }
157
+
155
158
  },
156
159
  {
157
160
  "type": "function",
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: "auto",
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 = /* @__PURE__ */ jsx11(Box11, { paddingX: 1, marginBottom: 1, children: /* @__PURE__ */ jsx11(Text10, { color: "blue", children: parsed.content }) });
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.8",
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",