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.
- package/README.md +55 -4
- package/dist/cli/commands.d.ts +109 -0
- package/dist/cli/commands.js +2024 -0
- package/dist/cli/display.d.ts +124 -0
- package/dist/cli/display.js +381 -0
- package/dist/cli/hitl.d.ts +33 -0
- package/dist/cli/hitl.js +81 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/stream.d.ts +41 -0
- package/dist/cli/stream.js +222 -0
- package/dist/core/activity-tracker.d.ts +16 -0
- package/dist/core/activity-tracker.d.ts.map +1 -0
- package/dist/core/activity-tracker.js +91 -0
- package/dist/core/activity-tracker.js.map +1 -0
- package/dist/core/ai-commands.d.ts +16 -0
- package/dist/core/ai-commands.d.ts.map +1 -0
- package/dist/core/ai-commands.js +24 -0
- package/dist/core/ai-commands.js.map +1 -0
- package/dist/core/ai-sdk-patch.d.ts +24 -0
- package/dist/core/ai-sdk-patch.d.ts.map +1 -0
- package/dist/core/ai-sdk-patch.js +169 -0
- package/dist/core/ai-sdk-patch.js.map +1 -0
- package/dist/core/anthropic-direct.d.ts +52 -0
- package/dist/core/anthropic-direct.d.ts.map +1 -0
- package/dist/core/anthropic-direct.js +301 -0
- package/dist/core/anthropic-direct.js.map +1 -0
- package/dist/core/approval-cache.d.ts +104 -0
- package/dist/core/approval-cache.d.ts.map +1 -0
- package/dist/core/approval-cache.js +150 -0
- package/dist/core/approval-cache.js.map +1 -0
- package/dist/core/chat-constants.d.ts +20 -0
- package/dist/core/chat-constants.d.ts.map +1 -0
- package/dist/core/chat-constants.js +22 -0
- package/dist/core/chat-constants.js.map +1 -0
- package/dist/core/create-agent-tool.d.ts +66 -0
- package/dist/core/create-agent-tool.d.ts.map +1 -0
- package/dist/core/create-agent-tool.js +212 -0
- package/dist/core/create-agent-tool.js.map +1 -0
- package/dist/core/events/approval-checker.d.ts +61 -0
- package/dist/core/events/approval-checker.d.ts.map +1 -0
- package/dist/core/events/approval-checker.js +226 -0
- package/dist/core/events/approval-checker.js.map +1 -0
- package/dist/core/events/index.d.ts +25 -0
- package/dist/core/events/index.d.ts.map +1 -0
- package/dist/core/events/index.js +30 -0
- package/dist/core/events/index.js.map +1 -0
- package/dist/core/events/memory-manager.d.ts +73 -0
- package/dist/core/events/memory-manager.d.ts.map +1 -0
- package/dist/core/events/memory-manager.js +1218 -0
- package/dist/core/events/memory-manager.js.map +1 -0
- package/dist/core/events/mention-logic.d.ts +39 -0
- package/dist/core/events/mention-logic.d.ts.map +1 -0
- package/dist/core/events/mention-logic.js +163 -0
- package/dist/core/events/mention-logic.js.map +1 -0
- package/dist/core/events/orchestrator.d.ts +69 -0
- package/dist/core/events/orchestrator.d.ts.map +1 -0
- package/dist/core/events/orchestrator.js +883 -0
- package/dist/core/events/orchestrator.js.map +1 -0
- package/dist/core/events/persistence.d.ts +41 -0
- package/dist/core/events/persistence.d.ts.map +1 -0
- package/dist/core/events/persistence.js +296 -0
- package/dist/core/events/persistence.js.map +1 -0
- package/dist/core/events/publishers.d.ts +81 -0
- package/dist/core/events/publishers.d.ts.map +1 -0
- package/dist/core/events/publishers.js +272 -0
- package/dist/core/events/publishers.js.map +1 -0
- package/dist/core/events/subscribers.d.ts +45 -0
- package/dist/core/events/subscribers.d.ts.map +1 -0
- package/dist/core/events/subscribers.js +288 -0
- package/dist/core/events/subscribers.js.map +1 -0
- package/dist/core/events/tool-bridge-logging.d.ts +28 -0
- package/dist/core/events/tool-bridge-logging.d.ts.map +1 -0
- package/dist/core/events/tool-bridge-logging.js +94 -0
- package/dist/core/events/tool-bridge-logging.js.map +1 -0
- package/dist/core/events-metadata.d.ts +72 -0
- package/dist/core/events-metadata.d.ts.map +1 -0
- package/dist/core/events-metadata.js +167 -0
- package/dist/core/events-metadata.js.map +1 -0
- package/dist/core/events.d.ts +186 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +1248 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/export.d.ts +106 -0
- package/dist/core/export.d.ts.map +1 -0
- package/dist/core/export.js +705 -0
- package/dist/core/export.js.map +1 -0
- package/dist/core/file-tools.d.ts +114 -0
- package/dist/core/file-tools.d.ts.map +1 -0
- package/dist/core/file-tools.js +370 -0
- package/dist/core/file-tools.js.map +1 -0
- package/dist/core/google-direct.d.ts +58 -0
- package/dist/core/google-direct.d.ts.map +1 -0
- package/dist/core/google-direct.js +298 -0
- package/dist/core/google-direct.js.map +1 -0
- package/dist/core/hitl.d.ts +54 -0
- package/dist/core/hitl.d.ts.map +1 -0
- package/dist/core/hitl.js +153 -0
- package/dist/core/hitl.js.map +1 -0
- package/dist/core/index.d.ts +59 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +70 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/llm-config.d.ts +128 -0
- package/dist/core/llm-config.d.ts.map +1 -0
- package/dist/core/llm-config.js +164 -0
- package/dist/core/llm-config.js.map +1 -0
- package/dist/core/llm-manager.d.ts +163 -0
- package/dist/core/llm-manager.d.ts.map +1 -0
- package/dist/core/llm-manager.js +669 -0
- package/dist/core/llm-manager.js.map +1 -0
- package/dist/core/load-skill-tool.d.ts +55 -0
- package/dist/core/load-skill-tool.d.ts.map +1 -0
- package/dist/core/load-skill-tool.js +468 -0
- package/dist/core/load-skill-tool.js.map +1 -0
- package/dist/core/logger.d.ts +88 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +358 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/managers.d.ts +131 -0
- package/dist/core/managers.d.ts.map +1 -0
- package/dist/core/managers.js +1223 -0
- package/dist/core/managers.js.map +1 -0
- package/dist/core/mcp-server-registry.d.ts +304 -0
- package/dist/core/mcp-server-registry.d.ts.map +1 -0
- package/dist/core/mcp-server-registry.js +1769 -0
- package/dist/core/mcp-server-registry.js.map +1 -0
- package/dist/core/mcp-tools.d.ts +56 -0
- package/dist/core/mcp-tools.d.ts.map +1 -0
- package/dist/core/mcp-tools.js +186 -0
- package/dist/core/mcp-tools.js.map +1 -0
- package/dist/core/message-prep.d.ts +81 -0
- package/dist/core/message-prep.d.ts.map +1 -0
- package/dist/core/message-prep.js +223 -0
- package/dist/core/message-prep.js.map +1 -0
- package/dist/core/message-processing-control.d.ts +54 -0
- package/dist/core/message-processing-control.d.ts.map +1 -0
- package/dist/core/message-processing-control.js +139 -0
- package/dist/core/message-processing-control.js.map +1 -0
- package/dist/core/openai-direct.d.ts +80 -0
- package/dist/core/openai-direct.d.ts.map +1 -0
- package/dist/core/openai-direct.js +374 -0
- package/dist/core/openai-direct.js.map +1 -0
- package/dist/core/shell-cmd-tool.d.ts +235 -0
- package/dist/core/shell-cmd-tool.d.ts.map +1 -0
- package/dist/core/shell-cmd-tool.js +1157 -0
- package/dist/core/shell-cmd-tool.js.map +1 -0
- package/dist/core/shell-process-registry.d.ts +88 -0
- package/dist/core/shell-process-registry.d.ts.map +1 -0
- package/dist/core/shell-process-registry.js +309 -0
- package/dist/core/shell-process-registry.js.map +1 -0
- package/dist/core/skill-registry.d.ts +75 -0
- package/dist/core/skill-registry.d.ts.map +1 -0
- package/dist/core/skill-registry.js +369 -0
- package/dist/core/skill-registry.js.map +1 -0
- package/dist/core/skill-script-runner.d.ts +89 -0
- package/dist/core/skill-script-runner.d.ts.map +1 -0
- package/dist/core/skill-script-runner.js +274 -0
- package/dist/core/skill-script-runner.js.map +1 -0
- package/dist/core/skill-selector.d.ts +65 -0
- package/dist/core/skill-selector.d.ts.map +1 -0
- package/dist/core/skill-selector.js +190 -0
- package/dist/core/skill-selector.js.map +1 -0
- package/dist/core/skill-settings.d.ts +20 -0
- package/dist/core/skill-settings.d.ts.map +1 -0
- package/dist/core/skill-settings.js +40 -0
- package/dist/core/skill-settings.js.map +1 -0
- package/dist/core/storage/agent-storage.d.ts +134 -0
- package/dist/core/storage/agent-storage.d.ts.map +1 -0
- package/dist/core/storage/agent-storage.js +498 -0
- package/dist/core/storage/agent-storage.js.map +1 -0
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts +100 -0
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/fileEventStorage.js +494 -0
- package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -0
- package/dist/core/storage/eventStorage/index.d.ts +31 -0
- package/dist/core/storage/eventStorage/index.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/index.js +31 -0
- package/dist/core/storage/eventStorage/index.js.map +1 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +87 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.js +244 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +45 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.js +301 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -0
- package/dist/core/storage/eventStorage/types.d.ts +142 -0
- package/dist/core/storage/eventStorage/types.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/types.js +43 -0
- package/dist/core/storage/eventStorage/types.js.map +1 -0
- package/dist/core/storage/eventStorage/validation.d.ts +30 -0
- package/dist/core/storage/eventStorage/validation.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/validation.js +68 -0
- package/dist/core/storage/eventStorage/validation.js.map +1 -0
- package/dist/core/storage/legacy-migrations.d.ts +45 -0
- package/dist/core/storage/legacy-migrations.d.ts.map +1 -0
- package/dist/core/storage/legacy-migrations.js +295 -0
- package/dist/core/storage/legacy-migrations.js.map +1 -0
- package/dist/core/storage/memory-storage.d.ts +105 -0
- package/dist/core/storage/memory-storage.d.ts.map +1 -0
- package/dist/core/storage/memory-storage.js +415 -0
- package/dist/core/storage/memory-storage.js.map +1 -0
- package/dist/core/storage/migration-runner.d.ts +96 -0
- package/dist/core/storage/migration-runner.d.ts.map +1 -0
- package/dist/core/storage/migration-runner.js +306 -0
- package/dist/core/storage/migration-runner.js.map +1 -0
- package/dist/core/storage/queue-storage.d.ts +147 -0
- package/dist/core/storage/queue-storage.d.ts.map +1 -0
- package/dist/core/storage/queue-storage.js +290 -0
- package/dist/core/storage/queue-storage.js.map +1 -0
- package/dist/core/storage/skill-storage.d.ts +136 -0
- package/dist/core/storage/skill-storage.d.ts.map +1 -0
- package/dist/core/storage/skill-storage.js +474 -0
- package/dist/core/storage/skill-storage.js.map +1 -0
- package/dist/core/storage/sqlite-schema.d.ts +95 -0
- package/dist/core/storage/sqlite-schema.d.ts.map +1 -0
- package/dist/core/storage/sqlite-schema.js +156 -0
- package/dist/core/storage/sqlite-schema.js.map +1 -0
- package/dist/core/storage/sqlite-storage.d.ts +146 -0
- package/dist/core/storage/sqlite-storage.d.ts.map +1 -0
- package/dist/core/storage/sqlite-storage.js +709 -0
- package/dist/core/storage/sqlite-storage.js.map +1 -0
- package/dist/core/storage/storage-factory.d.ts +61 -0
- package/dist/core/storage/storage-factory.d.ts.map +1 -0
- package/dist/core/storage/storage-factory.js +794 -0
- package/dist/core/storage/storage-factory.js.map +1 -0
- package/dist/core/storage/validation.d.ts +36 -0
- package/dist/core/storage/validation.d.ts.map +1 -0
- package/dist/core/storage/validation.js +79 -0
- package/dist/core/storage/validation.js.map +1 -0
- package/dist/core/storage/world-storage.d.ts +114 -0
- package/dist/core/storage/world-storage.d.ts.map +1 -0
- package/dist/core/storage/world-storage.js +378 -0
- package/dist/core/storage/world-storage.js.map +1 -0
- package/dist/core/subscription.d.ts +43 -0
- package/dist/core/subscription.d.ts.map +1 -0
- package/dist/core/subscription.js +227 -0
- package/dist/core/subscription.js.map +1 -0
- package/dist/core/tool-utils.d.ts +80 -0
- package/dist/core/tool-utils.d.ts.map +1 -0
- package/dist/core/tool-utils.js +273 -0
- package/dist/core/tool-utils.js.map +1 -0
- package/dist/core/types.d.ts +595 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +158 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils.d.ts +138 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +478 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/core/world-class.d.ts +43 -0
- package/dist/core/world-class.d.ts.map +1 -0
- package/dist/core/world-class.js +90 -0
- package/dist/core/world-class.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/public/assets/agent-sprites-DJFgj-zP.png +0 -0
- package/dist/public/assets/border-KHK37r8y.svg +83 -0
- package/dist/public/assets/index-C9kPXL6G.css +1 -0
- package/dist/public/assets/index-DOQEHGWt.js +96 -0
- package/dist/public/index.html +21 -0
- package/dist/server/api.d.ts +2 -0
- package/dist/server/api.js +1124 -0
- package/dist/server/index.d.ts +29 -0
- package/dist/server/sse-handler.d.ts +62 -0
- package/dist/server/sse-handler.js +234 -0
- package/package.json +21 -5
- 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"}
|