@nomad-e/bluma-cli 0.1.54 → 0.1.55
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/dist/main.js +65 -4
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -9930,6 +9930,51 @@ Since you are in an **isolated sandbox**, ALL tools are auto-approved:
|
|
|
9930
9930
|
- **Artifact delivery** - Save outputs with \\\`create_artifact\\\`, declare in attachments
|
|
9931
9931
|
- **Error transparency** - If something fails, explain why and propose alternatives
|
|
9932
9932
|
|
|
9933
|
+
### \u26A0\uFE0F CRITICAL: message Tool Usage Rules
|
|
9934
|
+
|
|
9935
|
+
The \\\`message\\\` tool has TWO types \u2014 use them CORRECTLY:
|
|
9936
|
+
|
|
9937
|
+
#### \\\`message_type: "info"\\\` \u2014 INFORMATION ONLY
|
|
9938
|
+
- **Purpose**: Report progress, status updates, discoveries, milestones
|
|
9939
|
+
- **Use when**: "Step 1/3 complete", "Found the data", "Processing..."
|
|
9940
|
+
- **NEVER use for**: Asking questions, requesting decisions, seeking clarification
|
|
9941
|
+
- **Does NOT end the turn** \u2014 you continue working
|
|
9942
|
+
|
|
9943
|
+
#### \\\`message_type: "result"\\\` \u2014 FINAL DELIVERY
|
|
9944
|
+
- **Purpose**: Deliver final output, declare attachments, end your turn
|
|
9945
|
+
- **Use when**: Task is complete, artifacts ready for delivery
|
|
9946
|
+
- **Use ONCE per turn** \u2014 only at the very end
|
|
9947
|
+
- **Ends the turn** \u2014 agent waits for next input
|
|
9948
|
+
|
|
9949
|
+
#### \u274C WRONG: Using "info" to ask questions
|
|
9950
|
+
\\\`\\\`\\\`typescript
|
|
9951
|
+
// DON'T DO THIS:
|
|
9952
|
+
message({
|
|
9953
|
+
message_type: "info",
|
|
9954
|
+
content: "Should I generate PDF or Excel?" // \u2190 WRONG! info is NOT for questions
|
|
9955
|
+
})
|
|
9956
|
+
\\\`\\\`\\\`
|
|
9957
|
+
|
|
9958
|
+
#### \u2705 CORRECT: Use mailbox for questions to Severino
|
|
9959
|
+
\\\`\\\`\\\`typescript
|
|
9960
|
+
// DO THIS:
|
|
9961
|
+
sendMailboxMessage({
|
|
9962
|
+
session_id: "chat_abc123",
|
|
9963
|
+
to_agent: "severino",
|
|
9964
|
+
message_type: "question",
|
|
9965
|
+
content: "Should I generate PDF or Excel?"
|
|
9966
|
+
})
|
|
9967
|
+
\\\`\\\`\\\`
|
|
9968
|
+
|
|
9969
|
+
#### \u2705 CORRECT: Use "info" for actual information
|
|
9970
|
+
\\\`\\\`\\\`typescript
|
|
9971
|
+
// DO THIS:
|
|
9972
|
+
message({
|
|
9973
|
+
message_type: "info",
|
|
9974
|
+
content: "Step 1/3: Data extraction complete. Processing..."
|
|
9975
|
+
})
|
|
9976
|
+
\\\`\\\`\\\`
|
|
9977
|
+
|
|
9933
9978
|
### Work Ethic
|
|
9934
9979
|
- **No lazy delegation** - Synthesize information before delegating
|
|
9935
9980
|
- **Verify assumptions** - Check file paths, validate inputs, confirm context
|
|
@@ -10271,6 +10316,13 @@ The user **only** sees chat content you send through the \`message\` tool (\`con
|
|
|
10271
10316
|
- \`message_type: "result"\` \u2014 **ends the turn**: final answer, deliverable, or a **question** that needs a user reply; then the agent waits for the user.
|
|
10272
10317
|
- \`message_type: "info"\` \u2014 **non-terminal**: shown in chat, does **not** end the turn. **Expected behavior:** call \`info\` **multiple times** in a single turn whenever there is something worth saying (even briefly). Under-using \`info\` is a **mistake** in this product.
|
|
10273
10318
|
|
|
10319
|
+
**\u26A0\uFE0F CRITICAL: "info" is for INFORMATION ONLY \u2014 NEVER for asking questions**
|
|
10320
|
+
- \`message_type: "info"\` is **ONLY** for reporting progress, discoveries, failures, milestones
|
|
10321
|
+
- **NEVER** use \`info\` to ask the user a question or request a decision
|
|
10322
|
+
- If you need to ask the user something, use \`ask_user_question\` (local mode) or the mailbox (sandbox mode)
|
|
10323
|
+
- \u274C WRONG: \`message({ message_type: "info", content: "Which format do you prefer?" })\`
|
|
10324
|
+
- \u2705 CORRECT: \`ask_user_question({ questions: [...] })\` or \`sendMailboxMessage({ message_type: "question", ... })\`
|
|
10325
|
+
|
|
10274
10326
|
**When to send \`info\`**
|
|
10275
10327
|
- Before long sequences (many reads, greps, refactors): one short line \u2014 intent and why.
|
|
10276
10328
|
- Right after **discoveries** (culprit file, likely cause, relevant API, pattern in codebase).
|
|
@@ -10280,7 +10332,7 @@ The user **only** sees chat content you send through the \`message\` tool (\`con
|
|
|
10280
10332
|
|
|
10281
10333
|
Reasoning streams (if any) do **not** replace \`info\` for user-visible narrative \u2014 see \`<reasoning_and_message_info>\`.
|
|
10282
10334
|
|
|
10283
|
-
If you need an answer from the user, use \`message\` with \`result
|
|
10335
|
+
If you need an answer from the user, use \`ask_user_question\` (local) or \`message\` with \`result\` (sandbox).
|
|
10284
10336
|
When addressing {username}: normalize handles (hyphens/underscores/dots \u2192 spaces, title case, strip trailing digits if any).
|
|
10285
10337
|
</messages>
|
|
10286
10338
|
|
|
@@ -11008,9 +11060,18 @@ function decideToolExecution(toolName) {
|
|
|
11008
11060
|
reason: "Unknown tool metadata; require confirmation by default."
|
|
11009
11061
|
};
|
|
11010
11062
|
}
|
|
11011
|
-
|
|
11063
|
+
if (policy.isSandbox) {
|
|
11064
|
+
return {
|
|
11065
|
+
toolName,
|
|
11066
|
+
metadata,
|
|
11067
|
+
autoApprove: true,
|
|
11068
|
+
requiresConfirmation: false,
|
|
11069
|
+
reason: "Production sandbox mode: ALL tools auto-approved for maximum efficiency. Isolated Docker container ensures safety."
|
|
11070
|
+
};
|
|
11071
|
+
}
|
|
11072
|
+
let autoApprove = metadata.autoApproveInLocal;
|
|
11012
11073
|
const { permissionMode } = getRuntimeConfig();
|
|
11013
|
-
if (permissionMode === "accept_edits" &&
|
|
11074
|
+
if (permissionMode === "accept_edits" && (toolName === "edit_tool" || toolName === "file_write")) {
|
|
11014
11075
|
autoApprove = true;
|
|
11015
11076
|
}
|
|
11016
11077
|
if (planModeForcesConfirmation(toolName)) {
|
|
@@ -11021,7 +11082,7 @@ function decideToolExecution(toolName) {
|
|
|
11021
11082
|
metadata,
|
|
11022
11083
|
autoApprove,
|
|
11023
11084
|
requiresConfirmation: !autoApprove,
|
|
11024
|
-
reason: autoApprove ?
|
|
11085
|
+
reason: autoApprove ? "Tool marked safe for local autonomous execution." : "Tool requires confirmation outside sandbox mode."
|
|
11025
11086
|
};
|
|
11026
11087
|
}
|
|
11027
11088
|
|