agent-world 0.11.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/README.md +17 -7
  2. package/dist/cli/commands.d.ts +109 -0
  3. package/dist/cli/commands.js +2024 -0
  4. package/dist/cli/display.d.ts +124 -0
  5. package/dist/cli/display.js +381 -0
  6. package/dist/cli/hitl.d.ts +33 -0
  7. package/dist/cli/hitl.js +81 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/stream.d.ts +41 -0
  10. package/dist/cli/stream.js +222 -0
  11. package/dist/core/activity-tracker.d.ts +16 -0
  12. package/dist/core/activity-tracker.d.ts.map +1 -0
  13. package/dist/core/activity-tracker.js +91 -0
  14. package/dist/core/activity-tracker.js.map +1 -0
  15. package/dist/core/ai-commands.d.ts +16 -0
  16. package/dist/core/ai-commands.d.ts.map +1 -0
  17. package/dist/core/ai-commands.js +24 -0
  18. package/dist/core/ai-commands.js.map +1 -0
  19. package/dist/core/ai-sdk-patch.d.ts +24 -0
  20. package/dist/core/ai-sdk-patch.d.ts.map +1 -0
  21. package/dist/core/ai-sdk-patch.js +169 -0
  22. package/dist/core/ai-sdk-patch.js.map +1 -0
  23. package/dist/core/anthropic-direct.d.ts +52 -0
  24. package/dist/core/anthropic-direct.d.ts.map +1 -0
  25. package/dist/core/anthropic-direct.js +301 -0
  26. package/dist/core/anthropic-direct.js.map +1 -0
  27. package/dist/core/approval-cache.d.ts +104 -0
  28. package/dist/core/approval-cache.d.ts.map +1 -0
  29. package/dist/core/approval-cache.js +150 -0
  30. package/dist/core/approval-cache.js.map +1 -0
  31. package/dist/core/chat-constants.d.ts +20 -0
  32. package/dist/core/chat-constants.d.ts.map +1 -0
  33. package/dist/core/chat-constants.js +22 -0
  34. package/dist/core/chat-constants.js.map +1 -0
  35. package/dist/core/create-agent-tool.d.ts +66 -0
  36. package/dist/core/create-agent-tool.d.ts.map +1 -0
  37. package/dist/core/create-agent-tool.js +212 -0
  38. package/dist/core/create-agent-tool.js.map +1 -0
  39. package/dist/core/events/approval-checker.d.ts +61 -0
  40. package/dist/core/events/approval-checker.d.ts.map +1 -0
  41. package/dist/core/events/approval-checker.js +226 -0
  42. package/dist/core/events/approval-checker.js.map +1 -0
  43. package/dist/core/events/index.d.ts +25 -0
  44. package/dist/core/events/index.d.ts.map +1 -0
  45. package/dist/core/events/index.js +30 -0
  46. package/dist/core/events/index.js.map +1 -0
  47. package/dist/core/events/memory-manager.d.ts +73 -0
  48. package/dist/core/events/memory-manager.d.ts.map +1 -0
  49. package/dist/core/events/memory-manager.js +1218 -0
  50. package/dist/core/events/memory-manager.js.map +1 -0
  51. package/dist/core/events/mention-logic.d.ts +39 -0
  52. package/dist/core/events/mention-logic.d.ts.map +1 -0
  53. package/dist/core/events/mention-logic.js +163 -0
  54. package/dist/core/events/mention-logic.js.map +1 -0
  55. package/dist/core/events/orchestrator.d.ts +69 -0
  56. package/dist/core/events/orchestrator.d.ts.map +1 -0
  57. package/dist/core/events/orchestrator.js +883 -0
  58. package/dist/core/events/orchestrator.js.map +1 -0
  59. package/dist/core/events/persistence.d.ts +41 -0
  60. package/dist/core/events/persistence.d.ts.map +1 -0
  61. package/dist/core/events/persistence.js +296 -0
  62. package/dist/core/events/persistence.js.map +1 -0
  63. package/dist/core/events/publishers.d.ts +81 -0
  64. package/dist/core/events/publishers.d.ts.map +1 -0
  65. package/dist/core/events/publishers.js +272 -0
  66. package/dist/core/events/publishers.js.map +1 -0
  67. package/dist/core/events/subscribers.d.ts +45 -0
  68. package/dist/core/events/subscribers.d.ts.map +1 -0
  69. package/dist/core/events/subscribers.js +288 -0
  70. package/dist/core/events/subscribers.js.map +1 -0
  71. package/dist/core/events/tool-bridge-logging.d.ts +28 -0
  72. package/dist/core/events/tool-bridge-logging.d.ts.map +1 -0
  73. package/dist/core/events/tool-bridge-logging.js +94 -0
  74. package/dist/core/events/tool-bridge-logging.js.map +1 -0
  75. package/dist/core/events-metadata.d.ts +72 -0
  76. package/dist/core/events-metadata.d.ts.map +1 -0
  77. package/dist/core/events-metadata.js +167 -0
  78. package/dist/core/events-metadata.js.map +1 -0
  79. package/dist/core/events.d.ts +186 -0
  80. package/dist/core/events.d.ts.map +1 -0
  81. package/dist/core/events.js +1248 -0
  82. package/dist/core/events.js.map +1 -0
  83. package/dist/core/export.d.ts +106 -0
  84. package/dist/core/export.d.ts.map +1 -0
  85. package/dist/core/export.js +705 -0
  86. package/dist/core/export.js.map +1 -0
  87. package/dist/core/file-tools.d.ts +114 -0
  88. package/dist/core/file-tools.d.ts.map +1 -0
  89. package/dist/core/file-tools.js +370 -0
  90. package/dist/core/file-tools.js.map +1 -0
  91. package/dist/core/google-direct.d.ts +58 -0
  92. package/dist/core/google-direct.d.ts.map +1 -0
  93. package/dist/core/google-direct.js +298 -0
  94. package/dist/core/google-direct.js.map +1 -0
  95. package/dist/core/hitl.d.ts +54 -0
  96. package/dist/core/hitl.d.ts.map +1 -0
  97. package/dist/core/hitl.js +153 -0
  98. package/dist/core/hitl.js.map +1 -0
  99. package/dist/core/index.d.ts +59 -0
  100. package/dist/core/index.d.ts.map +1 -0
  101. package/dist/core/index.js +70 -0
  102. package/dist/core/index.js.map +1 -0
  103. package/dist/core/llm-config.d.ts +128 -0
  104. package/dist/core/llm-config.d.ts.map +1 -0
  105. package/dist/core/llm-config.js +164 -0
  106. package/dist/core/llm-config.js.map +1 -0
  107. package/dist/core/llm-manager.d.ts +163 -0
  108. package/dist/core/llm-manager.d.ts.map +1 -0
  109. package/dist/core/llm-manager.js +669 -0
  110. package/dist/core/llm-manager.js.map +1 -0
  111. package/dist/core/load-skill-tool.d.ts +55 -0
  112. package/dist/core/load-skill-tool.d.ts.map +1 -0
  113. package/dist/core/load-skill-tool.js +468 -0
  114. package/dist/core/load-skill-tool.js.map +1 -0
  115. package/dist/core/logger.d.ts +88 -0
  116. package/dist/core/logger.d.ts.map +1 -0
  117. package/dist/core/logger.js +358 -0
  118. package/dist/core/logger.js.map +1 -0
  119. package/dist/core/managers.d.ts +131 -0
  120. package/dist/core/managers.d.ts.map +1 -0
  121. package/dist/core/managers.js +1223 -0
  122. package/dist/core/managers.js.map +1 -0
  123. package/dist/core/mcp-server-registry.d.ts +304 -0
  124. package/dist/core/mcp-server-registry.d.ts.map +1 -0
  125. package/dist/core/mcp-server-registry.js +1769 -0
  126. package/dist/core/mcp-server-registry.js.map +1 -0
  127. package/dist/core/mcp-tools.d.ts +56 -0
  128. package/dist/core/mcp-tools.d.ts.map +1 -0
  129. package/dist/core/mcp-tools.js +186 -0
  130. package/dist/core/mcp-tools.js.map +1 -0
  131. package/dist/core/message-prep.d.ts +81 -0
  132. package/dist/core/message-prep.d.ts.map +1 -0
  133. package/dist/core/message-prep.js +223 -0
  134. package/dist/core/message-prep.js.map +1 -0
  135. package/dist/core/message-processing-control.d.ts +54 -0
  136. package/dist/core/message-processing-control.d.ts.map +1 -0
  137. package/dist/core/message-processing-control.js +139 -0
  138. package/dist/core/message-processing-control.js.map +1 -0
  139. package/dist/core/openai-direct.d.ts +80 -0
  140. package/dist/core/openai-direct.d.ts.map +1 -0
  141. package/dist/core/openai-direct.js +374 -0
  142. package/dist/core/openai-direct.js.map +1 -0
  143. package/dist/core/shell-cmd-tool.d.ts +235 -0
  144. package/dist/core/shell-cmd-tool.d.ts.map +1 -0
  145. package/dist/core/shell-cmd-tool.js +1157 -0
  146. package/dist/core/shell-cmd-tool.js.map +1 -0
  147. package/dist/core/shell-process-registry.d.ts +88 -0
  148. package/dist/core/shell-process-registry.d.ts.map +1 -0
  149. package/dist/core/shell-process-registry.js +309 -0
  150. package/dist/core/shell-process-registry.js.map +1 -0
  151. package/dist/core/skill-registry.d.ts +75 -0
  152. package/dist/core/skill-registry.d.ts.map +1 -0
  153. package/dist/core/skill-registry.js +369 -0
  154. package/dist/core/skill-registry.js.map +1 -0
  155. package/dist/core/skill-script-runner.d.ts +89 -0
  156. package/dist/core/skill-script-runner.d.ts.map +1 -0
  157. package/dist/core/skill-script-runner.js +274 -0
  158. package/dist/core/skill-script-runner.js.map +1 -0
  159. package/dist/core/skill-selector.d.ts +65 -0
  160. package/dist/core/skill-selector.d.ts.map +1 -0
  161. package/dist/core/skill-selector.js +190 -0
  162. package/dist/core/skill-selector.js.map +1 -0
  163. package/dist/core/skill-settings.d.ts +20 -0
  164. package/dist/core/skill-settings.d.ts.map +1 -0
  165. package/dist/core/skill-settings.js +40 -0
  166. package/dist/core/skill-settings.js.map +1 -0
  167. package/dist/core/storage/agent-storage.d.ts +134 -0
  168. package/dist/core/storage/agent-storage.d.ts.map +1 -0
  169. package/dist/core/storage/agent-storage.js +498 -0
  170. package/dist/core/storage/agent-storage.js.map +1 -0
  171. package/dist/core/storage/eventStorage/fileEventStorage.d.ts +100 -0
  172. package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -0
  173. package/dist/core/storage/eventStorage/fileEventStorage.js +494 -0
  174. package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -0
  175. package/dist/core/storage/eventStorage/index.d.ts +31 -0
  176. package/dist/core/storage/eventStorage/index.d.ts.map +1 -0
  177. package/dist/core/storage/eventStorage/index.js +31 -0
  178. package/dist/core/storage/eventStorage/index.js.map +1 -0
  179. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +87 -0
  180. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -0
  181. package/dist/core/storage/eventStorage/memoryEventStorage.js +244 -0
  182. package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -0
  183. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +45 -0
  184. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -0
  185. package/dist/core/storage/eventStorage/sqliteEventStorage.js +301 -0
  186. package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -0
  187. package/dist/core/storage/eventStorage/types.d.ts +142 -0
  188. package/dist/core/storage/eventStorage/types.d.ts.map +1 -0
  189. package/dist/core/storage/eventStorage/types.js +43 -0
  190. package/dist/core/storage/eventStorage/types.js.map +1 -0
  191. package/dist/core/storage/eventStorage/validation.d.ts +30 -0
  192. package/dist/core/storage/eventStorage/validation.d.ts.map +1 -0
  193. package/dist/core/storage/eventStorage/validation.js +68 -0
  194. package/dist/core/storage/eventStorage/validation.js.map +1 -0
  195. package/dist/core/storage/legacy-migrations.d.ts +45 -0
  196. package/dist/core/storage/legacy-migrations.d.ts.map +1 -0
  197. package/dist/core/storage/legacy-migrations.js +295 -0
  198. package/dist/core/storage/legacy-migrations.js.map +1 -0
  199. package/dist/core/storage/memory-storage.d.ts +105 -0
  200. package/dist/core/storage/memory-storage.d.ts.map +1 -0
  201. package/dist/core/storage/memory-storage.js +415 -0
  202. package/dist/core/storage/memory-storage.js.map +1 -0
  203. package/dist/core/storage/migration-runner.d.ts +96 -0
  204. package/dist/core/storage/migration-runner.d.ts.map +1 -0
  205. package/dist/core/storage/migration-runner.js +306 -0
  206. package/dist/core/storage/migration-runner.js.map +1 -0
  207. package/dist/core/storage/queue-storage.d.ts +147 -0
  208. package/dist/core/storage/queue-storage.d.ts.map +1 -0
  209. package/dist/core/storage/queue-storage.js +290 -0
  210. package/dist/core/storage/queue-storage.js.map +1 -0
  211. package/dist/core/storage/skill-storage.d.ts +136 -0
  212. package/dist/core/storage/skill-storage.d.ts.map +1 -0
  213. package/dist/core/storage/skill-storage.js +474 -0
  214. package/dist/core/storage/skill-storage.js.map +1 -0
  215. package/dist/core/storage/sqlite-schema.d.ts +95 -0
  216. package/dist/core/storage/sqlite-schema.d.ts.map +1 -0
  217. package/dist/core/storage/sqlite-schema.js +156 -0
  218. package/dist/core/storage/sqlite-schema.js.map +1 -0
  219. package/dist/core/storage/sqlite-storage.d.ts +146 -0
  220. package/dist/core/storage/sqlite-storage.d.ts.map +1 -0
  221. package/dist/core/storage/sqlite-storage.js +709 -0
  222. package/dist/core/storage/sqlite-storage.js.map +1 -0
  223. package/dist/core/storage/storage-factory.d.ts +61 -0
  224. package/dist/core/storage/storage-factory.d.ts.map +1 -0
  225. package/dist/core/storage/storage-factory.js +794 -0
  226. package/dist/core/storage/storage-factory.js.map +1 -0
  227. package/dist/core/storage/validation.d.ts +36 -0
  228. package/dist/core/storage/validation.d.ts.map +1 -0
  229. package/dist/core/storage/validation.js +79 -0
  230. package/dist/core/storage/validation.js.map +1 -0
  231. package/dist/core/storage/world-storage.d.ts +114 -0
  232. package/dist/core/storage/world-storage.d.ts.map +1 -0
  233. package/dist/core/storage/world-storage.js +378 -0
  234. package/dist/core/storage/world-storage.js.map +1 -0
  235. package/dist/core/subscription.d.ts +43 -0
  236. package/dist/core/subscription.d.ts.map +1 -0
  237. package/dist/core/subscription.js +227 -0
  238. package/dist/core/subscription.js.map +1 -0
  239. package/dist/core/tool-utils.d.ts +80 -0
  240. package/dist/core/tool-utils.d.ts.map +1 -0
  241. package/dist/core/tool-utils.js +273 -0
  242. package/dist/core/tool-utils.js.map +1 -0
  243. package/dist/core/types.d.ts +595 -0
  244. package/dist/core/types.d.ts.map +1 -0
  245. package/dist/core/types.js +158 -0
  246. package/dist/core/types.js.map +1 -0
  247. package/dist/core/utils.d.ts +138 -0
  248. package/dist/core/utils.d.ts.map +1 -0
  249. package/dist/core/utils.js +478 -0
  250. package/dist/core/utils.js.map +1 -0
  251. package/dist/core/world-class.d.ts +43 -0
  252. package/dist/core/world-class.d.ts.map +1 -0
  253. package/dist/core/world-class.js +90 -0
  254. package/dist/core/world-class.js.map +1 -0
  255. package/dist/index.d.ts +18 -0
  256. package/dist/public/assets/agent-sprites-DJFgj-zP.png +0 -0
  257. package/dist/public/assets/border-KHK37r8y.svg +83 -0
  258. package/dist/public/assets/index-C9kPXL6G.css +1 -0
  259. package/dist/public/assets/index-DOQEHGWt.js +96 -0
  260. package/dist/public/index.html +21 -0
  261. package/dist/server/api.d.ts +2 -0
  262. package/dist/server/api.js +1124 -0
  263. package/dist/server/index.d.ts +29 -0
  264. package/dist/server/sse-handler.d.ts +62 -0
  265. package/dist/server/sse-handler.js +234 -0
  266. package/package.json +15 -3
  267. package/scripts/launch-electron.js +0 -58
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Logger Module - High-Performance Cross-Platform Logging with Pino
3
+ *
4
+ * Features:
5
+ * - High-performance structured logging powered by Pino
6
+ * - Pretty-printing in development with pino-pretty
7
+ * - JSON structured output in production for log aggregation
8
+ * - Hierarchical category-specific loggers with independent levels
9
+ * - Auto-initialization with environment variables on module load
10
+ * - Configuration-driven setup with level filtering
11
+ * - Environment variable support for per-category log levels (e.g., LOG_CORE_DB=debug)
12
+ * - Backward compatible API with previous console-based logger
13
+ *
14
+ * Categories: Dot-separated hierarchies (e.g., "core.db", "api.handler.users")
15
+ * Usage: Auto-initialized on import → createCategoryLogger(category, bindings?)
16
+ *
17
+ * Environment Variable Support:
18
+ * - Set per-category log level with LOG_{CATEGORY} (e.g., LOG_CORE_DB=debug)
19
+ * - Category name normalization: dots preserved for hierarchy, other non-alphanumeric characters become dots
20
+ * - Hierarchical resolution: most-specific match wins (e.g., LOG_CORE_DB > LOG_CORE > LOG_LEVEL)
21
+ * - Any LOG_{CATEGORY} variable is supported dynamically (no fixed list)
22
+ * - These override global LOG_LEVEL and config.categoryLevels
23
+ * - LOG_LEVEL sets the global default if no category override is present
24
+ *
25
+ * Auto-Initialization:
26
+ * - Logger automatically scans environment variables when module is imported
27
+ * - No manual initialization required for basic usage
28
+ * - initializeLogger() can still be used to override settings
29
+ *
30
+ * Implementation: Pino-based structured logging with performance optimizations
31
+ * - Development: Pretty-printed colored output via pino-pretty
32
+ * - Production: JSON structured logs for log aggregation systems
33
+ */
34
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error';
35
+ export interface Logger {
36
+ trace: (msg: any, ...args: any[]) => void;
37
+ debug: (msg: any, ...args: any[]) => void;
38
+ info: (msg: any, ...args: any[]) => void;
39
+ warn: (msg: any, ...args: any[]) => void;
40
+ error: (msg: any, ...args: any[]) => void;
41
+ child: (bindings: Record<string, any>) => Logger;
42
+ level: LogLevel;
43
+ }
44
+ export declare function addLogStreamCallback(callback: (logEvent: import('./subscription.js').LogStreamEvent) => void): () => void;
45
+ export interface LoggerConfig {
46
+ globalLevel?: LogLevel;
47
+ categoryLevels?: Record<string, LogLevel>;
48
+ }
49
+ export declare function initializeLogger(config?: LoggerConfig): void;
50
+ export declare function createCategoryLogger(category: string, bindings?: Record<string, any>): Logger;
51
+ export declare function getCategoryLogLevel(category: string): LogLevel;
52
+ export declare function shouldLogForCategory(messageLevel: LogLevel, category: string): boolean;
53
+ export declare const logger: Logger;
54
+ export declare const loggers: {
55
+ storage: Logger;
56
+ 'storage.migration': Logger;
57
+ 'storage.query': Logger;
58
+ 'storage.memory': Logger;
59
+ 'storage.init': Logger;
60
+ mcp: Logger;
61
+ 'mcp.lifecycle': Logger;
62
+ 'mcp.connection': Logger;
63
+ 'mcp.tools': Logger;
64
+ 'mcp.execution': Logger;
65
+ llm: Logger;
66
+ 'llm.openai': Logger;
67
+ 'llm.anthropic': Logger;
68
+ 'llm.google': Logger;
69
+ chat: Logger;
70
+ 'chat.session': Logger;
71
+ world: Logger;
72
+ 'world.lifecycle': Logger;
73
+ 'world.subscription': Logger;
74
+ 'world.activity': Logger;
75
+ agent: Logger;
76
+ 'agent.lifecycle': Logger;
77
+ events: Logger;
78
+ 'events.publish': Logger;
79
+ 'events.agent': Logger;
80
+ 'events.response': Logger;
81
+ 'events.memory': Logger;
82
+ api: Logger;
83
+ server: Logger;
84
+ cli: Logger;
85
+ ws: Logger;
86
+ };
87
+ export default logger;
88
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../core/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAwErE,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IACjD,KAAK,EAAE,QAAQ,CAAC;CACjB;AA2HD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,mBAAmB,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAGzH;AAiCD,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC3C;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,YAAiB,GAAG,IAAI,CA4ChE;AAGD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAkB7F;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAE9D;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtF;AAGD,eAAO,MAAM,MAAM,QAAuB,CAAC;AAG3C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CnB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Logger Module - High-Performance Cross-Platform Logging with Pino
3
+ *
4
+ * Features:
5
+ * - High-performance structured logging powered by Pino
6
+ * - Pretty-printing in development with pino-pretty
7
+ * - JSON structured output in production for log aggregation
8
+ * - Hierarchical category-specific loggers with independent levels
9
+ * - Auto-initialization with environment variables on module load
10
+ * - Configuration-driven setup with level filtering
11
+ * - Environment variable support for per-category log levels (e.g., LOG_CORE_DB=debug)
12
+ * - Backward compatible API with previous console-based logger
13
+ *
14
+ * Categories: Dot-separated hierarchies (e.g., "core.db", "api.handler.users")
15
+ * Usage: Auto-initialized on import → createCategoryLogger(category, bindings?)
16
+ *
17
+ * Environment Variable Support:
18
+ * - Set per-category log level with LOG_{CATEGORY} (e.g., LOG_CORE_DB=debug)
19
+ * - Category name normalization: dots preserved for hierarchy, other non-alphanumeric characters become dots
20
+ * - Hierarchical resolution: most-specific match wins (e.g., LOG_CORE_DB > LOG_CORE > LOG_LEVEL)
21
+ * - Any LOG_{CATEGORY} variable is supported dynamically (no fixed list)
22
+ * - These override global LOG_LEVEL and config.categoryLevels
23
+ * - LOG_LEVEL sets the global default if no category override is present
24
+ *
25
+ * Auto-Initialization:
26
+ * - Logger automatically scans environment variables when module is imported
27
+ * - No manual initialization required for basic usage
28
+ * - initializeLogger() can still be used to override settings
29
+ *
30
+ * Implementation: Pino-based structured logging with performance optimizations
31
+ * - Development: Pretty-printed colored output via pino-pretty
32
+ * - Production: JSON structured logs for log aggregation systems
33
+ */
34
+ // Load environment variables from .env file
35
+ import dotenv from 'dotenv';
36
+ import pino from 'pino';
37
+ dotenv.config({ quiet: true });
38
+ const LOG_LEVELS = {
39
+ trace: 10, debug: 20, info: 30, warn: 40, error: 50
40
+ };
41
+ function shouldLog(messageLevel, currentLevel) {
42
+ return LOG_LEVELS[messageLevel] >= LOG_LEVELS[currentLevel];
43
+ }
44
+ // Normalize category keys for consistent lookup across environment variables and function calls
45
+ // Preserves dots for hierarchy, converts other non-alphanumeric characters to dots
46
+ function normalizeCategoryKey(raw) {
47
+ if (!raw)
48
+ return '';
49
+ if (raw === 'default')
50
+ return 'default';
51
+ return raw
52
+ .toLowerCase()
53
+ .replace(/[^a-z0-9.]+/g, '.') // Replace any non-alphanumeric (except dots) with dots
54
+ .replace(/\.+/g, '.') // Collapse multiple dots into single dot
55
+ .replace(/^\.|\.$/g, ''); // Trim leading/trailing dots
56
+ }
57
+ // Pino logger configuration
58
+ const pinoOptions = {
59
+ level: 'trace', // Set to trace to let our wrapper handle filtering
60
+ formatters: {
61
+ level: (label) => {
62
+ return { level: label.toUpperCase() };
63
+ },
64
+ },
65
+ timestamp: pino.stdTimeFunctions.isoTime,
66
+ ...(typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' ? {
67
+ transport: {
68
+ target: 'pino-pretty',
69
+ options: {
70
+ colorize: true,
71
+ ignore: 'pid,hostname',
72
+ translateTime: 'SYS:standard',
73
+ },
74
+ },
75
+ } : {}),
76
+ };
77
+ const pinoLogger = pino(pinoOptions);
78
+ // Get effective log level for a category using hierarchical resolution
79
+ // Walks from most-specific to least-specific, checking environment variables
80
+ // e.g., for "core.db.connection": LOG_CORE_DB_CONNECTION > LOG_CORE_DB > LOG_CORE > LOG_LEVEL
81
+ function getEffectiveLevelForCategory(category) {
82
+ const normalizedCategory = normalizeCategoryKey(category);
83
+ if (!normalizedCategory)
84
+ return globalLevel;
85
+ // Check for exact match first
86
+ if (categoryLevels[normalizedCategory]) {
87
+ return categoryLevels[normalizedCategory];
88
+ }
89
+ // Walk hierarchy from most-specific to least-specific
90
+ const parts = normalizedCategory.split('.');
91
+ for (let i = parts.length - 1; i > 0; i--) {
92
+ const parentCategory = parts.slice(0, i).join('.');
93
+ if (categoryLevels[parentCategory]) {
94
+ return categoryLevels[parentCategory];
95
+ }
96
+ }
97
+ // Fall back to global level
98
+ return globalLevel;
99
+ }
100
+ // Pino-based logger implementation with log streaming support
101
+ function createSimpleLogger(category, level = 'error', bindings) {
102
+ const childBindings = { ...(category ? { category: category.toUpperCase() } : {}), ...bindings };
103
+ const childLogger = Object.keys(childBindings).length > 0 ? pinoLogger.child(childBindings) : pinoLogger;
104
+ return {
105
+ trace: (msg, ...args) => {
106
+ if (shouldLog('trace', level)) {
107
+ if (args.length > 0) {
108
+ childLogger.trace({ args }, msg);
109
+ }
110
+ else {
111
+ childLogger.trace(msg);
112
+ }
113
+ // Emit log event for streaming
114
+ if (category) {
115
+ emitLogEvent('trace', category, msg, args.length > 0 ? args[0] : undefined);
116
+ }
117
+ }
118
+ },
119
+ debug: (msg, ...args) => {
120
+ if (shouldLog('debug', level)) {
121
+ if (args.length > 0) {
122
+ childLogger.debug({ args }, msg);
123
+ }
124
+ else {
125
+ childLogger.debug(msg);
126
+ }
127
+ // Emit log event for streaming
128
+ if (category) {
129
+ emitLogEvent('debug', category, msg, args.length > 0 ? args[0] : undefined);
130
+ }
131
+ }
132
+ },
133
+ info: (msg, ...args) => {
134
+ if (shouldLog('info', level)) {
135
+ if (args.length > 0) {
136
+ childLogger.info({ args }, msg);
137
+ }
138
+ else {
139
+ childLogger.info(msg);
140
+ }
141
+ // Emit log event for streaming
142
+ if (category) {
143
+ emitLogEvent('info', category, msg, args.length > 0 ? args[0] : undefined);
144
+ }
145
+ }
146
+ },
147
+ warn: (msg, ...args) => {
148
+ if (shouldLog('warn', level)) {
149
+ if (args.length > 0) {
150
+ childLogger.warn({ args }, msg);
151
+ }
152
+ else {
153
+ childLogger.warn(msg);
154
+ }
155
+ // Emit log event for streaming
156
+ if (category) {
157
+ emitLogEvent('warn', category, msg, args.length > 0 ? args[0] : undefined);
158
+ }
159
+ }
160
+ },
161
+ error: (msg, ...args) => {
162
+ if (shouldLog('error', level)) {
163
+ if (args.length > 0) {
164
+ childLogger.error({ args }, msg);
165
+ }
166
+ else {
167
+ childLogger.error(msg);
168
+ }
169
+ // Emit log event for streaming
170
+ if (category) {
171
+ emitLogEvent('error', category, msg, args.length > 0 ? args[0] : undefined);
172
+ }
173
+ }
174
+ },
175
+ child: (childBindings) => {
176
+ // Create a new logger with merged bindings
177
+ return createSimpleLogger(category, level, { ...bindings, ...childBindings });
178
+ },
179
+ level
180
+ };
181
+ }
182
+ // Global state
183
+ let globalLevel = 'error';
184
+ const categoryLevels = {};
185
+ const categoryLoggers = {};
186
+ // Auto-initialize logger with environment variables when module loads
187
+ function autoInitializeLogger() {
188
+ // Set global level from environment
189
+ const envGlobalLevel = (typeof process !== 'undefined' && process.env && process.env.LOG_LEVEL) ? process.env.LOG_LEVEL.toLowerCase() : undefined;
190
+ globalLevel = (envGlobalLevel && LOG_LEVELS[envGlobalLevel]) ? envGlobalLevel : 'error';
191
+ // Dynamically scan environment for LOG_{CATEGORY} variables
192
+ // Convert underscores to dots for hierarchy (e.g., LOG_CORE_DB -> core.db)
193
+ if (typeof process !== 'undefined' && process.env) {
194
+ const env = process.env;
195
+ Object.keys(env).forEach(key => {
196
+ if (key.startsWith('LOG_') && key !== 'LOG_LEVEL') {
197
+ // Convert LOG_CORE_DB to core.db (underscores to dots for hierarchy)
198
+ const categoryRaw = key.slice(4).toLowerCase().replace(/_/g, '.');
199
+ const cat = normalizeCategoryKey(categoryRaw);
200
+ const val = env[key];
201
+ if (val && LOG_LEVELS[val.toLowerCase()]) {
202
+ categoryLevels[cat] = val.toLowerCase();
203
+ }
204
+ }
205
+ });
206
+ }
207
+ }
208
+ // Auto-initialize when module loads
209
+ autoInitializeLogger();
210
+ // Add startup diagnostic logging (only when not in production)
211
+ if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {
212
+ if (Object.keys(categoryLevels).length > 0) {
213
+ console.info(`[LOGGER] Category levels:`, Object.keys(categoryLevels).sort());
214
+ }
215
+ }
216
+ // Log streaming callback management
217
+ const logStreamCallbacks = new Set();
218
+ export function addLogStreamCallback(callback) {
219
+ logStreamCallbacks.add(callback);
220
+ return () => logStreamCallbacks.delete(callback);
221
+ }
222
+ // Check if a log event should be streamed based on configuration
223
+ function shouldStreamLogEvent(level, category) {
224
+ // Always stream all logs when there are callbacks - no configuration checks
225
+ return logStreamCallbacks.size > 0;
226
+ }
227
+ // Emit log event to all registered callbacks
228
+ function emitLogEvent(level, category, message, data) {
229
+ if (!shouldStreamLogEvent(level, category)) {
230
+ return;
231
+ }
232
+ const logEvent = {
233
+ level,
234
+ category,
235
+ message: typeof message === 'string' ? message : JSON.stringify(message),
236
+ timestamp: new Date().toISOString(),
237
+ data,
238
+ messageId: `log-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`
239
+ };
240
+ logStreamCallbacks.forEach(callback => {
241
+ try {
242
+ callback(logEvent);
243
+ }
244
+ catch (error) {
245
+ // Prevent log streaming errors from breaking the logger
246
+ console.error('Log streaming callback error:', error);
247
+ }
248
+ });
249
+ }
250
+ // Simple synchronous logger initialization
251
+ export function initializeLogger(config = {}) {
252
+ // Override global level if provided in config
253
+ if (config.globalLevel) {
254
+ globalLevel = config.globalLevel;
255
+ }
256
+ // Override category levels if provided in config
257
+ if (config.categoryLevels) {
258
+ Object.assign(categoryLevels, config.categoryLevels);
259
+ }
260
+ // Re-scan environment variables to ensure they take precedence
261
+ // Convert underscores to dots for hierarchy (e.g., LOG_CORE_DB -> core.db)
262
+ if (typeof process !== 'undefined' && process.env) {
263
+ const env = process.env;
264
+ Object.keys(env).forEach(key => {
265
+ if (key.startsWith('LOG_') && key !== 'LOG_LEVEL') {
266
+ // Convert LOG_CORE_DB to core.db (underscores to dots for hierarchy)
267
+ const categoryRaw = key.slice(4).toLowerCase().replace(/_/g, '.');
268
+ const cat = normalizeCategoryKey(categoryRaw);
269
+ const val = env[key];
270
+ if (val && LOG_LEVELS[val.toLowerCase()]) {
271
+ categoryLevels[cat] = val.toLowerCase();
272
+ }
273
+ }
274
+ });
275
+ }
276
+ // Migrate existing categoryLoggers to normalized keys
277
+ const existingLoggers = { ...categoryLoggers };
278
+ Object.keys(existingLoggers).forEach(oldKey => {
279
+ const normalizedKey = normalizeCategoryKey(oldKey);
280
+ if (normalizedKey !== oldKey && !categoryLoggers[normalizedKey]) {
281
+ // Move logger to normalized key
282
+ categoryLoggers[normalizedKey] = existingLoggers[oldKey];
283
+ delete categoryLoggers[oldKey];
284
+ }
285
+ });
286
+ // Update existing category loggers
287
+ Object.keys(categoryLoggers).forEach(category => {
288
+ const level = getEffectiveLevelForCategory(category);
289
+ categoryLoggers[category] = createSimpleLogger(category, level);
290
+ });
291
+ }
292
+ // Category logger management
293
+ export function createCategoryLogger(category, bindings) {
294
+ const normalizedCategory = normalizeCategoryKey(category);
295
+ // Check if we already have a cached logger for this exact category (without additional bindings)
296
+ if (!bindings && categoryLoggers[normalizedCategory]) {
297
+ return categoryLoggers[normalizedCategory];
298
+ }
299
+ // Use hierarchical resolution to get the effective level
300
+ const level = getEffectiveLevelForCategory(normalizedCategory);
301
+ const logger = createSimpleLogger(normalizedCategory, level, bindings);
302
+ // Only cache loggers without additional bindings
303
+ if (!bindings) {
304
+ categoryLoggers[normalizedCategory] = logger;
305
+ }
306
+ return logger;
307
+ }
308
+ export function getCategoryLogLevel(category) {
309
+ return getEffectiveLevelForCategory(category);
310
+ }
311
+ export function shouldLogForCategory(messageLevel, category) {
312
+ return shouldLog(messageLevel, getCategoryLogLevel(category));
313
+ }
314
+ // Default logger instance
315
+ export const logger = createSimpleLogger();
316
+ // Pre-created category loggers for common use cases - scenario-based naming
317
+ export const loggers = {
318
+ // Storage operations
319
+ storage: createCategoryLogger('storage'),
320
+ 'storage.migration': createCategoryLogger('storage.migration'),
321
+ 'storage.query': createCategoryLogger('storage.query'),
322
+ 'storage.memory': createCategoryLogger('storage.memory'),
323
+ 'storage.init': createCategoryLogger('storage.init'),
324
+ // MCP operations
325
+ mcp: createCategoryLogger('mcp'),
326
+ 'mcp.lifecycle': createCategoryLogger('mcp.lifecycle'),
327
+ 'mcp.connection': createCategoryLogger('mcp.connection'),
328
+ 'mcp.tools': createCategoryLogger('mcp.tools'),
329
+ 'mcp.execution': createCategoryLogger('mcp.execution'),
330
+ // LLM operations
331
+ llm: createCategoryLogger('llm'),
332
+ 'llm.openai': createCategoryLogger('llm.openai'),
333
+ 'llm.anthropic': createCategoryLogger('llm.anthropic'),
334
+ 'llm.google': createCategoryLogger('llm.google'),
335
+ // Chat operations
336
+ chat: createCategoryLogger('chat'),
337
+ 'chat.session': createCategoryLogger('chat.session'),
338
+ // World/Agent operations
339
+ world: createCategoryLogger('world'),
340
+ 'world.lifecycle': createCategoryLogger('world.lifecycle'),
341
+ 'world.subscription': createCategoryLogger('world.subscription'),
342
+ 'world.activity': createCategoryLogger('world.activity'),
343
+ agent: createCategoryLogger('agent'),
344
+ 'agent.lifecycle': createCategoryLogger('agent.lifecycle'),
345
+ // Event operations
346
+ events: createCategoryLogger('events'),
347
+ 'events.publish': createCategoryLogger('events.publish'),
348
+ 'events.agent': createCategoryLogger('events.agent'),
349
+ 'events.response': createCategoryLogger('events.response'),
350
+ 'events.memory': createCategoryLogger('events.memory'),
351
+ // Infrastructure
352
+ api: createCategoryLogger('api'),
353
+ server: createCategoryLogger('server'),
354
+ cli: createCategoryLogger('cli'),
355
+ ws: createCategoryLogger('ws'),
356
+ };
357
+ export default logger;
358
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../core/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import type { World, CreateWorldParams, UpdateWorldParams, Agent, CreateAgentParams, UpdateAgentParams, AgentMessage, Chat, UpdateChatParams, RemovalResult, EditErrorLog } from './types.js';
2
+ /**
3
+ * Create new world with configuration and automatically create a new chat
4
+ */
5
+ export declare function createWorld(params: CreateWorldParams): Promise<World | null>;
6
+ /**
7
+ * Update world configuration
8
+ */
9
+ export declare function updateWorld(worldId: string, updates: UpdateWorldParams): Promise<World | null>;
10
+ /**
11
+ * Set the raw .env-style variables text for a world
12
+ */
13
+ export declare function setWorldVariablesText(worldId: string, variablesText: string): Promise<World | null>;
14
+ /**
15
+ * Get the raw .env-style variables text for a world
16
+ */
17
+ export declare function getWorldVariablesText(worldId: string): Promise<string>;
18
+ /**
19
+ * Get parsed environment map from world variables text
20
+ */
21
+ export declare function getWorldEnvMap(worldId: string): Promise<Record<string, string>>;
22
+ /**
23
+ * Get a single env value from world variables text
24
+ */
25
+ export declare function getWorldEnvValue(worldId: string, key: string): Promise<string | undefined>;
26
+ /**
27
+ * Delete world and all associated data
28
+ */
29
+ export declare function deleteWorld(worldId: string): Promise<boolean>;
30
+ /**
31
+ * Get all world IDs and basic information
32
+ */
33
+ export declare function listWorlds(): Promise<World[]>;
34
+ /**
35
+ * Get world configuration and create runtime instance, creating a new chat if none exist
36
+ */
37
+ export declare function getWorld(worldId: string): Promise<World | null>;
38
+ /**
39
+ * Create new agent with configuration and system prompt
40
+ */
41
+ export declare function createAgent(worldId: string, params: CreateAgentParams, options?: {
42
+ allowWhileProcessing?: boolean;
43
+ }): Promise<Agent>;
44
+ /**
45
+ * Load agent by ID with full configuration and memory
46
+ */
47
+ export declare function getAgent(worldId: string, agentId: string): Promise<Agent | null>;
48
+ /**
49
+ * Update agent configuration and/or memory
50
+ */
51
+ export declare function updateAgent(worldId: string, agentId: string, updates: UpdateAgentParams): Promise<Agent | null>;
52
+ /**
53
+ * Delete agent and all associated data
54
+ */
55
+ export declare function deleteAgent(worldId: string, agentId: string): Promise<boolean>;
56
+ /**
57
+ * Get all agent IDs and basic information
58
+ */
59
+ export declare function listAgents(worldId: string): Promise<Agent[]>;
60
+ /**
61
+ * Add messages to agent memory
62
+ */
63
+ export declare function updateAgentMemory(worldId: string, agentId: string, messages: AgentMessage[]): Promise<Agent | null>;
64
+ /**
65
+ * Clear agent memory and reset LLM call count
66
+ */
67
+ export declare function clearAgentMemory(worldId: string, agentId: string): Promise<Agent | null>;
68
+ /**
69
+ * Create a new chat and optionally set it as current for a world
70
+ */
71
+ export declare function newChat(worldId: string): Promise<World | null>;
72
+ /**
73
+ * Create a branched chat from a source chat up to (and including) the provided message.
74
+ */
75
+ export declare function branchChatFromMessage(worldId: string, sourceChatId: string, messageId: string): Promise<{
76
+ world: World;
77
+ newChatId: string;
78
+ copiedMessageCount: number;
79
+ }>;
80
+ export declare function listChats(worldId: string): Promise<Chat[]>;
81
+ export declare function updateChat(worldId: string, chatId: string, updates: UpdateChatParams): Promise<Chat | null>;
82
+ export declare function deleteChat(worldId: string, chatId: string): Promise<boolean>;
83
+ export declare function restoreChat(worldId: string, chatId: string): Promise<World | null>;
84
+ export declare function getMemory(worldId: string, chatId?: string | null): Promise<AgentMessage[] | null>;
85
+ /**
86
+ * Migrate messages to include messageId for user message edit feature
87
+ * Automatically detects storage type and handles both file and SQL storage
88
+ * Idempotent - safe to run multiple times
89
+ *
90
+ * @param worldId - World ID to migrate messages for
91
+ * @returns Number of messages migrated
92
+ */
93
+ export declare function migrateMessageIds(worldId: string): Promise<number>;
94
+ /**
95
+ * Remove a message and all subsequent messages from all agents in a world
96
+ * Used for user message editing feature
97
+ *
98
+ * @param worldId - World ID
99
+ * @param messageId - ID of the message to remove (and all after it)
100
+ * @param chatId - Chat ID to filter messages
101
+ * @returns RemovalResult with per-agent removal details
102
+ */
103
+ export declare function removeMessagesFrom(worldId: string, messageId: string, chatId: string): Promise<RemovalResult>;
104
+ /**
105
+ * Edit a user message by removing it and all subsequent messages, then resubmitting with new content
106
+ * Combines removal and resubmission in a single operation with comprehensive error tracking
107
+ *
108
+ * @param worldId - World ID
109
+ * @param messageId - ID of the message to edit
110
+ * @param newContent - New message content
111
+ * @param chatId - Chat ID for the message
112
+ * @returns RemovalResult with removal and resubmission details
113
+ */
114
+ export declare function editUserMessage(worldId: string, messageId: string, newContent: string, chatId: string, targetWorld?: World): Promise<RemovalResult>;
115
+ /**
116
+ * Log an error from a message edit operation for troubleshooting and retry
117
+ * Stores errors in data/worlds/{worldName}/edit-errors.json
118
+ * Keeps only the last 100 errors
119
+ *
120
+ * @param worldId - World ID
121
+ * @param errorLog - EditErrorLog to persist
122
+ */
123
+ export declare function logEditError(worldId: string, errorLog: EditErrorLog): Promise<void>;
124
+ /**
125
+ * Get edit error logs for a world
126
+ *
127
+ * @param worldId - World ID
128
+ * @returns Array of EditErrorLog entries
129
+ */
130
+ export declare function getEditErrors(worldId: string): Promise<EditErrorLog[]>;
131
+ //# sourceMappingURL=managers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managers.d.ts","sourceRoot":"","sources":["../../core/managers.ts"],"names":[],"mappings":"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"}