@nomad-e/bluma-cli 0.0.25 → 0.0.27

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 CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Build Status](https://img.shields.io/badge/build-passing-brightgreen?style=flat-square)](https://shields.io/)
6
6
 
7
7
  <p align="center">
8
- <img src="docs\assets\images\bluma.png" alt="Tela inicial BluMa CLI" width="1000"/>
8
+ <img src="docs\assets\bluma.png" alt="Tela inicial BluMa CLI" width="1000"/>
9
9
  </p>
10
10
 
11
11
  BluMa CLI is an independent agent for automation and advanced software engineering. The project is a conversational assistant that interacts via terminal (CLI), built with React/Ink, supporting smart agents (LLM, OpenAI Azure), tool execution, persistent history, session management, and extensibility through external plugins/tools.
package/dist/main.js CHANGED
@@ -2876,7 +2876,64 @@ var AppComponent = ({ eventBus: eventBus2, sessionId: sessionId2 }) => {
2876
2876
  var App = memo4(AppComponent);
2877
2877
  var App_default = App;
2878
2878
 
2879
+ // src/app/ui/utils/terminalTitle.ts
2880
+ import { exec as exec2 } from "child_process";
2881
+ var intervalHandle = null;
2882
+ var lastTitle = null;
2883
+ function setTerminalTitle(title) {
2884
+ try {
2885
+ try {
2886
+ process.title = title;
2887
+ } catch {
2888
+ }
2889
+ if (process.stdout && process.stdout.isTTY) {
2890
+ process.stdout.write(`\x1B]0;${title}\x07`);
2891
+ }
2892
+ if (process.platform === "win32") {
2893
+ try {
2894
+ exec2(`title ${title}`);
2895
+ } catch {
2896
+ }
2897
+ }
2898
+ } catch {
2899
+ }
2900
+ }
2901
+ function startTitleKeeper(title, opts = {}) {
2902
+ const intervalMs = typeof opts.intervalMs === "number" ? opts.intervalMs : 2e3;
2903
+ const strictEnv = process.env.BLUMA_TITLE_STRICT;
2904
+ const strict = typeof opts.strict === "boolean" ? opts.strict : strictEnv ? strictEnv !== "false" : true;
2905
+ setTerminalTitle(title);
2906
+ lastTitle = title;
2907
+ if (intervalHandle) {
2908
+ clearInterval(intervalHandle);
2909
+ }
2910
+ intervalHandle = setInterval(() => {
2911
+ if (strict) {
2912
+ setTerminalTitle(title);
2913
+ lastTitle = title;
2914
+ } else {
2915
+ setTerminalTitle(title);
2916
+ lastTitle = title;
2917
+ }
2918
+ }, intervalMs);
2919
+ const reapply = () => setTerminalTitle(title);
2920
+ process.on("beforeExit", reapply);
2921
+ process.on("exit", reapply);
2922
+ process.on("SIGWINCH", reapply);
2923
+ process.on("uncaughtException", reapply);
2924
+ process.on("unhandledRejection", reapply);
2925
+ return () => stopTitleKeeper();
2926
+ }
2927
+ function stopTitleKeeper() {
2928
+ if (intervalHandle) {
2929
+ clearInterval(intervalHandle);
2930
+ intervalHandle = null;
2931
+ }
2932
+ }
2933
+
2879
2934
  // src/main.ts
2935
+ var BLUMA_TITLE = process.env.BLUMA_TITLE || "BluMa - NomadEngenuity";
2936
+ startTitleKeeper(BLUMA_TITLE);
2880
2937
  var eventBus = new EventEmitter2();
2881
2938
  var sessionId = uuidv42();
2882
2939
  var props = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomad-e/bluma-cli",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "description": "BluMa independent agent for automation and advanced software engineering.",
5
5
  "author": "Alex Fonseca",
6
6
  "license": "MIT",