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 @@
1
+ {"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../../core/events/memory-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Auto-Mention Logic - Pure String Processing Functions
3
+ *
4
+ * Purpose: Handle @mention processing for agent responses
5
+ * Features:
6
+ * - Detect mentions at paragraph beginnings
7
+ * - Add/remove mentions with loop prevention
8
+ * - Support world tags: <world>STOP|DONE|PASS|TO:a,b</world>
9
+ * - Case-insensitive mention matching
10
+ *
11
+ * These are pure functions with no dependencies on World/Agent objects
12
+ */
13
+ /**
14
+ * Check if response has any mention at paragraph beginning (prevents auto-mention loops)
15
+ */
16
+ export declare function hasAnyMentionAtBeginning(response: string): boolean;
17
+ /**
18
+ * Remove all mentions from paragraph beginnings (including commas and spaces)
19
+ */
20
+ export declare function removeMentionsFromParagraphBeginnings(text: string, specificMention?: string): string;
21
+ /**
22
+ * Add auto-mention at beginning if no existing mentions (prevents loops)
23
+ * Supports world tags: <world>STOP|DONE|PASS</world> and <world>TO: a,b,c</world>
24
+ */
25
+ export declare function addAutoMention(response: string, sender: string): string;
26
+ /**
27
+ * Get valid mentions excluding self-mentions (case-insensitive)
28
+ */
29
+ export declare function getValidMentions(response: string, agentId: string): string[];
30
+ /**
31
+ * Determine if agent should auto-mention sender (no valid mentions in response)
32
+ * Auto-mention is used to target responses and prevent unintended broadcasting
33
+ */
34
+ export declare function shouldAutoMention(response: string, sender: string, agentId: string): boolean;
35
+ /**
36
+ * Remove consecutive self-mentions from response beginning (case-insensitive)
37
+ */
38
+ export declare function removeSelfMentions(response: string, agentId: string): string;
39
+ //# sourceMappingURL=mention-logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-logic.d.ts","sourceRoot":"","sources":["../../../core/events/mention-logic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKlE;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAmCpG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA0DvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAI5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAM5F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsB5E"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Auto-Mention Logic - Pure String Processing Functions
3
+ *
4
+ * Purpose: Handle @mention processing for agent responses
5
+ * Features:
6
+ * - Detect mentions at paragraph beginnings
7
+ * - Add/remove mentions with loop prevention
8
+ * - Support world tags: <world>STOP|DONE|PASS|TO:a,b</world>
9
+ * - Case-insensitive mention matching
10
+ *
11
+ * These are pure functions with no dependencies on World/Agent objects
12
+ */
13
+ import { extractParagraphBeginningMentions, determineSenderType } from '../utils.js';
14
+ import { SenderType } from '../types.js';
15
+ import { createCategoryLogger } from '../logger.js';
16
+ const loggerAutoMention = createCategoryLogger('events.automention');
17
+ /**
18
+ * Check if response has any mention at paragraph beginning (prevents auto-mention loops)
19
+ */
20
+ export function hasAnyMentionAtBeginning(response) {
21
+ if (!response?.trim())
22
+ return false;
23
+ const result = extractParagraphBeginningMentions(response).length > 0;
24
+ loggerAutoMention.debug('Checking for mentions at beginning', { response: response.substring(0, 100), hasMentions: result });
25
+ return result;
26
+ }
27
+ /**
28
+ * Remove all mentions from paragraph beginnings (including commas and spaces)
29
+ */
30
+ export function removeMentionsFromParagraphBeginnings(text, specificMention) {
31
+ if (!text?.trim())
32
+ return text;
33
+ const lines = text.split('\n');
34
+ const processedLines = lines.map(line => {
35
+ const trimmed = line.trimStart();
36
+ let cleaned = trimmed;
37
+ if (specificMention) {
38
+ // For specific mentions, escape special regex characters and handle consecutive mentions
39
+ const escapedMention = specificMention.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
40
+ // Pattern to match @mention followed by optional comma/space combinations
41
+ const mentionPattern = new RegExp(`^@${escapedMention}(?:[,\\s]+|$)`, 'gi');
42
+ // Keep removing mentions from the beginning until no more are found
43
+ while (mentionPattern.test(cleaned)) {
44
+ cleaned = cleaned.replace(mentionPattern, '');
45
+ mentionPattern.lastIndex = 0; // Reset regex for next iteration
46
+ }
47
+ }
48
+ else {
49
+ // For any mentions
50
+ const mentionPattern = /^@\w+(?:[-_]\w+)*(?:[,\s]+|$)/;
51
+ // Keep removing mentions from the beginning until no more are found
52
+ while (mentionPattern.test(cleaned)) {
53
+ cleaned = cleaned.replace(mentionPattern, '');
54
+ }
55
+ }
56
+ const leadingWhitespace = line.match(/^(\s*)/)?.[1] || '';
57
+ return leadingWhitespace + cleaned;
58
+ });
59
+ return processedLines.join('\n');
60
+ }
61
+ /**
62
+ * Add auto-mention at beginning if no existing mentions (prevents loops)
63
+ * Supports world tags: <world>STOP|DONE|PASS</world> and <world>TO: a,b,c</world>
64
+ */
65
+ export function addAutoMention(response, sender) {
66
+ if (!response?.trim() || !sender) {
67
+ return response;
68
+ }
69
+ loggerAutoMention.debug('Processing auto-mention', { sender, responseStart: response.substring(0, 100) });
70
+ // Consolidated regex patterns for world tags (case insensitive)
71
+ const worldTagPattern = /<world>(STOP|DONE|PASS|TO:\s*([^<]*))<\/world>/gi;
72
+ let match;
73
+ let processedResponse = response;
74
+ while ((match = worldTagPattern.exec(response)) !== null) {
75
+ const [fullMatch, action, toRecipients] = match;
76
+ loggerAutoMention.debug('Found world tag', { action, toRecipients, fullMatch });
77
+ // Remove the world tag from response
78
+ processedResponse = processedResponse.replace(fullMatch, '');
79
+ const upperAction = action.toUpperCase();
80
+ if (upperAction === 'STOP' || upperAction === 'DONE' || upperAction === 'PASS') {
81
+ // Stop tags prevent auto-mention and remove ALL mentions at beginning of paragraphs
82
+ loggerAutoMention.debug('Processing STOP/DONE/PASS tag - removing mentions');
83
+ const cleanResponse = processedResponse.trim();
84
+ return removeMentionsFromParagraphBeginnings(cleanResponse).trim();
85
+ }
86
+ else if (upperAction.startsWith('TO:')) {
87
+ // TO tag with recipients - also remove existing mentions
88
+ const recipients = toRecipients?.split(',').map(name => name.trim()).filter(name => name) || [];
89
+ loggerAutoMention.debug('Processing TO tag', { recipients });
90
+ // Remove existing mentions from the response
91
+ const cleanResponse = removeMentionsFromParagraphBeginnings(processedResponse.trim()).trim();
92
+ if (recipients.length > 0) {
93
+ const mentions = recipients.map(recipient => `@${recipient}`).join('\n');
94
+ const result = `${mentions}\n\n${cleanResponse}`;
95
+ loggerAutoMention.debug('Added TO tag mentions', { mentions, result: result.substring(0, 100) });
96
+ return result;
97
+ }
98
+ else {
99
+ // Empty TO tag - fall back to normal auto-mention behavior
100
+ loggerAutoMention.debug('Empty TO tag - falling back to normal auto-mention');
101
+ if (hasAnyMentionAtBeginning(cleanResponse)) {
102
+ return cleanResponse;
103
+ }
104
+ return `@${sender} ${cleanResponse}`;
105
+ }
106
+ }
107
+ }
108
+ // Existing logic: add auto-mention if no existing mentions at beginning
109
+ if (hasAnyMentionAtBeginning(processedResponse)) {
110
+ loggerAutoMention.debug('Response already has mentions at beginning - no auto-mention needed');
111
+ return processedResponse;
112
+ }
113
+ const result = `@${sender} ${processedResponse.trim()}`;
114
+ loggerAutoMention.debug('Added auto-mention', { sender, result: result.substring(0, 100) });
115
+ return result;
116
+ }
117
+ /**
118
+ * Get valid mentions excluding self-mentions (case-insensitive)
119
+ */
120
+ export function getValidMentions(response, agentId) {
121
+ if (!response?.trim() || !agentId)
122
+ return [];
123
+ return extractParagraphBeginningMentions(response)
124
+ .filter(mention => mention.toLowerCase() !== agentId.toLowerCase());
125
+ }
126
+ /**
127
+ * Determine if agent should auto-mention sender (no valid mentions in response)
128
+ * Auto-mention is used to target responses and prevent unintended broadcasting
129
+ */
130
+ export function shouldAutoMention(response, sender, agentId) {
131
+ if (!response?.trim() || !sender || !agentId)
132
+ return false;
133
+ if (determineSenderType(sender) === SenderType.HUMAN)
134
+ return false;
135
+ if (sender.toLowerCase() === agentId.toLowerCase())
136
+ return false;
137
+ // Check if response already has valid mentions (excluding self)
138
+ return getValidMentions(response, agentId).length === 0;
139
+ }
140
+ /**
141
+ * Remove consecutive self-mentions from response beginning (case-insensitive)
142
+ */
143
+ export function removeSelfMentions(response, agentId) {
144
+ if (!response || !agentId)
145
+ return response;
146
+ const trimmedResponse = response.trim();
147
+ if (!trimmedResponse)
148
+ return response;
149
+ loggerAutoMention.debug('Removing self-mentions', { agentId, responseStart: response.substring(0, 100) });
150
+ // Use the helper function to remove self-mentions
151
+ const result = removeMentionsFromParagraphBeginnings(trimmedResponse, agentId);
152
+ loggerAutoMention.debug('Self-mention removal result', {
153
+ agentId,
154
+ before: trimmedResponse.substring(0, 100),
155
+ after: result.substring(0, 100),
156
+ changed: trimmedResponse !== result
157
+ });
158
+ // Preserve original leading whitespace
159
+ const originalMatch = response.match(/^(\s*)/);
160
+ const originalLeadingWhitespace = originalMatch ? originalMatch[1] : '';
161
+ return originalLeadingWhitespace + result;
162
+ }
163
+ //# sourceMappingURL=mention-logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-logic.js","sourceRoot":"","sources":["../../../core/events/mention-logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Orchestrator Module
3
+ *
4
+ * Coordinates agent message processing, response generation, and turn management.
5
+ * Provides high-level orchestration functions for agent behavior and LLM interaction.
6
+ *
7
+ * Features:
8
+ * - Process agent messages with LLM response generation
9
+ * - Determine if agent should respond based on mentions and turn limits
10
+ * - Reset LLM call count for new conversation turns
11
+ * - Turn limit enforcement with automatic handoff to human
12
+ * - Enhanced tool call message formatting with parameters display
13
+ * - SSE tool call data for web clients (streaming mode)
14
+ * - Robust JSON parsing with detailed error logging for malformed tool arguments
15
+ *
16
+ * Implementation:
17
+ * - Tool calls follow standard tool execution and LLM continuation flow
18
+ * - Tool call messages show up to 3 parameters with truncation for readability
19
+ * * Single tool: "Calling tool: shell_cmd (command: "ls", directory: "./")"
20
+ * * Multiple tools: "Calling 2 tools: shell_cmd, read_file"
21
+ * - In streaming mode, formatted tool call content with tool_calls data is sent via SSE
22
+ * * Ensures web/Electron clients display complete tool call info with parameters
23
+ * * Prevents incomplete display (e.g., "Calling tool: shell_cmd" without params)
24
+ * - JSON parse errors include detailed logging (preview, length, error position)
25
+ * * Helps diagnose LLM-generated malformed JSON in tool arguments
26
+ * - JSON sanitization attempts to fix common LLM JSON issues before parsing
27
+ * * Handles unterminated strings, trailing commas, truncation, unmatched braces
28
+ * * Tries progressive fixes: trailing commas → close strings → truncate to valid
29
+ *
30
+ * Dependencies (Layer 5):
31
+ * - types.ts (Layer 1)
32
+ * - mention-logic.ts (Layer 2)
33
+ * - publishers.ts (Layer 3)
34
+ * - memory-manager.ts (Layer 4)
35
+ * - utils.ts, logger.ts
36
+ * - llm-manager.ts (runtime)
37
+ * - storage (runtime)
38
+ *
39
+ * Changes:
40
+ * - 2026-02-16: Added `LOG_LLM_TOOL_BRIDGE` gate for LLM↔tool console bridge logs.
41
+ * - 2026-02-16: Added explicit console debug logs for LLM↔tool request/result/error handoff payloads.
42
+ * - 2026-02-14: Shell tool trusted cwd fallback now uses core default working directory (user home) when world `working_directory` is missing.
43
+ * - 2026-02-13: Fixed shell_cmd mismatch handling by validating path targets in command parameters (e.g. `~/`) against world working_directory before execution.
44
+ * - 2026-02-13: Added hard-stop guard for shell_cmd directory mismatches (LLM-requested `directory` must match world `working_directory`).
45
+ * - 2026-02-13: Enriched displayed `shell_cmd` tool-call arguments with trusted world cwd so UI tool-call messages show the actual execution directory.
46
+ * - 2026-02-13: Forced shell tool cwd to trusted world `working_directory`; mismatched LLM `directory` requests now stop execution with explicit error.
47
+ * - 2026-02-13: Added chat-scoped `tool-start/tool-result/tool-error` event publishing so renderer session state stays accurate during tool execution.
48
+ * - 2026-02-13: Added session processing-handle guards so stop requests abort active tool/continuation flow without spawning new LLM work.
49
+ * - 2026-02-13: Propagated explicit `chatId` and stop abort-signal context through LLM/tool execution paths.
50
+ * - 2026-02-11: Enhanced JSON parse error logging with rawArgs preview and suffix
51
+ * - 2026-02-11: Fixed tool call display in Electron/web - send formatted content with tool_calls via SSE
52
+ * - 2026-02-11: Fixed OpenAI tool-call protocol integrity.
53
+ * - Persist only the first executable tool_call when agent execution is single-call.
54
+ * - Route JSON parse/tool lookup failures through tool-error persistence so each persisted tool_call gets a matching tool message.
55
+ * - 2026-02-10: Upgrade generic LLM tool-call text (e.g., "Calling tool: shell_cmd") to include parsed parameters
56
+ * - 2026-02-10: Made tool-call argument parsing more robust for both JSON strings and object-like payloads
57
+ * - 2026-02-08: Enhanced tool call message formatting to include parameters
58
+ * - 2025-11-09: Extracted from events.ts for modular architecture
59
+ */
60
+ import type { World, Agent, WorldMessageEvent } from '../types.js';
61
+ /**
62
+ * Agent message processing with LLM response generation and auto-mention logic
63
+ */
64
+ export declare function processAgentMessage(world: World, agent: Agent, messageEvent: WorldMessageEvent): Promise<void>;
65
+ /**
66
+ * Enhanced message filtering logic with turn limits and mention detection
67
+ */
68
+ export declare function shouldAgentRespond(world: World, agent: Agent, messageEvent: WorldMessageEvent): Promise<boolean>;
69
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../core/events/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAiTrB;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAglBf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAiEtH"}