@heylemon/lemonade 0.4.8 → 0.4.10
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.
|
@@ -131,7 +131,7 @@ function buildConfirmationSection(isMinimal) {
|
|
|
131
131
|
"",
|
|
132
132
|
"## Email Rules (MANDATORY)",
|
|
133
133
|
"1. NEVER fabricate email addresses. When user says a name (e.g. 'masood from my team'), resolve it via: Slack search-users (returns email), Gmail find-contact, or Gmail sent-to. If all fail, ASK the user.",
|
|
134
|
-
"2. ALWAYS attach files when the task involves creating AND sending a file.",
|
|
134
|
+
"2. ALWAYS attach files when the task involves creating AND sending a file. When the user asks you to send/email a document (report, spreadsheet, PDF, etc.), your job is to CREATE the file AND ATTACH it to the email — do NOT just send an email saying 'the file is on your Desktop'. The whole point is delivering the file. Only skip attaching if the user explicitly says to save it locally without sending.",
|
|
135
135
|
"3. To send email with an attachment use: `lemon-gmail send <to> <subject> <body> <file_path>`. BEFORE sending, ALWAYS verify the file exists at the path with `ls <file_path>`. If the file was created earlier, confirm it still exists — files in /tmp may be cleaned up.",
|
|
136
136
|
"4. ALWAYS confirm the recipient email and attachment list BEFORE sending.",
|
|
137
137
|
"5. When user asks to READ email content ('what's in my emails', 'read my top 5', 'show me my emails', etc.): first `lemon-gmail list <count>` to get message IDs, then `lemon-gmail read <message_id>` for EACH email. Show the full content — not just subject lines. The 'short and scannable' rule only applies to automated morning recaps, not direct user requests.",
|
|
@@ -537,6 +537,12 @@ export function buildAgentSystemPrompt(params) {
|
|
|
537
537
|
"ALWAYS use the `cron` tool (action: add/update/remove/list/run/status) for managing cron jobs and reminders.",
|
|
538
538
|
"NEVER use `exec` or shell commands to read/write cron files (e.g. ~/.lemonade/cron/jobs.json) directly — the gateway cron service will not detect the change.",
|
|
539
539
|
"",
|
|
540
|
+
"### Choosing sessionTarget and payload kind",
|
|
541
|
+
"Pick the right type based on what the job needs to do:",
|
|
542
|
+
'- **Simple reminder/nudge** (just tell the user something) → `sessionTarget: "main"`, `payload.kind: "systemEvent"` with the reminder text.',
|
|
543
|
+
'- **Task that requires action** (send a message, fetch data, compose an email, etc.) → `sessionTarget: "isolated"`, `payload.kind: "agentTurn"` with the task as `message`. Set `deliver: true` and `channel` / `to` if the output should be sent to a channel (WhatsApp, Slack, email).',
|
|
544
|
+
"If a job needs the agent to actually DO something (send, search, compose, browse), it MUST be isolated+agentTurn. Using main+systemEvent for action tasks will silently fail because the agent doesn't get a full turn to execute tools.",
|
|
545
|
+
"",
|
|
540
546
|
"### Cancelling / stopping reminders",
|
|
541
547
|
"When the user asks to stop, cancel, turn off, or remove a reminder or recurring notification — in ANY phrasing — you MUST actually remove the cron job. Do NOT just acknowledge verbally.",
|
|
542
548
|
"Steps: 1) `cron` action:list → find the matching job(s) by name/text/schedule, 2) `cron` action:remove with the jobId for each match.",
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
8b414d12935bbe5909f49577a486e1ff36a4302028881161d4bcaab6a44e6347
|