openclaw-event-server-plugin 1.0.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.
Files changed (209) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +473 -0
  3. package/config.example.json +203 -0
  4. package/dist/broadcast/index.d.ts +3 -0
  5. package/dist/broadcast/index.d.ts.map +1 -0
  6. package/dist/broadcast/index.js +19 -0
  7. package/dist/broadcast/index.js.map +1 -0
  8. package/dist/broadcast/queue.d.ts +63 -0
  9. package/dist/broadcast/queue.d.ts.map +1 -0
  10. package/dist/broadcast/queue.js +259 -0
  11. package/dist/broadcast/queue.js.map +1 -0
  12. package/dist/broadcast/webhook.d.ts +30 -0
  13. package/dist/broadcast/webhook.d.ts.map +1 -0
  14. package/dist/broadcast/webhook.js +184 -0
  15. package/dist/broadcast/webhook.js.map +1 -0
  16. package/dist/broadcast/websocketServer.d.ts +90 -0
  17. package/dist/broadcast/websocketServer.d.ts.map +1 -0
  18. package/dist/broadcast/websocketServer.js +403 -0
  19. package/dist/broadcast/websocketServer.js.map +1 -0
  20. package/dist/config/config-types.d.ts +280 -0
  21. package/dist/config/config-types.d.ts.map +1 -0
  22. package/dist/config/config-types.js +3 -0
  23. package/dist/config/config-types.js.map +1 -0
  24. package/dist/config/default-config.d.ts +3 -0
  25. package/dist/config/default-config.d.ts.map +1 -0
  26. package/dist/config/default-config.js +136 -0
  27. package/dist/config/default-config.js.map +1 -0
  28. package/dist/config/env.d.ts +6 -0
  29. package/dist/config/env.d.ts.map +1 -0
  30. package/dist/config/env.js +160 -0
  31. package/dist/config/env.js.map +1 -0
  32. package/dist/config/event-types.d.ts +5 -0
  33. package/dist/config/event-types.d.ts.map +1 -0
  34. package/dist/config/event-types.js +54 -0
  35. package/dist/config/event-types.js.map +1 -0
  36. package/dist/config/handler.d.ts +9 -0
  37. package/dist/config/handler.d.ts.map +1 -0
  38. package/dist/config/handler.js +17 -0
  39. package/dist/config/handler.js.map +1 -0
  40. package/dist/config/helpers.d.ts +5 -0
  41. package/dist/config/helpers.d.ts.map +1 -0
  42. package/dist/config/helpers.js +40 -0
  43. package/dist/config/helpers.js.map +1 -0
  44. package/dist/config/index.d.ts +3 -0
  45. package/dist/config/index.d.ts.map +1 -0
  46. package/dist/config/index.js +19 -0
  47. package/dist/config/index.js.map +1 -0
  48. package/dist/config/merge.d.ts +6 -0
  49. package/dist/config/merge.d.ts.map +1 -0
  50. package/dist/config/merge.js +108 -0
  51. package/dist/config/merge.js.map +1 -0
  52. package/dist/config/schema-hook-bridge.d.ts +594 -0
  53. package/dist/config/schema-hook-bridge.d.ts.map +1 -0
  54. package/dist/config/schema-hook-bridge.js +423 -0
  55. package/dist/config/schema-hook-bridge.js.map +1 -0
  56. package/dist/config/schema.d.ts +915 -0
  57. package/dist/config/schema.d.ts.map +1 -0
  58. package/dist/config/schema.js +323 -0
  59. package/dist/config/schema.js.map +1 -0
  60. package/dist/config/types.d.ts +9 -0
  61. package/dist/config/types.d.ts.map +1 -0
  62. package/dist/config/types.js +28 -0
  63. package/dist/config/types.js.map +1 -0
  64. package/dist/config/validate-hook-bridge.d.ts +3 -0
  65. package/dist/config/validate-hook-bridge.d.ts.map +1 -0
  66. package/dist/config/validate-hook-bridge.js +246 -0
  67. package/dist/config/validate-hook-bridge.js.map +1 -0
  68. package/dist/config/validate.d.ts +17 -0
  69. package/dist/config/validate.d.ts.map +1 -0
  70. package/dist/config/validate.js +194 -0
  71. package/dist/config/validate.js.map +1 -0
  72. package/dist/events/index.d.ts +4 -0
  73. package/dist/events/index.d.ts.map +1 -0
  74. package/dist/events/index.js +20 -0
  75. package/dist/events/index.js.map +1 -0
  76. package/dist/events/redaction.d.ts +5 -0
  77. package/dist/events/redaction.d.ts.map +1 -0
  78. package/dist/events/redaction.js +46 -0
  79. package/dist/events/redaction.js.map +1 -0
  80. package/dist/events/signing.d.ts +8 -0
  81. package/dist/events/signing.d.ts.map +1 -0
  82. package/dist/events/signing.js +35 -0
  83. package/dist/events/signing.js.map +1 -0
  84. package/dist/events/types.d.ts +125 -0
  85. package/dist/events/types.d.ts.map +1 -0
  86. package/dist/events/types.js +9 -0
  87. package/dist/events/types.js.map +1 -0
  88. package/dist/hooks/agent-hooks.d.ts +59 -0
  89. package/dist/hooks/agent-hooks.d.ts.map +1 -0
  90. package/dist/hooks/agent-hooks.js +116 -0
  91. package/dist/hooks/agent-hooks.js.map +1 -0
  92. package/dist/hooks/command-hooks.d.ts +13 -0
  93. package/dist/hooks/command-hooks.d.ts.map +1 -0
  94. package/dist/hooks/command-hooks.js +26 -0
  95. package/dist/hooks/command-hooks.js.map +1 -0
  96. package/dist/hooks/event-factory.d.ts +21 -0
  97. package/dist/hooks/event-factory.d.ts.map +1 -0
  98. package/dist/hooks/event-factory.js +31 -0
  99. package/dist/hooks/event-factory.js.map +1 -0
  100. package/dist/hooks/gateway-hooks.d.ts +14 -0
  101. package/dist/hooks/gateway-hooks.d.ts.map +1 -0
  102. package/dist/hooks/gateway-hooks.js +43 -0
  103. package/dist/hooks/gateway-hooks.js.map +1 -0
  104. package/dist/hooks/index.d.ts +10 -0
  105. package/dist/hooks/index.d.ts.map +1 -0
  106. package/dist/hooks/index.js +26 -0
  107. package/dist/hooks/index.js.map +1 -0
  108. package/dist/hooks/message-hooks.d.ts +33 -0
  109. package/dist/hooks/message-hooks.d.ts.map +1 -0
  110. package/dist/hooks/message-hooks.js +208 -0
  111. package/dist/hooks/message-hooks.js.map +1 -0
  112. package/dist/hooks/session-hooks.d.ts +89 -0
  113. package/dist/hooks/session-hooks.d.ts.map +1 -0
  114. package/dist/hooks/session-hooks.js +253 -0
  115. package/dist/hooks/session-hooks.js.map +1 -0
  116. package/dist/hooks/status-reducer.d.ts +30 -0
  117. package/dist/hooks/status-reducer.d.ts.map +1 -0
  118. package/dist/hooks/status-reducer.js +157 -0
  119. package/dist/hooks/status-reducer.js.map +1 -0
  120. package/dist/hooks/subagent-hooks.d.ts +37 -0
  121. package/dist/hooks/subagent-hooks.d.ts.map +1 -0
  122. package/dist/hooks/subagent-hooks.js +79 -0
  123. package/dist/hooks/subagent-hooks.js.map +1 -0
  124. package/dist/hooks/subagent-tracker.d.ts +33 -0
  125. package/dist/hooks/subagent-tracker.d.ts.map +1 -0
  126. package/dist/hooks/subagent-tracker.js +73 -0
  127. package/dist/hooks/subagent-tracker.js.map +1 -0
  128. package/dist/hooks/tool-hooks.d.ts +132 -0
  129. package/dist/hooks/tool-hooks.d.ts.map +1 -0
  130. package/dist/hooks/tool-hooks.js +215 -0
  131. package/dist/hooks/tool-hooks.js.map +1 -0
  132. package/dist/index.d.ts +929 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +236 -0
  135. package/dist/index.js.map +1 -0
  136. package/dist/logging/event-file-logger.d.ts +21 -0
  137. package/dist/logging/event-file-logger.d.ts.map +1 -0
  138. package/dist/logging/event-file-logger.js +167 -0
  139. package/dist/logging/event-file-logger.js.map +1 -0
  140. package/dist/logging/index.d.ts +3 -0
  141. package/dist/logging/index.d.ts.map +1 -0
  142. package/dist/logging/index.js +19 -0
  143. package/dist/logging/index.js.map +1 -0
  144. package/dist/logging/runtime-logger.d.ts +12 -0
  145. package/dist/logging/runtime-logger.d.ts.map +1 -0
  146. package/dist/logging/runtime-logger.js +45 -0
  147. package/dist/logging/runtime-logger.js.map +1 -0
  148. package/dist/runtime/hook-bridge-actions.d.ts +9 -0
  149. package/dist/runtime/hook-bridge-actions.d.ts.map +1 -0
  150. package/dist/runtime/hook-bridge-actions.js +248 -0
  151. package/dist/runtime/hook-bridge-actions.js.map +1 -0
  152. package/dist/runtime/hook-bridge-dispatch-engine.d.ts +42 -0
  153. package/dist/runtime/hook-bridge-dispatch-engine.d.ts.map +1 -0
  154. package/dist/runtime/hook-bridge-dispatch-engine.js +233 -0
  155. package/dist/runtime/hook-bridge-dispatch-engine.js.map +1 -0
  156. package/dist/runtime/hook-bridge-tool-guard.d.ts +16 -0
  157. package/dist/runtime/hook-bridge-tool-guard.d.ts.map +1 -0
  158. package/dist/runtime/hook-bridge-tool-guard.js +236 -0
  159. package/dist/runtime/hook-bridge-tool-guard.js.map +1 -0
  160. package/dist/runtime/hook-bridge-utils.d.ts +11 -0
  161. package/dist/runtime/hook-bridge-utils.d.ts.map +1 -0
  162. package/dist/runtime/hook-bridge-utils.js +116 -0
  163. package/dist/runtime/hook-bridge-utils.js.map +1 -0
  164. package/dist/runtime/hook-bridge.d.ts +33 -0
  165. package/dist/runtime/hook-bridge.d.ts.map +1 -0
  166. package/dist/runtime/hook-bridge.js +359 -0
  167. package/dist/runtime/hook-bridge.js.map +1 -0
  168. package/dist/runtime/internal-handlers.d.ts +20 -0
  169. package/dist/runtime/internal-handlers.d.ts.map +1 -0
  170. package/dist/runtime/internal-handlers.js +225 -0
  171. package/dist/runtime/internal-handlers.js.map +1 -0
  172. package/dist/runtime/register-gateway-hooks.d.ts +4 -0
  173. package/dist/runtime/register-gateway-hooks.d.ts.map +1 -0
  174. package/dist/runtime/register-gateway-hooks.js +27 -0
  175. package/dist/runtime/register-gateway-hooks.js.map +1 -0
  176. package/dist/runtime/register-session-hooks.d.ts +4 -0
  177. package/dist/runtime/register-session-hooks.d.ts.map +1 -0
  178. package/dist/runtime/register-session-hooks.js +88 -0
  179. package/dist/runtime/register-session-hooks.js.map +1 -0
  180. package/dist/runtime/register-subagent-hooks.d.ts +4 -0
  181. package/dist/runtime/register-subagent-hooks.d.ts.map +1 -0
  182. package/dist/runtime/register-subagent-hooks.js +143 -0
  183. package/dist/runtime/register-subagent-hooks.js.map +1 -0
  184. package/dist/runtime/register-tool-hooks.d.ts +4 -0
  185. package/dist/runtime/register-tool-hooks.d.ts.map +1 -0
  186. package/dist/runtime/register-tool-hooks.js +348 -0
  187. package/dist/runtime/register-tool-hooks.js.map +1 -0
  188. package/dist/runtime/runtime-events.d.ts +14 -0
  189. package/dist/runtime/runtime-events.d.ts.map +1 -0
  190. package/dist/runtime/runtime-events.js +166 -0
  191. package/dist/runtime/runtime-events.js.map +1 -0
  192. package/dist/runtime/typed-hooks.d.ts +9 -0
  193. package/dist/runtime/typed-hooks.d.ts.map +1 -0
  194. package/dist/runtime/typed-hooks.js +14 -0
  195. package/dist/runtime/typed-hooks.js.map +1 -0
  196. package/dist/runtime/types.d.ts +91 -0
  197. package/dist/runtime/types.d.ts.map +1 -0
  198. package/dist/runtime/types.js +3 -0
  199. package/dist/runtime/types.js.map +1 -0
  200. package/dist/runtime/utils.d.ts +47 -0
  201. package/dist/runtime/utils.d.ts.map +1 -0
  202. package/dist/runtime/utils.js +166 -0
  203. package/dist/runtime/utils.js.map +1 -0
  204. package/dist/tools/replay-tool-guard.d.ts +3 -0
  205. package/dist/tools/replay-tool-guard.d.ts.map +1 -0
  206. package/dist/tools/replay-tool-guard.js +96 -0
  207. package/dist/tools/replay-tool-guard.js.map +1 -0
  208. package/openclaw.plugin.json +847 -0
  209. package/package.json +63 -0
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Agent event builders.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createAgentStatusEvent = createAgentStatusEvent;
7
+ exports.createAgentActivityEvent = createAgentActivityEvent;
8
+ exports.createAgentBootstrapEvent = createAgentBootstrapEvent;
9
+ exports.createAgentErrorEvent = createAgentErrorEvent;
10
+ exports.createAgentSessionEvent = createAgentSessionEvent;
11
+ exports.createAgentSubAgentSpawnEvent = createAgentSubAgentSpawnEvent;
12
+ const event_factory_1 = require("./event-factory");
13
+ function createAgentStatusEvent(context) {
14
+ return (0, event_factory_1.createCanonicalEvent)({
15
+ type: 'agent.status',
16
+ eventCategory: 'synthetic',
17
+ eventName: 'agent.status',
18
+ source: 'synthetic',
19
+ agentId: context.agentId,
20
+ sessionId: context.sessionId,
21
+ sessionKey: context.sessionKey,
22
+ correlationId: context.correlationId,
23
+ data: {
24
+ agentId: context.agentId,
25
+ status: context.status,
26
+ activity: context.activity,
27
+ activityDetail: context.activityDetail,
28
+ sourceEventType: context.sourceEventType,
29
+ },
30
+ metadata: context.metadata,
31
+ });
32
+ }
33
+ function createAgentActivityEvent(context) {
34
+ return (0, event_factory_1.createCanonicalEvent)({
35
+ type: 'agent.activity',
36
+ eventCategory: 'synthetic',
37
+ eventName: 'agent.activity',
38
+ source: 'synthetic',
39
+ agentId: context.agentId,
40
+ sessionId: context.sessionId,
41
+ sessionKey: context.sessionKey,
42
+ correlationId: context.correlationId,
43
+ data: {
44
+ agentId: context.agentId,
45
+ activity: context.activity,
46
+ activityDetail: context.activityDetail,
47
+ sourceEventType: context.sourceEventType,
48
+ toolName: context.toolName,
49
+ toolStatus: context.toolStatus,
50
+ },
51
+ metadata: context.metadata,
52
+ });
53
+ }
54
+ function createAgentBootstrapEvent(context) {
55
+ return (0, event_factory_1.createCanonicalEvent)({
56
+ type: 'agent.bootstrap',
57
+ eventCategory: 'agent',
58
+ eventName: 'agent:bootstrap',
59
+ source: 'internal-hook',
60
+ agentId: context.agentId,
61
+ sessionId: context.sessionId,
62
+ sessionKey: context.sessionKey,
63
+ data: context.data ?? {},
64
+ });
65
+ }
66
+ function createAgentErrorEvent(context) {
67
+ return (0, event_factory_1.createCanonicalEvent)({
68
+ type: 'agent.error',
69
+ eventCategory: 'agent',
70
+ eventName: 'agent:error',
71
+ source: 'internal-hook',
72
+ agentId: context.agentId,
73
+ sessionId: context.sessionId,
74
+ sessionKey: context.sessionKey,
75
+ error: {
76
+ message: context.error,
77
+ stack: context.stack,
78
+ kind: 'agent',
79
+ },
80
+ data: context.data ?? {},
81
+ });
82
+ }
83
+ function createAgentSessionEvent(context) {
84
+ return (0, event_factory_1.createCanonicalEvent)({
85
+ type: context.type,
86
+ eventCategory: 'agent',
87
+ eventName: context.type === 'agent.session_start' ? 'agent:session:start' : 'agent:session:end',
88
+ source: 'internal-hook',
89
+ agentId: context.agentId,
90
+ sessionId: context.sessionId,
91
+ sessionKey: context.sessionKey,
92
+ data: context.data ?? {},
93
+ });
94
+ }
95
+ function createAgentSubAgentSpawnEvent(context) {
96
+ return (0, event_factory_1.createCanonicalEvent)({
97
+ type: 'agent.sub_agent_spawn',
98
+ eventCategory: 'synthetic',
99
+ eventName: 'agent.sub_agent_spawn',
100
+ source: 'synthetic',
101
+ agentId: context.parentAgentId,
102
+ sessionId: context.parentSessionId,
103
+ sessionKey: context.parentSessionKey,
104
+ runId: context.runId,
105
+ data: {
106
+ parentAgentId: context.parentAgentId,
107
+ childAgentId: context.childAgentId,
108
+ parentSessionId: context.parentSessionId,
109
+ parentSessionKey: context.parentSessionKey,
110
+ childSessionKey: context.childSessionKey,
111
+ mode: context.mode,
112
+ ...(context.data ?? {}),
113
+ },
114
+ });
115
+ }
116
+ //# sourceMappingURL=agent-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-hooks.js","sourceRoot":"","sources":["../../src/hooks/agent-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CommandEvent } from '../events/types';
2
+ type CommandType = 'command.new' | 'command.reset' | 'command.stop';
3
+ export declare function createCommandEvent(context: {
4
+ type: CommandType;
5
+ sessionId?: string;
6
+ sessionKey?: string;
7
+ agentId?: string;
8
+ commandSource?: string;
9
+ senderId?: string;
10
+ data?: Record<string, unknown>;
11
+ }): CommandEvent;
12
+ export {};
13
+ //# sourceMappingURL=command-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/command-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,KAAK,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,YAAY,CAqBf"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommandEvent = createCommandEvent;
4
+ const event_factory_1 = require("./event-factory");
5
+ function createCommandEvent(context) {
6
+ const eventNameMap = {
7
+ 'command.new': 'command:new',
8
+ 'command.reset': 'command:reset',
9
+ 'command.stop': 'command:stop',
10
+ };
11
+ return (0, event_factory_1.createCanonicalEvent)({
12
+ type: context.type,
13
+ eventCategory: 'command',
14
+ eventName: eventNameMap[context.type],
15
+ source: 'internal-hook',
16
+ agentId: context.agentId,
17
+ sessionId: context.sessionId,
18
+ sessionKey: context.sessionKey,
19
+ data: {
20
+ commandSource: context.commandSource,
21
+ senderId: context.senderId,
22
+ ...(context.data ?? {}),
23
+ },
24
+ });
25
+ }
26
+ //# sourceMappingURL=command-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-hooks.js","sourceRoot":"","sources":["../../src/hooks/command-hooks.ts"],"names":[],"mappings":";;AAKA,gDA6BC;AAjCD,mDAAuD;AAIvD,SAAgB,kBAAkB,CAAC,OAQlC;IACC,MAAM,YAAY,GAAgC;QAChD,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,eAAe;QAChC,cAAc,EAAE,cAAc;KAC/B,CAAC;IAEF,OAAO,IAAA,oCAAoB,EAAC;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE;YACJ,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { EventCategory, EventError, EventSource, EventType, OpenClawEvent } from '../events/types';
2
+ export interface CanonicalEventInput {
3
+ type: EventType;
4
+ eventCategory: EventCategory;
5
+ eventName: string;
6
+ source: EventSource;
7
+ agentId?: string;
8
+ agentName?: string;
9
+ sessionId?: string;
10
+ sessionKey?: string;
11
+ sessionName?: string;
12
+ runId?: string;
13
+ toolCallId?: string;
14
+ correlationId?: string;
15
+ result?: unknown;
16
+ error?: EventError;
17
+ data?: Record<string, unknown>;
18
+ metadata?: Record<string, unknown>;
19
+ }
20
+ export declare function createCanonicalEvent(input: CanonicalEventInput): OpenClawEvent;
21
+ //# sourceMappingURL=event-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-factory.d.ts","sourceRoot":"","sources":["../../src/hooks/event-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKnG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,aAAa,CAuB9E"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCanonicalEvent = createCanonicalEvent;
4
+ const uuid_1 = require("uuid");
5
+ const PLUGIN_VERSION = '1.0.0';
6
+ const EVENT_SCHEMA_VERSION = '1.1.0';
7
+ function createCanonicalEvent(input) {
8
+ return {
9
+ eventId: (0, uuid_1.v4)(),
10
+ schemaVersion: EVENT_SCHEMA_VERSION,
11
+ type: input.type,
12
+ eventCategory: input.eventCategory,
13
+ eventName: input.eventName,
14
+ source: input.source,
15
+ timestamp: new Date().toISOString(),
16
+ agentId: input.agentId,
17
+ agentName: input.agentName,
18
+ sessionId: input.sessionId,
19
+ sessionKey: input.sessionKey,
20
+ sessionName: input.sessionName,
21
+ runId: input.runId,
22
+ toolCallId: input.toolCallId,
23
+ correlationId: input.correlationId ?? (0, uuid_1.v4)(),
24
+ result: input.result,
25
+ error: input.error,
26
+ pluginVersion: PLUGIN_VERSION,
27
+ data: input.data ?? {},
28
+ metadata: input.metadata,
29
+ };
30
+ }
31
+ //# sourceMappingURL=event-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-factory.js","sourceRoot":"","sources":["../../src/hooks/event-factory.ts"],"names":[],"mappings":";;AAyBA,oDAuBC;AAhDD,+BAAoC;AAGpC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAqBrC,SAAgB,oBAAoB,CAAC,KAA0B;IAC7D,OAAO;QACL,OAAO,EAAE,IAAA,SAAM,GAAE;QACjB,aAAa,EAAE,oBAAoB;QACnC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAA,SAAM,GAAE;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,cAAc;QAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { GatewayEvent } from '../events/types';
2
+ export declare function createGatewayStartupEvent(context: {
3
+ port?: number;
4
+ data?: Record<string, unknown>;
5
+ }): GatewayEvent;
6
+ export declare function createGatewayPluginStartEvent(context: {
7
+ port?: number;
8
+ data?: Record<string, unknown>;
9
+ }): GatewayEvent;
10
+ export declare function createGatewayPluginStopEvent(context: {
11
+ reason?: string;
12
+ data?: Record<string, unknown>;
13
+ }): GatewayEvent;
14
+ //# sourceMappingURL=gateway-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/gateway-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,YAAY,CAWf;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,YAAY,CAWf;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,YAAY,CAWf"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGatewayStartupEvent = createGatewayStartupEvent;
4
+ exports.createGatewayPluginStartEvent = createGatewayPluginStartEvent;
5
+ exports.createGatewayPluginStopEvent = createGatewayPluginStopEvent;
6
+ const event_factory_1 = require("./event-factory");
7
+ function createGatewayStartupEvent(context) {
8
+ return (0, event_factory_1.createCanonicalEvent)({
9
+ type: 'gateway.startup',
10
+ eventCategory: 'gateway',
11
+ eventName: 'gateway:startup',
12
+ source: 'internal-hook',
13
+ data: {
14
+ port: context.port,
15
+ ...(context.data ?? {}),
16
+ },
17
+ });
18
+ }
19
+ function createGatewayPluginStartEvent(context) {
20
+ return (0, event_factory_1.createCanonicalEvent)({
21
+ type: 'gateway.start',
22
+ eventCategory: 'gateway',
23
+ eventName: 'gateway_start',
24
+ source: 'plugin-hook',
25
+ data: {
26
+ port: context.port,
27
+ ...(context.data ?? {}),
28
+ },
29
+ });
30
+ }
31
+ function createGatewayPluginStopEvent(context) {
32
+ return (0, event_factory_1.createCanonicalEvent)({
33
+ type: 'gateway.stop',
34
+ eventCategory: 'gateway',
35
+ eventName: 'gateway_stop',
36
+ source: 'plugin-hook',
37
+ data: {
38
+ reason: context.reason,
39
+ ...(context.data ?? {}),
40
+ },
41
+ });
42
+ }
43
+ //# sourceMappingURL=gateway-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-hooks.js","sourceRoot":"","sources":["../../src/hooks/gateway-hooks.ts"],"names":[],"mappings":";;AAGA,8DAcC;AAED,sEAcC;AAED,oEAcC;AAhDD,mDAAuD;AAEvD,SAAgB,yBAAyB,CAAC,OAGzC;IACC,OAAO,IAAA,oCAAoB,EAAC;QAC1B,IAAI,EAAE,iBAAiB;QACvB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,6BAA6B,CAAC,OAG7C;IACC,OAAO,IAAA,oCAAoB,EAAC;QAC1B,IAAI,EAAE,eAAe;QACrB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,4BAA4B,CAAC,OAG5C;IACC,OAAO,IAAA,oCAAoB,EAAC;QAC1B,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from './message-hooks';
2
+ export * from './tool-hooks';
3
+ export * from './session-hooks';
4
+ export * from './agent-hooks';
5
+ export * from './command-hooks';
6
+ export * from './gateway-hooks';
7
+ export * from './subagent-hooks';
8
+ export * from './status-reducer';
9
+ export * from './subagent-tracker';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./message-hooks"), exports);
18
+ __exportStar(require("./tool-hooks"), exports);
19
+ __exportStar(require("./session-hooks"), exports);
20
+ __exportStar(require("./agent-hooks"), exports);
21
+ __exportStar(require("./command-hooks"), exports);
22
+ __exportStar(require("./gateway-hooks"), exports);
23
+ __exportStar(require("./subagent-hooks"), exports);
24
+ __exportStar(require("./status-reducer"), exports);
25
+ __exportStar(require("./subagent-tracker"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,+CAA6B;AAC7B,kDAAgC;AAChC,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Message event hooks implementation.
3
+ */
4
+ import { MessageEvent } from '../events/types';
5
+ export declare function fromOpenClawMessageSent(hookEvent: unknown): MessageEvent | null;
6
+ export declare function fromOpenClawMessageReceived(hookEvent: unknown): MessageEvent | null;
7
+ export declare function fromOpenClawMessageTranscribed(hookEvent: unknown): MessageEvent | null;
8
+ export declare function fromOpenClawMessagePreprocessed(hookEvent: unknown): MessageEvent | null;
9
+ export declare function createMessageSentEvent(context: Record<string, unknown> & {
10
+ sessionId?: string;
11
+ sessionKey?: string;
12
+ }): MessageEvent;
13
+ export declare function createMessageReceivedEvent(context: Record<string, unknown> & {
14
+ sessionId?: string;
15
+ sessionKey?: string;
16
+ }): MessageEvent;
17
+ export declare function createMessageTranscribedEvent(context: Record<string, unknown> & {
18
+ sessionId?: string;
19
+ sessionKey?: string;
20
+ }): MessageEvent;
21
+ export declare function createMessagePreprocessedEvent(context: Record<string, unknown> & {
22
+ sessionId?: string;
23
+ sessionKey?: string;
24
+ }): MessageEvent;
25
+ export declare function createMessageEditedEvent(context: Record<string, unknown> & {
26
+ sessionId?: string;
27
+ sessionKey?: string;
28
+ }): MessageEvent;
29
+ export declare function createMessageDeletedEvent(context: Record<string, unknown> & {
30
+ sessionId?: string;
31
+ sessionKey?: string;
32
+ }): MessageEvent;
33
+ //# sourceMappingURL=message-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/message-hooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAoE/C,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAkB/E;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAkBnF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAWtF;AAED,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAWvF;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,YAAY,CAoBd;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,YAAY,CAad;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,YAAY,CAad;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,YAAY,CAad;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,YAAY,CAUd;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,YAAY,CAUd"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ /**
3
+ * Message event hooks implementation.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fromOpenClawMessageSent = fromOpenClawMessageSent;
7
+ exports.fromOpenClawMessageReceived = fromOpenClawMessageReceived;
8
+ exports.fromOpenClawMessageTranscribed = fromOpenClawMessageTranscribed;
9
+ exports.fromOpenClawMessagePreprocessed = fromOpenClawMessagePreprocessed;
10
+ exports.createMessageSentEvent = createMessageSentEvent;
11
+ exports.createMessageReceivedEvent = createMessageReceivedEvent;
12
+ exports.createMessageTranscribedEvent = createMessageTranscribedEvent;
13
+ exports.createMessagePreprocessedEvent = createMessagePreprocessedEvent;
14
+ exports.createMessageEditedEvent = createMessageEditedEvent;
15
+ exports.createMessageDeletedEvent = createMessageDeletedEvent;
16
+ const event_factory_1 = require("./event-factory");
17
+ function isRecord(value) {
18
+ return typeof value === 'object' && value !== null;
19
+ }
20
+ function readString(value) {
21
+ return typeof value === 'string' ? value : undefined;
22
+ }
23
+ function readNumber(value) {
24
+ return typeof value === 'number' ? value : undefined;
25
+ }
26
+ function parseHook(hookEvent) {
27
+ if (!isRecord(hookEvent)) {
28
+ return null;
29
+ }
30
+ const context = isRecord(hookEvent.context) ? hookEvent.context : {};
31
+ return {
32
+ sessionKey: readString(hookEvent.sessionKey),
33
+ sessionId: readString(hookEvent.sessionId) ?? readString(hookEvent.sessionKey),
34
+ context,
35
+ };
36
+ }
37
+ function buildMessageData(context) {
38
+ const data = {};
39
+ const allowedKeys = [
40
+ 'from',
41
+ 'to',
42
+ 'content',
43
+ 'channelId',
44
+ 'accountId',
45
+ 'conversationId',
46
+ 'messageId',
47
+ 'isGroup',
48
+ 'groupId',
49
+ 'newContent',
50
+ 'originalContent',
51
+ 'success',
52
+ 'error',
53
+ 'transcript',
54
+ 'normalizedText',
55
+ 'metadata',
56
+ ];
57
+ for (const key of allowedKeys) {
58
+ if (key in context) {
59
+ data[key] = context[key];
60
+ }
61
+ }
62
+ if (!('channelId' in data)) {
63
+ data.channelId = 'unknown';
64
+ }
65
+ return data;
66
+ }
67
+ function fromOpenClawMessageSent(hookEvent) {
68
+ const parsed = parseHook(hookEvent);
69
+ if (!parsed) {
70
+ return null;
71
+ }
72
+ const to = readString(parsed.context.to);
73
+ const content = readString(parsed.context.content);
74
+ const channelId = readString(parsed.context.channelId);
75
+ if (!to || !content || !channelId) {
76
+ return null;
77
+ }
78
+ return createMessageSentEvent({
79
+ sessionId: parsed.sessionId,
80
+ sessionKey: parsed.sessionKey,
81
+ ...buildMessageData(parsed.context),
82
+ });
83
+ }
84
+ function fromOpenClawMessageReceived(hookEvent) {
85
+ const parsed = parseHook(hookEvent);
86
+ if (!parsed) {
87
+ return null;
88
+ }
89
+ const from = readString(parsed.context.from);
90
+ const content = readString(parsed.context.content);
91
+ const channelId = readString(parsed.context.channelId);
92
+ if (!from || !content || !channelId) {
93
+ return null;
94
+ }
95
+ return createMessageReceivedEvent({
96
+ sessionId: parsed.sessionId,
97
+ sessionKey: parsed.sessionKey,
98
+ ...buildMessageData(parsed.context),
99
+ });
100
+ }
101
+ function fromOpenClawMessageTranscribed(hookEvent) {
102
+ const parsed = parseHook(hookEvent);
103
+ if (!parsed) {
104
+ return null;
105
+ }
106
+ return createMessageTranscribedEvent({
107
+ sessionId: parsed.sessionId,
108
+ sessionKey: parsed.sessionKey,
109
+ ...buildMessageData(parsed.context),
110
+ });
111
+ }
112
+ function fromOpenClawMessagePreprocessed(hookEvent) {
113
+ const parsed = parseHook(hookEvent);
114
+ if (!parsed) {
115
+ return null;
116
+ }
117
+ return createMessagePreprocessedEvent({
118
+ sessionId: parsed.sessionId,
119
+ sessionKey: parsed.sessionKey,
120
+ ...buildMessageData(parsed.context),
121
+ });
122
+ }
123
+ function createMessageSentEvent(context) {
124
+ return (0, event_factory_1.createCanonicalEvent)({
125
+ type: 'message.sent',
126
+ eventCategory: 'message',
127
+ eventName: 'message:sent',
128
+ source: 'internal-hook',
129
+ sessionId: readString(context.sessionId),
130
+ sessionKey: readString(context.sessionKey),
131
+ data: buildMessageData(context),
132
+ result: context.success,
133
+ error: readString(context.error)
134
+ ? {
135
+ message: readString(context.error) ?? 'message send failed',
136
+ kind: 'unknown',
137
+ }
138
+ : undefined,
139
+ metadata: {
140
+ hookTimestamp: readNumber(context.timestamp),
141
+ },
142
+ });
143
+ }
144
+ function createMessageReceivedEvent(context) {
145
+ return (0, event_factory_1.createCanonicalEvent)({
146
+ type: 'message.received',
147
+ eventCategory: 'message',
148
+ eventName: 'message:received',
149
+ source: 'internal-hook',
150
+ sessionId: readString(context.sessionId),
151
+ sessionKey: readString(context.sessionKey),
152
+ data: buildMessageData(context),
153
+ metadata: {
154
+ hookTimestamp: readNumber(context.timestamp),
155
+ },
156
+ });
157
+ }
158
+ function createMessageTranscribedEvent(context) {
159
+ return (0, event_factory_1.createCanonicalEvent)({
160
+ type: 'message.transcribed',
161
+ eventCategory: 'message',
162
+ eventName: 'message:transcribed',
163
+ source: 'internal-hook',
164
+ sessionId: readString(context.sessionId),
165
+ sessionKey: readString(context.sessionKey),
166
+ data: buildMessageData(context),
167
+ metadata: {
168
+ hookTimestamp: readNumber(context.timestamp),
169
+ },
170
+ });
171
+ }
172
+ function createMessagePreprocessedEvent(context) {
173
+ return (0, event_factory_1.createCanonicalEvent)({
174
+ type: 'message.preprocessed',
175
+ eventCategory: 'message',
176
+ eventName: 'message:preprocessed',
177
+ source: 'internal-hook',
178
+ sessionId: readString(context.sessionId),
179
+ sessionKey: readString(context.sessionKey),
180
+ data: buildMessageData(context),
181
+ metadata: {
182
+ hookTimestamp: readNumber(context.timestamp),
183
+ },
184
+ });
185
+ }
186
+ function createMessageEditedEvent(context) {
187
+ return (0, event_factory_1.createCanonicalEvent)({
188
+ type: 'message.edited',
189
+ eventCategory: 'message',
190
+ eventName: 'message:edited',
191
+ source: 'internal-hook',
192
+ sessionId: readString(context.sessionId),
193
+ sessionKey: readString(context.sessionKey),
194
+ data: buildMessageData(context),
195
+ });
196
+ }
197
+ function createMessageDeletedEvent(context) {
198
+ return (0, event_factory_1.createCanonicalEvent)({
199
+ type: 'message.deleted',
200
+ eventCategory: 'message',
201
+ eventName: 'message:deleted',
202
+ source: 'internal-hook',
203
+ sessionId: readString(context.sessionId),
204
+ sessionKey: readString(context.sessionKey),
205
+ data: buildMessageData(context),
206
+ });
207
+ }
208
+ //# sourceMappingURL=message-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-hooks.js","sourceRoot":"","sources":["../../src/hooks/message-hooks.ts"],"names":[],"mappings":"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"}