grix-connector 4.2.3 → 4.2.4

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.
Files changed (40) hide show
  1. package/dist/adapter/claude/claude-adapter.js +18 -17
  2. package/dist/adapter/claude/claude-bridge-server.js +1 -1
  3. package/dist/adapter/claude/claude-tools.js +1 -1
  4. package/dist/adapter/claude/claude-worker-client.js +1 -1
  5. package/dist/adapter/claude/mcp-http-launcher.js +2 -2
  6. package/dist/adapter/claude/result-timeout.js +1 -1
  7. package/dist/assets/dsh-bridge/{grix-dsh-bridge-4.2.3.tgz → grix-dsh-bridge-4.2.4.tgz} +0 -0
  8. package/dist/assets/dsh-bridge/manifest.json +4 -4
  9. package/dist/core/access/allowlist-store.js +1 -1
  10. package/dist/core/file-ops/list-files.js +1 -1
  11. package/dist/default-skills/grix-access-control/SKILL.md +1 -1
  12. package/dist/default-skills/grix-admin/SKILL.md +110 -155
  13. package/dist/default-skills/grix-admin/references/api-contract.md +23 -12
  14. package/dist/default-skills/grix-agent-dispatch/SKILL.md +152 -188
  15. package/dist/default-skills/grix-audit-data/SKILL.md +1 -1
  16. package/dist/default-skills/grix-chat-state/SKILL.md +26 -43
  17. package/dist/default-skills/grix-egg/SKILL.md +1 -1
  18. package/dist/default-skills/grix-group/SKILL.md +1 -1
  19. package/dist/default-skills/grix-owner-relay/SKILL.md +30 -64
  20. package/dist/default-skills/grix-query/SKILL.md +1 -1
  21. package/dist/default-skills/grix-skill-library/SKILL.md +52 -0
  22. package/dist/default-skills/grix-widget-visitor-ban/SKILL.md +1 -1
  23. package/dist/default-skills/message-send/SKILL.md +1 -1
  24. package/dist/default-skills/message-unsend/SKILL.md +1 -1
  25. package/dist/default-skills/tailnet-file-share/SKILL.md +38 -72
  26. package/dist/default-skills/tailnet-file-share/references/certificate-trust.md +64 -0
  27. package/dist/log.js +2 -2
  28. package/dist/mcp/stream-http/config.js +1 -1
  29. package/dist/mcp/stream-http/connection-binding.js +1 -1
  30. package/dist/mcp/stream-http/security.js +1 -1
  31. package/dist/mcp/stream-http/tool-executor.js +1 -1
  32. package/dist/mcp/stream-http/tool-registry.js +1 -1
  33. package/dist/mcp/stream-http/tool-schemas.js +1 -1
  34. package/openclaw-plugin/skills/grix-admin/SKILL.md +122 -156
  35. package/openclaw-plugin/skills/grix-group/SKILL.md +52 -159
  36. package/openclaw-plugin/skills/grix-query/SKILL.md +54 -248
  37. package/openclaw-plugin/skills/grix-update/SKILL.md +70 -304
  38. package/openclaw-plugin/skills/message-send/SKILL.md +41 -172
  39. package/openclaw-plugin/skills/message-unsend/SKILL.md +29 -170
  40. package/package.json +1 -1
@@ -1,186 +1,45 @@
1
1
  ---
2
2
  name: message-unsend
3
- description: Silently recall/unsend already-sent messages. Supports current session and cross-session recall. After execution, must end immediately without replying any confirmation text. Trigger words: recall, unsend, delete message.
3
+ description: Silently recall/unsend an already-sent message through OpenClaw's `message` tool, in the current session or another session. Only the owner or an explicitly authorized operator may trigger it; after execution end immediately with `NO_REPLY` and no confirmation text. Trigger words: recall, unsend, delete message.
4
4
  ---
5
5
 
6
- # Message Unsend Skill
6
+ # Message Unsend
7
7
 
8
- This skill is used to recall already-sent messages through OpenClaw's `message` tool.
8
+ Recall a sent message with OpenClaw's `message` tool, `action: "unsend"`,
9
+ `channel: "grix"`. The whole operation is **silent**.
9
10
 
10
- ## Completion Contract (Highest Priority)
11
+ ## Who may trigger it
11
12
 
12
- Once this skill is entered, the final output must satisfy these 4 conditions:
13
+ Execute only when the requester is clearly the current agent's owner, or an
14
+ operator already established as authorized in the current context — in a
15
+ private chat, a group chat, or by quoting the target message. If a third party
16
+ asks, or the identity is unclear: do nothing and return `NO_REPLY`.
13
17
 
14
- 1. **Execute recall action first**: when the target message can be located, recall the target message first
15
- 2. **Recall the command message**: the current "recall/unsend" command message itself must also be recalled
16
- 3. **Never send confirmation text**: do not send "recalled", "recall successful", "processing complete", or any other message
17
- 4. **Only `NO_REPLY` is allowed at the end**: the skill must end by returning `NO_REPLY`
18
+ ## Parameters
18
19
 
19
- ## Permission Control (Strict)
20
+ | Parameter | Required | Value |
21
+ |---|---|---|
22
+ | `action` | ✅ | `"unsend"` |
23
+ | `channel` | ✅ | `"grix"` |
24
+ | `accountId` | ✅ | the current Grix account ID (never hardcode `default`) |
25
+ | `messageId` | ✅ | numeric string — from inbound context, a previous send result, or message records |
26
+ | `sessionId` | cross-session only | exact target `session_id`; omit when the message is in the current session |
20
27
 
21
- **This skill can only be executed when the current agent's owner, or an explicitly authorized operator in the current context, requests message recall.**
22
-
23
- ### Allowed Execution Cases
24
-
25
- - Owner says "recall / unsend / delete message" in a private chat
26
- - Owner says "recall / unsend / delete message" in a group chat
27
- - Owner or explicitly authorized operator quotes a message requesting recall
28
-
29
- ### Prohibited Execution Cases
30
-
31
- - A third-party user requests recall
32
- - Requester identity is unclear, cannot determine if they are the owner / authorized operator
33
-
34
- ### Handling Recall Requests from Others
35
-
36
- Completely ignore, do not reply, do not execute, directly `NO_REPLY`.
37
-
38
- ## Core Behavior: Completely Silent + Dual Recall
39
-
40
- When the owner or explicitly authorized operator sends a recall command, must execute in order:
41
-
42
- 1. Recall the target message
43
- 2. Recall the command message
44
- 3. Immediately return `NO_REPLY`
45
-
46
- Do not send any confirmation, error explanation, or supplementary notes.
47
-
48
- ## Two Recall Modes
49
-
50
- ### 1. Current Session Recall
51
-
52
- If the target message is in the current Grix session, `messageId` must be provided; `sessionId` / `to` / `topic` can be omitted.
53
-
54
- ```json
55
- {
56
- "action": "unsend",
57
- "channel": "grix",
58
- "accountId": "{accountId}",
59
- "messageId": "18889990099"
60
- }
61
- ```
62
-
63
- ### 2. Cross-Session Recall
64
-
65
- If the target message is not in the current session, prefer using `sessionId` to point to the target session. `to` and `topic` are only compatibility aliases; do not use them as the primary format.
66
-
67
- ```json
68
- {
69
- "action": "unsend",
70
- "channel": "grix",
71
- "accountId": "{accountId}",
72
- "messageId": "18889990099",
73
- "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950"
74
- }
75
- ```
76
-
77
- ## Parameter Rules
78
-
79
- 1. `messageId` is required and must be a numeric string
80
- 2. In the current Grix session, `sessionId` / `to` / `topic` can be omitted
81
- 3. For cross-session, prefer passing the exact `sessionId`
82
- 4. `to` / `topic` are only compatibility aliases; if using `topic`, pass the bare `session_id`
83
- 5. Do not hardcode `accountId=default`; always use the current exact account ID
84
-
85
- ## Use Cases
86
-
87
- - User says "recall that last message" in the current conversation
88
- - Need to silently clean up a message just sent by mistake
89
- - Need to recall a known message cross-session
90
-
91
- ## Actual Call Examples
92
-
93
- ### Example 1: Current Session Recall
28
+ `to` / `topic` are compatibility aliases for `sessionId`; do not use them as
29
+ the primary form. Never pass a user ID, agent ID, or legacy other-channel
30
+ session format. Both agent-sent and user-sent messages can be recalled.
94
31
 
95
32
  ```json
96
- {
97
- "action": "unsend",
98
- "channel": "grix",
99
- "accountId": "{accountId}",
100
- "messageId": "2033329436849868800"
101
- }
33
+ { "action": "unsend", "channel": "grix", "accountId": "{accountId}", "messageId": "18889990099", "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950" }
102
34
  ```
103
35
 
104
- ### Example 2: Cross-Session Recall
105
-
106
- ```json
107
- {
108
- "action": "unsend",
109
- "channel": "grix",
110
- "accountId": "{accountId}",
111
- "messageId": "2033474284277993472",
112
- "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950"
113
- }
114
- ```
115
-
116
- ## Important Notes
117
-
118
- 1. The Grix channel can recall messages sent by both agents and users
119
- 2. For cross-session, must first obtain the exact target session; do not pass user ID, agent ID, or legacy other-channel session formats
120
- 3. `messageId` can be obtained from inbound context, previous send results, or message records
121
- 4. The current command message will also be silently recalled if it can be located
122
-
123
- ## Error Handling
124
-
125
- Common errors are only for internal judgment; do not convert them into replies to the user:
126
-
127
- - `messageId` does not exist: directly `NO_REPLY`
128
- - Cannot resolve target session: directly `NO_REPLY`
129
- - Insufficient permissions: directly `NO_REPLY`
130
- - Message already deleted: directly `NO_REPLY`
131
-
132
- ## Grix Live Test Results (Updated 2026-03-16)
133
-
134
- **Status**: Available
135
-
136
- ### Example: Recall a message sent by the agent
137
-
138
- ```json
139
- {
140
- "action": "unsend",
141
- "channel": "grix",
142
- "accountId": "primary",
143
- "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950",
144
- "messageId": "2033371385615093760"
145
- }
146
- ```
147
-
148
- Return:
149
-
150
- ```json
151
- {
152
- "ok": true,
153
- "deleted": true,
154
- "unsent": true,
155
- "messageId": "2033371385615093760",
156
- "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950"
157
- }
158
- ```
159
-
160
- ### Example: Recall a message sent by the user
161
-
162
- ```json
163
- {
164
- "action": "unsend",
165
- "channel": "grix",
166
- "accountId": "primary",
167
- "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950",
168
- "messageId": "2033474284277993472"
169
- }
170
- ```
171
-
172
- Return:
173
-
174
- ```json
175
- {
176
- "ok": true,
177
- "deleted": true,
178
- "unsent": true,
179
- "messageId": "2033474284277993472",
180
- "sessionId": "5c495569-ba1b-46ac-8070-5a1193a3f950"
181
- }
182
- ```
36
+ The plugin also recalls the "recall/unsend" command message itself when it can
37
+ locate it — you do not issue a second call for that.
183
38
 
184
- ## Closing Requirement
39
+ ## Completion contract
185
40
 
186
- Once this skill is executed, the last line must be `NO_REPLY`. Do not leave any confirmation text.
41
+ 1. Make the single `unsend` call.
42
+ 2. Send **no** text — no "recalled", no error explanation, no follow-up. A
43
+ missing message, unresolvable session, permission failure, or already
44
+ deleted message is handled the same way: silently.
45
+ 3. End with exactly `NO_REPLY` as the last line.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grix-connector",
3
- "version": "4.2.3",
3
+ "version": "4.2.4",
4
4
  "description": "Connect local AI coding agents (Claude, Codex, Gemini, Qwen, DeepSeek, Cursor, OpenCode, Pi, OpenHuman, Reasonix) to the Grix scheduling platform. Also serves as an OpenClaw plugin for Grix channel transport.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",