agent-world 0.11.1 → 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 +17 -7
  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 +15 -3
  267. package/scripts/launch-electron.js +0 -58
@@ -0,0 +1,595 @@
1
+ /**
2
+ * Core type definitions for the Agent World system.
3
+ *
4
+ * Features:
5
+ * - Agent configuration with comprehensive LLM provider support and memory management
6
+ * - Event system with strict payload typing and union types for type safety
7
+ * - AI SDK compatible chat messages with utility functions for seamless integration
8
+ * - Storage interfaces and world-specific file operations with EventEmitter integration
9
+ * - Comprehensive LLM provider enumeration (OpenAI, Anthropic, Azure, Google, XAI, Ollama)
10
+ *
11
+ * Recent Changes:
12
+ * - 2026-02-13: Added world-level `mainAgent` routing field and agent-level `autoReply` flag.
13
+ * - 2026-02-13: Added optional storage compare-and-set helper for chat title updates (`updateChatNameIfCurrent`).
14
+ * - 2026-02-13: Added optional `chatId` to world tool events for session-scoped realtime routing.
15
+ * - 2026-02-08: Removed legacy manual tool-intervention result types from core API surface
16
+ */
17
+ import { type EventEmitter } from 'events';
18
+ export interface ChatMessage {
19
+ role: 'system' | 'user' | 'assistant' | 'tool';
20
+ content: string;
21
+ createdAt?: Date;
22
+ tool_calls?: Array<{
23
+ id: string;
24
+ type: 'function';
25
+ function: {
26
+ name: string;
27
+ arguments: string;
28
+ };
29
+ }>;
30
+ tool_call_id?: string;
31
+ }
32
+ export interface AgentMessage extends ChatMessage {
33
+ /**
34
+ * Unique message identifier. REQUIRED for all new messages.
35
+ * Used for message editing, threading, and deduplication.
36
+ *
37
+ * @required for new messages (as of version 6)
38
+ * @optional only for legacy data (pre-version 6)
39
+ * @example "msg-1234567890-abc"
40
+ */
41
+ messageId?: string;
42
+ /**
43
+ * Parent message identifier for threading support.
44
+ * Links this message to the message it's replying to.
45
+ *
46
+ * Threading Semantics:
47
+ * - Assistant messages: Set to triggering user/agent message ID
48
+ * - Incoming user messages: Usually null/undefined (start of conversation)
49
+ * - Tool results: Set to assistant message that made tool call
50
+ * - System messages: Usually null/undefined
51
+ *
52
+ * Rules:
53
+ * - MUST NOT equal messageId (no self-references)
54
+ * - MUST reference existing message in conversation
55
+ * - MUST NOT create circular chains (A→B→C→A)
56
+ *
57
+ * @example
58
+ * // Human asks question (root message)
59
+ * { messageId: "msg-1", replyToMessageId: undefined, role: "user", content: "Hello?" }
60
+ *
61
+ * // Agent responds (reply message)
62
+ * { messageId: "msg-2", replyToMessageId: "msg-1", role: "assistant", content: "Hi!" }
63
+ *
64
+ * // Multi-level thread
65
+ * { messageId: "msg-3", replyToMessageId: "msg-2", role: "user", content: "Thanks!" }
66
+ *
67
+ * @since version 7
68
+ */
69
+ replyToMessageId?: string;
70
+ sender?: string;
71
+ chatId?: string | null;
72
+ agentId?: string;
73
+ /**
74
+ * Tool call completion tracking.
75
+ * Maps tool_call_id to completion status and result payload.
76
+ */
77
+ toolCallStatus?: Record<string, {
78
+ complete: boolean;
79
+ result: any;
80
+ }>;
81
+ }
82
+ export interface Agent {
83
+ id: string;
84
+ name: string;
85
+ type: string;
86
+ autoReply?: boolean;
87
+ status?: 'active' | 'inactive' | 'error';
88
+ provider: LLMProvider;
89
+ model: string;
90
+ systemPrompt?: string;
91
+ temperature?: number;
92
+ maxTokens?: number;
93
+ createdAt?: Date;
94
+ lastActive?: Date;
95
+ llmCallCount: number;
96
+ lastLLMCall?: Date;
97
+ memory: AgentMessage[];
98
+ }
99
+ export interface MessageData {
100
+ name: string;
101
+ payload: any;
102
+ id: string;
103
+ sender?: string;
104
+ content?: string;
105
+ agentName?: string;
106
+ }
107
+ export interface MessageEventPayload {
108
+ content: string;
109
+ sender: string;
110
+ }
111
+ export interface SystemEventPayload {
112
+ action: string;
113
+ agentName?: string;
114
+ worldName?: string;
115
+ content?: string;
116
+ timestamp?: string;
117
+ }
118
+ export interface SSEEventPayload {
119
+ agentName: string;
120
+ type: 'start' | 'chunk' | 'end' | 'error';
121
+ content?: string;
122
+ error?: string;
123
+ messageId?: string;
124
+ usage?: {
125
+ inputTokens: number;
126
+ outputTokens: number;
127
+ totalTokens: number;
128
+ };
129
+ }
130
+ export interface WorldEventPayload {
131
+ action: string;
132
+ worldId?: string;
133
+ agentId?: string;
134
+ data?: any;
135
+ }
136
+ /**
137
+ * Event payload mapping for type-safe event handling.
138
+ * Maps each EventType to its corresponding payload type using proper core event interfaces.
139
+ *
140
+ * This provides compile-time validation when using typed event utilities while
141
+ * maintaining zero runtime overhead for direct EventEmitter usage.
142
+ *
143
+ * @example
144
+ * // Type-safe handler with payload validation
145
+ * function handleEvent<T extends EventType>(
146
+ * eventType: T,
147
+ * payload: EventPayloadMap[T]
148
+ * ) {
149
+ * // TypeScript knows the exact payload structure
150
+ * }
151
+ *
152
+ * @since 2025-10-30 - Updated to use core World event types
153
+ */
154
+ export type EventPayloadMap = {
155
+ /** Message events use WorldMessageEvent for complete structure */
156
+ [EventType.MESSAGE]: WorldMessageEvent;
157
+ /** System events use WorldSystemEvent for internal notifications */
158
+ [EventType.SYSTEM]: WorldSystemEvent;
159
+ /** SSE events use WorldSSEEvent for streaming data */
160
+ [EventType.SSE]: WorldSSEEvent;
161
+ /** World/tool events use WorldToolEvent for agent behavioral tracking */
162
+ [EventType.WORLD]: WorldToolEvent;
163
+ /** CRUD events use WorldCRUDEvent for configuration changes */
164
+ [EventType.CRUD]: WorldCRUDEvent;
165
+ };
166
+ /**
167
+ * Core event types for Agent World system EventEmitter.
168
+ *
169
+ * These enums provide type-safe alternatives to string literals for event emission
170
+ * and subscription. Each enum value maps exactly to the string used by EventEmitter
171
+ * to maintain full backward compatibility.
172
+ *
173
+ * @example
174
+ * // Type-safe event emission (recommended)
175
+ * world.eventEmitter.emit(EventType.MESSAGE, messageEvent);
176
+ *
177
+ * // Traditional string usage (still supported)
178
+ * world.eventEmitter.emit('message', messageEvent);
179
+ *
180
+ * // Optional typed bridge for enhanced type safety
181
+ * const bridge = createTypedEventBridge(world);
182
+ * bridge.emit(EventType.MESSAGE, messageEvent); // Full payload validation
183
+ *
184
+ * @since 2025-10-30
185
+ */
186
+ export declare enum EventType {
187
+ /** World channel - general world events, tool usage, and system messages */
188
+ WORLD = "world",
189
+ /** Message channel - user and agent messages */
190
+ MESSAGE = "message",
191
+ /** SSE channel - streaming LLM responses */
192
+ SSE = "sse",
193
+ /** System events for internal notifications */
194
+ SYSTEM = "system",
195
+ /** CRUD events - agent, chat, and world configuration changes */
196
+ CRUD = "crud"
197
+ }
198
+ export declare enum SenderType {
199
+ SYSTEM = "system",
200
+ WORLD = "world",
201
+ AGENT = "agent",
202
+ HUMAN = "human"
203
+ }
204
+ /**
205
+ * Agent creation parameters - includes all properties needed for new agents
206
+ */
207
+ export interface CreateAgentParams {
208
+ id?: string;
209
+ name: string;
210
+ type: string;
211
+ autoReply?: boolean;
212
+ provider: LLMProvider;
213
+ model: string;
214
+ systemPrompt?: string;
215
+ temperature?: number;
216
+ maxTokens?: number;
217
+ }
218
+ /**
219
+ * Agent update parameters - partial for flexible updates with additional status field
220
+ */
221
+ export interface UpdateAgentParams extends Partial<Omit<CreateAgentParams, 'id'>> {
222
+ status?: 'active' | 'inactive' | 'error';
223
+ }
224
+ export interface Chat {
225
+ id: string;
226
+ worldId: string;
227
+ name: string;
228
+ description?: string;
229
+ createdAt: Date;
230
+ updatedAt: Date;
231
+ messageCount: number;
232
+ }
233
+ /**
234
+ * World chat for full state capture
235
+ */
236
+ export interface WorldChat {
237
+ world: World;
238
+ agents: Agent[];
239
+ messages: AgentMessage[];
240
+ metadata: {
241
+ capturedAt: Date;
242
+ version: string;
243
+ totalMessages: number;
244
+ activeAgents: number;
245
+ };
246
+ }
247
+ /**
248
+ * Chat creation parameters
249
+ */
250
+ export interface CreateChatParams {
251
+ name?: string;
252
+ description?: string;
253
+ captureChat?: boolean;
254
+ }
255
+ /**
256
+ * Chat update parameters
257
+ */
258
+ export interface UpdateChatParams extends Partial<Omit<CreateChatParams, 'captureChat'>> {
259
+ tags?: string[];
260
+ messageCount?: number;
261
+ }
262
+ /**
263
+ * Message edit result tracking
264
+ */
265
+ export interface RemovalResult {
266
+ success: boolean;
267
+ messageId: string;
268
+ totalAgents: number;
269
+ processedAgents: string[];
270
+ failedAgents: Array<{
271
+ agentId: string;
272
+ error: string;
273
+ }>;
274
+ messagesRemovedTotal: number;
275
+ requiresRetry: boolean;
276
+ resubmissionStatus: 'success' | 'failed' | 'skipped';
277
+ resubmissionError?: string;
278
+ newMessageId?: string;
279
+ }
280
+ /**
281
+ * Edit error log for troubleshooting
282
+ */
283
+ export interface EditErrorLog {
284
+ worldId: string;
285
+ messageId: string;
286
+ chatId: string;
287
+ timestamp: Date;
288
+ operation: 'removal' | 'resubmission';
289
+ failedAgents: Array<{
290
+ agentId: string;
291
+ error: string;
292
+ }>;
293
+ retryCount: number;
294
+ }
295
+ /**
296
+ * Chat list info for efficient display
297
+ */
298
+ /**
299
+ * World creation parameters
300
+ */
301
+ export interface CreateWorldParams {
302
+ name: string;
303
+ description?: string | null;
304
+ turnLimit?: number;
305
+ mainAgent?: string | null;
306
+ chatLLMProvider?: LLMProvider;
307
+ chatLLMModel?: string;
308
+ mcpConfig?: string | null;
309
+ variables?: string;
310
+ }
311
+ /**
312
+ * World update parameters - partial for flexible updates
313
+ */
314
+ export interface UpdateWorldParams extends Partial<CreateWorldParams> {
315
+ currentChatId?: string | null;
316
+ }
317
+ /**
318
+ * Serializable world data for storage (flat structure, no EventEmitter, no agents Map)
319
+ */
320
+ export interface World {
321
+ id: string;
322
+ name: string;
323
+ description?: string | null;
324
+ turnLimit: number;
325
+ mainAgent?: string | null;
326
+ chatLLMProvider?: string;
327
+ chatLLMModel?: string;
328
+ currentChatId?: string | null;
329
+ mcpConfig?: string | null;
330
+ variables?: string;
331
+ isProcessing?: boolean;
332
+ createdAt: Date;
333
+ lastUpdated: Date;
334
+ totalAgents: number;
335
+ totalMessages: number;
336
+ eventEmitter: EventEmitter;
337
+ agents: Map<string, Agent>;
338
+ chats: Map<string, Chat>;
339
+ eventStorage?: any;
340
+ _eventPersistenceCleanup?: () => void;
341
+ _activityListenerCleanup?: () => void;
342
+ }
343
+ export interface StorageAPI {
344
+ saveWorld(worldData: World): Promise<void>;
345
+ loadWorld(worldId: string): Promise<World | null>;
346
+ deleteWorld(worldId: string): Promise<boolean>;
347
+ listWorlds(): Promise<World[]>;
348
+ worldExists(worldId: string): Promise<boolean>;
349
+ getMemory(worldId: string, chatId?: string | null): Promise<AgentMessage[]>;
350
+ saveAgent(worldId: string, agent: Agent): Promise<void>;
351
+ loadAgent(worldId: string, agentId: string): Promise<Agent | null>;
352
+ loadAgentWithRetry(worldId: string, agentId: string, options?: any): Promise<Agent | null>;
353
+ deleteAgent(worldId: string, agentId: string): Promise<boolean>;
354
+ listAgents(worldId: string): Promise<Agent[]>;
355
+ agentExists(worldId: string, agentId: string): Promise<boolean>;
356
+ saveAgentMemory(worldId: string, agentId: string, memory: AgentMessage[]): Promise<void>;
357
+ archiveMemory(worldId: string, agentId: string, memory: AgentMessage[]): Promise<void>;
358
+ deleteMemoryByChatId(worldId: string, chatId: string): Promise<number>;
359
+ saveAgentsBatch(worldId: string, agents: Agent[]): Promise<void>;
360
+ loadAgentsBatch(worldId: string, agentIds: string[]): Promise<Agent[]>;
361
+ saveChatData(worldId: string, chat: Chat): Promise<void>;
362
+ loadChatData(worldId: string, chatId: string): Promise<Chat | null>;
363
+ deleteChatData(worldId: string, chatId: string): Promise<boolean>;
364
+ listChats(worldId: string): Promise<Chat[]>;
365
+ updateChatData(worldId: string, chatId: string, updates: UpdateChatParams): Promise<Chat | null>;
366
+ updateChatNameIfCurrent?(worldId: string, chatId: string, expectedName: string, nextName: string): Promise<boolean>;
367
+ saveWorldChat(worldId: string, chatId: string, chat: WorldChat): Promise<void>;
368
+ loadWorldChat(worldId: string, chatId: string): Promise<WorldChat | null>;
369
+ loadWorldChatFull(worldId: string, chatId: string): Promise<WorldChat | null>;
370
+ restoreFromWorldChat(worldId: string, chat: WorldChat): Promise<boolean>;
371
+ validateIntegrity(worldId: string, agentId?: string): Promise<boolean>;
372
+ repairData(worldId: string, agentId?: string): Promise<boolean>;
373
+ }
374
+ export interface StorageManager extends StorageAPI {
375
+ }
376
+ export declare enum LLMProvider {
377
+ OPENAI = "openai",
378
+ ANTHROPIC = "anthropic",
379
+ AZURE = "azure",
380
+ GOOGLE = "google",
381
+ XAI = "xai",
382
+ OPENAI_COMPATIBLE = "openai-compatible",
383
+ OLLAMA = "ollama"
384
+ }
385
+ /**
386
+ * Unified LLM response structure
387
+ * All providers return this type (never raw strings or mixed objects)
388
+ *
389
+ * @since Phase 1 of provider refactoring (2025-11-09)
390
+ */
391
+ export interface LLMResponse {
392
+ /**
393
+ * Response type discriminator
394
+ */
395
+ type: 'text' | 'tool_calls';
396
+ /**
397
+ * Text content (for type='text' responses)
398
+ */
399
+ content?: string;
400
+ /**
401
+ * Tool calls requested by LLM (for type='tool_calls' responses)
402
+ */
403
+ tool_calls?: Array<{
404
+ id: string;
405
+ type: 'function';
406
+ function: {
407
+ name: string;
408
+ arguments: string;
409
+ };
410
+ }>;
411
+ /**
412
+ * Original assistant message for memory storage
413
+ * Must include full tool_calls array to preserve tool call context.
414
+ */
415
+ assistantMessage: {
416
+ role: 'assistant';
417
+ content: string;
418
+ tool_calls?: Array<{
419
+ id: string;
420
+ type: 'function';
421
+ function: {
422
+ name: string;
423
+ arguments: string;
424
+ };
425
+ }>;
426
+ };
427
+ /**
428
+ * Token usage metadata (optional)
429
+ */
430
+ usage?: {
431
+ inputTokens: number;
432
+ outputTokens: number;
433
+ };
434
+ }
435
+ /**
436
+ * World message event data structure for World.eventEmitter
437
+ */
438
+ export interface WorldMessageEvent {
439
+ content: string;
440
+ sender: string;
441
+ timestamp: Date;
442
+ messageId: string;
443
+ chatId?: string | null;
444
+ replyToMessageId?: string;
445
+ }
446
+ /**
447
+ * World SSE event data structure for World.eventEmitter
448
+ * Note: Tool events have been migrated to world channel (see WorldToolEvent)
449
+ */
450
+ export interface WorldSSEEvent {
451
+ agentName: string;
452
+ type: 'start' | 'chunk' | 'end' | 'error' | 'log' | 'tool-stream';
453
+ content?: string;
454
+ error?: string;
455
+ messageId: string;
456
+ /** Chat ID for concurrency-safe event routing. Events without chatId are broadcast to all sessions. */
457
+ chatId?: string | null;
458
+ usage?: {
459
+ inputTokens: number;
460
+ outputTokens: number;
461
+ totalTokens: number;
462
+ };
463
+ logEvent?: {
464
+ level: string;
465
+ category: string;
466
+ message: string;
467
+ timestamp: string;
468
+ data?: any;
469
+ };
470
+ toolName?: string;
471
+ stream?: 'stdout' | 'stderr';
472
+ tool_calls?: Array<{
473
+ id: string;
474
+ type: 'function';
475
+ function: {
476
+ name: string;
477
+ arguments: string | Record<string, unknown>;
478
+ };
479
+ }>;
480
+ }
481
+ /**
482
+ * World CRUD event data structure for World.eventEmitter
483
+ * Used to broadcast agent, chat, and world configuration changes to subscribed clients
484
+ */
485
+ export interface WorldCRUDEvent {
486
+ operation: 'create' | 'update' | 'delete';
487
+ entityType: 'agent' | 'chat' | 'world';
488
+ entityId: string;
489
+ entityData?: any;
490
+ timestamp: Date;
491
+ chatId?: string | null;
492
+ }
493
+ /**
494
+ * World tool event data structure for agent behavioral events
495
+ * Emitted on world channel to track agent actions (tool execution)
496
+ */
497
+ export interface WorldToolEvent {
498
+ agentName: string;
499
+ type: 'tool-start' | 'tool-result' | 'tool-error' | 'tool-progress';
500
+ messageId: string;
501
+ chatId?: string | null;
502
+ toolExecution: {
503
+ toolName: string;
504
+ toolCallId: string;
505
+ sequenceId?: string;
506
+ duration?: number;
507
+ input?: any;
508
+ result?: any;
509
+ resultType?: 'string' | 'object' | 'array' | 'null';
510
+ resultSize?: number;
511
+ error?: string;
512
+ metadata?: {
513
+ serverName?: string;
514
+ transport?: string;
515
+ isStreaming?: boolean;
516
+ };
517
+ };
518
+ }
519
+ export interface WorldSystemEvent {
520
+ content: any;
521
+ timestamp: Date;
522
+ messageId: string;
523
+ chatId?: string | null;
524
+ }
525
+ /**
526
+ * Typed event bridge for enhanced type safety with EventEmitter.
527
+ *
528
+ * Provides optional type-safe wrappers around World.eventEmitter while maintaining
529
+ * zero runtime overhead. All functions delegate directly to EventEmitter methods.
530
+ *
531
+ * @example
532
+ * const bridge = createTypedEventBridge(world);
533
+ *
534
+ * // Type-safe emission with payload validation
535
+ * bridge.emit(EventType.MESSAGE, {
536
+ * content: 'Hello',
537
+ * sender: 'user',
538
+ * timestamp: new Date(),
539
+ * messageId: 'msg-123'
540
+ * });
541
+ *
542
+ * // Type-safe subscription
543
+ * const unsubscribe = bridge.on(EventType.MESSAGE, (payload) => {
544
+ * // TypeScript knows payload is WorldMessageEvent
545
+ * console.log('Message:', payload.content);
546
+ * });
547
+ *
548
+ * @since 2025-10-30
549
+ */
550
+ export interface TypedEventBridge {
551
+ /**
552
+ * Emit a typed event with payload validation.
553
+ * Zero overhead - delegates directly to EventEmitter.emit()
554
+ */
555
+ emit<T extends EventType>(eventType: T, payload: EventPayloadMap[T]): boolean;
556
+ /**
557
+ * Subscribe to typed events with payload validation.
558
+ * Zero overhead - delegates directly to EventEmitter.on()
559
+ */
560
+ on<T extends EventType>(eventType: T, handler: (payload: EventPayloadMap[T]) => void): () => void;
561
+ /**
562
+ * Remove typed event subscription.
563
+ * Zero overhead - delegates directly to EventEmitter.off()
564
+ */
565
+ off<T extends EventType>(eventType: T, handler: (payload: EventPayloadMap[T]) => void): void;
566
+ }
567
+ /**
568
+ * Create a typed event bridge for enhanced type safety.
569
+ *
570
+ * This utility provides optional type-safe wrappers around World.eventEmitter
571
+ * while maintaining zero runtime overhead. Use this when you want compile-time
572
+ * validation of event names and payload structures.
573
+ *
574
+ * @param world - World instance with eventEmitter
575
+ * @returns TypedEventBridge with type-safe emit/on/off methods
576
+ *
577
+ * @example
578
+ * const world = await getWorld('my-world');
579
+ * const bridge = createTypedEventBridge(world);
580
+ *
581
+ * // Compile-time validation of event type and payload
582
+ * bridge.emit(EventType.MESSAGE, messageEvent);
583
+ *
584
+ * // Original EventEmitter usage still works
585
+ * world.eventEmitter.emit('message', messageEvent);
586
+ *
587
+ * @since 2025-10-30
588
+ */
589
+ export declare function createTypedEventBridge(world: World): TypedEventBridge;
590
+ /**
591
+ * Validates message threading relationships
592
+ * @throws Error if threading is invalid
593
+ */
594
+ export declare function validateMessageThreading(message: AgentMessage, allMessages?: AgentMessage[]): void;
595
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../core/types.ts"],"names":[],"mappings":"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"}