agent-world 0.11.0 → 0.12.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 (267) hide show
  1. package/README.md +55 -4
  2. package/dist/cli/commands.d.ts +109 -0
  3. package/dist/cli/commands.js +2024 -0
  4. package/dist/cli/display.d.ts +124 -0
  5. package/dist/cli/display.js +381 -0
  6. package/dist/cli/hitl.d.ts +33 -0
  7. package/dist/cli/hitl.js +81 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/stream.d.ts +41 -0
  10. package/dist/cli/stream.js +222 -0
  11. package/dist/core/activity-tracker.d.ts +16 -0
  12. package/dist/core/activity-tracker.d.ts.map +1 -0
  13. package/dist/core/activity-tracker.js +91 -0
  14. package/dist/core/activity-tracker.js.map +1 -0
  15. package/dist/core/ai-commands.d.ts +16 -0
  16. package/dist/core/ai-commands.d.ts.map +1 -0
  17. package/dist/core/ai-commands.js +24 -0
  18. package/dist/core/ai-commands.js.map +1 -0
  19. package/dist/core/ai-sdk-patch.d.ts +24 -0
  20. package/dist/core/ai-sdk-patch.d.ts.map +1 -0
  21. package/dist/core/ai-sdk-patch.js +169 -0
  22. package/dist/core/ai-sdk-patch.js.map +1 -0
  23. package/dist/core/anthropic-direct.d.ts +52 -0
  24. package/dist/core/anthropic-direct.d.ts.map +1 -0
  25. package/dist/core/anthropic-direct.js +301 -0
  26. package/dist/core/anthropic-direct.js.map +1 -0
  27. package/dist/core/approval-cache.d.ts +104 -0
  28. package/dist/core/approval-cache.d.ts.map +1 -0
  29. package/dist/core/approval-cache.js +150 -0
  30. package/dist/core/approval-cache.js.map +1 -0
  31. package/dist/core/chat-constants.d.ts +20 -0
  32. package/dist/core/chat-constants.d.ts.map +1 -0
  33. package/dist/core/chat-constants.js +22 -0
  34. package/dist/core/chat-constants.js.map +1 -0
  35. package/dist/core/create-agent-tool.d.ts +66 -0
  36. package/dist/core/create-agent-tool.d.ts.map +1 -0
  37. package/dist/core/create-agent-tool.js +212 -0
  38. package/dist/core/create-agent-tool.js.map +1 -0
  39. package/dist/core/events/approval-checker.d.ts +61 -0
  40. package/dist/core/events/approval-checker.d.ts.map +1 -0
  41. package/dist/core/events/approval-checker.js +226 -0
  42. package/dist/core/events/approval-checker.js.map +1 -0
  43. package/dist/core/events/index.d.ts +25 -0
  44. package/dist/core/events/index.d.ts.map +1 -0
  45. package/dist/core/events/index.js +30 -0
  46. package/dist/core/events/index.js.map +1 -0
  47. package/dist/core/events/memory-manager.d.ts +73 -0
  48. package/dist/core/events/memory-manager.d.ts.map +1 -0
  49. package/dist/core/events/memory-manager.js +1218 -0
  50. package/dist/core/events/memory-manager.js.map +1 -0
  51. package/dist/core/events/mention-logic.d.ts +39 -0
  52. package/dist/core/events/mention-logic.d.ts.map +1 -0
  53. package/dist/core/events/mention-logic.js +163 -0
  54. package/dist/core/events/mention-logic.js.map +1 -0
  55. package/dist/core/events/orchestrator.d.ts +69 -0
  56. package/dist/core/events/orchestrator.d.ts.map +1 -0
  57. package/dist/core/events/orchestrator.js +883 -0
  58. package/dist/core/events/orchestrator.js.map +1 -0
  59. package/dist/core/events/persistence.d.ts +41 -0
  60. package/dist/core/events/persistence.d.ts.map +1 -0
  61. package/dist/core/events/persistence.js +296 -0
  62. package/dist/core/events/persistence.js.map +1 -0
  63. package/dist/core/events/publishers.d.ts +81 -0
  64. package/dist/core/events/publishers.d.ts.map +1 -0
  65. package/dist/core/events/publishers.js +272 -0
  66. package/dist/core/events/publishers.js.map +1 -0
  67. package/dist/core/events/subscribers.d.ts +45 -0
  68. package/dist/core/events/subscribers.d.ts.map +1 -0
  69. package/dist/core/events/subscribers.js +288 -0
  70. package/dist/core/events/subscribers.js.map +1 -0
  71. package/dist/core/events/tool-bridge-logging.d.ts +28 -0
  72. package/dist/core/events/tool-bridge-logging.d.ts.map +1 -0
  73. package/dist/core/events/tool-bridge-logging.js +94 -0
  74. package/dist/core/events/tool-bridge-logging.js.map +1 -0
  75. package/dist/core/events-metadata.d.ts +72 -0
  76. package/dist/core/events-metadata.d.ts.map +1 -0
  77. package/dist/core/events-metadata.js +167 -0
  78. package/dist/core/events-metadata.js.map +1 -0
  79. package/dist/core/events.d.ts +186 -0
  80. package/dist/core/events.d.ts.map +1 -0
  81. package/dist/core/events.js +1248 -0
  82. package/dist/core/events.js.map +1 -0
  83. package/dist/core/export.d.ts +106 -0
  84. package/dist/core/export.d.ts.map +1 -0
  85. package/dist/core/export.js +705 -0
  86. package/dist/core/export.js.map +1 -0
  87. package/dist/core/file-tools.d.ts +114 -0
  88. package/dist/core/file-tools.d.ts.map +1 -0
  89. package/dist/core/file-tools.js +370 -0
  90. package/dist/core/file-tools.js.map +1 -0
  91. package/dist/core/google-direct.d.ts +58 -0
  92. package/dist/core/google-direct.d.ts.map +1 -0
  93. package/dist/core/google-direct.js +298 -0
  94. package/dist/core/google-direct.js.map +1 -0
  95. package/dist/core/hitl.d.ts +54 -0
  96. package/dist/core/hitl.d.ts.map +1 -0
  97. package/dist/core/hitl.js +153 -0
  98. package/dist/core/hitl.js.map +1 -0
  99. package/dist/core/index.d.ts +59 -0
  100. package/dist/core/index.d.ts.map +1 -0
  101. package/dist/core/index.js +70 -0
  102. package/dist/core/index.js.map +1 -0
  103. package/dist/core/llm-config.d.ts +128 -0
  104. package/dist/core/llm-config.d.ts.map +1 -0
  105. package/dist/core/llm-config.js +164 -0
  106. package/dist/core/llm-config.js.map +1 -0
  107. package/dist/core/llm-manager.d.ts +163 -0
  108. package/dist/core/llm-manager.d.ts.map +1 -0
  109. package/dist/core/llm-manager.js +669 -0
  110. package/dist/core/llm-manager.js.map +1 -0
  111. package/dist/core/load-skill-tool.d.ts +55 -0
  112. package/dist/core/load-skill-tool.d.ts.map +1 -0
  113. package/dist/core/load-skill-tool.js +468 -0
  114. package/dist/core/load-skill-tool.js.map +1 -0
  115. package/dist/core/logger.d.ts +88 -0
  116. package/dist/core/logger.d.ts.map +1 -0
  117. package/dist/core/logger.js +358 -0
  118. package/dist/core/logger.js.map +1 -0
  119. package/dist/core/managers.d.ts +131 -0
  120. package/dist/core/managers.d.ts.map +1 -0
  121. package/dist/core/managers.js +1223 -0
  122. package/dist/core/managers.js.map +1 -0
  123. package/dist/core/mcp-server-registry.d.ts +304 -0
  124. package/dist/core/mcp-server-registry.d.ts.map +1 -0
  125. package/dist/core/mcp-server-registry.js +1769 -0
  126. package/dist/core/mcp-server-registry.js.map +1 -0
  127. package/dist/core/mcp-tools.d.ts +56 -0
  128. package/dist/core/mcp-tools.d.ts.map +1 -0
  129. package/dist/core/mcp-tools.js +186 -0
  130. package/dist/core/mcp-tools.js.map +1 -0
  131. package/dist/core/message-prep.d.ts +81 -0
  132. package/dist/core/message-prep.d.ts.map +1 -0
  133. package/dist/core/message-prep.js +223 -0
  134. package/dist/core/message-prep.js.map +1 -0
  135. package/dist/core/message-processing-control.d.ts +54 -0
  136. package/dist/core/message-processing-control.d.ts.map +1 -0
  137. package/dist/core/message-processing-control.js +139 -0
  138. package/dist/core/message-processing-control.js.map +1 -0
  139. package/dist/core/openai-direct.d.ts +80 -0
  140. package/dist/core/openai-direct.d.ts.map +1 -0
  141. package/dist/core/openai-direct.js +374 -0
  142. package/dist/core/openai-direct.js.map +1 -0
  143. package/dist/core/shell-cmd-tool.d.ts +235 -0
  144. package/dist/core/shell-cmd-tool.d.ts.map +1 -0
  145. package/dist/core/shell-cmd-tool.js +1157 -0
  146. package/dist/core/shell-cmd-tool.js.map +1 -0
  147. package/dist/core/shell-process-registry.d.ts +88 -0
  148. package/dist/core/shell-process-registry.d.ts.map +1 -0
  149. package/dist/core/shell-process-registry.js +309 -0
  150. package/dist/core/shell-process-registry.js.map +1 -0
  151. package/dist/core/skill-registry.d.ts +75 -0
  152. package/dist/core/skill-registry.d.ts.map +1 -0
  153. package/dist/core/skill-registry.js +369 -0
  154. package/dist/core/skill-registry.js.map +1 -0
  155. package/dist/core/skill-script-runner.d.ts +89 -0
  156. package/dist/core/skill-script-runner.d.ts.map +1 -0
  157. package/dist/core/skill-script-runner.js +274 -0
  158. package/dist/core/skill-script-runner.js.map +1 -0
  159. package/dist/core/skill-selector.d.ts +65 -0
  160. package/dist/core/skill-selector.d.ts.map +1 -0
  161. package/dist/core/skill-selector.js +190 -0
  162. package/dist/core/skill-selector.js.map +1 -0
  163. package/dist/core/skill-settings.d.ts +20 -0
  164. package/dist/core/skill-settings.d.ts.map +1 -0
  165. package/dist/core/skill-settings.js +40 -0
  166. package/dist/core/skill-settings.js.map +1 -0
  167. package/dist/core/storage/agent-storage.d.ts +134 -0
  168. package/dist/core/storage/agent-storage.d.ts.map +1 -0
  169. package/dist/core/storage/agent-storage.js +498 -0
  170. package/dist/core/storage/agent-storage.js.map +1 -0
  171. package/dist/core/storage/eventStorage/fileEventStorage.d.ts +100 -0
  172. package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -0
  173. package/dist/core/storage/eventStorage/fileEventStorage.js +494 -0
  174. package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -0
  175. package/dist/core/storage/eventStorage/index.d.ts +31 -0
  176. package/dist/core/storage/eventStorage/index.d.ts.map +1 -0
  177. package/dist/core/storage/eventStorage/index.js +31 -0
  178. package/dist/core/storage/eventStorage/index.js.map +1 -0
  179. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +87 -0
  180. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -0
  181. package/dist/core/storage/eventStorage/memoryEventStorage.js +244 -0
  182. package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -0
  183. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +45 -0
  184. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -0
  185. package/dist/core/storage/eventStorage/sqliteEventStorage.js +301 -0
  186. package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -0
  187. package/dist/core/storage/eventStorage/types.d.ts +142 -0
  188. package/dist/core/storage/eventStorage/types.d.ts.map +1 -0
  189. package/dist/core/storage/eventStorage/types.js +43 -0
  190. package/dist/core/storage/eventStorage/types.js.map +1 -0
  191. package/dist/core/storage/eventStorage/validation.d.ts +30 -0
  192. package/dist/core/storage/eventStorage/validation.d.ts.map +1 -0
  193. package/dist/core/storage/eventStorage/validation.js +68 -0
  194. package/dist/core/storage/eventStorage/validation.js.map +1 -0
  195. package/dist/core/storage/legacy-migrations.d.ts +45 -0
  196. package/dist/core/storage/legacy-migrations.d.ts.map +1 -0
  197. package/dist/core/storage/legacy-migrations.js +295 -0
  198. package/dist/core/storage/legacy-migrations.js.map +1 -0
  199. package/dist/core/storage/memory-storage.d.ts +105 -0
  200. package/dist/core/storage/memory-storage.d.ts.map +1 -0
  201. package/dist/core/storage/memory-storage.js +415 -0
  202. package/dist/core/storage/memory-storage.js.map +1 -0
  203. package/dist/core/storage/migration-runner.d.ts +96 -0
  204. package/dist/core/storage/migration-runner.d.ts.map +1 -0
  205. package/dist/core/storage/migration-runner.js +306 -0
  206. package/dist/core/storage/migration-runner.js.map +1 -0
  207. package/dist/core/storage/queue-storage.d.ts +147 -0
  208. package/dist/core/storage/queue-storage.d.ts.map +1 -0
  209. package/dist/core/storage/queue-storage.js +290 -0
  210. package/dist/core/storage/queue-storage.js.map +1 -0
  211. package/dist/core/storage/skill-storage.d.ts +136 -0
  212. package/dist/core/storage/skill-storage.d.ts.map +1 -0
  213. package/dist/core/storage/skill-storage.js +474 -0
  214. package/dist/core/storage/skill-storage.js.map +1 -0
  215. package/dist/core/storage/sqlite-schema.d.ts +95 -0
  216. package/dist/core/storage/sqlite-schema.d.ts.map +1 -0
  217. package/dist/core/storage/sqlite-schema.js +156 -0
  218. package/dist/core/storage/sqlite-schema.js.map +1 -0
  219. package/dist/core/storage/sqlite-storage.d.ts +146 -0
  220. package/dist/core/storage/sqlite-storage.d.ts.map +1 -0
  221. package/dist/core/storage/sqlite-storage.js +709 -0
  222. package/dist/core/storage/sqlite-storage.js.map +1 -0
  223. package/dist/core/storage/storage-factory.d.ts +61 -0
  224. package/dist/core/storage/storage-factory.d.ts.map +1 -0
  225. package/dist/core/storage/storage-factory.js +794 -0
  226. package/dist/core/storage/storage-factory.js.map +1 -0
  227. package/dist/core/storage/validation.d.ts +36 -0
  228. package/dist/core/storage/validation.d.ts.map +1 -0
  229. package/dist/core/storage/validation.js +79 -0
  230. package/dist/core/storage/validation.js.map +1 -0
  231. package/dist/core/storage/world-storage.d.ts +114 -0
  232. package/dist/core/storage/world-storage.d.ts.map +1 -0
  233. package/dist/core/storage/world-storage.js +378 -0
  234. package/dist/core/storage/world-storage.js.map +1 -0
  235. package/dist/core/subscription.d.ts +43 -0
  236. package/dist/core/subscription.d.ts.map +1 -0
  237. package/dist/core/subscription.js +227 -0
  238. package/dist/core/subscription.js.map +1 -0
  239. package/dist/core/tool-utils.d.ts +80 -0
  240. package/dist/core/tool-utils.d.ts.map +1 -0
  241. package/dist/core/tool-utils.js +273 -0
  242. package/dist/core/tool-utils.js.map +1 -0
  243. package/dist/core/types.d.ts +595 -0
  244. package/dist/core/types.d.ts.map +1 -0
  245. package/dist/core/types.js +158 -0
  246. package/dist/core/types.js.map +1 -0
  247. package/dist/core/utils.d.ts +138 -0
  248. package/dist/core/utils.d.ts.map +1 -0
  249. package/dist/core/utils.js +478 -0
  250. package/dist/core/utils.js.map +1 -0
  251. package/dist/core/world-class.d.ts +43 -0
  252. package/dist/core/world-class.d.ts.map +1 -0
  253. package/dist/core/world-class.js +90 -0
  254. package/dist/core/world-class.js.map +1 -0
  255. package/dist/index.d.ts +18 -0
  256. package/dist/public/assets/agent-sprites-DJFgj-zP.png +0 -0
  257. package/dist/public/assets/border-KHK37r8y.svg +83 -0
  258. package/dist/public/assets/index-C9kPXL6G.css +1 -0
  259. package/dist/public/assets/index-DOQEHGWt.js +96 -0
  260. package/dist/public/index.html +21 -0
  261. package/dist/server/api.d.ts +2 -0
  262. package/dist/server/api.js +1124 -0
  263. package/dist/server/index.d.ts +29 -0
  264. package/dist/server/sse-handler.d.ts +62 -0
  265. package/dist/server/sse-handler.js +234 -0
  266. package/package.json +21 -5
  267. package/scripts/launch-electron.js +0 -58
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../core/events/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Events Persistence Module
3
+ *
4
+ * Handles automatic event persistence to storage with metadata enrichment.
5
+ * Provides setupEventPersistence function for World initialization.
6
+ *
7
+ * Features:
8
+ * - Message event persistence with enhanced metadata
9
+ * - SSE event persistence (start/end only, skips chunks)
10
+ * - Tool event persistence with validation
11
+ * - System and CRUD event persistence
12
+ * - Activity tracking event persistence
13
+ * - Automatic metadata calculation (agent context, threading, tool calls)
14
+ * - Error handling with graceful degradation
15
+ * - Environment-based disable flag
16
+ * - Uses world.eventStorage directly (no separate storage instance)
17
+ *
18
+ * Dependencies (Layer 4):
19
+ * - types.ts (Layer 1)
20
+ * - utils.ts
21
+ * - logger.ts
22
+ * - storage (runtime)
23
+ *
24
+ * Changes:
25
+ * - 2025-11-09: Fixed event persistence - use world.eventStorage directly instead of creating separate instance
26
+ * - 2025-01-09: Extracted from events.ts for modular architecture
27
+ */
28
+ import type { World } from '../types.js';
29
+ /**
30
+ * Setup automatic event persistence listeners on World event emitter.
31
+ * Should be called once during World initialization.
32
+ *
33
+ * Events are persisted synchronously/awaitable for reliability.
34
+ * Failures are logged but don't block event emission.
35
+ * Returns a cleanup function to remove listeners.
36
+ *
37
+ * Environment variables:
38
+ * - DISABLE_EVENT_PERSISTENCE=true: Skip all persistence
39
+ */
40
+ export declare function setupEventPersistence(world: World): () => void;
41
+ //# sourceMappingURL=persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../core/events/persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,KAAK,EAKN,MAAM,aAAa,CAAC;AAarB;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,IAAI,CAyR9D"}
@@ -0,0 +1,296 @@
1
+ /**
2
+ * Events Persistence Module
3
+ *
4
+ * Handles automatic event persistence to storage with metadata enrichment.
5
+ * Provides setupEventPersistence function for World initialization.
6
+ *
7
+ * Features:
8
+ * - Message event persistence with enhanced metadata
9
+ * - SSE event persistence (start/end only, skips chunks)
10
+ * - Tool event persistence with validation
11
+ * - System and CRUD event persistence
12
+ * - Activity tracking event persistence
13
+ * - Automatic metadata calculation (agent context, threading, tool calls)
14
+ * - Error handling with graceful degradation
15
+ * - Environment-based disable flag
16
+ * - Uses world.eventStorage directly (no separate storage instance)
17
+ *
18
+ * Dependencies (Layer 4):
19
+ * - types.ts (Layer 1)
20
+ * - utils.ts
21
+ * - logger.ts
22
+ * - storage (runtime)
23
+ *
24
+ * Changes:
25
+ * - 2025-11-09: Fixed event persistence - use world.eventStorage directly instead of creating separate instance
26
+ * - 2025-01-09: Extracted from events.ts for modular architecture
27
+ */
28
+ import { EventType } from '../types.js';
29
+ import { createCategoryLogger } from '../logger.js';
30
+ import { calculateOwnerAgentIds, calculateRecipientAgentId, calculateMessageDirection, calculateIsMemoryOnly, calculateIsCrossAgentMessage } from '../events-metadata.js';
31
+ const loggerPublish = createCategoryLogger('publish');
32
+ /**
33
+ * Setup automatic event persistence listeners on World event emitter.
34
+ * Should be called once during World initialization.
35
+ *
36
+ * Events are persisted synchronously/awaitable for reliability.
37
+ * Failures are logged but don't block event emission.
38
+ * Returns a cleanup function to remove listeners.
39
+ *
40
+ * Environment variables:
41
+ * - DISABLE_EVENT_PERSISTENCE=true: Skip all persistence
42
+ */
43
+ export function setupEventPersistence(world) {
44
+ if (process.env.DISABLE_EVENT_PERSISTENCE === 'true') {
45
+ loggerPublish.debug('Event persistence disabled by environment', { worldId: world.id });
46
+ return () => { }; // Return no-op cleanup
47
+ }
48
+ if (!world.eventStorage) {
49
+ loggerPublish.debug('Event storage not configured - events will not be persisted', { worldId: world.id });
50
+ return () => { }; // Return no-op cleanup
51
+ }
52
+ const storage = world.eventStorage;
53
+ // Helper to handle async persistence
54
+ const persistEvent = async (eventData) => {
55
+ try {
56
+ await storage.saveEvent(eventData);
57
+ }
58
+ catch (error) {
59
+ loggerPublish.error('Failed to persist event', {
60
+ worldId: world.id,
61
+ eventId: eventData.id,
62
+ eventType: eventData.type,
63
+ error: error instanceof Error ? error.message : error
64
+ });
65
+ }
66
+ };
67
+ // Message event persistence
68
+ const messageHandler = (event) => {
69
+ loggerPublish.debug('Message event received for persistence', {
70
+ worldId: world.id,
71
+ messageId: event.messageId,
72
+ sender: event.sender,
73
+ chatId: event.chatId
74
+ });
75
+ // Calculate enhanced metadata using helper functions
76
+ const ownerAgentIds = calculateOwnerAgentIds(world, event);
77
+ const recipientAgentId = calculateRecipientAgentId(world, event);
78
+ const messageDirection = calculateMessageDirection(world, event);
79
+ const isMemoryOnly = calculateIsMemoryOnly(world, event);
80
+ const isCrossAgentMessage = calculateIsCrossAgentMessage(world, event);
81
+ const isHumanMessage = event.sender === 'human' || event.sender === 'user';
82
+ // Calculate thread metadata (requires loading messages for accurate depth calculation)
83
+ // For now, use simplified version - can enhance later with full message history
84
+ const threadMetadata = event.replyToMessageId
85
+ ? { threadRootId: event.replyToMessageId, threadDepth: 1, isReply: true }
86
+ : { threadRootId: null, threadDepth: 0, isReply: false };
87
+ // Get tool call information if present
88
+ const hasToolCalls = !!(event.tool_calls?.length);
89
+ const toolCallCount = event.tool_calls?.length || 0;
90
+ const eventData = {
91
+ id: event.messageId,
92
+ worldId: world.id,
93
+ chatId: event.chatId || null,
94
+ type: 'message',
95
+ payload: {
96
+ content: event.content,
97
+ sender: event.sender,
98
+ replyToMessageId: event.replyToMessageId,
99
+ // Preserve OpenAI protocol fields for tool calls.
100
+ role: event.role,
101
+ tool_calls: event.tool_calls,
102
+ tool_call_id: event.tool_call_id,
103
+ // NEW: Include tool call completion status
104
+ toolCallStatus: event.toolCallStatus
105
+ },
106
+ meta: {
107
+ // Core fields
108
+ sender: event.sender,
109
+ chatId: event.chatId || null,
110
+ // Agent Context
111
+ ownerAgentIds,
112
+ recipientAgentId,
113
+ originalSender: null, // Will be set for cross-agent forwarding in future
114
+ deliveredToAgents: ownerAgentIds, // Same as owner for now
115
+ // Message Classification
116
+ messageDirection,
117
+ isMemoryOnly,
118
+ isCrossAgentMessage,
119
+ isHumanMessage,
120
+ // Threading
121
+ threadRootId: threadMetadata.threadRootId,
122
+ threadDepth: threadMetadata.threadDepth,
123
+ isReply: threadMetadata.isReply,
124
+ hasReplies: false, // Will be updated async in future
125
+ // Performance (for agent messages with LLM usage)
126
+ llmTokensInput: event.usage?.inputTokens || null,
127
+ llmTokensOutput: event.usage?.outputTokens || null,
128
+ llmLatency: null, // Can be calculated from SSE start/end events
129
+ llmProvider: null, // Not available in message event
130
+ llmModel: null,
131
+ // UI State
132
+ hasToolCalls,
133
+ toolCallCount
134
+ },
135
+ createdAt: event.timestamp
136
+ };
137
+ return persistEvent(eventData);
138
+ };
139
+ // SSE event handler - persist only start and end events, skip chunk events
140
+ // Chunk events are for UI streaming only (high frequency, transient)
141
+ // Start/end events provide metadata (tokens, latency, etc.)
142
+ const sseHandler = (event) => {
143
+ // Skip chunk events - they're transient UI updates
144
+ if (event.type === 'chunk') {
145
+ return;
146
+ }
147
+ // Persist start/end events for metadata tracking
148
+ // Use event.chatId for concurrency-safe routing (falls back to null for broadcast)
149
+ const eventData = {
150
+ id: `${event.messageId}-sse-${event.type}`,
151
+ worldId: world.id,
152
+ chatId: event.chatId || null,
153
+ type: 'sse',
154
+ payload: {
155
+ agentName: event.agentName,
156
+ type: event.type,
157
+ content: event.content,
158
+ error: event.error,
159
+ usage: event.usage,
160
+ logEvent: event.logEvent
161
+ },
162
+ meta: {
163
+ agentName: event.agentName,
164
+ sseType: event.type
165
+ },
166
+ createdAt: new Date()
167
+ };
168
+ return persistEvent(eventData);
169
+ };
170
+ // Tool event persistence (world channel)
171
+ // Handles WorldToolEvent (tool execution) and WorldActivityEventPayload (activity tracking)
172
+ const toolHandler = (event) => {
173
+ // Check event type category
174
+ const isActivityEvent = event.type && ['response-start', 'response-end', 'idle'].includes(event.type);
175
+ const isToolEvent = event.type && ['tool-start', 'tool-result', 'tool-error', 'tool-progress'].includes(event.type);
176
+ // OPTIMIZATION: Skip tool-progress events (high frequency status updates)
177
+ // Keep tool-start (marks beginning), tool-result (final result), tool-error (failures)
178
+ if (event.type === 'tool-progress') {
179
+ return; // Skip - these are transient progress updates
180
+ }
181
+ // Validate required fields for tool events only
182
+ if (isToolEvent) {
183
+ if (!event.messageId) {
184
+ loggerPublish.error('Tool event missing required messageId', {
185
+ worldId: world.id,
186
+ eventType: event.type,
187
+ agentName: event.agentName
188
+ });
189
+ return; // Skip persistence for invalid events
190
+ }
191
+ if (!event.agentName) {
192
+ loggerPublish.error('Tool event missing required agentName', {
193
+ worldId: world.id,
194
+ eventType: event.type,
195
+ messageId: event.messageId
196
+ });
197
+ return; // Skip persistence for invalid events
198
+ }
199
+ }
200
+ // Generate unique ID for tool events by combining messageId with tool type
201
+ // This prevents duplicate ID conflicts when multiple tool events (tool-start, tool-result, tool-error)
202
+ // share the same messageId
203
+ const eventId = isActivityEvent
204
+ ? event.messageId // Activity events already have unique messageIds
205
+ : `${event.messageId}-tool-${event.type}`; // Tool events need type suffix for uniqueness
206
+ const eventData = {
207
+ id: eventId,
208
+ worldId: world.id,
209
+ // Activity events (response-start/end, idle) are world-level, use null chatId
210
+ // Tool events use chatId from event for concurrency-safe routing
211
+ chatId: isActivityEvent ? null : (event.chatId || null),
212
+ type: isActivityEvent ? 'world' : 'tool',
213
+ payload: isActivityEvent ? {
214
+ activityType: event.type,
215
+ pendingOperations: event.pendingOperations,
216
+ activityId: event.activityId,
217
+ source: event.source,
218
+ activeSources: event.activeSources,
219
+ timestamp: event.timestamp
220
+ } : {
221
+ agentName: event.agentName,
222
+ type: event.type,
223
+ toolExecution: event.toolExecution
224
+ },
225
+ meta: isActivityEvent ? {
226
+ activityType: event.type,
227
+ source: event.source
228
+ } : {
229
+ agentName: event.agentName,
230
+ toolType: event.type,
231
+ // Required metadata for tool events
232
+ ownerAgentId: event.agentName,
233
+ triggeredByMessageId: event.messageId,
234
+ executionDuration: event.toolExecution?.duration ?? 0,
235
+ resultSize: event.toolExecution?.resultSize ?? 0
236
+ },
237
+ createdAt: isActivityEvent ? new Date(event.timestamp) : new Date()
238
+ };
239
+ return persistEvent(eventData);
240
+ };
241
+ // System event persistence
242
+ const systemHandler = (event) => {
243
+ const eventData = {
244
+ id: event.messageId,
245
+ worldId: world.id,
246
+ chatId: event.chatId !== undefined ? event.chatId : (world.currentChatId || null), // Default to current chat
247
+ type: 'system',
248
+ payload: event.content,
249
+ meta: {},
250
+ createdAt: event.timestamp
251
+ };
252
+ return persistEvent(eventData);
253
+ };
254
+ // CRUD event persistence
255
+ const crudHandler = (event) => {
256
+ const eventData = {
257
+ id: `crud-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
258
+ worldId: world.id,
259
+ chatId: event.chatId || null,
260
+ type: 'crud',
261
+ payload: {
262
+ operation: event.operation,
263
+ entityType: event.entityType,
264
+ entityId: event.entityId,
265
+ entityData: event.entityData,
266
+ timestamp: event.timestamp
267
+ },
268
+ meta: {
269
+ operation: event.operation,
270
+ entityType: event.entityType,
271
+ entityId: event.entityId
272
+ },
273
+ createdAt: event.timestamp
274
+ };
275
+ return persistEvent(eventData);
276
+ };
277
+ // Attach listeners
278
+ world.eventEmitter.on('message', messageHandler);
279
+ world.eventEmitter.on('sse', sseHandler);
280
+ world.eventEmitter.on('world', toolHandler);
281
+ world.eventEmitter.on('system', systemHandler);
282
+ world.eventEmitter.on(EventType.CRUD, crudHandler);
283
+ loggerPublish.debug('Event persistence setup complete', {
284
+ worldId: world.id
285
+ });
286
+ // Return cleanup function
287
+ return () => {
288
+ world.eventEmitter.off('message', messageHandler);
289
+ world.eventEmitter.off('sse', sseHandler);
290
+ world.eventEmitter.off('world', toolHandler);
291
+ world.eventEmitter.off('system', systemHandler);
292
+ world.eventEmitter.off(EventType.CRUD, crudHandler);
293
+ loggerPublish.debug('Event persistence listeners cleaned up', { worldId: world.id });
294
+ };
295
+ }
296
+ //# sourceMappingURL=persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../core/events/persistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Event Publishers - Event Emission Functions
3
+ *
4
+ * Purpose: Functions that emit events to World.eventEmitter
5
+ * Features:
6
+ * - Message publishing with chat session management
7
+ * - SSE event publishing for streaming
8
+ * - Tool event publishing for agent behaviors
9
+ * - CRUD event publishing for configuration changes
10
+ *
11
+ * Implementation Notes:
12
+ * - Uses parseMessageContent to preserve enhanced tool-result protocol support
13
+ * - Emits events synchronously through world-scoped EventEmitter channels
14
+ *
15
+ * Recent Changes:
16
+ * - 2026-02-13: Added optional explicit `chatId` override for `publishEvent` to preserve session context across async flows.
17
+ * - 2026-02-13: Added chat-scoped tool-event propagation (`chatId`) so realtime tool updates remain session-isolated.
18
+ * - 2026-02-11: Fixed publishSSE to include toolName and stream fields for tool-stream events
19
+ * - 2026-02-08: Added core-level sender normalization for consistent user-role detection
20
+ * - 2026-02-08: Removed legacy manual tool-result publishing helper from event API
21
+ *
22
+ * All functions emit events synchronously and return immediately
23
+ */
24
+ import { World, WorldMessageEvent, WorldSSEEvent, WorldToolEvent } from '../types.js';
25
+ export declare function enableStreaming(): void;
26
+ export declare function disableStreaming(): void;
27
+ export declare function isStreamingEnabled(): boolean;
28
+ /**
29
+ * Normalize sender values so role/persistence logic remains consistent across clients.
30
+ * Examples:
31
+ * - "HUMAN", "user", "User42" => "human"
32
+ * - "SYSTEM" => "system"
33
+ * - Agent IDs remain unchanged.
34
+ */
35
+ export declare function normalizeSender(sender: string): string;
36
+ /**
37
+ * Publish CRUD event for agent, chat, or world configuration changes
38
+ * Allows subscribed clients to receive real-time updates for all CRUD operations
39
+ *
40
+ * Note: CRUD events are entity-level by default (`chatId: null`), but chat-scoped
41
+ * CRUD updates can pass an explicit `chatId` when downstream consumers need context.
42
+ */
43
+ export declare function publishCRUDEvent(world: World, operation: 'create' | 'update' | 'delete', entityType: 'agent' | 'chat' | 'world', entityId: string, entityData?: any, chatId?: string | null): void;
44
+ /**
45
+ * Publish event to a specific channel using World.eventEmitter
46
+ */
47
+ export declare function publishEvent(world: World, type: string, content: any, chatId?: string | null): void;
48
+ /**
49
+ * Message publishing using World.eventEmitter with chat session management
50
+ * Parses enhanced string protocol and automatically prepends @mention if agentId detected
51
+ * Returns the messageEvent so callers can access the generated messageId
52
+ *
53
+ * @param chatId - Optional chat ID. If not provided, uses world.currentChatId
54
+ * @param replyToMessageId - Optional parent message ID for threading
55
+ */
56
+ export declare function publishMessage(world: World, content: string, sender: string, chatId?: string | null, replyToMessageId?: string): WorldMessageEvent;
57
+ /**
58
+ * Message publishing with pre-generated messageId
59
+ * Used when messageId needs to be known before publishing (e.g., for agent responses)
60
+ *
61
+ * @param chatId - Optional chat ID. If not provided, uses world.currentChatId
62
+ * @param replyToMessageId - Optional parent message ID for threading
63
+ */
64
+ export declare function publishMessageWithId(world: World, content: string, sender: string, messageId: string, chatId?: string | null, replyToMessageId?: string): WorldMessageEvent;
65
+ /**
66
+ * Subscribe to message events
67
+ */
68
+ export declare function subscribeToMessages(world: World, handler: (event: WorldMessageEvent) => void | Promise<void>): () => void;
69
+ /**
70
+ * SSE events using World.eventEmitter (for LLM streaming)
71
+ */
72
+ export declare function publishSSE(world: World, data: Partial<WorldSSEEvent>): void;
73
+ /**
74
+ * Tool events using World.eventEmitter (for agent behavioral events)
75
+ */
76
+ export declare function publishToolEvent(world: World, data: Partial<WorldToolEvent>): void;
77
+ /**
78
+ * SSE subscription using World.eventEmitter
79
+ */
80
+ export declare function subscribeToSSE(world: World, handler: (event: WorldSSEEvent) => void): () => void;
81
+ //# sourceMappingURL=publishers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishers.d.ts","sourceRoot":"","sources":["../../../core/events/publishers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAExD,MAAM,aAAa,CAAC;AAUrB,wBAAgB,eAAe,IAAI,IAAI,CAAmC;AAC1E,wBAAgB,gBAAgB,IAAI,IAAI,CAAoC;AAC5E,wBAAgB,kBAAkB,IAAI,OAAO,CAAmC;AAEhF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAStD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,EACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,GAAG,EAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,IAAI,CAkBN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CASnG;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAqFlJ;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAa3K;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC1D,MAAM,IAAI,CA6BZ;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAe3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CASlF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GACtC,MAAM,IAAI,CAGZ"}