@nomad-e/bluma-cli 0.0.57 → 0.0.59

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.
@@ -28,7 +28,8 @@
28
28
  }
29
29
  },
30
30
  "required": [
31
- "command"
31
+ "command",
32
+ "timeout"
32
33
  ]
33
34
  }
34
35
  }
@@ -71,7 +72,7 @@
71
72
  "type": "function",
72
73
  "function": {
73
74
  "name": "agent_end_task",
74
- "description": "Formally ends the current task, logs it, and informs the user that no further actions are required from the agent in this instance.",
75
+ "description": "Signal to the system that the agent has completed its work.",
75
76
  "parameters": {
76
77
  "type": "object",
77
78
  "properties": {},
package/dist/main.js CHANGED
@@ -1777,24 +1777,74 @@ CRITICAL: Your laptop (**reasoning_nootebook**) is your ORGANIZED MIND
1777
1777
  ---
1778
1778
 
1779
1779
  <agent_rules>
1780
- 1. **NO EXCEPTIONS:** The agent MAY NOT start, continue, or complete any task without first opening and using the **reasoning_notebook** as described.
1781
- 2. **DO NOT SKIP:** If the agent encounters a complex, multi-phase, or code-intensive task, they MUST divide the work using the notebook.
1782
- 3. **DO NOT INCLUDE LISTS IN THOUGHTS:** Checklists, steps, or plans are prohibited in the free-thinking text; these must be organized within the notebook.
1783
- 4. **CONSTANT UPDATE:** The agent must keep the notebook always up to date, reflecting the actual status of the task and decisions.
1784
- 5. **COMMUNICATION:** Any explanation or justification provided to the user must be based on and aligned with the notebook input.
1780
+ 1. NO EXCEPTIONS: The agent MUST NOT start any task without first sending the initial message, then opening and using the reasoning_notebook exactly as specified in its documentation.
1781
+ 2. NO JUMPING: When encountering a complex, multi-phase, or code-intensive task, the agent MUST break down the work using the reasoning_notebook.
1782
+ 3. DO NOT INCLUDE LISTS IN THOUGHTS: Checklists, steps, or plans are forbidden in free-form thinking text; these must be placed within the reasoning_notebook.
1783
+ 4. CONSTANT UPDATE: The agent MUST keep the reasoning_notebook updated at all times, reflecting the current state of the task and decisions.
1784
+ 5. COMMUNICATION: Any explanation or justification provided to the user MUST be based on and consistent with the content of the \`reasoning_notebook\`.
1785
1785
  </agent_rules>
1786
1786
 
1787
1787
  ---
1788
1788
 
1789
+ <edit_rules>
1790
+ 1. INITIAL ANALYSIS:
1791
+ 1.1. Read the target file completely to understand its structure, logic, and dependencies.
1792
+ 1.2. Identify related files, modules, or components that might be impacted.
1793
+ 1.3. If applicable, read related files before making any decision.
1794
+
1795
+ 2. CHANGE LOCATION:
1796
+ 2.1. Identify the exact location in the file where the change will be made.
1797
+ 2.2. Confirm that the selected location is the most appropriate and does not break existing logic.
1798
+
1799
+ 3. IMPACT ASSESSMENT:
1800
+ 3.1. Determine if the change will impact other components, modules, or files.
1801
+ 3.2. If impacts exist, list all affected files explicitly.
1802
+ 3.3. For each impacted file, plan any required adjustments.
1803
+
1804
+ 4. IMPORT MANAGEMENT:
1805
+ 4.1. Before applying the change, verify if new imports are required or if existing imports must be updated.
1806
+ 4.2. Remove unused imports.
1807
+ 4.3. Never add duplicate imports.
1808
+
1809
+ 5. CODE DUPLICATION:
1810
+ 5.1. Never copy-paste existing code blocks without modification.
1811
+ 5.2. Always replace or extend existing logic where possible.
1812
+ 5.3. Add new lines or blocks only when logically necessary.
1813
+
1814
+ 6. PACKAGE DEPENDENCIES:
1815
+ 6.1. If the new functionality requires additional packages, identify them precisely.
1816
+ 6.2. Install the required packages using the correct package manager before finalizing the change.
1817
+ 6.3. Verify that package versions are compatible with the project.
1818
+
1819
+ 7. EXECUTION PLAN:
1820
+ 7.1. Write a short step-by-step plan before making any changes.
1821
+ 7.2. Execute the plan in a controlled sequence, making small, verifiable edits.
1822
+
1823
+ 8. VALIDATION:
1824
+ 8.1. After each change, validate the syntax of the modified files.
1825
+ 8.2. Run existing automated tests, if available, to ensure no regressions were introduced.
1826
+ 8.3. If tests fail, analyze the cause, fix it, and retest before proceeding.
1827
+
1828
+ 9. FINAL REVIEW:
1829
+ 9.1. Re-read all modified files to confirm the intended changes were applied correctly.
1830
+ 9.2. Ensure the logic is consistent, imports are clean, and no unused code exists.
1831
+ 9.3. Confirm that the change aligns with the original objective.
1832
+ </edit_rules>
1833
+
1834
+ ---
1789
1835
 
1790
1836
  <agent_end_task_rules>
1791
- This tool is mandatory but **MUST ONLY** be used once **all** planned and pending tasks in the \`task_checklist\` checklist are fully completed.
1792
- - Never call this tool after completing only part of a multi-step or multi-subtask request.
1793
- - It is strictly forbidden to call \`agent_end_task\` if there are still unchecked items in \`task_checklist\`.
1794
- - Before calling, verify that **task_checklist is empty** or **contains only completed (\u{1F5F9})** entries.
1795
- You must use it to inform developer {username} that the task has been completed and that there are no further pending actions, in accordance with the objectives defined for the task.
1837
+ This tool is mandatory, but MUST only be called when all tasks in \`task_checklist\` are fully completed.
1838
+
1839
+ Rules:
1840
+ 1. Never call this tool before all tasks are completed.
1841
+ 2. It is strictly forbidden to call \`agent_end_task\` if there are any pending tasks in \`task_checklist\`.
1842
+ 3. Before calling, always send a final message summarizing the completed work.
1843
+ 4. Verify that every task in the \`task_checklist\` array has a "completed" status before calling.
1796
1844
  </agent_end_task_rules>
1797
1845
 
1846
+
1847
+
1798
1848
  ---
1799
1849
 
1800
1850
  ### SCOPE & LIMITATIONS
@@ -1846,20 +1896,54 @@ function getUnifiedSystemPrompt() {
1846
1896
  ---
1847
1897
 
1848
1898
  ${isGitRepo ? `
1849
- ### GIT USAGE GUIDELINES
1850
- - The current working (project) directory is being managed by a git repository.
1851
- - When asked to commit changes or prepare a commit, always start by gathering information using shell commands:
1852
- - \`git status\` to ensure that all relevant files are tracked and staged, using \`git add ...\` as needed.
1853
- - \`git diff HEAD\` to review all changes (including unstaged changes) to tracked files in work tree since last commit.
1854
- - \`git diff --staged\` to review only staged changes when a partial commit makes sense or was requested by the user.
1855
- - \`git log -n 3\` to review recent commit messages and match their style (verbosity, formatting, signature line, etc.)
1856
- - Combine shell commands whenever possible to save time/steps, e.g. \`git status && git diff HEAD && git log -n 3\`.
1857
- - Always propose a draft commit message. Never just ask the user to give you the full commit message.
1858
- - Prefer commit messages that are clear, concise, and focused more on "why" and less on "what".
1859
- - Keep the user informed and ask for clarification or confirmation where needed.
1860
- - After each commit, confirm that it was successful by running \`git status\`.
1861
- - If a commit fails, never attempt to work around the issues without being asked to do so.
1862
- - Never push changes to a remote repository without being asked explicitly by the user.
1899
+ ## GIT USAGE GUIDELINES \u2014 AUTONOMOUS AGENT MODE
1900
+
1901
+ ### PERMISSIONS
1902
+ - The agent **is authorized** to execute \`git\` commands directly in the local repository.
1903
+ - The agent **may** add (\`git add\`), stage, and commit (\`git commit\`) changes without prior confirmation, **as long as** it strictly follows the rules below.
1904
+ - The agent **must not** execute \`git push\` or any command that sends changes to a remote repository without explicit user instruction.
1905
+
1906
+ ---
1907
+
1908
+ ### MANDATORY PROCEDURE
1909
+
1910
+ 1. **Before any commit**: execute
1911
+ \`\`\`bash
1912
+ git status && git diff HEAD && git log -n 3
1913
+ \`\`\`
1914
+ - If there are modified, untracked, or unstaged files, execute:
1915
+ \`\`\`bash
1916
+ git add <files>
1917
+ \`\`\`
1918
+ to include them, unless the user specifies which files to include.
1919
+
1920
+ 2. **Partial commits**:
1921
+ - Only perform a partial commit if the user explicitly specifies certain files or changes.
1922
+ - In that case, execute:
1923
+ \`\`\`bash
1924
+ git diff --staged
1925
+ \`\`\`
1926
+ to review before confirming.
1927
+
1928
+ 3. **Commit message**:
1929
+ - Automatically generate a commit message that follows the style and formatting of the last 3 commits (\`git log -n 3\`).
1930
+ - Messages should be clear, concise, and focus on **why** the change was made, not just **what** was changed.
1931
+ - Never ask the user to provide the full commit message \u2014 the agent must propose an initial version.
1932
+
1933
+ 4. **After the commit**:
1934
+ - Execute:
1935
+ \`\`\`bash
1936
+ git status
1937
+ \`\`\`
1938
+ to confirm success.
1939
+ - If the commit fails, **do not attempt to fix the issue independently** \u2014 wait for user instructions.
1940
+
1941
+ ---
1942
+
1943
+ ### RESTRICTIONS
1944
+ - Never execute \`git push\` without explicit authorization.
1945
+ - Never alter history (\`git rebase\`, \`git reset\`, \`git commit --amend\`, etc.) without explicit authorization.
1946
+
1863
1947
  ` : ""}
1864
1948
 
1865
1949
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomad-e/bluma-cli",
3
- "version": "0.0.57",
3
+ "version": "0.0.59",
4
4
  "description": "BluMa independent agent for automation and advanced software engineering.",
5
5
  "author": "Alex Fonseca",
6
6
  "license": "Apache-2.0",