@nomad-e/bluma-cli 0.0.111 → 0.0.113

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.
Files changed (2) hide show
  1. package/dist/main.js +27 -28
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -4317,9 +4317,11 @@ function getUnifiedSystemPrompt(availableSkills) {
4317
4317
 
4318
4318
  You have access to specialized knowledge modules called **skills**. Skills extend your capabilities with domain-specific expertise, workflows, and best practices.
4319
4319
 
4320
- **Available skills:**
4320
+ **Available skills (ONLY these exist):**
4321
4321
  ${skillsList}
4322
4322
 
4323
+ **IMPORTANT:** The list above is EXHAUSTIVE. Do NOT invent or assume skills that are not listed. If no skills are listed, you have NO skills available.
4324
+
4323
4325
  **Skill Lifecycle:**
4324
4326
  - Skills are **ephemeral** - they exist only for the current task
4325
4327
  - After completing a task, skill context is discarded
@@ -4333,30 +4335,25 @@ ${skillsList}
4333
4335
  **BEFORE starting any task, follow this decision process:**
4334
4336
 
4335
4337
  1. **Understand the task** - What is the user trying to accomplish?
4336
- 2. **Identify the domain** - What area of expertise does this task require? (e.g., version control, testing, deployment, documentation)
4337
- 3. **Match against skills** - Read each skill's description above. Does any skill's domain match the task?
4338
- 4. **Load if matched** - If a skill matches, load it FIRST with \`load_skill\` before taking any action
4338
+ 2. **Identify the domain** - What area of expertise does this task require?
4339
+ 3. **Check the list above** - Is there a skill in the "Available skills" list that matches this domain?
4340
+ 4. **Load ONLY if it exists** - If a skill from the list matches, load it with \`load_skill\`
4339
4341
  5. **Follow skill instructions** - Once loaded, the skill provides specific workflows to follow
4340
4342
 
4341
4343
  **Decision examples:**
4342
4344
  \`\`\`
4343
- Task: "Save my changes with a good message"
4344
- \u2192 Domain: Version control, commits
4345
- \u2192 Check skills: Is there a skill for git/commits/version control?
4346
- \u2192 If yes: load_skill({ skill_name: "<matching-skill>" })
4347
-
4348
- Task: "Make sure this code works correctly"
4349
- \u2192 Domain: Testing, validation, quality assurance
4350
- \u2192 Check skills: Is there a skill for testing?
4351
- \u2192 If yes: load_skill({ skill_name: "<matching-skill>" })
4352
-
4353
- Task: "Release this to users"
4354
- \u2192 Domain: Publishing, deployment, release
4355
- \u2192 Check skills: Is there a skill for publishing/releasing?
4356
- \u2192 If yes: load_skill({ skill_name: "<matching-skill>" })
4345
+ Task: "Do X"
4346
+ \u2192 Identify domain of X
4347
+ \u2192 Check "Available skills" list above
4348
+ \u2192 If skill exists in list: load_skill({ skill_name: "<exact-name-from-list>" })
4349
+ \u2192 If NO skill matches: proceed without skill
4357
4350
  \`\`\`
4358
4351
 
4359
- **Key principle:** Match the TASK DOMAIN to the SKILL DESCRIPTION, not specific words.
4352
+ **CRITICAL:**
4353
+ - ONLY load skills that appear in the "Available skills" list above
4354
+ - NEVER invent skill names
4355
+ - If asked "what skills do you have?", list ONLY what is in "Available skills" above
4356
+ - If the list is empty or says "none", answer that no skills are currently available
4360
4357
 
4361
4358
  ---
4362
4359
 
@@ -4974,7 +4971,7 @@ var LLMService = class {
4974
4971
  constructor(config2) {
4975
4972
  this.client = new OpenAI({
4976
4973
  apiKey: config2.apiKey,
4977
- baseURL: config2.baseUrl || "http://109.51.171.144/mistrall/v1"
4974
+ baseURL: config2.baseUrl || ""
4978
4975
  });
4979
4976
  this.defaultModel = config2.model || "";
4980
4977
  }
@@ -5478,35 +5475,37 @@ var Agent = class {
5478
5475
  const apiKey = process.env.NOMAD_API_KEY;
5479
5476
  const baseUrl = process.env.NOMAD_BASE_URL;
5480
5477
  this.model = process.env.MODEL_NOMAD || "";
5481
- if (!apiKey) {
5478
+ const requiredEnvVars = ["NOMAD_API_KEY", "NOMAD_BASE_URL"];
5479
+ const missingEnvVars = requiredEnvVars.filter((v) => !process.env[v]);
5480
+ if (missingEnvVars.length > 0) {
5482
5481
  const platform = process.platform;
5483
5482
  let guidance = "";
5484
5483
  if (platform === "win32") {
5485
5484
  guidance = [
5486
5485
  "Windows (PowerShell):",
5487
- ' $env:NOMAD_API_KEY="<your-key>"',
5486
+ ...missingEnvVars.map((v) => ` $env:${v}="<your-value>"`),
5488
5487
  " # Para persistir:",
5489
- ' [System.Environment]::SetEnvironmentVariable("NOMAD_API_KEY", "<your-key>", "User")'
5488
+ ...missingEnvVars.map((v) => ` [System.Environment]::SetEnvironmentVariable("${v}", "<your-value>", "User")`)
5490
5489
  ].join("\n");
5491
5490
  } else if (platform === "darwin" || platform === "linux") {
5492
5491
  guidance = [
5493
5492
  "macOS/Linux (bash/zsh):",
5494
- ` echo 'export NOMAD_API_KEY="<your-key>"' >> ~/.bashrc`,
5493
+ ...missingEnvVars.map((v) => ` echo 'export ${v}="<your-value>"' >> ~/.bashrc`),
5495
5494
  " source ~/.bashrc"
5496
5495
  ].join("\n");
5497
5496
  } else {
5498
- guidance = ' export NOMAD_API_KEY="<your-key>"';
5497
+ guidance = missingEnvVars.map((v) => ` export ${v}="<your-value>"`).join("\n");
5499
5498
  }
5500
5499
  const message2 = [
5501
- "Missing required environment variable: NOMAD_API_KEY.",
5502
- `Configure it globally using the commands below, or set it in: ${globalEnvPath}`,
5500
+ `Missing required environment variables: ${missingEnvVars.join(", ")}.`,
5501
+ `Configure them globally using the commands below, or set them in: ${globalEnvPath}`,
5503
5502
  "",
5504
5503
  guidance
5505
5504
  ].join("\n");
5506
5505
  this.eventBus.emit("backend_message", {
5507
5506
  type: "error",
5508
5507
  code: "missing_env",
5509
- missing: ["NOMAD_API_KEY", "MODEL_NOMAD"],
5508
+ missing: missingEnvVars,
5510
5509
  path: globalEnvPath,
5511
5510
  message: message2
5512
5511
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomad-e/bluma-cli",
3
- "version": "0.0.111",
3
+ "version": "0.0.113",
4
4
  "description": "BluMa independent agent for automation and advanced software engineering.",
5
5
  "author": "Alex Fonseca",
6
6
  "license": "Apache-2.0",