@nomad-e/bluma-cli 0.1.30 → 0.1.32

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.
@@ -40,7 +40,7 @@
40
40
  "type": "function",
41
41
  "function": {
42
42
  "name": "edit_tool",
43
- "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`.",
43
+ "description": "Replaces exact text in a file or creates a new file. Prefer **one** well-scoped edit over many tiny edits.\n\n**Critical avoid line-by-line surgery:**\n- Do **not** change the same file in a dozen sequential calls with one line each; that drifts, breaks whitespace, and often fails.\n- After `read_file_lines`, copy a **single contiguous block** (whole function, whole component, or 5–20 lines with unique context) into `old_string`, then replace with your revised block in `new_string`.\n- If the tool reports no match or ambiguous match, **widen** `old_string` (more surrounding lines) or fix indentation to match the file **exactly** — do not blindly retry a one-line fragment.\n\n**CLI note:** The user may press Ctrl+O to see more lines of a **truncated** read/shell preview in the terminal. That view is UI-only and may still omit lines; always trust `read_file_lines` for exact text and whitespace before calling `edit_tool`.\n\n**Checklist:**\n1. Read the file first; use literal newlines in `old_string`/`new_string` (not the two-character sequence backslash-n).\n2. `expected_replacements` must match how many times `old_string` appears (default 1).\n3. New file: `old_string` empty, `new_string` full content.",
44
44
  "parameters": {
45
45
  "type": "object",
46
46
  "properties": {
@@ -560,7 +560,7 @@
560
560
  "properties": {
561
561
  "skill_name": {
562
562
  "type": "string",
563
- "description": "Name of the skill to load. Examples: 'testing', 'git-conventional', 'docker', 'react'. Check available skills in the system prompt."
563
+ "description": "Exact skill name from the <available_skills> list in the system prompt (e.g. git-commit, git-pr, pdf). Do not invent names use only names listed there."
564
564
  }
565
565
  },
566
566
  "required": [
@@ -573,29 +573,33 @@
573
573
  "type": "function",
574
574
  "function": {
575
575
  "name": "coding_memory",
576
- "description": "Persists and retrieves short notes about the codebase, decisions, and context that should be remembered across turns. Use this to store important insights (APIs, invariants, design decisions) and to search them later.",
576
+ "description": "CRUD for durable coding notes on disk (~/.bluma/coding_memory.json), separate from chat. There is **no** action to wipe all entries: delete only one id at a time with `remove`.",
577
577
  "parameters": {
578
578
  "type": "object",
579
579
  "properties": {
580
580
  "action": {
581
581
  "type": "string",
582
- "description": "Operation to perform: add a new note, list all notes, search by text/tags, or clear all entries.",
583
- "enum": ["add", "list", "search", "clear"]
582
+ "description": "add=new note | list=all entries with ids | search=filter by query | remove=delete one entry by id | update=change note and/or tags for one id",
583
+ "enum": ["add", "list", "search", "remove", "update"]
584
+ },
585
+ "id": {
586
+ "type": "integer",
587
+ "description": "Required for remove and update. Obtain from list, search, or the id shown in the system prompt snapshot."
584
588
  },
585
589
  "note": {
586
590
  "type": "string",
587
- "description": "The note to store when action is 'add'. Should summarize something worth remembering about the code, architecture, or requirements."
591
+ "description": "For add: full note text. For update: new note text (non-empty); omit if only changing tags."
588
592
  },
589
593
  "tags": {
590
594
  "type": "array",
591
595
  "items": {
592
596
  "type": "string"
593
597
  },
594
- "description": "Optional tags to categorize the note (e.g. ['api', 'auth', 'performance'])."
598
+ "description": "For add: optional tags. For update: optional new tag list (replaces tags when provided)."
595
599
  },
596
600
  "query": {
597
601
  "type": "string",
598
- "description": "Search text used when action is 'search'. Matches against note text and tags."
602
+ "description": "Required for search. Matches note text and tags."
599
603
  }
600
604
  },
601
605
  "required": ["action"]