@excitedjs/dreamux 0.26.0-beta.249 → 0.26.0-beta.252

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excitedjs/dreamux",
3
- "version": "0.26.0-beta.249",
3
+ "version": "0.26.0-beta.252",
4
4
  "description": "Dreamux core host for multi-dispatcher agent orchestration through provider interfaces.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,11 +26,11 @@
26
26
  "CHANGELOG.json"
27
27
  ],
28
28
  "dependencies": {
29
- "@excitedjs/agent-runtime-claude-code": "0.7.1-beta.249",
30
- "@excitedjs/agent-runtime-codex": "0.6.1-beta.249",
31
- "@excitedjs/dreamux-types": "0.11.0-beta.249",
32
- "@excitedjs/dreamux-utils": "0.6.0-beta.249",
33
- "@excitedjs/feishu-channel": "6.3.0-beta.249",
29
+ "@excitedjs/agent-runtime-claude-code": "0.7.1-beta.252",
30
+ "@excitedjs/agent-runtime-codex": "0.6.1-beta.252",
31
+ "@excitedjs/dreamux-types": "0.11.0-beta.252",
32
+ "@excitedjs/dreamux-utils": "0.6.0-beta.252",
33
+ "@excitedjs/feishu-channel": "6.3.0-beta.252",
34
34
  "@modelcontextprotocol/server": "2.0.0",
35
35
  "acorn": "^8.16.0",
36
36
  "croner": "^10.0.1",
@@ -9,20 +9,24 @@ There are no credential defaults and no other built-in Feishu config fields.
9
9
 
10
10
  ## Feishu-Owned Routing State
11
11
 
12
- The built-in Feishu Channel owns which conversation reaches which Team, and its
13
- collaboration-space provisioning policy. Both live in one server-owned document
14
- per configured channel at
12
+ The built-in Feishu Channel owns which conversation reaches which Team, its
13
+ collaboration-space provisioning policy, and which documents' comments reach
14
+ which recipient. All three live in one server-owned document per configured
15
+ channel at
15
16
  `~/.dreamux/state/<dispatcher-id>/feishu-routing.<channel-slug>.<digest>.json`,
16
17
  where the slug and digest are both derived from the configured channel `id`.
17
18
 
18
19
  - It is fully server-owned. Do not edit, copy over, synthesize, or delete it as
19
20
  an operational repair, and do not hand-write a binding into it.
20
21
  - Change it only through the Channel's own MCP tools: `bind_channel` /
21
- `unbind_channel` for one conversation, and `bind_collaboration_space` /
22
- `unbind_collaboration_space` for provisioning policy. `list_bindings`,
23
- `get_collaboration_space`, and `list_collaboration_spaces` read it.
22
+ `unbind_channel` for one conversation, `bind_collaboration_space` /
23
+ `unbind_collaboration_space` for provisioning policy, and
24
+ `subscribe_document` / `unsubscribe_document` for a document whose comments
25
+ reach the caller. `list_bindings`, `get_collaboration_space`,
26
+ `list_collaboration_spaces`, and `list_subscriptions` read it.
24
27
  - A bind names an existing, open Team; Dreamux refuses a bind to a missing or
25
- closed Team and writes nothing. Dissolving a Team invalidates its routes.
28
+ closed Team and writes nothing. Dissolving a Team invalidates its routes and
29
+ drops its document subscriptions, in the same commit.
26
30
  - A chat carries either a whole-chat binding or a collaboration space, never
27
31
  both, because a whole-chat binding answers for every topic under it and would
28
32
  leave a space's new topics without a Team of their own. `bind_channel` refuses
@@ -35,6 +39,20 @@ where the slug and digest are both derived from the configured channel `id`.
35
39
  way it has been — every topic under it answers to the whole-chat Team and new
36
40
  topics get no Team of their own — until the whole-chat binding is released.
37
41
  Nothing has to be rebuilt or hand-edited.
42
+ - A document subscription belongs to whoever created it — a Team, or the
43
+ Dispatcher Agent. Neither recipient can create or remove another's, and
44
+ `list_subscriptions` shows the caller's own rows only. Subscribing refuses a
45
+ document the bot cannot see, and nothing is written for it.
46
+ - A row stores the document's own token, so a wiki page subscribed by its URL is
47
+ stored as the document that node holds. If the bot's access to the node is
48
+ later revoked, that URL can no longer name the row and `unsubscribe_document`
49
+ refuses it; pass the `file_token` `list_subscriptions` shows instead. Do not
50
+ hand-edit the row out.
51
+ - A comment on a document nobody follows reaches the Dispatcher Agent when it
52
+ @-mentions the bot and the commenter is in the gate's `allow_users`; it is
53
+ dropped and logged otherwise. That delivery writes no subscription row, so it
54
+ changes nothing in this file — adding the commenter to `allow_users` is an
55
+ access-state change, made through the pairing flow, not here.
38
56
  - A document this Dreamux version cannot read fails loud at channel start,
39
57
  naming the file. Recreate the bindings through those tools rather than
40
58
  editing it.