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.
- package/README.md +17 -7
- 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 +15 -3
- 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"}
|