@sjawhar/opencode-legion-envoy 3.18.0 → 3.19.0

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.
@@ -13701,6 +13701,7 @@ var DispatchTargetedMessagePayloadSchema = MessageEventPayloadSchema.extend({
13701
13701
  body: exports_external.string(),
13702
13702
  target: exports_external.string(),
13703
13703
  in_reply_to: exports_external.string().nullable(),
13704
+ broadcast_id: exports_external.string().nullish(),
13704
13705
  deliveries: exports_external.array(exports_external.unknown()),
13705
13706
  created_at: exports_external.string()
13706
13707
  });
@@ -15335,6 +15336,9 @@ class DispatchClient {
15335
15336
  async getMessageThread(id, session) {
15336
15337
  return this.#json("GET", ["api", "v1", "messages", id], undefined, { session });
15337
15338
  }
15339
+ async acceptMessageDelivery(id, attempt, input) {
15340
+ return this.#json("POST", ["api", "v1", "messages", id, "deliveries", String(attempt), "accept"], input);
15341
+ }
15338
15342
  async artifact(issue2, input) {
15339
15343
  const artifactPath = ["api", "v1", "issues", await this.#resolveIssue(issue2), "artifacts"];
15340
15344
  if ("content" in input)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/opencode-legion-envoy",
3
- "version": "3.18.0",
3
+ "version": "3.19.0",
4
4
  "type": "module",
5
5
  "main": "dist/src/server.js",
6
6
  "exports": {
@@ -6,7 +6,8 @@ human messages you directly from the Agents page.
6
6
  ## Targeted agent messages
7
7
 
8
8
  A human — or any bearer caller over HTTP, such as a test rig — can target the issue message at a
9
- live Envoy session or role as **BTW**, **Aside**, or **Steer**. The incoming Dispatch frame names
9
+ live Envoy session or role as **BTW**, **Aside**, or **Steer** (the dashboard calls a steer
10
+ **Send**). The incoming Dispatch frame names
10
11
  the issue and includes a `reply_with` hint (`{ tool, args }`, ready to issue on any host); reply on the same open issue with the existing
11
12
  tool, never a new targeted send:
12
13
 
@@ -32,9 +33,17 @@ target only a session that advertises the mode you want. Sending to a session wi
32
33
 
33
34
  ## Answering a direct message
34
35
 
35
- A human can also message you directly from the **Agents** page, with no issue at all. That frame
36
- names no issue and its `reply_with` hint carries none either; answer it with the message's bare
37
- id in `in_reply_to`, alone:
36
+ A human can also message you directly from the **Agents** page, with no issue at all. On Oh My
37
+ Pi, a person's **Send** or **Aside** arrives as their own user message, exactly as if they had
38
+ typed it at your terminal: your Envoy plugin takes it only once Dispatch accepts it as a person's
39
+ own fresh message to you, and injects the text Dispatch stored. Answer it in the conversation as
40
+ you would anything typed, with no `dispatch_message`; the Agents page shows your conversation
41
+ live, so they read your answer there.
42
+
43
+ Everything else still arrives as a Dispatch frame: a **BTW**, a broadcast, a direct message on a
44
+ host that takes no user turn from its plugin (Claude Code), and one Dispatch did not accept.
45
+ That frame names no issue and its `reply_with` hint carries none either; answer it with the
46
+ message's bare id in `in_reply_to`, alone:
38
47
 
39
48
  ```ts
40
49
  dispatch_message({