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.
Files changed (263) hide show
  1. package/README.md +90 -17
  2. package/dist/cli/commands.d.ts +7 -1
  3. package/dist/cli/commands.js +27 -10
  4. package/dist/cli/hitl.d.ts +4 -1
  5. package/dist/cli/hitl.js +55 -20
  6. package/dist/cli/index.js +249 -97
  7. package/dist/cli/system-events.d.ts +27 -0
  8. package/dist/cli/system-events.js +63 -0
  9. package/dist/core/activity-tracker.d.ts +26 -0
  10. package/dist/core/activity-tracker.d.ts.map +1 -1
  11. package/dist/core/activity-tracker.js +21 -4
  12. package/dist/core/activity-tracker.js.map +1 -1
  13. package/dist/core/anthropic-direct.d.ts +2 -0
  14. package/dist/core/anthropic-direct.d.ts.map +1 -1
  15. package/dist/core/anthropic-direct.js +43 -1
  16. package/dist/core/anthropic-direct.js.map +1 -1
  17. package/dist/core/chat-constants.d.ts +12 -0
  18. package/dist/core/chat-constants.d.ts.map +1 -1
  19. package/dist/core/chat-constants.js +5 -0
  20. package/dist/core/chat-constants.js.map +1 -1
  21. package/dist/core/create-agent-tool.d.ts +5 -0
  22. package/dist/core/create-agent-tool.d.ts.map +1 -1
  23. package/dist/core/create-agent-tool.js +57 -34
  24. package/dist/core/create-agent-tool.js.map +1 -1
  25. package/dist/core/events/index.d.ts +5 -2
  26. package/dist/core/events/index.d.ts.map +1 -1
  27. package/dist/core/events/index.js +5 -2
  28. package/dist/core/events/index.js.map +1 -1
  29. package/dist/core/events/memory-manager.d.ts +26 -1
  30. package/dist/core/events/memory-manager.d.ts.map +1 -1
  31. package/dist/core/events/memory-manager.js +877 -72
  32. package/dist/core/events/memory-manager.js.map +1 -1
  33. package/dist/core/events/orchestrator.d.ts +8 -0
  34. package/dist/core/events/orchestrator.d.ts.map +1 -1
  35. package/dist/core/events/orchestrator.js +203 -36
  36. package/dist/core/events/orchestrator.js.map +1 -1
  37. package/dist/core/events/persistence.d.ts +21 -14
  38. package/dist/core/events/persistence.d.ts.map +1 -1
  39. package/dist/core/events/persistence.js +100 -35
  40. package/dist/core/events/persistence.js.map +1 -1
  41. package/dist/core/events/publishers.d.ts +13 -7
  42. package/dist/core/events/publishers.d.ts.map +1 -1
  43. package/dist/core/events/publishers.js +53 -37
  44. package/dist/core/events/publishers.js.map +1 -1
  45. package/dist/core/events/subscribers.d.ts +17 -14
  46. package/dist/core/events/subscribers.d.ts.map +1 -1
  47. package/dist/core/events/subscribers.js +61 -148
  48. package/dist/core/events/subscribers.js.map +1 -1
  49. package/dist/core/events/title-scheduler.d.ts +27 -0
  50. package/dist/core/events/title-scheduler.d.ts.map +1 -0
  51. package/dist/core/events/title-scheduler.js +135 -0
  52. package/dist/core/events/title-scheduler.js.map +1 -0
  53. package/dist/core/events/tool-bridge-logging.d.ts +4 -1
  54. package/dist/core/events/tool-bridge-logging.d.ts.map +1 -1
  55. package/dist/core/events/tool-bridge-logging.js +112 -13
  56. package/dist/core/events/tool-bridge-logging.js.map +1 -1
  57. package/dist/core/events-metadata.d.ts.map +1 -1
  58. package/dist/core/events-metadata.js +8 -4
  59. package/dist/core/events-metadata.js.map +1 -1
  60. package/dist/core/export.d.ts +1 -1
  61. package/dist/core/export.d.ts.map +1 -1
  62. package/dist/core/export.js +2 -15
  63. package/dist/core/export.js.map +1 -1
  64. package/dist/core/feature-path-logging.d.ts +50 -0
  65. package/dist/core/feature-path-logging.d.ts.map +1 -0
  66. package/dist/core/feature-path-logging.js +130 -0
  67. package/dist/core/feature-path-logging.js.map +1 -0
  68. package/dist/core/file-tools.d.ts +57 -1
  69. package/dist/core/file-tools.d.ts.map +1 -1
  70. package/dist/core/file-tools.js +329 -29
  71. package/dist/core/file-tools.js.map +1 -1
  72. package/dist/core/google-direct.d.ts +6 -1
  73. package/dist/core/google-direct.d.ts.map +1 -1
  74. package/dist/core/google-direct.js +76 -7
  75. package/dist/core/google-direct.js.map +1 -1
  76. package/dist/core/heartbeat.d.ts +34 -0
  77. package/dist/core/heartbeat.d.ts.map +1 -0
  78. package/dist/core/heartbeat.js +153 -0
  79. package/dist/core/heartbeat.js.map +1 -0
  80. package/dist/core/hitl-tool.d.ts +6 -12
  81. package/dist/core/hitl-tool.d.ts.map +1 -1
  82. package/dist/core/hitl-tool.js +66 -88
  83. package/dist/core/hitl-tool.js.map +1 -1
  84. package/dist/core/hitl.d.ts +61 -4
  85. package/dist/core/hitl.d.ts.map +1 -1
  86. package/dist/core/hitl.js +324 -60
  87. package/dist/core/hitl.js.map +1 -1
  88. package/dist/core/index.d.ts +11 -7
  89. package/dist/core/index.d.ts.map +1 -1
  90. package/dist/core/index.js +10 -6
  91. package/dist/core/index.js.map +1 -1
  92. package/dist/core/llm-manager.d.ts +15 -0
  93. package/dist/core/llm-manager.d.ts.map +1 -1
  94. package/dist/core/llm-manager.js +325 -40
  95. package/dist/core/llm-manager.js.map +1 -1
  96. package/dist/core/load-skill-tool.d.ts +36 -3
  97. package/dist/core/load-skill-tool.d.ts.map +1 -1
  98. package/dist/core/load-skill-tool.js +807 -93
  99. package/dist/core/load-skill-tool.js.map +1 -1
  100. package/dist/core/logger.d.ts +14 -0
  101. package/dist/core/logger.d.ts.map +1 -1
  102. package/dist/core/logger.js +15 -0
  103. package/dist/core/logger.js.map +1 -1
  104. package/dist/core/managers.d.ts +18 -50
  105. package/dist/core/managers.d.ts.map +1 -1
  106. package/dist/core/managers.js +340 -502
  107. package/dist/core/managers.js.map +1 -1
  108. package/dist/core/mcp-server-registry.d.ts +16 -1
  109. package/dist/core/mcp-server-registry.d.ts.map +1 -1
  110. package/dist/core/mcp-server-registry.js +162 -12
  111. package/dist/core/mcp-server-registry.js.map +1 -1
  112. package/dist/core/message-cutoff.d.ts +29 -0
  113. package/dist/core/message-cutoff.d.ts.map +1 -0
  114. package/dist/core/message-cutoff.js +63 -0
  115. package/dist/core/message-cutoff.js.map +1 -0
  116. package/dist/core/message-edit-manager.d.ts +54 -0
  117. package/dist/core/message-edit-manager.d.ts.map +1 -0
  118. package/dist/core/message-edit-manager.js +602 -0
  119. package/dist/core/message-edit-manager.js.map +1 -0
  120. package/dist/core/message-prep.d.ts +2 -0
  121. package/dist/core/message-prep.d.ts.map +1 -1
  122. package/dist/core/message-prep.js +39 -12
  123. package/dist/core/message-prep.js.map +1 -1
  124. package/dist/core/message-processing-control.d.ts +1 -0
  125. package/dist/core/message-processing-control.d.ts.map +1 -1
  126. package/dist/core/message-processing-control.js +23 -6
  127. package/dist/core/message-processing-control.js.map +1 -1
  128. package/dist/core/openai-direct.d.ts +9 -3
  129. package/dist/core/openai-direct.d.ts.map +1 -1
  130. package/dist/core/openai-direct.js +267 -33
  131. package/dist/core/openai-direct.js.map +1 -1
  132. package/dist/core/optional-tracers/opik-runtime.d.ts +32 -0
  133. package/dist/core/optional-tracers/opik-runtime.d.ts.map +1 -0
  134. package/dist/core/optional-tracers/opik-runtime.js +141 -0
  135. package/dist/core/optional-tracers/opik-runtime.js.map +1 -0
  136. package/dist/core/queue-manager.d.ts +84 -0
  137. package/dist/core/queue-manager.d.ts.map +1 -0
  138. package/dist/core/queue-manager.js +814 -0
  139. package/dist/core/queue-manager.js.map +1 -0
  140. package/dist/core/reasoning-controls.d.ts +30 -0
  141. package/dist/core/reasoning-controls.d.ts.map +1 -0
  142. package/dist/core/reasoning-controls.js +118 -0
  143. package/dist/core/reasoning-controls.js.map +1 -0
  144. package/dist/core/reliability-config.d.ts +82 -0
  145. package/dist/core/reliability-config.d.ts.map +1 -0
  146. package/dist/core/reliability-config.js +106 -0
  147. package/dist/core/reliability-config.js.map +1 -0
  148. package/dist/core/reliability-runtime.d.ts +53 -0
  149. package/dist/core/reliability-runtime.d.ts.map +1 -0
  150. package/dist/core/reliability-runtime.js +92 -0
  151. package/dist/core/reliability-runtime.js.map +1 -0
  152. package/dist/core/security/guardrails.d.ts +21 -0
  153. package/dist/core/security/guardrails.d.ts.map +1 -0
  154. package/dist/core/security/guardrails.js +111 -0
  155. package/dist/core/security/guardrails.js.map +1 -0
  156. package/dist/core/send-message-tool.d.ts +79 -0
  157. package/dist/core/send-message-tool.d.ts.map +1 -0
  158. package/dist/core/send-message-tool.js +222 -0
  159. package/dist/core/send-message-tool.js.map +1 -0
  160. package/dist/core/shell-cmd-tool.d.ts +82 -1
  161. package/dist/core/shell-cmd-tool.d.ts.map +1 -1
  162. package/dist/core/shell-cmd-tool.js +854 -42
  163. package/dist/core/shell-cmd-tool.js.map +1 -1
  164. package/dist/core/skill-registry.d.ts +2 -0
  165. package/dist/core/skill-registry.d.ts.map +1 -1
  166. package/dist/core/skill-registry.js +52 -2
  167. package/dist/core/skill-registry.js.map +1 -1
  168. package/dist/core/storage/eventStorage/fileEventStorage.d.ts +5 -0
  169. package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -1
  170. package/dist/core/storage/eventStorage/fileEventStorage.js +61 -0
  171. package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -1
  172. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +5 -0
  173. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -1
  174. package/dist/core/storage/eventStorage/memoryEventStorage.js +34 -0
  175. package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -1
  176. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +1 -0
  177. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -1
  178. package/dist/core/storage/eventStorage/sqliteEventStorage.js +19 -2
  179. package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -1
  180. package/dist/core/storage/eventStorage/types.d.ts +6 -0
  181. package/dist/core/storage/eventStorage/types.d.ts.map +1 -1
  182. package/dist/core/storage/eventStorage/types.js +1 -0
  183. package/dist/core/storage/eventStorage/types.js.map +1 -1
  184. package/dist/core/storage/eventStorage/validation.d.ts.map +1 -1
  185. package/dist/core/storage/eventStorage/validation.js +2 -1
  186. package/dist/core/storage/eventStorage/validation.js.map +1 -1
  187. package/dist/core/storage/github-world-import.d.ts +84 -0
  188. package/dist/core/storage/github-world-import.d.ts.map +1 -0
  189. package/dist/core/storage/github-world-import.js +365 -0
  190. package/dist/core/storage/github-world-import.js.map +1 -0
  191. package/dist/core/storage/memory-storage.d.ts +19 -8
  192. package/dist/core/storage/memory-storage.d.ts.map +1 -1
  193. package/dist/core/storage/memory-storage.js +147 -49
  194. package/dist/core/storage/memory-storage.js.map +1 -1
  195. package/dist/core/storage/queue-storage.d.ts +1 -0
  196. package/dist/core/storage/queue-storage.d.ts.map +1 -1
  197. package/dist/core/storage/queue-storage.js +3 -2
  198. package/dist/core/storage/queue-storage.js.map +1 -1
  199. package/dist/core/storage/sqlite-storage.d.ts +14 -9
  200. package/dist/core/storage/sqlite-storage.d.ts.map +1 -1
  201. package/dist/core/storage/sqlite-storage.js +131 -154
  202. package/dist/core/storage/sqlite-storage.js.map +1 -1
  203. package/dist/core/storage/storage-factory.d.ts +3 -0
  204. package/dist/core/storage/storage-factory.d.ts.map +1 -1
  205. package/dist/core/storage/storage-factory.js +175 -89
  206. package/dist/core/storage/storage-factory.js.map +1 -1
  207. package/dist/core/storage/world-storage.d.ts +1 -1
  208. package/dist/core/storage/world-storage.d.ts.map +1 -1
  209. package/dist/core/storage/world-storage.js +5 -1
  210. package/dist/core/storage/world-storage.js.map +1 -1
  211. package/dist/core/storage-init.d.ts +11 -0
  212. package/dist/core/storage-init.d.ts.map +1 -0
  213. package/dist/core/storage-init.js +122 -0
  214. package/dist/core/storage-init.js.map +1 -0
  215. package/dist/core/subscription.d.ts +8 -1
  216. package/dist/core/subscription.d.ts.map +1 -1
  217. package/dist/core/subscription.js +130 -23
  218. package/dist/core/subscription.js.map +1 -1
  219. package/dist/core/tool-approval.d.ts +45 -0
  220. package/dist/core/tool-approval.d.ts.map +1 -0
  221. package/dist/core/tool-approval.js +223 -0
  222. package/dist/core/tool-approval.js.map +1 -0
  223. package/dist/core/tool-execution-envelope.d.ts +87 -0
  224. package/dist/core/tool-execution-envelope.d.ts.map +1 -0
  225. package/dist/core/tool-execution-envelope.js +168 -0
  226. package/dist/core/tool-execution-envelope.js.map +1 -0
  227. package/dist/core/tool-utils.d.ts +7 -2
  228. package/dist/core/tool-utils.d.ts.map +1 -1
  229. package/dist/core/tool-utils.js +81 -17
  230. package/dist/core/tool-utils.js.map +1 -1
  231. package/dist/core/types.d.ts +67 -19
  232. package/dist/core/types.d.ts.map +1 -1
  233. package/dist/core/types.js +3 -0
  234. package/dist/core/types.js.map +1 -1
  235. package/dist/core/utils.d.ts +7 -0
  236. package/dist/core/utils.d.ts.map +1 -1
  237. package/dist/core/utils.js +71 -21
  238. package/dist/core/utils.js.map +1 -1
  239. package/dist/core/web-fetch-tool.d.ts +72 -0
  240. package/dist/core/web-fetch-tool.d.ts.map +1 -0
  241. package/dist/core/web-fetch-tool.js +491 -0
  242. package/dist/core/web-fetch-tool.js.map +1 -0
  243. package/dist/core/world-registry.d.ts +84 -0
  244. package/dist/core/world-registry.d.ts.map +1 -0
  245. package/dist/core/world-registry.js +247 -0
  246. package/dist/core/world-registry.js.map +1 -0
  247. package/dist/public/assets/index-Be-1xtV-.js +104 -0
  248. package/dist/public/assets/index-tsDdiXDU.css +1 -0
  249. package/dist/public/index.html +2 -2
  250. package/dist/public/mcp-sandbox-proxy.html +148 -0
  251. package/dist/server/api.js +260 -18
  252. package/dist/server/error-response.d.ts +27 -0
  253. package/dist/server/error-response.js +77 -0
  254. package/dist/server/index.d.ts +2 -1
  255. package/dist/server/index.js +6 -2
  256. package/dist/server/sse-handler.d.ts +11 -1
  257. package/dist/server/sse-handler.js +194 -34
  258. package/migrations/0015_add_message_queue.sql +36 -0
  259. package/migrations/0016_add_world_heartbeat.sql +13 -0
  260. package/migrations/0017_add_title_provenance.sql +7 -0
  261. package/package.json +31 -10
  262. package/dist/public/assets/index-BW41BxMy.css +0 -1
  263. 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 ?? world.currentChatId ?? null;
309
- const completeActivity = beginWorldActivity(world, `agent:${agent.id}`, targetChatId ?? undefined);
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
- if (targetChatId) {
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', { agentId: agent.id, error: error instanceof Error ? error.message : error });
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
- const responseText = llmResponse.content || '';
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 toolResultPreview = serializedToolResult.slice(0, 4000);
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
- result: toolResultPreview,
632
- resultType: typeof toolResult === 'string'
633
- ? 'string'
634
- : Array.isArray(toolResult)
635
- ? 'array'
636
- : toolResult === null
637
- ? 'null'
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: toolResultPreview.length
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: `Error executing tool: ${error instanceof Error ? error.message : String(error)}`,
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: messageEvent.chatId ?? world.currentChatId ?? null,
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 ?? world.currentChatId ?? null;
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
- // For HUMAN messages
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 shouldRespond = mentions.includes(agent.id.toLowerCase());
884
- loggerResponse.debug('HUMAN message mention check', { agentId: agent.id, shouldRespond });
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 shouldRespond = mentions.includes(agent.id.toLowerCase());
889
- loggerResponse.debug('AGENT message mention check', { agentId: agent.id, shouldRespond });
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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"}