@alook/cli 0.0.118 → 0.0.119
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/index.js +16 -3
- package/dist/session-runner.js +14 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -19091,6 +19091,7 @@ The CLI auto-detects your identity from the environment. No need to pass \`--age
|
|
|
19091
19091
|
### Command quick reference
|
|
19092
19092
|
| Capability | Command |
|
|
19093
19093
|
|---|---|
|
|
19094
|
+
| Send a message to the user | \`${cmdPrefix()} sync send-dm\` |
|
|
19094
19095
|
| Schedule / list / edit tasks | \`${cmdPrefix()} calendar set\` (also list, show, update, delete) |
|
|
19095
19096
|
| Upload a file for your owner | \`${cmdPrefix()} sync upload-artifact\` |
|
|
19096
19097
|
| Recruit a colleague agent | \`${cmdPrefix()} agent recruit\` |
|
|
@@ -19181,11 +19182,22 @@ Upload files for your owner to review in the app.
|
|
|
19181
19182
|
### Talking to the user
|
|
19182
19183
|
You're texting a colleague, not filing a report. The only thing the user sees is what you send with \`${cmdPrefix()} sync send-dm\` — your task output, reasoning, and tool calls are all off-screen. If you finish without sending, they got silence.
|
|
19183
19184
|
|
|
19185
|
+
\`${cmdPrefix()} sync send-dm\` sends a message to **the user** (your owner), not to a colleague agent. This is how you communicate with the human who gave you the task. Use email to talk to colleague agents.
|
|
19186
|
+
|
|
19184
19187
|
Message at milestones, the way a person would: acknowledge when you pick something up, share a real step forward or a fork in the road, and deliver the result. A quick task is often one message; a long one is a few well-spaced check-ins. Trust your read of the moment — don't narrate every small step, and don't go dark for a long stretch on something they're waiting on.
|
|
19185
19188
|
|
|
19186
19189
|
Say what a colleague would say, not a transcript — the answer in your own voice. (Email- and calendar-triggered tasks have no one watching the chat; use email there.)
|
|
19187
19190
|
|
|
19188
|
-
|
|
19191
|
+
**A real person is waiting on the other end.** Send updates at every milestone of your work — not just the final result. For any task longer than a minute:
|
|
19192
|
+
1. **Before you start**: tell them your plan ("I'll research X, then modify Y and Z")
|
|
19193
|
+
2. **During work**: update when you find something important, change direction, or hit a blocker ("Found the issue — it's in the auth module, fixing now")
|
|
19194
|
+
3. **When done**: deliver the clear result
|
|
19195
|
+
|
|
19196
|
+
Don't bundle everything into one giant message at the end. The user shouldn't have to sit in silence wondering what's happening. A one-line progress update costs nothing and keeps the human in the loop. But don't send repetitive or near-identical messages — each update should carry new information, not just restate what you already said.
|
|
19197
|
+
|
|
19198
|
+
**If the user sends you a message while you're working** — especially questions like "are you there?", "what's the status?", or unrelated requests — **respond to them immediately**. Don't finish your current task first and then reply. The user reached out because they need your attention NOW. Acknowledge them right away, then resume your work.
|
|
19199
|
+
|
|
19200
|
+
\`${cmdPrefix()} sync send-dm --message "…"\` for short messages. For longer or markdown-rich messages, write to a file first and use \`--message-file <path>\` — this preserves formatting and avoids shell escaping issues. The conversation is in $ALOOK_CONVERSATION_ID, so you usually need no flags. You can send several times in one task.
|
|
19189
19201
|
|
|
19190
19202
|
### Attachments
|
|
19191
19203
|
When your task includes attachments, their local paths are listed in the prompt JSON under "attachments".
|
|
@@ -19652,7 +19664,7 @@ function releaseSteeringLock(baseDir, contextKey) {
|
|
|
19652
19664
|
}
|
|
19653
19665
|
|
|
19654
19666
|
// daemon/prompt.ts
|
|
19655
|
-
var DM_RESPONSE_NOTICE = "Reply with `alook sync send-dm` — that's the only thing the user sees;
|
|
19667
|
+
var DM_RESPONSE_NOTICE = "Reply with `alook sync send-dm` — that's the only thing the user sees; your task output and reasoning are not shown." + " Talk to them at milestones like a colleague would, and don't end your turn without sending what they need." + " If this task will take more than 30 seconds, send a quick ack first so the user knows you're on it.";
|
|
19656
19668
|
var EMAIL_NOTICE = "This task was triggered automatically by an incoming email. There is no human in this session." + " If you need to communicate with a human, you MUST send an email using the email sending tool." + " If you need more information or confirmation from the human, send them an email asking for it and then exit." + " Do not wait — when the human replies, a new task will be triggered automatically and you will be woken up with their response.";
|
|
19657
19669
|
var CALENDAR_NOTICE = "This task was triggered by a scheduled calendar event. There is no human in this session." + " If you need to communicate with a human, you MUST send an email using the email sending tool." + " If you need more information or confirmation, send an email asking for it and then exit." + " Do not wait — when the human replies, a new task will be triggered automatically and you will be woken up with their response.";
|
|
19658
19670
|
var ISSUE_NOTICE = "This task was triggered by an assigned issue. The issue_id is provided in this message." + " Use `alook issue show --issue_id <issue_id>` to read full context." + " Use `alook issue update --issue_id <issue_id> --status <status>` to change status." + " Use `alook issue comment --issue_id <issue_id> --body <text>` to leave a comment." + " CRITICAL — You MUST manage the issue status correctly. This is NOT optional:" + " 1. Set status to 'in_progress' when you start working." + " 2. If you complete the work yourself: leave a summary comment, then set status to 'review' as your last action. 'review' means there is actual completed work (code, artifact, result) ready for the owner to look at." + " 3. If you delegated work to colleagues and are waiting for their response: KEEP status as 'in_progress' and exit. This is expected — you will be woken up when they reply. Set 'review' only after all delegated work is confirmed complete." + " 4. NEVER set 'review' unless there is concrete completed work for the owner to review. Sending a plan to a colleague is NOT completed work." + " NEVER exit without doing at least one of: updating the status, or leaving a comment explaining what you did and what you're waiting for.";
|
|
@@ -23046,7 +23058,8 @@ function syncCommand() {
|
|
|
23046
23058
|
process.exit(1);
|
|
23047
23059
|
}
|
|
23048
23060
|
} else {
|
|
23049
|
-
content = opts.message ?? ""
|
|
23061
|
+
content = (opts.message ?? "").replace(/\\n/g, `
|
|
23062
|
+
`).replace(/\\t/g, "\t");
|
|
23050
23063
|
}
|
|
23051
23064
|
if (!content.trim()) {
|
|
23052
23065
|
console.error("Error: --message or --message-file is required (and must not be empty)");
|
package/dist/session-runner.js
CHANGED
|
@@ -18310,6 +18310,7 @@ The CLI auto-detects your identity from the environment. No need to pass \`--age
|
|
|
18310
18310
|
### Command quick reference
|
|
18311
18311
|
| Capability | Command |
|
|
18312
18312
|
|---|---|
|
|
18313
|
+
| Send a message to the user | \`${cmdPrefix()} sync send-dm\` |
|
|
18313
18314
|
| Schedule / list / edit tasks | \`${cmdPrefix()} calendar set\` (also list, show, update, delete) |
|
|
18314
18315
|
| Upload a file for your owner | \`${cmdPrefix()} sync upload-artifact\` |
|
|
18315
18316
|
| Recruit a colleague agent | \`${cmdPrefix()} agent recruit\` |
|
|
@@ -18400,11 +18401,22 @@ Upload files for your owner to review in the app.
|
|
|
18400
18401
|
### Talking to the user
|
|
18401
18402
|
You're texting a colleague, not filing a report. The only thing the user sees is what you send with \`${cmdPrefix()} sync send-dm\` — your task output, reasoning, and tool calls are all off-screen. If you finish without sending, they got silence.
|
|
18402
18403
|
|
|
18404
|
+
\`${cmdPrefix()} sync send-dm\` sends a message to **the user** (your owner), not to a colleague agent. This is how you communicate with the human who gave you the task. Use email to talk to colleague agents.
|
|
18405
|
+
|
|
18403
18406
|
Message at milestones, the way a person would: acknowledge when you pick something up, share a real step forward or a fork in the road, and deliver the result. A quick task is often one message; a long one is a few well-spaced check-ins. Trust your read of the moment — don't narrate every small step, and don't go dark for a long stretch on something they're waiting on.
|
|
18404
18407
|
|
|
18405
18408
|
Say what a colleague would say, not a transcript — the answer in your own voice. (Email- and calendar-triggered tasks have no one watching the chat; use email there.)
|
|
18406
18409
|
|
|
18407
|
-
|
|
18410
|
+
**A real person is waiting on the other end.** Send updates at every milestone of your work — not just the final result. For any task longer than a minute:
|
|
18411
|
+
1. **Before you start**: tell them your plan ("I'll research X, then modify Y and Z")
|
|
18412
|
+
2. **During work**: update when you find something important, change direction, or hit a blocker ("Found the issue — it's in the auth module, fixing now")
|
|
18413
|
+
3. **When done**: deliver the clear result
|
|
18414
|
+
|
|
18415
|
+
Don't bundle everything into one giant message at the end. The user shouldn't have to sit in silence wondering what's happening. A one-line progress update costs nothing and keeps the human in the loop. But don't send repetitive or near-identical messages — each update should carry new information, not just restate what you already said.
|
|
18416
|
+
|
|
18417
|
+
**If the user sends you a message while you're working** — especially questions like "are you there?", "what's the status?", or unrelated requests — **respond to them immediately**. Don't finish your current task first and then reply. The user reached out because they need your attention NOW. Acknowledge them right away, then resume your work.
|
|
18418
|
+
|
|
18419
|
+
\`${cmdPrefix()} sync send-dm --message "…"\` for short messages. For longer or markdown-rich messages, write to a file first and use \`--message-file <path>\` — this preserves formatting and avoids shell escaping issues. The conversation is in $ALOOK_CONVERSATION_ID, so you usually need no flags. You can send several times in one task.
|
|
18408
18420
|
|
|
18409
18421
|
### Attachments
|
|
18410
18422
|
When your task includes attachments, their local paths are listed in the prompt JSON under "attachments".
|
|
@@ -18788,7 +18800,7 @@ function clearKillIntent(baseDir, taskId) {
|
|
|
18788
18800
|
}
|
|
18789
18801
|
|
|
18790
18802
|
// daemon/prompt.ts
|
|
18791
|
-
var DM_RESPONSE_NOTICE = "Reply with `alook sync send-dm` — that's the only thing the user sees;
|
|
18803
|
+
var DM_RESPONSE_NOTICE = "Reply with `alook sync send-dm` — that's the only thing the user sees; your task output and reasoning are not shown." + " Talk to them at milestones like a colleague would, and don't end your turn without sending what they need." + " If this task will take more than 30 seconds, send a quick ack first so the user knows you're on it.";
|
|
18792
18804
|
var EMAIL_NOTICE = "This task was triggered automatically by an incoming email. There is no human in this session." + " If you need to communicate with a human, you MUST send an email using the email sending tool." + " If you need more information or confirmation from the human, send them an email asking for it and then exit." + " Do not wait — when the human replies, a new task will be triggered automatically and you will be woken up with their response.";
|
|
18793
18805
|
var CALENDAR_NOTICE = "This task was triggered by a scheduled calendar event. There is no human in this session." + " If you need to communicate with a human, you MUST send an email using the email sending tool." + " If you need more information or confirmation, send an email asking for it and then exit." + " Do not wait — when the human replies, a new task will be triggered automatically and you will be woken up with their response.";
|
|
18794
18806
|
var ISSUE_NOTICE = "This task was triggered by an assigned issue. The issue_id is provided in this message." + " Use `alook issue show --issue_id <issue_id>` to read full context." + " Use `alook issue update --issue_id <issue_id> --status <status>` to change status." + " Use `alook issue comment --issue_id <issue_id> --body <text>` to leave a comment." + " CRITICAL — You MUST manage the issue status correctly. This is NOT optional:" + " 1. Set status to 'in_progress' when you start working." + " 2. If you complete the work yourself: leave a summary comment, then set status to 'review' as your last action. 'review' means there is actual completed work (code, artifact, result) ready for the owner to look at." + " 3. If you delegated work to colleagues and are waiting for their response: KEEP status as 'in_progress' and exit. This is expected — you will be woken up when they reply. Set 'review' only after all delegated work is confirmed complete." + " 4. NEVER set 'review' unless there is concrete completed work for the owner to review. Sending a plan to a colleague is NOT completed work." + " NEVER exit without doing at least one of: updating the status, or leaving a comment explaining what you did and what you're waiting for.";
|