@sjawhar/opencode-legion-envoy 8.8.1 → 8.8.2

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.
@@ -15157,7 +15157,7 @@ var envoyToolSpecs = [
15157
15157
  },
15158
15158
  {
15159
15159
  name: "envoy_unsubscribe",
15160
- description: "Unsubscribe this session from Envoy topics, or remove all current subscriptions if topics are omitted.",
15160
+ description: "Unsubscribe this session from Envoy topics, or remove all current subscriptions if topics are omitted. A subscription another plugin holds for this session's role stays, and the result lists it as kept.",
15161
15161
  arguments: (schema) => ({ topics: schema.array(schema.string()).optional() }),
15162
15162
  operation: EnvoyToolOperation.unsubscribe
15163
15163
  },
@@ -15190,7 +15190,7 @@ var envoyToolSpecs = [
15190
15190
  },
15191
15191
  {
15192
15192
  name: "envoy_role_set",
15193
- description: "Set the current session as the holder of a named role. Messages published to notifications.role.<role> route to this session.",
15193
+ description: "Set the current session as the holder of a named role. Messages published to notifications.role.<role> route to this session. Moving to a different role is refused while another plugin holds subscriptions that last only as long as this session keeps its current role.",
15194
15194
  arguments: (schema) => ({ role: schema.string() }),
15195
15195
  operation: EnvoyToolOperation.setRole
15196
15196
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/opencode-legion-envoy",
3
- "version": "8.8.1",
3
+ "version": "8.8.2",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/src/server.js",
@@ -200,6 +200,9 @@ fork's parent). If a different live session holds it — the parent of a `/fork`
200
200
  the child, or a second process on the same transcript — the listener refuses atomically and the
201
201
  resumed session logs a warning and holds nothing. Only an explicit `envoy_role_set` is
202
202
  last-claim-wins. Re-running `envoy_role_set` for a role this session already holds is harmless.
203
+ Moving to a different role is refused while another plugin holds subscriptions that last only as
204
+ long as this session keeps its current role (the refusal names them), and `envoy_unsubscribe`
205
+ keeps those subscriptions open, listing them as kept.
203
206
 
204
207
  ## Legion role claims
205
208