agent-world 0.13.0 → 0.15.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 +90 -17
- package/dist/cli/commands.d.ts +7 -1
- package/dist/cli/commands.js +27 -10
- package/dist/cli/hitl.d.ts +4 -1
- package/dist/cli/hitl.js +55 -20
- package/dist/cli/index.js +249 -97
- package/dist/cli/system-events.d.ts +27 -0
- package/dist/cli/system-events.js +63 -0
- package/dist/core/activity-tracker.d.ts +26 -0
- package/dist/core/activity-tracker.d.ts.map +1 -1
- package/dist/core/activity-tracker.js +21 -4
- package/dist/core/activity-tracker.js.map +1 -1
- package/dist/core/anthropic-direct.d.ts +2 -0
- package/dist/core/anthropic-direct.d.ts.map +1 -1
- package/dist/core/anthropic-direct.js +43 -1
- package/dist/core/anthropic-direct.js.map +1 -1
- package/dist/core/chat-constants.d.ts +12 -0
- package/dist/core/chat-constants.d.ts.map +1 -1
- package/dist/core/chat-constants.js +5 -0
- package/dist/core/chat-constants.js.map +1 -1
- package/dist/core/create-agent-tool.d.ts +5 -0
- package/dist/core/create-agent-tool.d.ts.map +1 -1
- package/dist/core/create-agent-tool.js +57 -34
- package/dist/core/create-agent-tool.js.map +1 -1
- package/dist/core/events/index.d.ts +5 -2
- package/dist/core/events/index.d.ts.map +1 -1
- package/dist/core/events/index.js +5 -2
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/events/memory-manager.d.ts +26 -1
- package/dist/core/events/memory-manager.d.ts.map +1 -1
- package/dist/core/events/memory-manager.js +877 -72
- package/dist/core/events/memory-manager.js.map +1 -1
- package/dist/core/events/orchestrator.d.ts +8 -0
- package/dist/core/events/orchestrator.d.ts.map +1 -1
- package/dist/core/events/orchestrator.js +203 -36
- package/dist/core/events/orchestrator.js.map +1 -1
- package/dist/core/events/persistence.d.ts +21 -14
- package/dist/core/events/persistence.d.ts.map +1 -1
- package/dist/core/events/persistence.js +100 -35
- package/dist/core/events/persistence.js.map +1 -1
- package/dist/core/events/publishers.d.ts +13 -7
- package/dist/core/events/publishers.d.ts.map +1 -1
- package/dist/core/events/publishers.js +53 -37
- package/dist/core/events/publishers.js.map +1 -1
- package/dist/core/events/subscribers.d.ts +17 -14
- package/dist/core/events/subscribers.d.ts.map +1 -1
- package/dist/core/events/subscribers.js +61 -148
- package/dist/core/events/subscribers.js.map +1 -1
- package/dist/core/events/title-scheduler.d.ts +27 -0
- package/dist/core/events/title-scheduler.d.ts.map +1 -0
- package/dist/core/events/title-scheduler.js +135 -0
- package/dist/core/events/title-scheduler.js.map +1 -0
- package/dist/core/events/tool-bridge-logging.d.ts +4 -1
- package/dist/core/events/tool-bridge-logging.d.ts.map +1 -1
- package/dist/core/events/tool-bridge-logging.js +112 -13
- package/dist/core/events/tool-bridge-logging.js.map +1 -1
- package/dist/core/events-metadata.d.ts.map +1 -1
- package/dist/core/events-metadata.js +8 -4
- package/dist/core/events-metadata.js.map +1 -1
- package/dist/core/export.d.ts +1 -1
- package/dist/core/export.d.ts.map +1 -1
- package/dist/core/export.js +2 -15
- package/dist/core/export.js.map +1 -1
- package/dist/core/feature-path-logging.d.ts +50 -0
- package/dist/core/feature-path-logging.d.ts.map +1 -0
- package/dist/core/feature-path-logging.js +130 -0
- package/dist/core/feature-path-logging.js.map +1 -0
- package/dist/core/file-tools.d.ts +57 -1
- package/dist/core/file-tools.d.ts.map +1 -1
- package/dist/core/file-tools.js +329 -29
- package/dist/core/file-tools.js.map +1 -1
- package/dist/core/google-direct.d.ts +6 -1
- package/dist/core/google-direct.d.ts.map +1 -1
- package/dist/core/google-direct.js +76 -7
- package/dist/core/google-direct.js.map +1 -1
- package/dist/core/heartbeat.d.ts +34 -0
- package/dist/core/heartbeat.d.ts.map +1 -0
- package/dist/core/heartbeat.js +153 -0
- package/dist/core/heartbeat.js.map +1 -0
- package/dist/core/hitl-tool.d.ts +6 -12
- package/dist/core/hitl-tool.d.ts.map +1 -1
- package/dist/core/hitl-tool.js +66 -88
- package/dist/core/hitl-tool.js.map +1 -1
- package/dist/core/hitl.d.ts +61 -4
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +324 -60
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/index.d.ts +11 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +10 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/llm-manager.d.ts +15 -0
- package/dist/core/llm-manager.d.ts.map +1 -1
- package/dist/core/llm-manager.js +325 -40
- package/dist/core/llm-manager.js.map +1 -1
- package/dist/core/load-skill-tool.d.ts +36 -3
- package/dist/core/load-skill-tool.d.ts.map +1 -1
- package/dist/core/load-skill-tool.js +807 -93
- package/dist/core/load-skill-tool.js.map +1 -1
- package/dist/core/logger.d.ts +14 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +15 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/managers.d.ts +18 -50
- package/dist/core/managers.d.ts.map +1 -1
- package/dist/core/managers.js +340 -502
- package/dist/core/managers.js.map +1 -1
- package/dist/core/mcp-server-registry.d.ts +16 -1
- package/dist/core/mcp-server-registry.d.ts.map +1 -1
- package/dist/core/mcp-server-registry.js +162 -12
- package/dist/core/mcp-server-registry.js.map +1 -1
- package/dist/core/message-cutoff.d.ts +29 -0
- package/dist/core/message-cutoff.d.ts.map +1 -0
- package/dist/core/message-cutoff.js +63 -0
- package/dist/core/message-cutoff.js.map +1 -0
- package/dist/core/message-edit-manager.d.ts +54 -0
- package/dist/core/message-edit-manager.d.ts.map +1 -0
- package/dist/core/message-edit-manager.js +602 -0
- package/dist/core/message-edit-manager.js.map +1 -0
- package/dist/core/message-prep.d.ts +2 -0
- package/dist/core/message-prep.d.ts.map +1 -1
- package/dist/core/message-prep.js +39 -12
- package/dist/core/message-prep.js.map +1 -1
- package/dist/core/message-processing-control.d.ts +1 -0
- package/dist/core/message-processing-control.d.ts.map +1 -1
- package/dist/core/message-processing-control.js +23 -6
- package/dist/core/message-processing-control.js.map +1 -1
- package/dist/core/openai-direct.d.ts +9 -3
- package/dist/core/openai-direct.d.ts.map +1 -1
- package/dist/core/openai-direct.js +267 -33
- package/dist/core/openai-direct.js.map +1 -1
- package/dist/core/optional-tracers/opik-runtime.d.ts +32 -0
- package/dist/core/optional-tracers/opik-runtime.d.ts.map +1 -0
- package/dist/core/optional-tracers/opik-runtime.js +141 -0
- package/dist/core/optional-tracers/opik-runtime.js.map +1 -0
- package/dist/core/queue-manager.d.ts +84 -0
- package/dist/core/queue-manager.d.ts.map +1 -0
- package/dist/core/queue-manager.js +814 -0
- package/dist/core/queue-manager.js.map +1 -0
- package/dist/core/reasoning-controls.d.ts +30 -0
- package/dist/core/reasoning-controls.d.ts.map +1 -0
- package/dist/core/reasoning-controls.js +118 -0
- package/dist/core/reasoning-controls.js.map +1 -0
- package/dist/core/reliability-config.d.ts +82 -0
- package/dist/core/reliability-config.d.ts.map +1 -0
- package/dist/core/reliability-config.js +106 -0
- package/dist/core/reliability-config.js.map +1 -0
- package/dist/core/reliability-runtime.d.ts +53 -0
- package/dist/core/reliability-runtime.d.ts.map +1 -0
- package/dist/core/reliability-runtime.js +92 -0
- package/dist/core/reliability-runtime.js.map +1 -0
- package/dist/core/security/guardrails.d.ts +21 -0
- package/dist/core/security/guardrails.d.ts.map +1 -0
- package/dist/core/security/guardrails.js +111 -0
- package/dist/core/security/guardrails.js.map +1 -0
- package/dist/core/send-message-tool.d.ts +79 -0
- package/dist/core/send-message-tool.d.ts.map +1 -0
- package/dist/core/send-message-tool.js +222 -0
- package/dist/core/send-message-tool.js.map +1 -0
- package/dist/core/shell-cmd-tool.d.ts +82 -1
- package/dist/core/shell-cmd-tool.d.ts.map +1 -1
- package/dist/core/shell-cmd-tool.js +854 -42
- package/dist/core/shell-cmd-tool.js.map +1 -1
- package/dist/core/skill-registry.d.ts +2 -0
- package/dist/core/skill-registry.d.ts.map +1 -1
- package/dist/core/skill-registry.js +52 -2
- package/dist/core/skill-registry.js.map +1 -1
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts +5 -0
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/fileEventStorage.js +61 -0
- package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -1
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +5 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/memoryEventStorage.js +34 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -1
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +1 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/sqliteEventStorage.js +19 -2
- package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -1
- package/dist/core/storage/eventStorage/types.d.ts +6 -0
- package/dist/core/storage/eventStorage/types.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/types.js +1 -0
- package/dist/core/storage/eventStorage/types.js.map +1 -1
- package/dist/core/storage/eventStorage/validation.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/validation.js +2 -1
- package/dist/core/storage/eventStorage/validation.js.map +1 -1
- package/dist/core/storage/github-world-import.d.ts +84 -0
- package/dist/core/storage/github-world-import.d.ts.map +1 -0
- package/dist/core/storage/github-world-import.js +365 -0
- package/dist/core/storage/github-world-import.js.map +1 -0
- package/dist/core/storage/memory-storage.d.ts +19 -8
- package/dist/core/storage/memory-storage.d.ts.map +1 -1
- package/dist/core/storage/memory-storage.js +147 -49
- package/dist/core/storage/memory-storage.js.map +1 -1
- package/dist/core/storage/queue-storage.d.ts +1 -0
- package/dist/core/storage/queue-storage.d.ts.map +1 -1
- package/dist/core/storage/queue-storage.js +3 -2
- package/dist/core/storage/queue-storage.js.map +1 -1
- package/dist/core/storage/sqlite-storage.d.ts +14 -9
- package/dist/core/storage/sqlite-storage.d.ts.map +1 -1
- package/dist/core/storage/sqlite-storage.js +131 -154
- package/dist/core/storage/sqlite-storage.js.map +1 -1
- package/dist/core/storage/storage-factory.d.ts +3 -0
- package/dist/core/storage/storage-factory.d.ts.map +1 -1
- package/dist/core/storage/storage-factory.js +175 -89
- package/dist/core/storage/storage-factory.js.map +1 -1
- package/dist/core/storage/world-storage.d.ts +1 -1
- package/dist/core/storage/world-storage.d.ts.map +1 -1
- package/dist/core/storage/world-storage.js +5 -1
- package/dist/core/storage/world-storage.js.map +1 -1
- package/dist/core/storage-init.d.ts +11 -0
- package/dist/core/storage-init.d.ts.map +1 -0
- package/dist/core/storage-init.js +122 -0
- package/dist/core/storage-init.js.map +1 -0
- package/dist/core/subscription.d.ts +8 -1
- package/dist/core/subscription.d.ts.map +1 -1
- package/dist/core/subscription.js +130 -23
- package/dist/core/subscription.js.map +1 -1
- package/dist/core/tool-approval.d.ts +45 -0
- package/dist/core/tool-approval.d.ts.map +1 -0
- package/dist/core/tool-approval.js +223 -0
- package/dist/core/tool-approval.js.map +1 -0
- package/dist/core/tool-execution-envelope.d.ts +87 -0
- package/dist/core/tool-execution-envelope.d.ts.map +1 -0
- package/dist/core/tool-execution-envelope.js +168 -0
- package/dist/core/tool-execution-envelope.js.map +1 -0
- package/dist/core/tool-utils.d.ts +7 -2
- package/dist/core/tool-utils.d.ts.map +1 -1
- package/dist/core/tool-utils.js +81 -17
- package/dist/core/tool-utils.js.map +1 -1
- package/dist/core/types.d.ts +67 -19
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils.d.ts +7 -0
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +71 -21
- package/dist/core/utils.js.map +1 -1
- package/dist/core/web-fetch-tool.d.ts +72 -0
- package/dist/core/web-fetch-tool.d.ts.map +1 -0
- package/dist/core/web-fetch-tool.js +491 -0
- package/dist/core/web-fetch-tool.js.map +1 -0
- package/dist/core/world-registry.d.ts +84 -0
- package/dist/core/world-registry.d.ts.map +1 -0
- package/dist/core/world-registry.js +247 -0
- package/dist/core/world-registry.js.map +1 -0
- package/dist/public/assets/index-Be-1xtV-.js +104 -0
- package/dist/public/assets/index-tsDdiXDU.css +1 -0
- package/dist/public/index.html +2 -2
- package/dist/public/mcp-sandbox-proxy.html +148 -0
- package/dist/server/api.js +260 -18
- package/dist/server/error-response.d.ts +27 -0
- package/dist/server/error-response.js +77 -0
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.js +6 -2
- package/dist/server/sse-handler.d.ts +11 -1
- package/dist/server/sse-handler.js +194 -34
- package/migrations/0015_add_message_queue.sql +36 -0
- package/migrations/0016_add_world_heartbeat.sql +13 -0
- package/migrations/0017_add_title_provenance.sql +7 -0
- package/package.json +31 -10
- package/dist/public/assets/index-BW41BxMy.css +0 -1
- package/dist/public/assets/index-kO6UJFwK.js +0 -96
|
@@ -37,6 +37,14 @@
|
|
|
37
37
|
* - storage (runtime)
|
|
38
38
|
*
|
|
39
39
|
* Changes:
|
|
40
|
+
* - 2026-03-10: Publish one persisted chat-scoped `system` error event on terminal agent-turn failure so the transcript can retain a durable failure message across reloads.
|
|
41
|
+
* - 2026-03-06: Required explicit `messageEvent.chatId` for agent-turn processing; removed `world.currentChatId` fallback from agent activity and turn-limit routing.
|
|
42
|
+
* - 2026-03-06: Updated shell execution persistence to use explicit canonical failure reasons for shell validation/policy failures while keeping bounded-preview continuation output.
|
|
43
|
+
* - 2026-03-06: Switched shell tool execution to one bounded-preview continuation mode and normalized persisted shell tool failures through the canonical shell-result formatter.
|
|
44
|
+
* - 2026-02-28: Added canonical `turn.trace` diagnostics around per-message processing lifecycle.
|
|
45
|
+
* - 2026-02-27: Passed explicit `chatId` when publishing `tool-execution` system events so event routing never falls back to `world.currentChatId`.
|
|
46
|
+
* - 2026-02-27: Seeded continuation runs with already-loaded `load_skill` IDs from initial tool execution so immediate duplicate `load_skill` calls are suppressed in continuation.
|
|
47
|
+
* - 2026-02-21: Passed `agentName` + minimal shell `llmResultMode` in initial tool-execution context so `shell_cmd` tool results stay status-only for LLM continuation and stdout assistant attribution remains consistent.
|
|
40
48
|
* - 2026-02-16: Added `LOG_LLM_TOOL_BRIDGE` gate for LLM↔tool console bridge logs.
|
|
41
49
|
* - 2026-02-16: Added explicit console debug logs for LLM↔tool request/result/error handoff payloads.
|
|
42
50
|
* - 2026-02-14: Shell tool trusted cwd fallback now uses core default working directory (user home) when world `working_directory` is missing.
|
|
@@ -62,14 +70,19 @@ import { generateId, determineSenderType, prepareMessagesForLLM, getWorldTurnLim
|
|
|
62
70
|
import { createCategoryLogger } from '../logger.js';
|
|
63
71
|
import { beginWorldActivity } from '../activity-tracker.js';
|
|
64
72
|
import { createStorageWithWrappers } from '../storage/storage-factory.js';
|
|
73
|
+
// Opik integration: safety checks and runtime gate consumption in agent response flow.
|
|
74
|
+
import { runGuardrails } from '../security/guardrails.js';
|
|
75
|
+
import { resolveOpikRuntimeConfig } from '../optional-tracers/opik-runtime.js';
|
|
65
76
|
import { publishMessage, publishSSE, publishEvent, publishToolEvent, isStreamingEnabled } from './publishers.js';
|
|
66
77
|
import { handleTextResponse } from './memory-manager.js';
|
|
67
|
-
import { validateShellDirectoryRequest, validateShellCommandScope } from '../shell-cmd-tool.js';
|
|
78
|
+
import { formatShellToolErrorEnvelopeContent, validateShellDirectoryRequest, validateShellCommandScope } from '../shell-cmd-tool.js';
|
|
79
|
+
import { createTextToolPreview, getToolEventPreviewPayload, parseToolExecutionEnvelopeContent, serializeToolExecutionEnvelope, stringifyToolExecutionResult, } from '../tool-execution-envelope.js';
|
|
68
80
|
import { beginChatMessageProcessing, isMessageProcessingCanceledError, throwIfMessageProcessingStopped } from '../message-processing-control.js';
|
|
69
81
|
import { logToolBridge, getToolResultPreview } from './tool-bridge-logging.js';
|
|
70
82
|
const loggerAgent = createCategoryLogger('agent');
|
|
71
83
|
const loggerResponse = createCategoryLogger('response');
|
|
72
84
|
const loggerTurnLimit = createCategoryLogger('turnlimit');
|
|
85
|
+
const loggerTurnTrace = createCategoryLogger('turn.trace');
|
|
73
86
|
// Storage wrapper instance - initialized lazily
|
|
74
87
|
let storageWrappers = null;
|
|
75
88
|
async function getStorageWrappers() {
|
|
@@ -173,6 +186,44 @@ function sanitizeAndParseJSON(jsonString) {
|
|
|
173
186
|
// If all else fails, throw the original error with the sanitized string
|
|
174
187
|
throw new Error(`Unable to parse or sanitize JSON. Original length: ${jsonString.length}, Sanitized length: ${sanitized.length}`);
|
|
175
188
|
}
|
|
189
|
+
function getSuccessfulLoadSkillIdForContinuationSeed(toolName, toolArgs, serializedToolResult) {
|
|
190
|
+
if (toolName !== 'load_skill') {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
const skillId = typeof toolArgs?.skill_id === 'string' ? toolArgs.skill_id.trim() : '';
|
|
194
|
+
if (!skillId) {
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
const envelope = parseToolExecutionEnvelopeContent(serializedToolResult);
|
|
198
|
+
const normalizedResult = envelope
|
|
199
|
+
? stringifyToolExecutionResult(envelope.result)
|
|
200
|
+
: String(serializedToolResult || '');
|
|
201
|
+
const isSuccess = /<skill_context\b/i.test(normalizedResult) && !/<error>/i.test(normalizedResult);
|
|
202
|
+
return isSuccess ? skillId : null;
|
|
203
|
+
}
|
|
204
|
+
function formatPersistedToolErrorContent(options) {
|
|
205
|
+
if (options.toolName === 'shell_cmd') {
|
|
206
|
+
return formatShellToolErrorEnvelopeContent({
|
|
207
|
+
command: options.toolArgs?.command,
|
|
208
|
+
parameters: options.toolArgs?.parameters,
|
|
209
|
+
error: options.error,
|
|
210
|
+
toolCallId: options.toolCallId,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
const message = `Error executing tool: ${options.error instanceof Error ? options.error.message : String(options.error)}`;
|
|
214
|
+
if (options.toolName === 'load_skill') {
|
|
215
|
+
return serializeToolExecutionEnvelope({
|
|
216
|
+
__type: 'tool_execution_envelope',
|
|
217
|
+
version: 1,
|
|
218
|
+
tool: 'load_skill',
|
|
219
|
+
tool_call_id: options.toolCallId,
|
|
220
|
+
status: 'failed',
|
|
221
|
+
preview: createTextToolPreview(message),
|
|
222
|
+
result: message,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
return message;
|
|
226
|
+
}
|
|
176
227
|
/**
|
|
177
228
|
* Format tool calls with their parameters for display
|
|
178
229
|
* @param toolCalls - Array of tool calls from LLM response
|
|
@@ -259,6 +310,20 @@ function formatToolCallsMessage(toolCalls) {
|
|
|
259
310
|
return `Calling ${toolCount} tools: ${toolNames}`;
|
|
260
311
|
}
|
|
261
312
|
}
|
|
313
|
+
// Opik integration: classify tool risk level for trace span tagging.
|
|
314
|
+
function classifyToolRisk(toolName) {
|
|
315
|
+
const normalized = String(toolName || '').trim().toLowerCase();
|
|
316
|
+
if (!normalized) {
|
|
317
|
+
return { riskLevel: 'low', riskTags: ['tool:unknown'] };
|
|
318
|
+
}
|
|
319
|
+
if (normalized === 'shell_cmd') {
|
|
320
|
+
return { riskLevel: 'high', riskTags: ['tool:risky', 'tool:shell_cmd'] };
|
|
321
|
+
}
|
|
322
|
+
if (normalized.startsWith('fs_') || normalized.includes('delete') || normalized.includes('exec')) {
|
|
323
|
+
return { riskLevel: 'high', riskTags: ['tool:risky', `tool:${normalized}`] };
|
|
324
|
+
}
|
|
325
|
+
return { riskLevel: 'low', riskTags: [`tool:${normalized}`] };
|
|
326
|
+
}
|
|
262
327
|
function withTrustedShellDirectory(toolCalls, trustedWorkingDirectory) {
|
|
263
328
|
return toolCalls.map((toolCall) => {
|
|
264
329
|
if (toolCall.function?.name !== 'shell_cmd') {
|
|
@@ -305,13 +370,25 @@ function withTrustedShellDirectory(toolCalls, trustedWorkingDirectory) {
|
|
|
305
370
|
*/
|
|
306
371
|
export async function processAgentMessage(world, agent, messageEvent) {
|
|
307
372
|
// Derive target chatId before activity begins so it is captured in per-chat tracking
|
|
308
|
-
const targetChatId = messageEvent.chatId
|
|
309
|
-
|
|
373
|
+
const targetChatId = typeof messageEvent.chatId === 'string' ? messageEvent.chatId.trim() : '';
|
|
374
|
+
if (!targetChatId) {
|
|
375
|
+
throw new Error(`processAgentMessage: explicit chatId is required for agent ${agent.id}`);
|
|
376
|
+
}
|
|
377
|
+
const turnId = messageEvent.messageId || generateId();
|
|
378
|
+
const turnStartMs = Date.now();
|
|
379
|
+
let turnStatus = 'completed';
|
|
380
|
+
loggerTurnTrace.debug('Turn processing started', {
|
|
381
|
+
worldId: world.id,
|
|
382
|
+
chatId: targetChatId,
|
|
383
|
+
agentId: agent.id,
|
|
384
|
+
messageId: messageEvent.messageId,
|
|
385
|
+
turnId,
|
|
386
|
+
sender: messageEvent.sender,
|
|
387
|
+
});
|
|
388
|
+
const completeActivity = beginWorldActivity(world, `agent:${agent.id}`, targetChatId);
|
|
310
389
|
let processingHandle = null;
|
|
311
390
|
try {
|
|
312
|
-
|
|
313
|
-
processingHandle = beginChatMessageProcessing(world.id, targetChatId);
|
|
314
|
-
}
|
|
391
|
+
processingHandle = beginChatMessageProcessing(world.id, targetChatId);
|
|
315
392
|
throwIfMessageProcessingStopped(processingHandle?.signal);
|
|
316
393
|
// Prepare messages for LLM - loads fresh data from storage
|
|
317
394
|
// The user message is already saved in subscribeAgentToMessages, so it's in storage
|
|
@@ -335,7 +412,12 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
335
412
|
await storage.saveAgent(world.id, agent);
|
|
336
413
|
}
|
|
337
414
|
catch (error) {
|
|
338
|
-
loggerAgent.error('Failed to auto-save agent after LLM call increment', {
|
|
415
|
+
loggerAgent.error('Failed to auto-save agent after LLM call increment', {
|
|
416
|
+
worldId: world.id,
|
|
417
|
+
chatId: targetChatId,
|
|
418
|
+
agentId: agent.id,
|
|
419
|
+
error: error instanceof Error ? error.message : error
|
|
420
|
+
});
|
|
339
421
|
}
|
|
340
422
|
// Generate LLM response (streaming or non-streaming) - now returns LLMResponse
|
|
341
423
|
let llmResponse;
|
|
@@ -367,11 +449,44 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
367
449
|
});
|
|
368
450
|
// Handle text responses
|
|
369
451
|
if (llmResponse.type === 'text') {
|
|
370
|
-
|
|
452
|
+
let responseText = llmResponse.content || '';
|
|
371
453
|
if (!responseText) {
|
|
372
454
|
loggerAgent.debug('LLM text response is empty', { agentId: agent.id });
|
|
373
455
|
return;
|
|
374
456
|
}
|
|
457
|
+
// Opik integration: run safety guardrails on LLM output when Opik safety is enabled.
|
|
458
|
+
const opikRuntime = resolveOpikRuntimeConfig(world);
|
|
459
|
+
if (opikRuntime.enabled && opikRuntime.safetyEnabled) {
|
|
460
|
+
const guardrailResult = runGuardrails(responseText, messageEvent.content || '', {
|
|
461
|
+
redact: opikRuntime.redact,
|
|
462
|
+
blockOnHighSeverity: opikRuntime.blockOnHighSeverity,
|
|
463
|
+
});
|
|
464
|
+
if (guardrailResult.flagged) {
|
|
465
|
+
world.eventEmitter.emit('world', {
|
|
466
|
+
type: 'guardrail',
|
|
467
|
+
agentName: agent.id,
|
|
468
|
+
messageId,
|
|
469
|
+
chatId: targetChatId,
|
|
470
|
+
triggered: true,
|
|
471
|
+
blocked: guardrailResult.blocked,
|
|
472
|
+
severity: guardrailResult.severity,
|
|
473
|
+
reasons: guardrailResult.reasons,
|
|
474
|
+
});
|
|
475
|
+
loggerAgent.warn('Guardrail triggered for LLM output', {
|
|
476
|
+
agentId: agent.id,
|
|
477
|
+
severity: guardrailResult.severity,
|
|
478
|
+
blocked: guardrailResult.blocked,
|
|
479
|
+
reasons: guardrailResult.reasons,
|
|
480
|
+
});
|
|
481
|
+
if (guardrailResult.blocked) {
|
|
482
|
+
const blockedMessage = '[Blocked by safety guardrail due to high-severity policy]';
|
|
483
|
+
throwIfMessageProcessingStopped(processingHandle?.signal);
|
|
484
|
+
await handleTextResponse(world, agent, blockedMessage, messageId, messageEvent, targetChatId);
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
responseText = guardrailResult.redactedText;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
375
490
|
// Process text response (existing logic below)
|
|
376
491
|
// Pass targetChatId explicitly for concurrency-safe processing
|
|
377
492
|
throwIfMessageProcessingStopped(processingHandle?.signal);
|
|
@@ -478,12 +593,12 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
478
593
|
// Get MCP tools
|
|
479
594
|
const { getMCPToolsForWorld } = await import('../mcp-server-registry.js');
|
|
480
595
|
const mcpTools = await getMCPToolsForWorld(world.id);
|
|
596
|
+
let toolArgs = {};
|
|
481
597
|
try {
|
|
482
598
|
const toolDef = mcpTools[toolCall.function.name];
|
|
483
599
|
if (!toolDef) {
|
|
484
600
|
throw new Error(`Tool not found: ${toolCall.function.name}`);
|
|
485
601
|
}
|
|
486
|
-
let toolArgs;
|
|
487
602
|
const rawArgs = toolCall.function.arguments;
|
|
488
603
|
if (typeof rawArgs === 'string') {
|
|
489
604
|
try {
|
|
@@ -522,6 +637,8 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
522
637
|
else {
|
|
523
638
|
toolArgs = {};
|
|
524
639
|
}
|
|
640
|
+
// Opik integration: tag tool-start event with risk metadata for trace filtering.
|
|
641
|
+
const toolRisk = classifyToolRisk(toolCall.function.name);
|
|
525
642
|
publishToolEvent(world, {
|
|
526
643
|
agentName: agent.id,
|
|
527
644
|
type: 'tool-start',
|
|
@@ -532,7 +649,9 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
532
649
|
toolCallId: toolCall.id,
|
|
533
650
|
input: toolArgs,
|
|
534
651
|
metadata: {
|
|
535
|
-
isStreaming: isStreamingEnabled()
|
|
652
|
+
isStreaming: isStreamingEnabled(),
|
|
653
|
+
riskLevel: toolRisk.riskLevel,
|
|
654
|
+
riskTags: toolRisk.riskTags,
|
|
536
655
|
}
|
|
537
656
|
}
|
|
538
657
|
});
|
|
@@ -561,7 +680,10 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
561
680
|
toolCallId: toolCall.id,
|
|
562
681
|
chatId: targetChatId,
|
|
563
682
|
abortSignal: processingHandle?.signal,
|
|
564
|
-
workingDirectory: trustedWorkingDirectory
|
|
683
|
+
workingDirectory: trustedWorkingDirectory,
|
|
684
|
+
agentName: agent.id,
|
|
685
|
+
llmResultMode: toolCall.function.name === 'shell_cmd' ? 'minimal' : 'verbose',
|
|
686
|
+
persistToolEnvelope: toolCall.function.name === 'shell_cmd' || toolCall.function.name === 'load_skill',
|
|
565
687
|
};
|
|
566
688
|
const toolResult = await toolDef.execute(toolArgs, undefined, undefined, toolContext);
|
|
567
689
|
if (processingHandle?.isStopped()) {
|
|
@@ -575,7 +697,10 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
575
697
|
}
|
|
576
698
|
catch (error) {
|
|
577
699
|
loggerAgent.error('Failed to save canceled tool state', {
|
|
700
|
+
worldId: world.id,
|
|
701
|
+
chatId: targetChatId,
|
|
578
702
|
agentId: agent.id,
|
|
703
|
+
toolCallId: toolCall.id,
|
|
579
704
|
error: error instanceof Error ? error.message : error
|
|
580
705
|
});
|
|
581
706
|
}
|
|
@@ -614,11 +739,13 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
614
739
|
...(toolArgs.parameters && { parameters: toolArgs.parameters }),
|
|
615
740
|
...(toolCall.function.name === 'shell_cmd' && { directory: trustedWorkingDirectory }),
|
|
616
741
|
...(toolCall.function.name !== 'shell_cmd' && toolArgs.directory && { directory: toolArgs.directory })
|
|
617
|
-
});
|
|
742
|
+
}, targetChatId);
|
|
618
743
|
const serializedToolResult = typeof toolResult === 'string'
|
|
619
744
|
? toolResult
|
|
620
745
|
: JSON.stringify(toolResult) ?? String(toolResult);
|
|
621
|
-
const
|
|
746
|
+
const toolEnvelope = parseToolExecutionEnvelopeContent(serializedToolResult);
|
|
747
|
+
const toolEventPreview = getToolEventPreviewPayload(serializedToolResult);
|
|
748
|
+
const toolEventResult = toolEnvelope ? toolEnvelope.result : toolResult;
|
|
622
749
|
publishToolEvent(world, {
|
|
623
750
|
agentName: agent.id,
|
|
624
751
|
type: 'tool-result',
|
|
@@ -628,15 +755,16 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
628
755
|
toolName: toolCall.function.name,
|
|
629
756
|
toolCallId: toolCall.id,
|
|
630
757
|
input: toolArgs,
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
758
|
+
...(toolEventPreview !== undefined ? { preview: toolEventPreview } : {}),
|
|
759
|
+
result: toolEventResult,
|
|
760
|
+
resultType: Array.isArray(toolEventResult)
|
|
761
|
+
? 'array'
|
|
762
|
+
: toolEventResult === null
|
|
763
|
+
? 'null'
|
|
764
|
+
: typeof toolEventResult === 'string'
|
|
765
|
+
? 'string'
|
|
638
766
|
: 'object',
|
|
639
|
-
resultSize:
|
|
767
|
+
resultSize: serializedToolResult.length
|
|
640
768
|
}
|
|
641
769
|
});
|
|
642
770
|
logToolBridge('TOOL -> LLM', {
|
|
@@ -677,7 +805,10 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
677
805
|
}
|
|
678
806
|
catch (error) {
|
|
679
807
|
loggerAgent.error('Failed to save tool result', {
|
|
808
|
+
worldId: world.id,
|
|
809
|
+
chatId: targetChatId,
|
|
680
810
|
agentId: agent.id,
|
|
811
|
+
toolCallId: toolCall.id,
|
|
681
812
|
error: error instanceof Error ? error.message : error
|
|
682
813
|
});
|
|
683
814
|
}
|
|
@@ -692,8 +823,10 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
692
823
|
// Pass explicit chatId for concurrency-safe continuation
|
|
693
824
|
throwIfMessageProcessingStopped(processingHandle?.signal);
|
|
694
825
|
const { continueLLMAfterToolExecution } = await import('./memory-manager.js');
|
|
826
|
+
const seededLoadSkillId = getSuccessfulLoadSkillIdForContinuationSeed(toolCall.function.name, toolArgs, serializedToolResult);
|
|
695
827
|
await continueLLMAfterToolExecution(world, agent, targetChatId, {
|
|
696
|
-
abortSignal: processingHandle?.signal
|
|
828
|
+
abortSignal: processingHandle?.signal,
|
|
829
|
+
...(seededLoadSkillId ? { preloadedSkillIds: [seededLoadSkillId] } : {}),
|
|
697
830
|
});
|
|
698
831
|
}
|
|
699
832
|
catch (error) {
|
|
@@ -713,7 +846,10 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
713
846
|
}
|
|
714
847
|
catch (saveError) {
|
|
715
848
|
loggerAgent.error('Failed to save canceled tool state', {
|
|
849
|
+
worldId: world.id,
|
|
850
|
+
chatId: targetChatId,
|
|
716
851
|
agentId: agent.id,
|
|
852
|
+
toolCallId: toolCall.id,
|
|
717
853
|
error: saveError instanceof Error ? saveError.message : saveError
|
|
718
854
|
});
|
|
719
855
|
}
|
|
@@ -731,6 +867,8 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
731
867
|
return;
|
|
732
868
|
}
|
|
733
869
|
loggerAgent.error('Tool execution error', {
|
|
870
|
+
worldId: world.id,
|
|
871
|
+
chatId: targetChatId,
|
|
734
872
|
agentId: agent.id,
|
|
735
873
|
toolCallId: toolCall.id,
|
|
736
874
|
error: error instanceof Error ? error.message : error
|
|
@@ -757,7 +895,12 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
757
895
|
// Save error as tool result
|
|
758
896
|
const errorMessage = {
|
|
759
897
|
role: 'tool',
|
|
760
|
-
content:
|
|
898
|
+
content: formatPersistedToolErrorContent({
|
|
899
|
+
toolName: toolCall.function.name,
|
|
900
|
+
toolCallId: toolCall.id,
|
|
901
|
+
toolArgs,
|
|
902
|
+
error,
|
|
903
|
+
}),
|
|
761
904
|
tool_call_id: toolCall.id,
|
|
762
905
|
sender: agent.id,
|
|
763
906
|
createdAt: new Date(),
|
|
@@ -780,7 +923,10 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
780
923
|
}
|
|
781
924
|
catch (saveError) {
|
|
782
925
|
loggerAgent.error('Failed to save error message', {
|
|
926
|
+
worldId: world.id,
|
|
927
|
+
chatId: targetChatId,
|
|
783
928
|
agentId: agent.id,
|
|
929
|
+
toolCallId: toolCall.id,
|
|
784
930
|
error: saveError instanceof Error ? saveError.message : saveError
|
|
785
931
|
});
|
|
786
932
|
}
|
|
@@ -801,21 +947,40 @@ export async function processAgentMessage(world, agent, messageEvent) {
|
|
|
801
947
|
}
|
|
802
948
|
catch (error) {
|
|
803
949
|
if (isMessageProcessingCanceledError(error) || processingHandle?.isStopped()) {
|
|
950
|
+
turnStatus = 'canceled';
|
|
804
951
|
loggerAgent.info('Agent message processing canceled', {
|
|
805
952
|
agentId: agent.id,
|
|
806
|
-
chatId:
|
|
953
|
+
chatId: targetChatId,
|
|
807
954
|
error: error instanceof Error ? error.message : String(error)
|
|
808
955
|
});
|
|
809
956
|
return;
|
|
810
957
|
}
|
|
958
|
+
turnStatus = 'failed';
|
|
811
959
|
loggerAgent.error('Error processing agent message', {
|
|
960
|
+
worldId: world.id,
|
|
961
|
+
chatId: targetChatId,
|
|
812
962
|
agentId: agent.id,
|
|
813
963
|
error: error instanceof Error ? error.message : String(error),
|
|
814
964
|
stack: error instanceof Error ? error.stack : undefined
|
|
815
965
|
});
|
|
966
|
+
publishEvent(world, 'system', {
|
|
967
|
+
type: 'error',
|
|
968
|
+
eventType: 'error',
|
|
969
|
+
agentName: agent.id,
|
|
970
|
+
message: `Error processing agent message: ${error instanceof Error ? error.message : String(error)}. | agent=${agent.id}`,
|
|
971
|
+
}, targetChatId);
|
|
816
972
|
throw error;
|
|
817
973
|
}
|
|
818
974
|
finally {
|
|
975
|
+
loggerTurnTrace.debug('Turn processing completed', {
|
|
976
|
+
worldId: world.id,
|
|
977
|
+
chatId: targetChatId,
|
|
978
|
+
agentId: agent.id,
|
|
979
|
+
messageId: messageEvent.messageId,
|
|
980
|
+
turnId,
|
|
981
|
+
status: turnStatus,
|
|
982
|
+
durationMs: Date.now() - turnStartMs,
|
|
983
|
+
});
|
|
819
984
|
processingHandle?.complete();
|
|
820
985
|
completeActivity();
|
|
821
986
|
}
|
|
@@ -841,7 +1006,7 @@ export async function shouldAgentRespond(world, agent, messageEvent) {
|
|
|
841
1006
|
if (agent.llmCallCount >= worldTurnLimit) {
|
|
842
1007
|
loggerTurnLimit.debug('Turn limit reached, sending turn limit message', { agentId: agent.id, llmCallCount: agent.llmCallCount, worldTurnLimit });
|
|
843
1008
|
const turnLimitMessage = `@human Turn limit reached (${worldTurnLimit} LLM calls). Please take control of the conversation.`;
|
|
844
|
-
const turnLimitChatId = messageEvent.chatId
|
|
1009
|
+
const turnLimitChatId = typeof messageEvent.chatId === 'string' ? messageEvent.chatId.trim() : '';
|
|
845
1010
|
if (turnLimitChatId) {
|
|
846
1011
|
publishMessage(world, turnLimitMessage, agent.id, turnLimitChatId);
|
|
847
1012
|
}
|
|
@@ -862,16 +1027,11 @@ export async function shouldAgentRespond(world, agent, messageEvent) {
|
|
|
862
1027
|
loggerResponse.debug('Skipping system message', { agentId: agent.id });
|
|
863
1028
|
return false;
|
|
864
1029
|
}
|
|
865
|
-
// Always respond to world messages
|
|
866
|
-
if (messageEvent.sender === 'world') {
|
|
867
|
-
loggerResponse.debug('Responding to world message', { agentId: agent.id });
|
|
868
|
-
return true;
|
|
869
|
-
}
|
|
870
1030
|
const anyMentions = extractMentions(messageEvent.content);
|
|
871
1031
|
const mentions = extractParagraphBeginningMentions(messageEvent.content);
|
|
872
1032
|
loggerResponse.debug('Extracted mentions', { mentions, anyMentions });
|
|
873
|
-
//
|
|
874
|
-
if (senderType === SenderType.HUMAN) {
|
|
1033
|
+
// Treat world messages like human ingress: public messages broadcast, leading mentions target.
|
|
1034
|
+
if (senderType === SenderType.HUMAN || senderType === SenderType.WORLD) {
|
|
875
1035
|
if (mentions.length === 0) {
|
|
876
1036
|
if (anyMentions.length > 0) {
|
|
877
1037
|
loggerResponse.debug('Mentions exist but not at paragraph beginning', { agentId: agent.id });
|
|
@@ -880,12 +1040,19 @@ export async function shouldAgentRespond(world, agent, messageEvent) {
|
|
|
880
1040
|
loggerResponse.debug('No mentions - public message', { agentId: agent.id });
|
|
881
1041
|
return true;
|
|
882
1042
|
}
|
|
883
|
-
const
|
|
884
|
-
|
|
1043
|
+
const normalizedAgentId = agent.id.toLowerCase().replace(/\s+/g, '-');
|
|
1044
|
+
const shouldRespond = mentions.includes(normalizedAgentId);
|
|
1045
|
+
loggerResponse.debug('Human-like message mention check', {
|
|
1046
|
+
agentId: agent.id,
|
|
1047
|
+
normalizedAgentId,
|
|
1048
|
+
senderType,
|
|
1049
|
+
shouldRespond,
|
|
1050
|
+
});
|
|
885
1051
|
return shouldRespond;
|
|
886
1052
|
}
|
|
887
1053
|
// For agent messages, only respond if this agent has a paragraph-beginning mention
|
|
888
|
-
const
|
|
889
|
-
|
|
1054
|
+
const normalizedAgentId = agent.id.toLowerCase().replace(/\s+/g, '-');
|
|
1055
|
+
const shouldRespond = mentions.includes(normalizedAgentId);
|
|
1056
|
+
loggerResponse.debug('AGENT message mention check', { agentId: agent.id, normalizedAgentId, shouldRespond });
|
|
890
1057
|
return shouldRespond;
|
|
891
1058
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../core/events/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../core/events/orchestrator.ts"],"names":[],"mappings":"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"}
|