@nomad-e/bluma-cli 0.6.8 → 0.7.0
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/README.md +0 -1
- package/dist/config/skills/pdf/SKILL.md +7 -0
- package/dist/config/skills/pdf/scripts/create_report.py +18 -2
- package/dist/config/skills/pdf/scripts/merge_pdfs.py +9 -0
- package/dist/config/skills/xlsx/SKILL.md +8 -0
- package/dist/config/skills/xlsx/scripts/recalc.py +9 -0
- package/dist/main.js +1966 -1396
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -78,7 +78,6 @@ Tools are now modularly structured in `src/app/agent/tools/` with separate UI co
|
|
|
78
78
|
- **Coordinator Mode**: Product Owner + Engineering Manager hybrid that delegates to specialist workers
|
|
79
79
|
- **Parallel Execution**: Launch multiple workers concurrently for research, implementation, and verification
|
|
80
80
|
- **Mailbox IPC**: **Bidirectional file-based communication** between coordinator and workers
|
|
81
|
-
- **send_message**: Send follow-ups to running workers without re-spawning
|
|
82
81
|
- **list_mailbox_messages**: Read progress updates, permission requests, and results
|
|
83
82
|
- **poll_mailbox**: Poll for new messages from workers
|
|
84
83
|
- **signal_mailbox**: Send ack/nack/progress/heartbeat signals
|
|
@@ -18,6 +18,13 @@ license: Proprietary. LICENSE.txt has complete terms
|
|
|
18
18
|
> design agency, not a script. Typography, spacing, color, and hierarchy are
|
|
19
19
|
> not optional — they are the foundation of a credible document.
|
|
20
20
|
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- **Python 3.10+** installed and available in PATH
|
|
24
|
+
- Install dependencies: `pip install reportlab pypdf`
|
|
25
|
+
- If any script fails with `command not found` or `ModuleNotFoundError`, Python or its
|
|
26
|
+
packages are missing — install them before proceeding
|
|
27
|
+
|
|
21
28
|
## MANDATORY workflow — new multi-page reports (read first)
|
|
22
29
|
|
|
23
30
|
Ad-hoc 30-line ReportLab scripts are the #1 cause of “cheap PDF” output (no
|
|
@@ -46,8 +46,24 @@ from pathlib import Path
|
|
|
46
46
|
from typing import Any
|
|
47
47
|
from xml.sax.saxutils import escape
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
MIN_PYTHON = (3, 10)
|
|
50
|
+
if sys.version_info < MIN_PYTHON:
|
|
51
|
+
print(
|
|
52
|
+
f"Error: Python {'.'.join(map(str, MIN_PYTHON))}+ is required "
|
|
53
|
+
f"(found {'.'.join(map(str, sys.version_info[:3]))})",
|
|
54
|
+
file=sys.stderr,
|
|
55
|
+
)
|
|
56
|
+
sys.exit(1)
|
|
57
|
+
|
|
58
|
+
try:
|
|
59
|
+
from reportlab.lib.pagesizes import A4
|
|
60
|
+
from reportlab.lib.units import cm
|
|
61
|
+
except ImportError:
|
|
62
|
+
print(
|
|
63
|
+
"Error: reportlab is required. Install with: pip install reportlab",
|
|
64
|
+
file=sys.stderr,
|
|
65
|
+
)
|
|
66
|
+
sys.exit(1)
|
|
51
67
|
from reportlab.lib.colors import HexColor
|
|
52
68
|
from reportlab.lib.styles import ParagraphStyle
|
|
53
69
|
from reportlab.lib.enums import TA_CENTER, TA_JUSTIFY
|
|
@@ -8,6 +8,15 @@ Usage:
|
|
|
8
8
|
import argparse
|
|
9
9
|
import sys
|
|
10
10
|
|
|
11
|
+
MIN_PYTHON = (3, 10)
|
|
12
|
+
if sys.version_info < MIN_PYTHON:
|
|
13
|
+
print(
|
|
14
|
+
f"Error: Python {'.'.join(map(str, MIN_PYTHON))}+ is required "
|
|
15
|
+
f"(found {'.'.join(map(str, sys.version_info[:3]))})",
|
|
16
|
+
file=sys.stderr,
|
|
17
|
+
)
|
|
18
|
+
sys.exit(1)
|
|
19
|
+
|
|
11
20
|
def merge_pdfs(input_files: list[str], output_path: str) -> None:
|
|
12
21
|
try:
|
|
13
22
|
from pypdf import PdfWriter, PdfReader
|
|
@@ -16,6 +16,14 @@ license: Proprietary. LICENSE.txt has complete terms
|
|
|
16
16
|
|
|
17
17
|
# XLSX — Spreadsheet Creation, Editing & Analysis
|
|
18
18
|
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- **Python 3.10+** installed and available in PATH
|
|
22
|
+
- Install dependencies: `pip install openpyxl pandas`
|
|
23
|
+
- **LibreOffice** installed (required by `recalc.py` for formula recalculation)
|
|
24
|
+
- If any script fails with `command not found` or `ModuleNotFoundError`, Python or its
|
|
25
|
+
packages are missing — install them before proceeding
|
|
26
|
+
|
|
19
27
|
## Core Principle
|
|
20
28
|
|
|
21
29
|
> **Formulas, not hardcodes.** Every calculated value MUST be an Excel
|
|
@@ -19,6 +19,15 @@ import os
|
|
|
19
19
|
import sys
|
|
20
20
|
import time
|
|
21
21
|
|
|
22
|
+
MIN_PYTHON = (3, 10)
|
|
23
|
+
if sys.version_info < MIN_PYTHON:
|
|
24
|
+
print(
|
|
25
|
+
f"Error: Python {'.'.join(map(str, MIN_PYTHON))}+ is required "
|
|
26
|
+
f"(found {'.'.join(map(str, sys.version_info[:3]))})",
|
|
27
|
+
file=sys.stderr,
|
|
28
|
+
)
|
|
29
|
+
sys.exit(1)
|
|
30
|
+
|
|
22
31
|
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
23
32
|
sys.path.insert(0, SCRIPT_DIR)
|
|
24
33
|
|