@hybridaione/hybridclaw 0.12.3 → 0.12.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 (182) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +4 -3
  3. package/config.example.json +12 -0
  4. package/console/dist/assets/index-Bkj0YVZ5.js +23 -0
  5. package/console/dist/assets/index-DOYcGDs8.css +1 -0
  6. package/console/dist/assets/{terminal-Ck76zy5f.js → terminal-DShGVqqW.js} +1 -1
  7. package/console/dist/index.html +2 -2
  8. package/container/package-lock.json +2 -2
  9. package/container/package.json +1 -1
  10. package/dist/agents/agent-registry.d.ts.map +1 -1
  11. package/dist/agents/agent-registry.js +7 -0
  12. package/dist/agents/agent-registry.js.map +1 -1
  13. package/dist/agents/agent-types.d.ts +1 -0
  14. package/dist/agents/agent-types.d.ts.map +1 -1
  15. package/dist/agents/agent-types.js.map +1 -1
  16. package/dist/agents/claw-archive.d.ts.map +1 -1
  17. package/dist/agents/claw-archive.js +11 -0
  18. package/dist/agents/claw-archive.js.map +1 -1
  19. package/dist/agents/claw-manifest.d.ts +1 -0
  20. package/dist/agents/claw-manifest.d.ts.map +1 -1
  21. package/dist/agents/claw-manifest.js +4 -13
  22. package/dist/agents/claw-manifest.js.map +1 -1
  23. package/dist/channels/channel-registry.d.ts.map +1 -1
  24. package/dist/channels/channel-registry.js +5 -1
  25. package/dist/channels/channel-registry.js.map +1 -1
  26. package/dist/channels/channel.d.ts +3 -2
  27. package/dist/channels/channel.d.ts.map +1 -1
  28. package/dist/channels/channel.js +10 -0
  29. package/dist/channels/channel.js.map +1 -1
  30. package/dist/channels/discord/approval-buttons.d.ts.map +1 -1
  31. package/dist/channels/discord/approval-buttons.js +6 -5
  32. package/dist/channels/discord/approval-buttons.js.map +1 -1
  33. package/dist/channels/discord/runtime.d.ts +4 -2
  34. package/dist/channels/discord/runtime.d.ts.map +1 -1
  35. package/dist/channels/discord/runtime.js +23 -8
  36. package/dist/channels/discord/runtime.js.map +1 -1
  37. package/dist/channels/message/tool-actions.d.ts.map +1 -1
  38. package/dist/channels/message/tool-actions.js +7 -0
  39. package/dist/channels/message/tool-actions.js.map +1 -1
  40. package/dist/channels/prompt-adapters.d.ts.map +1 -1
  41. package/dist/channels/prompt-adapters.js +3 -0
  42. package/dist/channels/prompt-adapters.js.map +1 -1
  43. package/dist/channels/slack/approval-buttons.d.ts +45 -0
  44. package/dist/channels/slack/approval-buttons.d.ts.map +1 -0
  45. package/dist/channels/slack/approval-buttons.js +95 -0
  46. package/dist/channels/slack/approval-buttons.js.map +1 -0
  47. package/dist/channels/slack/delivery.d.ts +3 -0
  48. package/dist/channels/slack/delivery.d.ts.map +1 -0
  49. package/dist/channels/slack/delivery.js +59 -0
  50. package/dist/channels/slack/delivery.js.map +1 -0
  51. package/dist/channels/slack/inbound.d.ts +67 -0
  52. package/dist/channels/slack/inbound.d.ts.map +1 -0
  53. package/dist/channels/slack/inbound.js +335 -0
  54. package/dist/channels/slack/inbound.js.map +1 -0
  55. package/dist/channels/slack/prompt-adapter.d.ts +3 -0
  56. package/dist/channels/slack/prompt-adapter.d.ts.map +1 -0
  57. package/dist/channels/slack/prompt-adapter.js +26 -0
  58. package/dist/channels/slack/prompt-adapter.js.map +1 -0
  59. package/dist/channels/slack/runtime.d.ts +58 -0
  60. package/dist/channels/slack/runtime.d.ts.map +1 -0
  61. package/dist/channels/slack/runtime.js +753 -0
  62. package/dist/channels/slack/runtime.js.map +1 -0
  63. package/dist/channels/slack/slash-commands.d.ts +27 -0
  64. package/dist/channels/slack/slash-commands.d.ts.map +1 -0
  65. package/dist/channels/slack/slash-commands.js +173 -0
  66. package/dist/channels/slack/slash-commands.js.map +1 -0
  67. package/dist/channels/slack/target.d.ts +12 -0
  68. package/dist/channels/slack/target.d.ts.map +1 -0
  69. package/dist/channels/slack/target.js +62 -0
  70. package/dist/channels/slack/target.js.map +1 -0
  71. package/dist/channels/slack/tool-actions.d.ts +5 -0
  72. package/dist/channels/slack/tool-actions.d.ts.map +1 -0
  73. package/dist/channels/slack/tool-actions.js +294 -0
  74. package/dist/channels/slack/tool-actions.js.map +1 -0
  75. package/dist/cli/auth-command.d.ts.map +1 -1
  76. package/dist/cli/auth-command.js +176 -5
  77. package/dist/cli/auth-command.js.map +1 -1
  78. package/dist/cli/channels-command.d.ts.map +1 -1
  79. package/dist/cli/channels-command.js +175 -4
  80. package/dist/cli/channels-command.js.map +1 -1
  81. package/dist/cli/help.d.ts +1 -0
  82. package/dist/cli/help.d.ts.map +1 -1
  83. package/dist/cli/help.js +36 -5
  84. package/dist/cli/help.js.map +1 -1
  85. package/dist/config/config.d.ts +11 -0
  86. package/dist/config/config.d.ts.map +1 -1
  87. package/dist/config/config.js +26 -0
  88. package/dist/config/config.js.map +1 -1
  89. package/dist/config/runtime-config.d.ts +18 -1
  90. package/dist/config/runtime-config.d.ts.map +1 -1
  91. package/dist/config/runtime-config.js +87 -3
  92. package/dist/config/runtime-config.js.map +1 -1
  93. package/dist/gateway/approval-button-labels.d.ts +8 -0
  94. package/dist/gateway/approval-button-labels.d.ts.map +1 -0
  95. package/dist/gateway/approval-button-labels.js +8 -0
  96. package/dist/gateway/approval-button-labels.js.map +1 -0
  97. package/dist/gateway/approval-confirmation.d.ts.map +1 -1
  98. package/dist/gateway/approval-confirmation.js +6 -5
  99. package/dist/gateway/approval-confirmation.js.map +1 -1
  100. package/dist/gateway/approval-presentation.d.ts +16 -0
  101. package/dist/gateway/approval-presentation.d.ts.map +1 -0
  102. package/dist/gateway/approval-presentation.js +55 -0
  103. package/dist/gateway/approval-presentation.js.map +1 -0
  104. package/dist/gateway/gateway-http-server.d.ts.map +1 -1
  105. package/dist/gateway/gateway-http-server.js +16 -0
  106. package/dist/gateway/gateway-http-server.js.map +1 -1
  107. package/dist/gateway/gateway-scheduled-task-service.d.ts.map +1 -1
  108. package/dist/gateway/gateway-scheduled-task-service.js +48 -8
  109. package/dist/gateway/gateway-scheduled-task-service.js.map +1 -1
  110. package/dist/gateway/gateway-service.d.ts +3 -0
  111. package/dist/gateway/gateway-service.d.ts.map +1 -1
  112. package/dist/gateway/gateway-service.js +23 -0
  113. package/dist/gateway/gateway-service.js.map +1 -1
  114. package/dist/gateway/gateway-types.d.ts +14 -0
  115. package/dist/gateway/gateway-types.d.ts.map +1 -1
  116. package/dist/gateway/gateway-types.js.map +1 -1
  117. package/dist/gateway/gateway.js +267 -7
  118. package/dist/gateway/gateway.js.map +1 -1
  119. package/dist/gateway/pending-approvals.d.ts +7 -0
  120. package/dist/gateway/pending-approvals.d.ts.map +1 -1
  121. package/dist/gateway/pending-approvals.js +23 -1
  122. package/dist/gateway/pending-approvals.js.map +1 -1
  123. package/dist/gateway/proactive-delivery.d.ts.map +1 -1
  124. package/dist/gateway/proactive-delivery.js +3 -0
  125. package/dist/gateway/proactive-delivery.js.map +1 -1
  126. package/dist/gateway/text-channel-commands.d.ts.map +1 -1
  127. package/dist/gateway/text-channel-commands.js +2 -1
  128. package/dist/gateway/text-channel-commands.js.map +1 -1
  129. package/dist/infra/container-runner.js +1 -1
  130. package/dist/infra/container-runner.js.map +1 -1
  131. package/dist/infra/host-runner.js +1 -1
  132. package/dist/infra/host-runner.js.map +1 -1
  133. package/dist/media/managed-temp-media.d.ts +1 -0
  134. package/dist/media/managed-temp-media.d.ts.map +1 -1
  135. package/dist/media/managed-temp-media.js +5 -1
  136. package/dist/media/managed-temp-media.js.map +1 -1
  137. package/dist/memory/db.d.ts +1 -1
  138. package/dist/memory/db.d.ts.map +1 -1
  139. package/dist/memory/db.js +45 -5
  140. package/dist/memory/db.js.map +1 -1
  141. package/dist/scheduler/scheduled-task-runner.d.ts.map +1 -1
  142. package/dist/scheduler/scheduled-task-runner.js +31 -0
  143. package/dist/scheduler/scheduled-task-runner.js.map +1 -1
  144. package/dist/scheduler/scheduler.d.ts +1 -0
  145. package/dist/scheduler/scheduler.d.ts.map +1 -1
  146. package/dist/scheduler/scheduler.js +141 -10
  147. package/dist/scheduler/scheduler.js.map +1 -1
  148. package/dist/security/runtime-secrets.d.ts +1 -1
  149. package/dist/security/runtime-secrets.d.ts.map +1 -1
  150. package/dist/security/runtime-secrets.js +2 -0
  151. package/dist/security/runtime-secrets.js.map +1 -1
  152. package/dist/session/session-context.d.ts.map +1 -1
  153. package/dist/session/session-context.js +1 -0
  154. package/dist/session/session-context.js.map +1 -1
  155. package/dist/session/session-reset.d.ts.map +1 -1
  156. package/dist/session/session-reset.js +3 -0
  157. package/dist/session/session-reset.js.map +1 -1
  158. package/dist/skills/skills.d.ts.map +1 -1
  159. package/dist/skills/skills.js +9 -1
  160. package/dist/skills/skills.js.map +1 -1
  161. package/dist/tui-proactive.d.ts.map +1 -1
  162. package/dist/tui-proactive.js +7 -0
  163. package/dist/tui-proactive.js.map +1 -1
  164. package/dist/tui-skill-config.d.ts +1 -1
  165. package/dist/tui-skill-config.d.ts.map +1 -1
  166. package/dist/tui.d.ts.map +1 -1
  167. package/dist/tui.js +24 -45
  168. package/dist/tui.js.map +1 -1
  169. package/dist/utils/normalized-strings.d.ts +2 -0
  170. package/dist/utils/normalized-strings.d.ts.map +1 -1
  171. package/dist/utils/normalized-strings.js +19 -0
  172. package/dist/utils/normalized-strings.js.map +1 -1
  173. package/docs/development/getting-started/README.md +2 -2
  174. package/docs/development/getting-started/channels.md +11 -8
  175. package/docs/development/getting-started/installation.md +1 -1
  176. package/docs/development/internals/runtime.md +3 -1
  177. package/docs/development/reference/commands.md +7 -4
  178. package/docs/index.html +33 -38
  179. package/docs/slack.md +384 -0
  180. package/package.json +2 -1
  181. package/console/dist/assets/index-B2MuW9U9.css +0 -1
  182. package/console/dist/assets/index-CxfHZER4.js +0 -23
package/CHANGELOG.md CHANGED
@@ -2,6 +2,42 @@
2
2
 
3
3
  ## [Coming up]
4
4
 
5
+ ## [0.12.4](https://github.com/HybridAIOne/hybridclaw/tree/v0.12.4)
6
+
7
+ ### Added
8
+
9
+ - **Slack channel transport**: Added a built-in Slack Socket Mode transport
10
+ with `hybridclaw auth login slack`, DM and channel policy controls,
11
+ thread-aware session routing, file/media handling, approval buttons, and a
12
+ dedicated setup guide for operator rollout.
13
+ - **Immediate one-shot scheduler jobs**: Added config-backed `one_shot` jobs
14
+ that run immediately, retry up to `maxRetries`, preserve review state, and
15
+ surface richer delivery output across the gateway and admin scheduler UI.
16
+
17
+ ### Changed
18
+
19
+ - **Admin console dialog and toast UX**: Replaced inline banners with
20
+ accessible dialog/toast primitives, tightened scheduler and jobs feedback
21
+ flows, and refined the mobile topbar/sidebar interaction.
22
+ - **Per-agent skill filtering**: Agent `skills` settings now narrow the
23
+ globally enabled skill set, while omitting `skills` keeps the existing
24
+ global scope for backward compatibility.
25
+ - **Approval presentation across channels**: Gateway approval copy and channel
26
+ actions now render more consistently, preserve approval ids correctly, and
27
+ align Discord and Slack approval flows more closely.
28
+
29
+ ### Fixed
30
+
31
+ - **Slack slash-command ergonomics**: Slack slash commands use shorter
32
+ `/hc-*` names, keep runtime command coverage aligned with the shipped
33
+ manifest, and avoid review regressions in channel setup/documentation flows.
34
+ - **Scheduler delivery state reporting**: One-shot deliveries now report retry
35
+ and review outcomes more clearly instead of leaving ambiguous scheduler state
36
+ after gateway or console handoff.
37
+ - **Console accessibility edge cases**: Toast and dialog flows now keep
38
+ backdrops interactive, ignore closed dialogs in Escape-key handling, and
39
+ harden focus/visibility coordination during layered UI interactions.
40
+
5
41
  ## [0.12.3](https://github.com/HybridAIOne/hybridclaw/tree/v0.12.3)
6
42
 
7
43
  ### Added
@@ -50,6 +86,9 @@
50
86
  - **Telegram config reload behavior**: Running gateways now restart the
51
87
  Telegram integration automatically when `telegram.*` config changes land, so
52
88
  most setup edits apply within a few seconds without a full gateway restart.
89
+ - **Per-agent skill allowlists**: Agent `skills` settings now narrow the
90
+ globally enabled skill set, while omitting `skills` keeps the existing
91
+ globally enabled scope for backward compatibility.
53
92
 
54
93
  ### Fixed
55
94
 
package/README.md CHANGED
@@ -19,7 +19,7 @@ security, and operational visibility. It combines sandboxed execution, secure
19
19
  credentials, approvals, persistent memory, and admin surfaces behind a single
20
20
  gateway.
21
21
 
22
- Connect it to Discord, WhatsApp, Telegram, Microsoft Teams, email, or the web. Run it
22
+ Connect it to Discord, Slack, WhatsApp, Telegram, Microsoft Teams, email, or the web. Run it
23
23
  locally, deploy it for business workflows, and keep your agents, secrets, and
24
24
  data under your control.
25
25
 
@@ -75,7 +75,7 @@ Once the gateway is running, open HybridClaw locally:
75
75
  - Web Chat: `http://127.0.0.1:9090/chat`
76
76
  - Admin Console: `http://127.0.0.1:9090/admin` for channels, scheduler, audit, and config
77
77
  - Agent Dashboard: `http://127.0.0.1:9090/agents`
78
- - or connect WhatsApp, Telegram, Discord, Microsoft Teams, Email
78
+ - or connect Slack, WhatsApp, Telegram, Discord, Microsoft Teams, Email
79
79
 
80
80
  ## How HybridClaw compares
81
81
 
@@ -124,7 +124,7 @@ Once the gateway is running, open HybridClaw locally:
124
124
 
125
125
  ## Architecture
126
126
 
127
- - **Gateway service** (Node.js) — shared message/command handlers, SQLite persistence (KV + semantic + knowledge graph + canonical sessions + usage events), scheduler, heartbeat, web/API, loopback OpenAI-compatible API, and channel integrations for Discord, Microsoft Teams, Telegram, iMessage, WhatsApp, and email
127
+ - **Gateway service** (Node.js) — shared message/command handlers, SQLite persistence (KV + semantic + knowledge graph + canonical sessions + usage events), scheduler, heartbeat, web/API, loopback OpenAI-compatible API, and channel integrations for Discord, Slack, Microsoft Teams, Telegram, iMessage, WhatsApp, and email
128
128
  - **TUI client** — thin client over HTTP (`/api/chat`, `/api/command`) with
129
129
  a structured startup banner that surfaces model, sandbox, gateway, and
130
130
  chatbot context before the first prompt
@@ -152,6 +152,7 @@ Browse the full manual at
152
152
  [FAQ](https://www.hybridclaw.io/docs/reference/faq#can-i-migrate-an-existing-openclaw-or-hermes-agent-home)
153
153
  - Channels:
154
154
  [Channel Setup](https://www.hybridclaw.io/docs/getting-started/channels),
155
+ [Slack](https://www.hybridclaw.io/docs/slack),
155
156
  [iMessage](https://www.hybridclaw.io/docs/imessage), and
156
157
  [MS Teams](https://www.hybridclaw.io/docs/msteams)
157
158
  - Skills and plugins:
@@ -12,6 +12,7 @@
12
12
  "channelDisabled": {
13
13
  "discord": [],
14
14
  "msteams": [],
15
+ "slack": [],
15
16
  "telegram": [],
16
17
  "whatsapp": [],
17
18
  "email": []
@@ -122,6 +123,17 @@
122
123
  "teams.microsoft.com"
123
124
  ]
124
125
  },
126
+ "slack": {
127
+ "enabled": false,
128
+ "groupPolicy": "allowlist",
129
+ "dmPolicy": "allowlist",
130
+ "allowFrom": [],
131
+ "groupAllowFrom": [],
132
+ "requireMention": true,
133
+ "textChunkLimit": 12000,
134
+ "replyStyle": "thread",
135
+ "mediaMaxMb": 20
136
+ },
125
137
  "telegram": {
126
138
  "enabled": false,
127
139
  "botToken": "",