agent-world 0.12.3 → 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 +105 -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 +9 -2
  5. package/dist/cli/hitl.js +61 -20
  6. package/dist/cli/index.js +250 -96
  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 +38 -2
  10. package/dist/core/activity-tracker.d.ts.map +1 -1
  11. package/dist/core/activity-tracker.js +62 -9
  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 +28 -25
  22. package/dist/core/create-agent-tool.d.ts.map +1 -1
  23. package/dist/core/create-agent-tool.js +264 -141
  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 +214 -38
  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 -61
  40. package/dist/core/events/persistence.js.map +1 -1
  41. package/dist/core/events/publishers.d.ts +13 -16
  42. package/dist/core/events/publishers.d.ts.map +1 -1
  43. package/dist/core/events/publishers.js +54 -55
  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 +68 -147
  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 +73 -0
  81. package/dist/core/hitl-tool.d.ts.map +1 -0
  82. package/dist/core/hitl-tool.js +284 -0
  83. package/dist/core/hitl-tool.js.map +1 -0
  84. package/dist/core/hitl.d.ts +85 -8
  85. package/dist/core/hitl.d.ts.map +1 -1
  86. package/dist/core/hitl.js +375 -61
  87. package/dist/core/hitl.js.map +1 -1
  88. package/dist/core/index.d.ts +12 -7
  89. package/dist/core/index.d.ts.map +1 -1
  90. package/dist/core/index.js +11 -6
  91. package/dist/core/index.js.map +1 -1
  92. package/dist/core/llm-manager.d.ts +17 -0
  93. package/dist/core/llm-manager.d.ts.map +1 -1
  94. package/dist/core/llm-manager.js +335 -43
  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 +41 -52
  105. package/dist/core/managers.d.ts.map +1 -1
  106. package/dist/core/managers.js +422 -533
  107. package/dist/core/managers.js.map +1 -1
  108. package/dist/core/mcp-server-registry.d.ts +19 -2
  109. package/dist/core/mcp-server-registry.d.ts.map +1 -1
  110. package/dist/core/mcp-server-registry.js +168 -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 +9 -2
  228. package/dist/core/tool-utils.d.ts.map +1 -1
  229. package/dist/core/tool-utils.js +122 -28
  230. package/dist/core/tool-utils.js.map +1 -1
  231. package/dist/core/types.d.ts +69 -36
  232. package/dist/core/types.d.ts.map +1 -1
  233. package/dist/core/types.js +3 -2
  234. package/dist/core/types.js.map +1 -1
  235. package/dist/core/utils.d.ts +16 -0
  236. package/dist/core/utils.d.ts.map +1 -1
  237. package/dist/core/utils.js +99 -24
  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 +288 -58
  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 +13 -2
  257. package/dist/server/sse-handler.js +194 -26
  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-BO20H4xt.js +0 -96
  263. package/dist/public/assets/index-ETY7W5_S.css +0 -1
@@ -0,0 +1,63 @@
1
+ /**
2
+ * CLI System Event Formatting Helpers
3
+ *
4
+ * Purpose:
5
+ * - Convert runtime `system` event payloads into readable CLI output text.
6
+ *
7
+ * Key Features:
8
+ * - Supports plain-string and structured-object system payloads.
9
+ * - Preserves important status families such as title updates and queue failures.
10
+ * - Keeps formatting pure so both interactive and pipeline paths share the same logic.
11
+ *
12
+ * Notes on Implementation:
13
+ * - Leaf helper with no terminal side effects.
14
+ * - Unknown payloads return `null` so callers can skip empty/noise events.
15
+ *
16
+ * Summary of Recent Changes:
17
+ * - 2026-03-12: Created for cross-client system-status parity.
18
+ */
19
+ function asRecord(value) {
20
+ return value && typeof value === 'object' ? value : null;
21
+ }
22
+ function readTrimmedString(value) {
23
+ return typeof value === 'string' ? value.trim() : '';
24
+ }
25
+ export function getSystemEventDisplayText(eventData) {
26
+ if (!eventData) {
27
+ return null;
28
+ }
29
+ const rawContent = Object.prototype.hasOwnProperty.call(eventData, 'content')
30
+ ? eventData.content
31
+ : eventData;
32
+ const content = rawContent ?? eventData;
33
+ if (typeof content === 'string') {
34
+ const normalized = content.trim();
35
+ return normalized || null;
36
+ }
37
+ const contentRecord = asRecord(content);
38
+ const eventType = readTrimmedString(contentRecord?.eventType
39
+ ?? contentRecord?.type
40
+ ?? eventData.eventType
41
+ ?? eventData.type);
42
+ const title = readTrimmedString(contentRecord?.title ?? eventData.title);
43
+ const message = readTrimmedString(contentRecord?.message ?? eventData.message);
44
+ if (eventType === 'chat-title-updated') {
45
+ if (title) {
46
+ return `Chat title updated: ${title}`;
47
+ }
48
+ if (message) {
49
+ return message;
50
+ }
51
+ return 'Chat title updated.';
52
+ }
53
+ if (message) {
54
+ return message;
55
+ }
56
+ if (title) {
57
+ return title;
58
+ }
59
+ if (eventType && eventType !== 'system' && eventType !== 'world') {
60
+ return eventType;
61
+ }
62
+ return null;
63
+ }
@@ -1,3 +1,21 @@
1
+ /**
2
+ * World Activity Tracker
3
+ *
4
+ * Purpose:
5
+ * - Track world-level processing lifecycle and emit activity events.
6
+ *
7
+ * Key Features:
8
+ * - Emits `response-start`, `response-end`, and `idle` events.
9
+ * - Tracks active sources and active chat IDs for concurrent chat operations.
10
+ * - Maintains `world.isProcessing` based on lifecycle transitions.
11
+ *
12
+ * Implementation Notes:
13
+ * - Activity state is stored on the world instance via a private symbol key.
14
+ * - Events include a chat context (`chatId`) captured from the originating operation.
15
+ *
16
+ * Recent Changes:
17
+ * - 2026-02-27: Added chat-scoped `chatId` metadata to world activity events to prevent cross-chat idle-side effects.
18
+ */
1
19
  import { World } from './types.js';
2
20
  import { getLLMQueueStatus } from './llm-manager.js';
3
21
  export type WorldActivityEventType = 'response-start' | 'response-end' | 'idle';
@@ -7,9 +25,27 @@ export interface WorldActivityEventPayload {
7
25
  activityId: number;
8
26
  timestamp: string;
9
27
  source?: string;
28
+ chatId?: string | null;
10
29
  activeSources: string[];
30
+ activeChatIds: string[];
31
+ queuedChatIds: string[];
32
+ activeAgentNames: string[];
11
33
  queue: ReturnType<typeof getLLMQueueStatus>;
12
34
  messageId: string;
13
35
  }
14
- export declare function beginWorldActivity(world: World, source?: string): () => void;
15
- export declare function trackWorldActivity<T>(world: World, operation: () => Promise<T>, source?: string): Promise<T>;
36
+ export declare function beginWorldActivity(world: World, source?: string, chatId?: string): () => void;
37
+ /**
38
+ * Returns the set of chatIds currently being actively processed in this world.
39
+ * Useful for parallel-chat monitoring and targeted mutation guards.
40
+ */
41
+ export declare function getActiveProcessingChatIds(world: World): ReadonlySet<string>;
42
+ /**
43
+ * Returns the names of agents currently generating responses in this world.
44
+ * Derived from activeSources keys (stored as `agent:<id>`).
45
+ */
46
+ export declare function getActiveAgentNames(world: World): string[];
47
+ /**
48
+ * Returns true if the given chatId has at least one active processing operation.
49
+ */
50
+ export declare function isChatProcessing(world: World, chatId: string): boolean;
51
+ export declare function trackWorldActivity<T>(world: World, operation: () => Promise<T>, source?: string, chatId?: string): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"activity-tracker.d.ts","sourceRoot":"","sources":["../../core/activity-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AA8CD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CA0C5E;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAcZ"}
1
+ {"version":3,"file":"activity-tracker.d.ts","sourceRoot":"","sources":["../../core/activity-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAUrD,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAuDD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAyD7F;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAI5E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAM1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAItE;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAcZ"}
@@ -11,19 +11,27 @@ function getActivityState(world) {
11
11
  const initial = {
12
12
  pendingOperations: 0,
13
13
  lastActivityId: 0,
14
- activeSources: new Map()
14
+ activeSources: new Map(),
15
+ activeChatOps: new Map()
15
16
  };
16
17
  world[stateKey] = initial;
17
18
  return initial;
18
19
  }
19
- function emitActivityEvent(world, type, pendingOperations, activityId, source) {
20
+ function emitActivityEvent(world, type, pendingOperations, activityId, source, chatId) {
21
+ const activityState = getActivityState(world);
20
22
  const payload = {
21
23
  type,
22
24
  pendingOperations,
23
25
  activityId,
24
26
  timestamp: new Date().toISOString(),
25
27
  source,
26
- activeSources: Array.from(getActivityState(world).activeSources.keys()),
28
+ chatId: chatId ?? null,
29
+ activeSources: Array.from(activityState.activeSources.keys()),
30
+ activeChatIds: Array.from(activityState.activeChatOps.keys()),
31
+ queuedChatIds: Array.from(world._queuedChatIds ?? []),
32
+ activeAgentNames: Array.from(activityState.activeSources.keys())
33
+ .filter(s => s.startsWith('agent:'))
34
+ .map(s => s.slice('agent:'.length)),
27
35
  queue: getLLMQueueStatus(),
28
36
  messageId: nanoid(10) // Generate unique ID for event persistence
29
37
  };
@@ -33,18 +41,22 @@ function emitActivityEvent(world, type, pendingOperations, activityId, source) {
33
41
  world.eventEmitter.emit('world', payload);
34
42
  world.eventEmitter.emit(type, payload);
35
43
  }
36
- export function beginWorldActivity(world, source) {
44
+ export function beginWorldActivity(world, source, chatId) {
37
45
  const activityState = getActivityState(world);
38
46
  activityState.pendingOperations += 1;
39
47
  if (source) {
40
48
  activityState.activeSources.set(source, (activityState.activeSources.get(source) ?? 0) + 1);
41
49
  }
50
+ // Track chat-level operation counts for parallel-chat visibility
51
+ if (chatId) {
52
+ activityState.activeChatOps.set(chatId, (activityState.activeChatOps.get(chatId) ?? 0) + 1);
53
+ }
42
54
  // Increment activityId when starting first operation
43
55
  if (activityState.pendingOperations === 1) {
44
56
  activityState.lastActivityId += 1;
45
57
  }
46
58
  // Emit response-start for all operation starts
47
- emitActivityEvent(world, 'response-start', activityState.pendingOperations, activityState.lastActivityId, source);
59
+ emitActivityEvent(world, 'response-start', activityState.pendingOperations, activityState.lastActivityId, source, chatId);
48
60
  let finished = false;
49
61
  const currentActivityId = activityState.lastActivityId;
50
62
  return () => {
@@ -62,17 +74,58 @@ export function beginWorldActivity(world, source) {
62
74
  state.activeSources.set(source, currentCount - 1);
63
75
  }
64
76
  }
77
+ // Decrement chat-level operation count
78
+ if (chatId) {
79
+ const chatCount = state.activeChatOps.get(chatId) ?? 0;
80
+ if (chatCount <= 1) {
81
+ state.activeChatOps.delete(chatId);
82
+ }
83
+ else {
84
+ state.activeChatOps.set(chatId, chatCount - 1);
85
+ }
86
+ }
65
87
  // Emit idle when all operations complete, otherwise response-end
66
88
  if (state.pendingOperations === 0) {
67
- emitActivityEvent(world, 'idle', 0, currentActivityId, source);
89
+ emitActivityEvent(world, 'idle', 0, currentActivityId, source, chatId);
68
90
  }
69
91
  else {
70
- emitActivityEvent(world, 'response-end', state.pendingOperations, state.lastActivityId, source);
92
+ emitActivityEvent(world, 'response-end', state.pendingOperations, state.lastActivityId, source, chatId);
71
93
  }
72
94
  };
73
95
  }
74
- export async function trackWorldActivity(world, operation, source) {
75
- const end = beginWorldActivity(world, source);
96
+ /**
97
+ * Returns the set of chatIds currently being actively processed in this world.
98
+ * Useful for parallel-chat monitoring and targeted mutation guards.
99
+ */
100
+ export function getActiveProcessingChatIds(world) {
101
+ const state = world[stateKey];
102
+ if (!state)
103
+ return new Set();
104
+ return new Set(state.activeChatOps.keys());
105
+ }
106
+ /**
107
+ * Returns the names of agents currently generating responses in this world.
108
+ * Derived from activeSources keys (stored as `agent:<id>`).
109
+ */
110
+ export function getActiveAgentNames(world) {
111
+ const state = world[stateKey];
112
+ if (!state)
113
+ return [];
114
+ return Array.from(state.activeSources.keys())
115
+ .filter(s => s.startsWith('agent:'))
116
+ .map(s => s.slice('agent:'.length));
117
+ }
118
+ /**
119
+ * Returns true if the given chatId has at least one active processing operation.
120
+ */
121
+ export function isChatProcessing(world, chatId) {
122
+ const state = world[stateKey];
123
+ if (!state)
124
+ return false;
125
+ return (state.activeChatOps.get(chatId) ?? 0) > 0;
126
+ }
127
+ export async function trackWorldActivity(world, operation, source, chatId) {
128
+ const end = beginWorldActivity(world, source, chatId);
76
129
  try {
77
130
  return await operation();
78
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activity-tracker.js","sourceRoot":"","sources":["../../core/activity-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity-tracker.js","sourceRoot":"","sources":["../../core/activity-tracker.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@
19
19
  * - NO event emission, NO storage, NO tool execution
20
20
  *
21
21
  * Recent Changes:
22
+ * - 2026-03-12: Reclassified streaming abort logs as info-level cancellations to suppress expected stop/edit noise.
23
+ * - 2026-02-28: Added canonical `llm.anthropic` category emission while preserving legacy `anthropic` logs during migration.
22
24
  * - 2026-02-13: Added abort-signal support for streaming and non-streaming calls to enable chat stop cancellation.
23
25
  * - 2025-11-09: Phase 3 - Removed ALL tool execution logic (~200 lines)
24
26
  * - Provider is now a pure client - only API calls and data transformation
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-direct.d.ts","sourceRoot":"","sources":["../../core/anthropic-direct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAwB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMxE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAIxE;AAyED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAClC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,WAAW,CAAC,CAqGtB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,WAAW,CAAC,CAmGtB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAGrE"}
1
+ {"version":3,"file":"anthropic-direct.d.ts","sourceRoot":"","sources":["../../core/anthropic-direct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAwB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAuCxE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAIxE;AAyED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAClC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,WAAW,CAAC,CA4GtB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,WAAW,CAAC,CAmGtB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAGrE"}
@@ -19,6 +19,8 @@
19
19
  * - NO event emission, NO storage, NO tool execution
20
20
  *
21
21
  * Recent Changes:
22
+ * - 2026-03-12: Reclassified streaming abort logs as info-level cancellations to suppress expected stop/edit noise.
23
+ * - 2026-02-28: Added canonical `llm.anthropic` category emission while preserving legacy `anthropic` logs during migration.
22
24
  * - 2026-02-13: Added abort-signal support for streaming and non-streaming calls to enable chat stop cancellation.
23
25
  * - 2025-11-09: Phase 3 - Removed ALL tool execution logic (~200 lines)
24
26
  * - Provider is now a pure client - only API calls and data transformation
@@ -31,8 +33,42 @@
31
33
  import Anthropic from '@anthropic-ai/sdk';
32
34
  import { getLLMProviderConfig } from './llm-config.js';
33
35
  import { createCategoryLogger } from './logger.js';
34
- const logger = createCategoryLogger('anthropic');
36
+ const loggerCanonical = createCategoryLogger('llm.anthropic');
37
+ const loggerLegacy = createCategoryLogger('anthropic');
38
+ const logger = {
39
+ trace: (msg, ...args) => {
40
+ loggerCanonical.trace(msg, ...args);
41
+ loggerLegacy.trace(msg, ...args);
42
+ },
43
+ debug: (msg, ...args) => {
44
+ loggerCanonical.debug(msg, ...args);
45
+ loggerLegacy.debug(msg, ...args);
46
+ },
47
+ info: (msg, ...args) => {
48
+ loggerCanonical.info(msg, ...args);
49
+ loggerLegacy.info(msg, ...args);
50
+ },
51
+ warn: (msg, ...args) => {
52
+ loggerCanonical.warn(msg, ...args);
53
+ loggerLegacy.warn(msg, ...args);
54
+ },
55
+ error: (msg, ...args) => {
56
+ loggerCanonical.error(msg, ...args);
57
+ loggerLegacy.error(msg, ...args);
58
+ },
59
+ };
35
60
  const mcpLogger = createCategoryLogger('mcp.execution');
61
+ function isAbortLikeError(error) {
62
+ if (!error)
63
+ return false;
64
+ if (error instanceof DOMException && error.name === 'AbortError')
65
+ return true;
66
+ if (error instanceof Error && error.name === 'AbortError')
67
+ return true;
68
+ const message = error instanceof Error ? error.message : String(error);
69
+ const normalized = message.toLowerCase();
70
+ return normalized.includes('abort') || normalized.includes('canceled') || normalized.includes('cancelled');
71
+ }
36
72
  /**
37
73
  * Anthropic client factory
38
74
  */
@@ -195,6 +231,12 @@ export async function streamAnthropicResponse(client, model, messages, agent, mc
195
231
  };
196
232
  }
197
233
  catch (error) {
234
+ if (abortSignal?.aborted || isAbortLikeError(error)) {
235
+ logger.info(`Anthropic Direct: Streaming canceled for agent=${agent.id}`, {
236
+ error: error instanceof Error ? error.message : String(error),
237
+ });
238
+ throw error;
239
+ }
198
240
  logger.error(`Anthropic Direct: Streaming error for agent=${agent.id}:`, error);
199
241
  throw error;
200
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-direct.js","sourceRoot":"","sources":["../../core/anthropic-direct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-direct.js","sourceRoot":"","sources":["../../core/anthropic-direct.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,25 @@
7
7
  * Features:
8
8
  * - Central default chat title constant for reusable untitled sessions.
9
9
  * - Helper to evaluate whether a chat is still in default-title state.
10
+ * - Explicit title provenance type and constants for auto-title vs. manual-rename tracking.
10
11
  *
11
12
  * Implementation Notes:
12
13
  * - Kept framework-agnostic to avoid importing manager/event modules.
13
14
  * - Used by both chat lifecycle management and auto-title update paths.
14
15
  *
15
16
  * Recent Changes:
17
+ * - 2026-03-13: Added TitleProvenance type and TITLE_PROVENANCE_* constants for explicit provenance tracking (Phase 3).
16
18
  * - 2026-02-13: Added shared default-title constant and helper for session title logic.
17
19
  */
18
20
  export declare const NEW_CHAT_TITLE = "New Chat";
19
21
  export declare function isDefaultChatTitle(name: string | null | undefined): boolean;
22
+ /**
23
+ * Title provenance discriminates how the current chat name was assigned:
24
+ * - 'default': The title has never been changed (still 'New Chat') or is a legacy row.
25
+ * - 'auto': The title was set by automatic title generation.
26
+ * - 'manual': The title was explicitly renamed by the user.
27
+ */
28
+ export type TitleProvenance = 'default' | 'auto' | 'manual';
29
+ export declare const TITLE_PROVENANCE_DEFAULT: TitleProvenance;
30
+ export declare const TITLE_PROVENANCE_AUTO: TitleProvenance;
31
+ export declare const TITLE_PROVENANCE_MANUAL: TitleProvenance;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-constants.d.ts","sourceRoot":"","sources":["../../core/chat-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE3E"}
1
+ {"version":3,"file":"chat-constants.d.ts","sourceRoot":"","sources":["../../core/chat-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5D,eAAO,MAAM,wBAAwB,EAAE,eAA2B,CAAC;AACnE,eAAO,MAAM,qBAAqB,EAAE,eAAwB,CAAC;AAC7D,eAAO,MAAM,uBAAuB,EAAE,eAA0B,CAAC"}
@@ -7,15 +7,20 @@
7
7
  * Features:
8
8
  * - Central default chat title constant for reusable untitled sessions.
9
9
  * - Helper to evaluate whether a chat is still in default-title state.
10
+ * - Explicit title provenance type and constants for auto-title vs. manual-rename tracking.
10
11
  *
11
12
  * Implementation Notes:
12
13
  * - Kept framework-agnostic to avoid importing manager/event modules.
13
14
  * - Used by both chat lifecycle management and auto-title update paths.
14
15
  *
15
16
  * Recent Changes:
17
+ * - 2026-03-13: Added TitleProvenance type and TITLE_PROVENANCE_* constants for explicit provenance tracking (Phase 3).
16
18
  * - 2026-02-13: Added shared default-title constant and helper for session title logic.
17
19
  */
18
20
  export const NEW_CHAT_TITLE = 'New Chat';
19
21
  export function isDefaultChatTitle(name) {
20
22
  return String(name ?? '').trim() === NEW_CHAT_TITLE;
21
23
  }
24
+ export const TITLE_PROVENANCE_DEFAULT = 'default';
25
+ export const TITLE_PROVENANCE_AUTO = 'auto';
26
+ export const TITLE_PROVENANCE_MANUAL = 'manual';
@@ -1 +1 @@
1
- {"version":3,"file":"chat-constants.js","sourceRoot":"","sources":["../../core/chat-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,IAA+B;IAChE,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"chat-constants.js","sourceRoot":"","sources":["../../core/chat-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,IAA+B;IAChE,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC;AACtD,CAAC;AAUD,MAAM,CAAC,MAAM,wBAAwB,GAAoB,SAAS,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAoB,MAAM,CAAC;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAoB,QAAQ,CAAC"}
@@ -1,39 +1,42 @@
1
1
  /**
2
- * Create Agent Tool Module - Built-in tool for approval-gated agent creation.
2
+ * Create Agent Tool Module - Built-in tool for approval-gated agent creation
3
3
  *
4
4
  * Purpose:
5
- * - Provide a deterministic `create_agent` built-in tool that creates agents after explicit user approval.
5
+ * - Expose a built-in `create_agent` tool that creates one new agent after explicit user approval.
6
6
  *
7
7
  * Key Features:
8
- * - Requires `name` and supports optional `autoReply`, `role`, and `nextAgent` arguments.
9
- * - Enforces a mandatory HITL approval check before creating any agent.
10
- * - Inherits provider/model from world-level `chatLLMProvider` / `chatLLMModel` when configured.
11
- * - Generates a stable system prompt template for new agents.
12
- * - Returns structured JSON payloads for success, denial, and error outcomes.
8
+ * - Requires `name` and supports optional `autoReply`, `role`, and `nextAgent` inputs.
9
+ * - Enforces HITL approval with deterministic deny/timeout handling before persistence.
10
+ * - Generates deterministic system prompt text for multi-agent routing.
11
+ * - Uses world-level chat provider/model settings with deterministic fallbacks.
13
12
  *
14
- * Notes on Implementation:
15
- * - Uses `requestWorldOption` for approval (no custom approval protocol).
16
- * - Uses core `createAgent` manager API to preserve existing persistence and CRUD event behavior.
17
- * - Applies deterministic defaults when world-level provider/model are not configured.
13
+ * Implementation Notes:
14
+ * - Uses manager-level `createAgent` as the persistence boundary.
15
+ * - Returns deterministic JSON-string payloads for success, denial, and errors.
16
+ * - Keeps runtime contract canonical (`autoReply`, `nextAgent`) while aliases are handled upstream.
18
17
  *
19
18
  * Recent Changes:
20
- * - 2026-02-19: Initial implementation of approval-gated `create_agent` built-in tool.
19
+ * - 2026-03-12: Shared tool approval flow now persists durable approval prompt/resolution messages for replay-safe denial history.
20
+ * - 2026-03-12: Added `read` permission level guard — returns a blocked-tool error when world toolPermission is 'read'.
21
+ * - 2026-02-20: Added post-create HITL informational confirmation (`Agent <name> has been created`) with `refreshAfterDismiss` metadata set to true.
22
+ * - 2026-02-20: Pre-claim agent creation slot before approval dialog to prevent parallel-call race where both calls pass approval before either calls createAgent.
23
+ * - 2026-02-20: Updated tool create path to allow manager-level create during the current in-flight world processing turn.
24
+ * - 2026-02-20: Updated `create_agent` default behavior so omitted `autoReply` resolves to `false`.
25
+ * - 2026-02-20: Added initial built-in `create_agent` tool implementation with mandatory approval gate.
21
26
  */
27
+ import { type World } from './types.js';
28
+ type CreateAgentToolArgs = {
29
+ name?: unknown;
30
+ autoReply?: unknown;
31
+ role?: unknown;
32
+ nextAgent?: unknown;
33
+ };
22
34
  type CreateAgentToolContext = {
23
- world?: {
24
- id?: string;
25
- currentChatId?: string | null;
26
- chatLLMProvider?: string | null;
27
- chatLLMModel?: string | null;
28
- eventEmitter?: unknown;
29
- } | null;
35
+ world?: World;
30
36
  chatId?: string | null;
31
- };
32
- type CreateAgentToolArgs = {
33
- name: string;
34
- autoReply?: boolean;
35
- role?: string;
36
- nextAgent?: string;
37
+ messages?: Array<Record<string, any>>;
38
+ toolCallId?: string;
39
+ agentName?: string | null;
37
40
  };
38
41
  export declare function createCreateAgentToolDefinition(): {
39
42
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"create-agent-tool.d.ts","sourceRoot":"","sources":["../../core/create-agent-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH,KAAK,sBAAsB,GAAG;IAC5B,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAwEF,wBAAgB,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;oBA2BrB,mBAAmB,gBAAgB,MAAM,oBAAoB,MAAM,YAAY,sBAAsB;EAmG9H"}
1
+ {"version":3,"file":"create-agent-tool.d.ts","sourceRoot":"","sources":["../../core/create-agent-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,OAAO,EAAqE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAU3G,KAAK,mBAAmB,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAqKF,wBAAgB,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;oBA2BrB,mBAAmB,gBAAgB,MAAM,oBAAoB,MAAM,YAAY,sBAAsB;EA0K9H"}