@agenticmail/claudecode 0.2.16 → 0.2.18
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/{chunk-L35WA2XT.js → chunk-4NKBITBR.js} +1 -1
- package/dist/{chunk-WNHGDCTG.js → chunk-7D3D7T34.js} +1 -1
- package/dist/{chunk-IXYJ4O5M.js → chunk-EWHWSNAQ.js} +4 -4
- package/dist/{chunk-V62JPM5R.js → chunk-O7S3FYJT.js} +19 -5
- package/dist/{chunk-XOTADT55.js → chunk-OMUB5FRY.js} +1 -1
- package/dist/{chunk-KRB453TM.js → chunk-WC5ZK4RG.js} +1 -1
- package/dist/cli.js +4 -4
- package/dist/dispatcher-bin.js +2 -2
- package/dist/dispatcher.js +2 -2
- package/dist/http-routes.js +5 -5
- package/dist/index.js +6 -6
- package/dist/install.js +2 -2
- package/dist/status.js +2 -2
- package/dist/uninstall.js +2 -2
- package/package.json +2 -2
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
status
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OMUB5FRY.js";
|
|
4
4
|
import {
|
|
5
5
|
uninstall
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7D3D7T34.js";
|
|
7
7
|
import {
|
|
8
8
|
install
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4NKBITBR.js";
|
|
10
10
|
import {
|
|
11
11
|
AgenticMailApiError
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-O7S3FYJT.js";
|
|
13
13
|
|
|
14
14
|
// src/http-routes.ts
|
|
15
15
|
import { Router } from "express";
|
|
@@ -239,6 +239,15 @@ function renderPersonaBody(input) {
|
|
|
239
239
|
"",
|
|
240
240
|
` **HANDOFFS \u2014 read this carefully.** When you're delegating the next step to ONE specific teammate, you MUST pass \`wake: ["<their-name>"]\` in the same call. Reason: a reply-all keeps the ORIGINAL sender on the \`To:\` header, NOT your handoff target. So if Vesper just replied to the thread and you reply-all saying "Atlas \u2014 over to you", the resulting email lands with \`To: vesper\`, \`Cc: orion, atlas, ...\`. Without an explicit \`wake\`, every CC'd teammate gets a turn (cost), the dispatcher has no signal that Atlas is the assignee, and Atlas may stay silent assuming another teammate already took it \u2014 which is what the user calls "killing the task mid-work". \`wake: ["atlas"]\` is the authoritative signal: only Atlas thinks next, everyone else still receives the mail and stays informed. The body text is for humans + audit trail; the \`wake\` array is for the dispatcher.`,
|
|
241
241
|
"",
|
|
242
|
+
` **THE BATON RULE \u2014 never drop the chain.** Until the project is genuinely DONE and the thread has been closed with \`[FINAL]\`/\`[DONE]\`/\`[CLOSED]\`/\`[WRAP]\`, every reply you send MUST either (a) name the next actor in \`wake\`, OR (b) not be sent at all. \`wake: []\` (empty array) means "deliver silently, wake NOBODY" \u2014 which only makes sense when the work is finished. Using it mid-project terminates the coordination chain: your reply lands in every inbox, every agent stays asleep, the project flat-lines and stays dead until a human pings someone to re-arm it. This has happened in production builds where a team wrote 12+ files together over 8 hours, then one agent ended a turn with \`wake: []\` and the whole thread silently flatlined for the rest of the day.`,
|
|
243
|
+
"",
|
|
244
|
+
` **Decision tree for \`wake\` on every reply:**`,
|
|
245
|
+
"",
|
|
246
|
+
` \xB7 Project still in progress AND you know who acts next \u2192 \`wake: ["that-name"]\``,
|
|
247
|
+
` \xB7 Project still in progress AND you genuinely don't know \u2192 \`wake\` should name whoever assigned YOUR last task; bounce the baton back to them with an explicit question`,
|
|
248
|
+
` \xB7 Project still in progress AND you have nothing to add \u2192 DO NOT REPLY. Use \`mark_read\` and return. Silence keeps the chain on its current owner \u2014 \`wake: []\` does the opposite, it actively passes the baton to "nobody".`,
|
|
249
|
+
` \xB7 Project is DONE \u2014 final commit shipped, no more handoffs \u2192 reply with one of \`[FINAL]\` / \`[DONE]\` / \`[CLOSED]\` / \`[WRAP]\` in the subject AND \`wake: []\`. This is the ONLY legitimate use of an empty wake array.`,
|
|
250
|
+
"",
|
|
242
251
|
` **Examples.**`,
|
|
243
252
|
"",
|
|
244
253
|
"```",
|
|
@@ -247,17 +256,22 @@ function renderPersonaBody(input) {
|
|
|
247
256
|
` text: "Atlas \u2014 over to you. Spec is shared/slice-4-probe-spec.md. ...",`,
|
|
248
257
|
` wake: ["atlas"] })`,
|
|
249
258
|
``,
|
|
250
|
-
`//
|
|
259
|
+
`// You did a slice but don't know who's next \u2014 bounce to the coordinator who assigned you.`,
|
|
260
|
+
`${tool("reply_email")}({ uid: 42, replyAll: true, _account: "${agent.name}",`,
|
|
261
|
+
` text: "Shipped backend/routes/posts.ts. Vesper \u2014 does this match the spec? Who picks up frontend?",`,
|
|
262
|
+
` wake: ["vesper"] })`,
|
|
263
|
+
``,
|
|
264
|
+
`// Project is GENUINELY DONE \u2014 close the thread. The ONLY time wake: [] is correct.`,
|
|
251
265
|
`${tool("reply_email")}({ uid: 42, replyAll: true, _account: "${agent.name}",`,
|
|
252
|
-
`
|
|
266
|
+
` subject: "[FINAL] LinkedIn rebuild \u2014 shipped",`,
|
|
267
|
+
` text: "All slices merged. Demo at http://localhost:5173. No further action needed.",`,
|
|
253
268
|
` wake: [] })`,
|
|
254
|
-
`// (\`wake: []\` = "I'm broadcasting; nobody needs to wake on this.")`,
|
|
255
269
|
"```",
|
|
256
270
|
"",
|
|
257
271
|
` To bring a brand-new teammate into the thread, add them to CC AND name them in \`wake\`.`,
|
|
258
|
-
` 7. If no: \`mark_read\` and return. Silence IS a valid contribution.`,
|
|
272
|
+
` 7. If no: **do not reply at all** \u2014 \`mark_read\` and return. Silence IS a valid contribution; a silent broadcast is NOT. The dispatcher only stops poking the chain when YOU mark the message read; it never interprets an empty reply as "nothing to do here". DO NOT send a "no update from me" mail with \`wake: []\` \u2014 that drops the baton on the floor.`,
|
|
259
273
|
"",
|
|
260
|
-
`**Closing a thread.** When the work is genuinely done and no more contributions are needed, send a wrap-up reply with one of these markers in the subject: \`[FINAL]\`, \`[DONE]\`, \`[CLOSED]\`, or \`[WRAP]\`. The
|
|
274
|
+
`**Closing a thread.** When the work is genuinely done and no more contributions are needed, send a wrap-up reply with one of these markers in the subject: \`[FINAL]\`, \`[DONE]\`, \`[CLOSED]\`, or \`[WRAP]\` PAIRED with \`wake: []\`. The marker tells the dispatcher to stop waking workers; the empty wake confirms you mean it. Use this when YOU are the one signing off the work, not as a routine ack. ANY OTHER use of \`wake: []\` is a bug.`,
|
|
261
275
|
"",
|
|
262
276
|
`**When to use \`${tool("call_agent")}\` instead:** only when you need ONE structured answer from ONE teammate, inline in your current turn \u2014 e.g. "give me a JSON list of X". For multi-step / multi-agent work, the thread pattern above is the right primitive.`,
|
|
263
277
|
"",
|
package/dist/cli.js
CHANGED
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
} from "./chunk-B5JDOV32.js";
|
|
7
7
|
import {
|
|
8
8
|
status
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OMUB5FRY.js";
|
|
10
10
|
import {
|
|
11
11
|
uninstall
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7D3D7T34.js";
|
|
13
13
|
import {
|
|
14
14
|
install
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-4NKBITBR.js";
|
|
16
16
|
import "./chunk-SWDS64K2.js";
|
|
17
17
|
import "./chunk-7DGWW72Q.js";
|
|
18
18
|
import {
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
listAccounts,
|
|
21
21
|
resolveConfig,
|
|
22
22
|
setAccountHost
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-O7S3FYJT.js";
|
|
24
24
|
|
|
25
25
|
// src/cli.ts
|
|
26
26
|
var GREEN = (s) => `\x1B[32m${s}\x1B[0m`;
|
package/dist/dispatcher-bin.js
CHANGED
package/dist/dispatcher.js
CHANGED
package/dist/http-routes.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createIntegrationRoutes
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-EWHWSNAQ.js";
|
|
4
|
+
import "./chunk-OMUB5FRY.js";
|
|
5
|
+
import "./chunk-7D3D7T34.js";
|
|
6
|
+
import "./chunk-4NKBITBR.js";
|
|
7
7
|
import "./chunk-SWDS64K2.js";
|
|
8
8
|
import "./chunk-7DGWW72Q.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-O7S3FYJT.js";
|
|
10
10
|
export {
|
|
11
11
|
createIntegrationRoutes
|
|
12
12
|
};
|
package/dist/index.js
CHANGED
|
@@ -6,19 +6,19 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
Dispatcher,
|
|
8
8
|
loadPersonaForAgent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WC5ZK4RG.js";
|
|
10
10
|
import {
|
|
11
11
|
createIntegrationRoutes
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EWHWSNAQ.js";
|
|
13
13
|
import {
|
|
14
14
|
status
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-OMUB5FRY.js";
|
|
16
16
|
import {
|
|
17
17
|
uninstall
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-7D3D7T34.js";
|
|
19
19
|
import {
|
|
20
20
|
install
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-4NKBITBR.js";
|
|
22
22
|
import "./chunk-SWDS64K2.js";
|
|
23
23
|
import "./chunk-7DGWW72Q.js";
|
|
24
24
|
import {
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
renderPersonaBody,
|
|
33
33
|
renderSubagentMarkdown,
|
|
34
34
|
resolveConfig
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-O7S3FYJT.js";
|
|
36
36
|
export {
|
|
37
37
|
AgenticMailApiError,
|
|
38
38
|
Dispatcher,
|
package/dist/install.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
install,
|
|
3
3
|
selectExposableAgents
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4NKBITBR.js";
|
|
5
5
|
import "./chunk-SWDS64K2.js";
|
|
6
6
|
import "./chunk-7DGWW72Q.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-O7S3FYJT.js";
|
|
8
8
|
export {
|
|
9
9
|
install,
|
|
10
10
|
selectExposableAgents
|
package/dist/status.js
CHANGED
package/dist/uninstall.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenticmail/claudecode",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.18",
|
|
4
4
|
"description": "Claude Code integration for AgenticMail — surfaces every AgenticMail agent as a native Claude Code subagent so any Claude Code session can delegate to them with the Agent tool",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@agenticmail/core": "^0.9.5",
|
|
51
|
-
"@agenticmail/mcp": "^0.9.
|
|
51
|
+
"@agenticmail/mcp": "^0.9.7",
|
|
52
52
|
"@anthropic-ai/claude-agent-sdk": "^0.2.140"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|