agent-nuvira 2.7.2 → 3.0.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 (402) hide show
  1. package/dist/agents/agents/writer-tool-calling.d.ts +14 -0
  2. package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
  3. package/dist/agents/agents/writer-tool-calling.js +20 -0
  4. package/dist/agents/agents/writer-tool-calling.js.map +1 -1
  5. package/dist/agents/agents/writer.d.ts.map +1 -1
  6. package/dist/agents/agents/writer.js +15 -4
  7. package/dist/agents/agents/writer.js.map +1 -1
  8. package/dist/agents/edit-module.d.ts +7 -0
  9. package/dist/agents/edit-module.d.ts.map +1 -1
  10. package/dist/agents/edit-module.js +21 -6
  11. package/dist/agents/edit-module.js.map +1 -1
  12. package/dist/agents/orchestrator.d.ts +40 -0
  13. package/dist/agents/orchestrator.d.ts.map +1 -1
  14. package/dist/agents/orchestrator.js +116 -27
  15. package/dist/agents/orchestrator.js.map +1 -1
  16. package/dist/agents/tool-calling-agent.d.ts +19 -0
  17. package/dist/agents/tool-calling-agent.d.ts.map +1 -1
  18. package/dist/agents/tool-calling-agent.js +42 -2
  19. package/dist/agents/tool-calling-agent.js.map +1 -1
  20. package/dist/auth-api.d.ts +2 -0
  21. package/dist/auth-api.d.ts.map +1 -0
  22. package/dist/auth-api.js +61 -0
  23. package/dist/auth-api.js.map +1 -0
  24. package/dist/auth.test.d.ts +1 -0
  25. package/dist/auth.test.d.ts.map +1 -0
  26. package/dist/auth.test.js +3 -0
  27. package/dist/auth.test.js.map +1 -0
  28. package/dist/cli/chat.d.ts +66 -1
  29. package/dist/cli/chat.d.ts.map +1 -1
  30. package/dist/cli/chat.js +323 -77
  31. package/dist/cli/chat.js.map +1 -1
  32. package/dist/cli/cli-program.d.ts +6 -0
  33. package/dist/cli/cli-program.d.ts.map +1 -0
  34. package/dist/cli/cli-program.js +222 -0
  35. package/dist/cli/cli-program.js.map +1 -0
  36. package/dist/cli/edit.d.ts.map +1 -1
  37. package/dist/cli/edit.js +18 -3
  38. package/dist/cli/edit.js.map +1 -1
  39. package/dist/cli/execute.d.ts.map +1 -1
  40. package/dist/cli/execute.js +29 -5
  41. package/dist/cli/execute.js.map +1 -1
  42. package/dist/cli/failover-runner.d.ts +13 -0
  43. package/dist/cli/failover-runner.d.ts.map +1 -1
  44. package/dist/cli/failover-runner.js +11 -0
  45. package/dist/cli/failover-runner.js.map +1 -1
  46. package/dist/cli/gateway.d.ts +16 -0
  47. package/dist/cli/gateway.d.ts.map +1 -1
  48. package/dist/cli/gateway.js +108 -2
  49. package/dist/cli/gateway.js.map +1 -1
  50. package/dist/cli/loop-executor.d.ts.map +1 -1
  51. package/dist/cli/loop-executor.js +296 -20
  52. package/dist/cli/loop-executor.js.map +1 -1
  53. package/dist/cli/plan.d.ts.map +1 -1
  54. package/dist/cli/plan.js +20 -6
  55. package/dist/cli/plan.js.map +1 -1
  56. package/dist/cli/process-control.d.ts +10 -0
  57. package/dist/cli/process-control.d.ts.map +1 -1
  58. package/dist/cli/process-control.js +73 -7
  59. package/dist/cli/process-control.js.map +1 -1
  60. package/dist/cli/router.d.ts +16 -5
  61. package/dist/cli/router.d.ts.map +1 -1
  62. package/dist/cli/router.js +31 -206
  63. package/dist/cli/router.js.map +1 -1
  64. package/dist/config/paths.d.ts +23 -0
  65. package/dist/config/paths.d.ts.map +1 -1
  66. package/dist/config/paths.js +30 -0
  67. package/dist/config/paths.js.map +1 -1
  68. package/dist/config/provider-env.d.ts +37 -0
  69. package/dist/config/provider-env.d.ts.map +1 -0
  70. package/dist/config/provider-env.js +86 -0
  71. package/dist/config/provider-env.js.map +1 -0
  72. package/dist/context/history.d.ts.map +1 -1
  73. package/dist/context/history.js +24 -8
  74. package/dist/context/history.js.map +1 -1
  75. package/dist/context/session-recall.d.ts +30 -0
  76. package/dist/context/session-recall.d.ts.map +1 -1
  77. package/dist/context/session-recall.js +61 -0
  78. package/dist/context/session-recall.js.map +1 -1
  79. package/dist/file.js +0 -1
  80. package/dist/file.js.map +1 -1
  81. package/dist/gateway/adapters.d.ts +10 -0
  82. package/dist/gateway/adapters.d.ts.map +1 -1
  83. package/dist/gateway/adapters.js +4 -1
  84. package/dist/gateway/adapters.js.map +1 -1
  85. package/dist/gateway/dedup.d.ts +105 -0
  86. package/dist/gateway/dedup.d.ts.map +1 -0
  87. package/dist/gateway/dedup.js +160 -0
  88. package/dist/gateway/dedup.js.map +1 -0
  89. package/dist/gateway/heartbeat.d.ts +99 -0
  90. package/dist/gateway/heartbeat.d.ts.map +1 -0
  91. package/dist/gateway/heartbeat.js +122 -0
  92. package/dist/gateway/heartbeat.js.map +1 -0
  93. package/dist/gateway/inbox.d.ts +14 -1
  94. package/dist/gateway/inbox.d.ts.map +1 -1
  95. package/dist/gateway/inbox.js.map +1 -1
  96. package/dist/gateway/platform-config.d.ts +5 -0
  97. package/dist/gateway/platform-config.d.ts.map +1 -1
  98. package/dist/gateway/platform-config.js +8 -13
  99. package/dist/gateway/platform-config.js.map +1 -1
  100. package/dist/gateway/registry.d.ts +65 -0
  101. package/dist/gateway/registry.d.ts.map +1 -1
  102. package/dist/gateway/registry.js +307 -32
  103. package/dist/gateway/registry.js.map +1 -1
  104. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  105. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  106. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  107. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  108. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  109. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  110. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/inference/factory.d.ts +16 -0
  114. package/dist/inference/factory.d.ts.map +1 -1
  115. package/dist/inference/factory.js +42 -0
  116. package/dist/inference/factory.js.map +1 -1
  117. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  118. package/dist/inference/gemini-adapter.js +3 -0
  119. package/dist/inference/gemini-adapter.js.map +1 -1
  120. package/dist/inference/interface.d.ts +12 -0
  121. package/dist/inference/interface.d.ts.map +1 -1
  122. package/dist/inference/local-adapter.d.ts +2 -0
  123. package/dist/inference/local-adapter.d.ts.map +1 -1
  124. package/dist/inference/local-adapter.js +36 -5
  125. package/dist/inference/local-adapter.js.map +1 -1
  126. package/dist/inference/model-catalog.d.ts +8 -0
  127. package/dist/inference/model-catalog.d.ts.map +1 -1
  128. package/dist/inference/model-catalog.js +40 -0
  129. package/dist/inference/model-catalog.js.map +1 -1
  130. package/dist/inference/model-probe.d.ts +7 -0
  131. package/dist/inference/model-probe.d.ts.map +1 -1
  132. package/dist/inference/model-probe.js +25 -7
  133. package/dist/inference/model-probe.js.map +1 -1
  134. package/dist/inference/native-tools.d.ts +8 -0
  135. package/dist/inference/native-tools.d.ts.map +1 -1
  136. package/dist/inference/native-tools.js +14 -3
  137. package/dist/inference/native-tools.js.map +1 -1
  138. package/dist/inference/tool-call-utils.d.ts +66 -7
  139. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  140. package/dist/inference/tool-call-utils.js +134 -13
  141. package/dist/inference/tool-call-utils.js.map +1 -1
  142. package/dist/learning/auto-router.d.ts +21 -0
  143. package/dist/learning/auto-router.d.ts.map +1 -1
  144. package/dist/learning/auto-router.js +282 -21
  145. package/dist/learning/auto-router.js.map +1 -1
  146. package/dist/learning/context-budget.d.ts +133 -0
  147. package/dist/learning/context-budget.d.ts.map +1 -0
  148. package/dist/learning/context-budget.js +196 -0
  149. package/dist/learning/context-budget.js.map +1 -0
  150. package/dist/learning/cost-tracker.d.ts.map +1 -1
  151. package/dist/learning/cost-tracker.js +20 -8
  152. package/dist/learning/cost-tracker.js.map +1 -1
  153. package/dist/learning/eval-framework.d.ts.map +1 -1
  154. package/dist/learning/eval-framework.js +6 -2
  155. package/dist/learning/eval-framework.js.map +1 -1
  156. package/dist/learning/failure-bookkeeping.d.ts +41 -0
  157. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  158. package/dist/learning/failure-bookkeeping.js +122 -4
  159. package/dist/learning/failure-bookkeeping.js.map +1 -1
  160. package/dist/learning/feedback.d.ts.map +1 -1
  161. package/dist/learning/feedback.js +19 -8
  162. package/dist/learning/feedback.js.map +1 -1
  163. package/dist/learning/model-first-router.d.ts.map +1 -1
  164. package/dist/learning/model-first-router.js +5 -11
  165. package/dist/learning/model-first-router.js.map +1 -1
  166. package/dist/learning/model-harness.d.ts +76 -0
  167. package/dist/learning/model-harness.d.ts.map +1 -0
  168. package/dist/learning/model-harness.js +119 -0
  169. package/dist/learning/model-harness.js.map +1 -0
  170. package/dist/learning/model-registry.d.ts +29 -0
  171. package/dist/learning/model-registry.d.ts.map +1 -1
  172. package/dist/learning/model-registry.js +129 -3
  173. package/dist/learning/model-registry.js.map +1 -1
  174. package/dist/learning/model-scoring.d.ts.map +1 -1
  175. package/dist/learning/model-scoring.js +6 -1
  176. package/dist/learning/model-scoring.js.map +1 -1
  177. package/dist/learning/model-selection.d.ts +15 -0
  178. package/dist/learning/model-selection.d.ts.map +1 -1
  179. package/dist/learning/model-selection.js +40 -1
  180. package/dist/learning/model-selection.js.map +1 -1
  181. package/dist/learning/provider-fallback.d.ts +12 -0
  182. package/dist/learning/provider-fallback.d.ts.map +1 -1
  183. package/dist/learning/provider-fallback.js +84 -0
  184. package/dist/learning/provider-fallback.js.map +1 -1
  185. package/dist/learning/provider-revival.d.ts +106 -0
  186. package/dist/learning/provider-revival.d.ts.map +1 -0
  187. package/dist/learning/provider-revival.js +154 -0
  188. package/dist/learning/provider-revival.js.map +1 -0
  189. package/dist/learning/quota-ledger.d.ts +64 -3
  190. package/dist/learning/quota-ledger.d.ts.map +1 -1
  191. package/dist/learning/quota-ledger.js +122 -9
  192. package/dist/learning/quota-ledger.js.map +1 -1
  193. package/dist/learning/resilient-call.d.ts +98 -0
  194. package/dist/learning/resilient-call.d.ts.map +1 -1
  195. package/dist/learning/resilient-call.js +252 -46
  196. package/dist/learning/resilient-call.js.map +1 -1
  197. package/dist/nlu/conversation-gate.d.ts +37 -0
  198. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  199. package/dist/nlu/conversation-gate.js +49 -0
  200. package/dist/nlu/conversation-gate.js.map +1 -1
  201. package/dist/nlu/schema.d.ts +4 -4
  202. package/dist/observability/dag-bridge.d.ts +69 -0
  203. package/dist/observability/dag-bridge.d.ts.map +1 -0
  204. package/dist/observability/dag-bridge.js +56 -0
  205. package/dist/observability/dag-bridge.js.map +1 -0
  206. package/dist/observability/event-bus.d.ts +5 -10
  207. package/dist/observability/event-bus.d.ts.map +1 -1
  208. package/dist/observability/event-bus.js +10 -42
  209. package/dist/observability/event-bus.js.map +1 -1
  210. package/dist/routes/auth.d.ts +3 -0
  211. package/dist/routes/auth.d.ts.map +1 -0
  212. package/dist/routes/auth.js +41 -36
  213. package/dist/routes/auth.js.map +1 -0
  214. package/dist/skills/execution-audit.d.ts.map +1 -1
  215. package/dist/skills/execution-audit.js +17 -5
  216. package/dist/skills/execution-audit.js.map +1 -1
  217. package/dist/skills/sandbox-executor.d.ts +12 -1
  218. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  219. package/dist/skills/sandbox-executor.js +28 -6
  220. package/dist/skills/sandbox-executor.js.map +1 -1
  221. package/dist/skills/secret-capture.d.ts +45 -1
  222. package/dist/skills/secret-capture.d.ts.map +1 -1
  223. package/dist/skills/secret-capture.js +82 -19
  224. package/dist/skills/secret-capture.js.map +1 -1
  225. package/dist/skills/skill-env-inventory.d.ts +79 -0
  226. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  227. package/dist/skills/skill-env-inventory.js +167 -0
  228. package/dist/skills/skill-env-inventory.js.map +1 -0
  229. package/dist/skills/skill-executor.d.ts +2 -0
  230. package/dist/skills/skill-executor.d.ts.map +1 -1
  231. package/dist/skills/skill-executor.js +19 -24
  232. package/dist/skills/skill-executor.js.map +1 -1
  233. package/dist/tools/ask-user.d.ts +14 -1
  234. package/dist/tools/ask-user.d.ts.map +1 -1
  235. package/dist/tools/ask-user.js +25 -1
  236. package/dist/tools/ask-user.js.map +1 -1
  237. package/dist/tools/followup-utils.d.ts +64 -0
  238. package/dist/tools/followup-utils.d.ts.map +1 -0
  239. package/dist/tools/followup-utils.js +158 -0
  240. package/dist/tools/followup-utils.js.map +1 -0
  241. package/dist/tools/memory-tools.d.ts +35 -0
  242. package/dist/tools/memory-tools.d.ts.map +1 -1
  243. package/dist/tools/memory-tools.js +76 -0
  244. package/dist/tools/memory-tools.js.map +1 -1
  245. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  246. package/dist/tools/pipeline-tool.js +8 -3
  247. package/dist/tools/pipeline-tool.js.map +1 -1
  248. package/dist/tools/registry.d.ts +25 -12
  249. package/dist/tools/registry.d.ts.map +1 -1
  250. package/dist/tools/registry.js +31 -6
  251. package/dist/tools/registry.js.map +1 -1
  252. package/dist/tools/skill-tool.d.ts.map +1 -1
  253. package/dist/tools/skill-tool.js +52 -5
  254. package/dist/tools/skill-tool.js.map +1 -1
  255. package/dist/tools/tool-loop.d.ts +63 -1
  256. package/dist/tools/tool-loop.d.ts.map +1 -1
  257. package/dist/tools/tool-loop.js +305 -66
  258. package/dist/tools/tool-loop.js.map +1 -1
  259. package/dist/tools/toolsets.d.ts +19 -3
  260. package/dist/tools/toolsets.d.ts.map +1 -1
  261. package/dist/tools/toolsets.js +21 -5
  262. package/dist/tools/toolsets.js.map +1 -1
  263. package/dist/utils/env.d.ts.map +1 -1
  264. package/dist/utils/env.js +9 -13
  265. package/dist/utils/env.js.map +1 -1
  266. package/dist/web-dashboard/chat-console.d.ts +13 -1
  267. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  268. package/dist/web-dashboard/chat-console.js +16 -2
  269. package/dist/web-dashboard/chat-console.js.map +1 -1
  270. package/dist/web-dashboard/hub-data.d.ts +2 -0
  271. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  272. package/dist/web-dashboard/hub-data.js +4 -0
  273. package/dist/web-dashboard/hub-data.js.map +1 -1
  274. package/dist/web-dashboard/server.d.ts +6 -0
  275. package/dist/web-dashboard/server.d.ts.map +1 -1
  276. package/dist/web-dashboard/server.js +196 -3
  277. package/dist/web-dashboard/server.js.map +1 -1
  278. package/dist/web-dashboard/src/types.d.ts +31 -1
  279. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  280. package/package.json +11 -1
  281. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  282. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  283. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  284. package/src/web-dashboard/public/index.html +2 -2
  285. package/dist/example.d.ts +0 -1
  286. package/dist/example.d.ts.map +0 -1
  287. package/dist/example.js +0 -3
  288. package/dist/example.js.map +0 -1
  289. package/dist/fresh.d.ts +0 -2
  290. package/dist/fresh.d.ts.map +0 -1
  291. package/dist/fresh.js +0 -2
  292. package/dist/fresh.js.map +0 -1
  293. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  294. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  295. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  296. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  297. package/dist/memory/background-sync.d.ts +0 -107
  298. package/dist/memory/background-sync.d.ts.map +0 -1
  299. package/dist/memory/background-sync.js +0 -242
  300. package/dist/memory/background-sync.js.map +0 -1
  301. package/dist/memory/cross-session.d.ts +0 -68
  302. package/dist/memory/cross-session.d.ts.map +0 -1
  303. package/dist/memory/cross-session.js +0 -153
  304. package/dist/memory/cross-session.js.map +0 -1
  305. package/dist/memory/drift-detector.d.ts +0 -76
  306. package/dist/memory/drift-detector.d.ts.map +0 -1
  307. package/dist/memory/drift-detector.js +0 -216
  308. package/dist/memory/drift-detector.js.map +0 -1
  309. package/dist/memory/enhanced-manager.d.ts +0 -105
  310. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  311. package/dist/memory/enhanced-manager.js +0 -280
  312. package/dist/memory/enhanced-manager.js.map +0 -1
  313. package/dist/memory/session-extraction.d.ts +0 -93
  314. package/dist/memory/session-extraction.d.ts.map +0 -1
  315. package/dist/memory/session-extraction.js +0 -290
  316. package/dist/memory/session-extraction.js.map +0 -1
  317. package/dist/memory/sqlite-store.d.ts +0 -208
  318. package/dist/memory/sqlite-store.d.ts.map +0 -1
  319. package/dist/memory/sqlite-store.js +0 -556
  320. package/dist/memory/sqlite-store.js.map +0 -1
  321. package/dist/skills/daytona-executor.d.ts +0 -78
  322. package/dist/skills/daytona-executor.d.ts.map +0 -1
  323. package/dist/skills/daytona-executor.js +0 -256
  324. package/dist/skills/daytona-executor.js.map +0 -1
  325. package/dist/skills/modal-executor.d.ts +0 -81
  326. package/dist/skills/modal-executor.d.ts.map +0 -1
  327. package/dist/skills/modal-executor.js +0 -285
  328. package/dist/skills/modal-executor.js.map +0 -1
  329. package/dist/sync/inventory.d.ts +0 -1
  330. package/dist/sync/inventory.d.ts.map +0 -1
  331. package/dist/sync/inventory.js +0 -3
  332. package/dist/sync/inventory.js.map +0 -1
  333. package/dist/sync/validate.d.ts +0 -1
  334. package/dist/sync/validate.d.ts.map +0 -1
  335. package/dist/sync/validate.js +0 -3
  336. package/dist/sync/validate.js.map +0 -1
  337. package/dist/test.d.ts +0 -2
  338. package/dist/test.d.ts.map +0 -1
  339. package/dist/test.js +0 -3
  340. package/dist/test.js.map +0 -1
  341. package/dist/tools/browser-tool.d.ts +0 -206
  342. package/dist/tools/browser-tool.d.ts.map +0 -1
  343. package/dist/tools/browser-tool.js +0 -726
  344. package/dist/tools/browser-tool.js.map +0 -1
  345. package/dist/tools/delegate-tool.d.ts +0 -109
  346. package/dist/tools/delegate-tool.d.ts.map +0 -1
  347. package/dist/tools/delegate-tool.js +0 -185
  348. package/dist/tools/delegate-tool.js.map +0 -1
  349. package/dist/tools/delegation-state.d.ts +0 -87
  350. package/dist/tools/delegation-state.d.ts.map +0 -1
  351. package/dist/tools/delegation-state.js +0 -278
  352. package/dist/tools/delegation-state.js.map +0 -1
  353. package/dist/tools/desktop-ui.d.ts +0 -148
  354. package/dist/tools/desktop-ui.d.ts.map +0 -1
  355. package/dist/tools/desktop-ui.js +0 -486
  356. package/dist/tools/desktop-ui.js.map +0 -1
  357. package/dist/tools/image-video-tool.d.ts +0 -88
  358. package/dist/tools/image-video-tool.d.ts.map +0 -1
  359. package/dist/tools/image-video-tool.js +0 -276
  360. package/dist/tools/image-video-tool.js.map +0 -1
  361. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  362. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  363. package/dist/tools/kanban-cron-tools.js +0 -197
  364. package/dist/tools/kanban-cron-tools.js.map +0 -1
  365. package/dist/tools/messaging-tool.d.ts +0 -127
  366. package/dist/tools/messaging-tool.d.ts.map +0 -1
  367. package/dist/tools/messaging-tool.js +0 -314
  368. package/dist/tools/messaging-tool.js.map +0 -1
  369. package/dist/tools/modality/generic-caller.d.ts +0 -43
  370. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  371. package/dist/tools/modality/generic-caller.js +0 -254
  372. package/dist/tools/modality/generic-caller.js.map +0 -1
  373. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  374. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  375. package/dist/tools/modality/modality-catalog.js +0 -445
  376. package/dist/tools/modality/modality-catalog.js.map +0 -1
  377. package/dist/tools/modality/tool-router.d.ts +0 -81
  378. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  379. package/dist/tools/modality/tool-router.js +0 -84
  380. package/dist/tools/modality/tool-router.js.map +0 -1
  381. package/dist/tools/security-tools.d.ts +0 -107
  382. package/dist/tools/security-tools.d.ts.map +0 -1
  383. package/dist/tools/security-tools.js +0 -264
  384. package/dist/tools/security-tools.js.map +0 -1
  385. package/dist/tools/ssh-tool.d.ts +0 -130
  386. package/dist/tools/ssh-tool.d.ts.map +0 -1
  387. package/dist/tools/ssh-tool.js +0 -328
  388. package/dist/tools/ssh-tool.js.map +0 -1
  389. package/dist/tools/tts-tool.d.ts +0 -91
  390. package/dist/tools/tts-tool.d.ts.map +0 -1
  391. package/dist/tools/tts-tool.js +0 -406
  392. package/dist/tools/tts-tool.js.map +0 -1
  393. package/dist/utils/shell-detection.d.ts +0 -124
  394. package/dist/utils/shell-detection.d.ts.map +0 -1
  395. package/dist/utils/shell-detection.js +0 -305
  396. package/dist/utils/shell-detection.js.map +0 -1
  397. package/dist/utils/windows-paths.d.ts +0 -185
  398. package/dist/utils/windows-paths.d.ts.map +0 -1
  399. package/dist/utils/windows-paths.js +0 -472
  400. package/dist/utils/windows-paths.js.map +0 -1
  401. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  402. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -1,280 +0,0 @@
1
- /**
2
- * EnhancedMemoryManager — Memory manager with background sync.
3
- *
4
- * Extends the base MemoryManager with:
5
- * - Background sync for zero-cost per-turn operations
6
- * - Session-end extraction for fact distillation
7
- * - Drift detection for memory file safety
8
- * - Daemon thread management
9
- *
10
- * This is the recommended entry point for production use.
11
- */
12
- import { EventEmitter } from 'events';
13
- import { getMemoryManager } from './manager.js';
14
- import { BackgroundSyncManager } from './background-sync.js';
15
- import { SessionExtractionManager } from './session-extraction.js';
16
- import { DriftDetector } from './drift-detector.js';
17
- import { getSQLiteStore } from './sqlite-store.js';
18
- import { getCrossSessionPersistence } from './cross-session.js';
19
- import { logger } from '../utils/logger.js';
20
- // ─── Enhanced Memory Manager ────────────────────────────────────────────────
21
- export class EnhancedMemoryManager extends EventEmitter {
22
- baseManager;
23
- backgroundSync;
24
- sessionExtraction;
25
- driftDetector;
26
- config;
27
- metrics;
28
- sessionId = null;
29
- sqliteStore = null;
30
- crossSession = null;
31
- constructor(config) {
32
- super();
33
- this.config = {
34
- enableBackgroundSync: config?.enableBackgroundSync ?? true,
35
- enableDriftDetection: config?.enableDriftDetection ?? true,
36
- enableSessionExtraction: config?.enableSessionExtraction ?? true,
37
- enableSQLite: config?.enableSQLite ?? true,
38
- syncConcurrency: config?.syncConcurrency ?? 3,
39
- drainTimeoutMs: config?.drainTimeoutMs ?? 5000,
40
- };
41
- this.baseManager = getMemoryManager();
42
- this.backgroundSync = new BackgroundSyncManager({
43
- maxConcurrent: this.config.syncConcurrency,
44
- drainTimeoutMs: this.config.drainTimeoutMs,
45
- });
46
- this.sessionExtraction = new SessionExtractionManager();
47
- this.driftDetector = new DriftDetector();
48
- // Initialize SQLite if enabled
49
- if (this.config.enableSQLite) {
50
- this.sqliteStore = getSQLiteStore();
51
- this.crossSession = getCrossSessionPersistence();
52
- }
53
- this.metrics = {
54
- turnsBuffered: 0,
55
- factsExtracted: 0,
56
- driftsDetected: 0,
57
- backgroundTasksQueued: 0,
58
- backgroundTasksCompleted: 0,
59
- };
60
- this.setupEventHandlers();
61
- }
62
- /**
63
- * Setup event handlers for background sync.
64
- */
65
- setupEventHandlers() {
66
- this.backgroundSync.on('task:completed', (event) => {
67
- this.metrics.backgroundTasksCompleted++;
68
- this.emit('sync:completed', event);
69
- });
70
- this.backgroundSync.on('task:failed', (event) => {
71
- logger.debug(`Background sync task failed: ${event.error}`);
72
- this.emit('sync:failed', event);
73
- });
74
- this.backgroundSync.on('task:execute', (task, resolve, reject) => {
75
- this.executeSyncTask(task, resolve, reject);
76
- });
77
- }
78
- /**
79
- * Begin a session.
80
- */
81
- async startSession(sessionId) {
82
- this.sessionId = sessionId;
83
- await this.baseManager.startSession(sessionId);
84
- // Load cross-session context if SQLite is enabled
85
- if (this.crossSession) {
86
- const context = await this.crossSession.loadSessionContext(sessionId);
87
- this.emit('session:started', { sessionId, contextLoaded: true });
88
- }
89
- else {
90
- this.emit('session:started', { sessionId, contextLoaded: false });
91
- }
92
- }
93
- /**
94
- * Build memory block for a query.
95
- */
96
- async buildMemoryBlock(query) {
97
- return this.baseManager.buildMemoryBlock(query);
98
- }
99
- /**
100
- * Record a completed user↔assistant turn (buffered, zero-cost).
101
- */
102
- async recordTurn(userText, assistantText) {
103
- // Buffer for session extraction
104
- if (this.config.enableSessionExtraction) {
105
- this.sessionExtraction.bufferTurn(userText, assistantText);
106
- this.metrics.turnsBuffered++;
107
- }
108
- // Save to SQLite if enabled
109
- if (this.sqliteStore && this.sessionId) {
110
- const trajectoryId = `traj_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
111
- this.sqliteStore.addTrajectory({
112
- id: trajectoryId,
113
- sessionId: this.sessionId,
114
- userText,
115
- assistantText,
116
- });
117
- }
118
- // Queue background sync
119
- if (this.config.enableBackgroundSync) {
120
- this.backgroundSync.enqueue({
121
- type: 'sync',
122
- data: { userText, assistantText, sessionId: this.sessionId },
123
- priority: 0,
124
- });
125
- this.metrics.backgroundTasksQueued++;
126
- }
127
- // Record in base manager (best-effort)
128
- await this.baseManager.recordTurn(userText, assistantText).catch(() => { });
129
- }
130
- /**
131
- * End the session — flush buffered turns into durable facts.
132
- */
133
- async endSession() {
134
- const sid = this.sessionId;
135
- if (!sid)
136
- return null;
137
- // Extract facts from buffered turns
138
- if (this.config.enableSessionExtraction) {
139
- const result = await this.sessionExtraction.extractAtSessionEnd();
140
- this.metrics.factsExtracted += result.statistics.factsExtracted;
141
- // Save extracted facts to SQLite
142
- if (this.sqliteStore) {
143
- for (const fact of result.facts) {
144
- this.sqliteStore.addMemory({
145
- id: `mem_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
146
- content: fact.content,
147
- type: fact.type,
148
- tags: fact.tags,
149
- source: fact.source,
150
- confidence: fact.confidence,
151
- sessionId: sid,
152
- });
153
- }
154
- // Save extracted patterns
155
- for (const pattern of result.patterns) {
156
- this.sqliteStore.upsertPattern({
157
- id: `pat_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
158
- pattern,
159
- examples: [],
160
- confidence: 0.5,
161
- });
162
- }
163
- // Save extracted lessons
164
- for (const lesson of result.lessons) {
165
- this.sqliteStore.addLesson({
166
- id: `les_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
167
- lesson,
168
- context: 'session-extraction',
169
- severity: 'medium',
170
- });
171
- }
172
- }
173
- this.emit('session:extracted', result);
174
- }
175
- // Drain background sync queue
176
- if (this.config.enableBackgroundSync) {
177
- await this.backgroundSync.drain(this.config.drainTimeoutMs);
178
- }
179
- // End base session
180
- const endedSid = await this.baseManager.endSession();
181
- this.sessionId = null;
182
- this.emit('session:ended', { sessionId: sid });
183
- return endedSid;
184
- }
185
- /**
186
- * Execute a sync task in background.
187
- */
188
- async executeSyncTask(task, resolve, reject) {
189
- try {
190
- // Process the sync task
191
- await this.baseManager.recordTurn(task.data.userText, task.data.assistantText);
192
- resolve();
193
- }
194
- catch (err) {
195
- reject(err);
196
- }
197
- }
198
- /**
199
- * Add a memory with drift detection.
200
- */
201
- async addMemoryWithDriftDetection(filePath, content) {
202
- if (this.config.enableDriftDetection) {
203
- // Check for drift
204
- const driftCheck = this.driftDetector.checkDrift(filePath);
205
- if (driftCheck.hasDrift) {
206
- this.metrics.driftsDetected++;
207
- this.emit('drift:detected', { path: filePath, driftCheck });
208
- // Create backup
209
- const backupPath = this.driftDetector.backup(filePath);
210
- // Merge changes
211
- const merged = this.driftDetector.merge(filePath, content, driftCheck.currentContent || '');
212
- // Write merged content
213
- const fs = await import('fs');
214
- fs.writeFileSync(filePath, merged, 'utf-8');
215
- return { success: true, driftDetected: true };
216
- }
217
- // Snapshot before write
218
- this.driftDetector.snapshot(filePath);
219
- }
220
- // Write content
221
- const fs = await import('fs');
222
- fs.writeFileSync(filePath, content, 'utf-8');
223
- return { success: true, driftDetected: false };
224
- }
225
- /**
226
- * Get metrics.
227
- */
228
- getMetrics() {
229
- return {
230
- ...this.metrics,
231
- backgroundSync: this.backgroundSync.getMetrics(),
232
- sqlite: this.sqliteStore?.getStats(),
233
- };
234
- }
235
- /**
236
- * Get SQLite store.
237
- */
238
- getSQLiteStore() {
239
- return this.sqliteStore;
240
- }
241
- /**
242
- * Get cross-session persistence.
243
- */
244
- getCrossSession() {
245
- return this.crossSession;
246
- }
247
- /**
248
- * Get background sync manager.
249
- */
250
- getBackgroundSync() {
251
- return this.backgroundSync;
252
- }
253
- /**
254
- * Get drift detector.
255
- */
256
- getDriftDetector() {
257
- return this.driftDetector;
258
- }
259
- /**
260
- * Shutdown gracefully.
261
- */
262
- async shutdown() {
263
- await this.backgroundSync.shutdown();
264
- this.removeAllListeners();
265
- }
266
- }
267
- // ─── Singleton ──────────────────────────────────────────────────────────────
268
- let _instance = null;
269
- export function getEnhancedMemoryManager() {
270
- if (!_instance)
271
- _instance = new EnhancedMemoryManager();
272
- return _instance;
273
- }
274
- export function resetEnhancedMemoryManager() {
275
- if (_instance) {
276
- _instance.shutdown();
277
- _instance = null;
278
- }
279
- }
280
- //# sourceMappingURL=enhanced-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enhanced-manager.js","sourceRoot":"","sources":["../../src/memory/enhanced-manager.ts"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- /**
2
- * SessionExtraction — Extract facts from buffered turns at session end.
3
- *
4
- * Distills conversation turns into durable facts, patterns, and lessons.
5
- * Uses rules + optional LLM for extraction.
6
- *
7
- * Features:
8
- * - Rule-based extraction (no LLM required)
9
- * - LLM-enhanced extraction (optional)
10
- * - Pattern detection
11
- * - Lesson extraction
12
- * - Confidence scoring
13
- */
14
- import { type MemoryStore } from '../tools/memory-tools.js';
15
- interface ExtractedFact {
16
- content: string;
17
- type: 'fact' | 'preference' | 'lesson' | 'observation' | 'pattern';
18
- confidence: number;
19
- source: string;
20
- tags: string[];
21
- }
22
- interface ExtractionResult {
23
- facts: ExtractedFact[];
24
- patterns: string[];
25
- lessons: string[];
26
- statistics: {
27
- turnsProcessed: number;
28
- factsExtracted: number;
29
- patternsDetected: number;
30
- lessonsLearned: number;
31
- };
32
- }
33
- export declare class SessionExtractionManager {
34
- private memoryStore;
35
- private bufferedTurns;
36
- private maxBufferedTurns;
37
- constructor(memoryStore?: MemoryStore);
38
- /**
39
- * Buffer a conversation turn.
40
- */
41
- bufferTurn(userText: string, assistantText: string): void;
42
- /**
43
- * Extract facts from buffered turns at session end.
44
- */
45
- extractAtSessionEnd(): Promise<ExtractionResult>;
46
- /**
47
- * Extract facts from a single turn.
48
- */
49
- private extractFromTurn;
50
- /**
51
- * Extract preference from user text.
52
- */
53
- private extractPreference;
54
- /**
55
- * Extract project fact from conversation.
56
- */
57
- private extractProjectFact;
58
- /**
59
- * Extract lesson from assistant text.
60
- */
61
- private extractLesson;
62
- /**
63
- * Check if this is a repeated action.
64
- */
65
- private isRepeatedAction;
66
- /**
67
- * Extract pattern from turn.
68
- */
69
- private extractPattern;
70
- /**
71
- * Extract topic from text.
72
- */
73
- private extractTopic;
74
- /**
75
- * Extract observation from text.
76
- */
77
- private extractObservation;
78
- /**
79
- * Detect cross-turn patterns.
80
- */
81
- private detectCrossTurnPatterns;
82
- /**
83
- * Get buffered turn count.
84
- */
85
- getBufferedTurnCount(): number;
86
- /**
87
- * Clear buffer.
88
- */
89
- clearBuffer(): void;
90
- }
91
- export declare function getSessionExtractionManager(): SessionExtractionManager;
92
- export {};
93
- //# sourceMappingURL=session-extraction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-extraction.d.ts","sourceRoot":"","sources":["../../src/memory/session-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAU5E,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAID,qBAAa,wBAAwB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,gBAAgB,CAAM;gBAElB,WAAW,CAAC,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAazD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA2CtD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuEvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,WAAW,IAAI,IAAI;CAGpB;AAMD,wBAAgB,2BAA2B,IAAI,wBAAwB,CAGtE"}
@@ -1,290 +0,0 @@
1
- /**
2
- * SessionExtraction — Extract facts from buffered turns at session end.
3
- *
4
- * Distills conversation turns into durable facts, patterns, and lessons.
5
- * Uses rules + optional LLM for extraction.
6
- *
7
- * Features:
8
- * - Rule-based extraction (no LLM required)
9
- * - LLM-enhanced extraction (optional)
10
- * - Pattern detection
11
- * - Lesson extraction
12
- * - Confidence scoring
13
- */
14
- import { getMemoryStore } from '../tools/memory-tools.js';
15
- // ─── Session Extraction Manager ─────────────────────────────────────────────
16
- export class SessionExtractionManager {
17
- memoryStore;
18
- bufferedTurns = [];
19
- maxBufferedTurns = 50;
20
- constructor(memoryStore) {
21
- this.memoryStore = memoryStore || getMemoryStore();
22
- }
23
- /**
24
- * Buffer a conversation turn.
25
- */
26
- bufferTurn(userText, assistantText) {
27
- this.bufferedTurns.push({
28
- userText,
29
- assistantText,
30
- timestamp: Date.now(),
31
- });
32
- // Keep buffer bounded
33
- if (this.bufferedTurns.length > this.maxBufferedTurns) {
34
- this.bufferedTurns = this.bufferedTurns.slice(-this.maxBufferedTurns);
35
- }
36
- }
37
- /**
38
- * Extract facts from buffered turns at session end.
39
- */
40
- async extractAtSessionEnd() {
41
- const turns = [...this.bufferedTurns];
42
- this.bufferedTurns = [];
43
- const facts = [];
44
- const patterns = [];
45
- const lessons = [];
46
- // Rule-based extraction
47
- for (const turn of turns) {
48
- const extracted = this.extractFromTurn(turn);
49
- facts.push(...extracted.facts);
50
- patterns.push(...extracted.patterns);
51
- lessons.push(...extracted.lessons);
52
- }
53
- // Detect cross-turn patterns
54
- const crossTurnPatterns = this.detectCrossTurnPatterns(turns);
55
- patterns.push(...crossTurnPatterns);
56
- // Store extracted facts
57
- for (const fact of facts) {
58
- this.memoryStore.add({
59
- content: fact.content,
60
- type: fact.type,
61
- tags: fact.tags,
62
- source: fact.source,
63
- });
64
- }
65
- return {
66
- facts,
67
- patterns,
68
- lessons,
69
- statistics: {
70
- turnsProcessed: turns.length,
71
- factsExtracted: facts.length,
72
- patternsDetected: patterns.length,
73
- lessonsLearned: lessons.length,
74
- },
75
- };
76
- }
77
- /**
78
- * Extract facts from a single turn.
79
- */
80
- extractFromTurn(turn) {
81
- const facts = [];
82
- const patterns = [];
83
- const lessons = [];
84
- const userText = turn.userText.toLowerCase();
85
- const assistantText = turn.assistantText.toLowerCase();
86
- // Extract preferences
87
- if (userText.includes('prefer') || userText.includes('like') || userText.includes('want')) {
88
- facts.push({
89
- content: this.extractPreference(turn.userText),
90
- type: 'preference',
91
- confidence: 0.8,
92
- source: 'user-statement',
93
- tags: ['preference', 'user'],
94
- });
95
- }
96
- // Extract facts about the project
97
- if (userText.includes('project') || userText.includes('code') || userText.includes('file')) {
98
- const fact = this.extractProjectFact(turn.userText, turn.assistantText);
99
- if (fact) {
100
- facts.push(fact);
101
- }
102
- }
103
- // Extract lessons from errors
104
- if (assistantText.includes('error') || assistantText.includes('failed') || assistantText.includes('fix')) {
105
- const lesson = this.extractLesson(turn.assistantText);
106
- if (lesson) {
107
- lessons.push(lesson);
108
- facts.push({
109
- content: lesson,
110
- type: 'lesson',
111
- confidence: 0.9,
112
- source: 'error-resolution',
113
- tags: ['lesson', 'error', 'fix'],
114
- });
115
- }
116
- }
117
- // Extract patterns from repeated actions
118
- if (this.isRepeatedAction(turn)) {
119
- patterns.push(this.extractPattern(turn));
120
- }
121
- // Extract observations about the environment
122
- if (userText.includes('environment') || userText.includes('setup') || userText.includes('config')) {
123
- facts.push({
124
- content: this.extractObservation(turn.userText),
125
- type: 'observation',
126
- confidence: 0.7,
127
- source: 'environment',
128
- tags: ['observation', 'environment'],
129
- });
130
- }
131
- return {
132
- facts,
133
- patterns,
134
- lessons,
135
- statistics: {
136
- turnsProcessed: 1,
137
- factsExtracted: facts.length,
138
- patternsDetected: patterns.length,
139
- lessonsLearned: lessons.length,
140
- },
141
- };
142
- }
143
- /**
144
- * Extract preference from user text.
145
- */
146
- extractPreference(text) {
147
- // Simple extraction - find preference statement
148
- const patterns = [
149
- /(?:prefer|like|want|need)\s+(.+?)(?:\.|$)/i,
150
- /(?:please|kindly)\s+(.+?)(?:\.|$)/i,
151
- /(?:don't|do not)\s+(?:want|like)\s+(.+?)(?:\.|$)/i,
152
- ];
153
- for (const pattern of patterns) {
154
- const match = text.match(pattern);
155
- if (match) {
156
- return `User preference: ${match[1].trim()}`;
157
- }
158
- }
159
- return `User stated: ${text.slice(0, 200)}`;
160
- }
161
- /**
162
- * Extract project fact from conversation.
163
- */
164
- extractProjectFact(userText, assistantText) {
165
- // Look for factual statements about the project
166
- const patterns = [
167
- /(?:this project|the codebase|our app)\s+(?:is|uses|has|runs)\s+(.+?)(?:\.|$)/i,
168
- /(?:we|I)\s+(?:use|are using|have)\s+(.+?)(?:\s+for|\s+to|\s+in|\s+on|\s+\.)/i,
169
- ];
170
- for (const pattern of patterns) {
171
- const match = userText.match(pattern);
172
- if (match) {
173
- return {
174
- content: `Project fact: ${match[1].trim()}`,
175
- type: 'fact',
176
- confidence: 0.8,
177
- source: 'user-statement',
178
- tags: ['fact', 'project'],
179
- };
180
- }
181
- }
182
- return null;
183
- }
184
- /**
185
- * Extract lesson from assistant text.
186
- */
187
- extractLesson(text) {
188
- // Look for lesson patterns
189
- const patterns = [
190
- /(?:the issue|the problem|the error)\s+(?:was|is)\s+(.+?)(?:\.|$)/i,
191
- /(?:to fix|to resolve|to solve)\s+(?:this|the)\s+(?:issue|problem|error),?\s+(.+?)(?:\.|$)/i,
192
- /(?:the solution|the fix)\s+(?:is|was)\s+(.+?)(?:\.|$)/i,
193
- ];
194
- for (const pattern of patterns) {
195
- const match = text.match(pattern);
196
- if (match) {
197
- return `Lesson learned: ${match[1].trim()}`;
198
- }
199
- }
200
- return null;
201
- }
202
- /**
203
- * Check if this is a repeated action.
204
- */
205
- isRepeatedAction(turn) {
206
- // Simple heuristic - check for similar patterns
207
- const recentTurns = this.bufferedTurns.slice(-5);
208
- const userWords = turn.userText.toLowerCase().split(/\s+/);
209
- let similarCount = 0;
210
- for (const recent of recentTurns) {
211
- const recentWords = recent.userText.toLowerCase().split(/\s+/);
212
- const overlap = userWords.filter((w) => recentWords.includes(w)).length;
213
- if (overlap > userWords.length * 0.5) {
214
- similarCount++;
215
- }
216
- }
217
- return similarCount >= 2;
218
- }
219
- /**
220
- * Extract pattern from turn.
221
- */
222
- extractPattern(turn) {
223
- return `Repeated pattern: User asked about ${this.extractTopic(turn.userText)}`;
224
- }
225
- /**
226
- * Extract topic from text.
227
- */
228
- extractTopic(text) {
229
- // Simple topic extraction
230
- const words = text.toLowerCase().split(/\s+/);
231
- const stopWords = new Set(['the', 'a', 'an', 'is', 'are', 'was', 'were', 'i', 'you', 'we', 'they', 'it']);
232
- const meaningfulWords = words.filter((w) => !stopWords.has(w) && w.length > 3);
233
- return meaningfulWords.slice(0, 3).join(' ') || 'unknown topic';
234
- }
235
- /**
236
- * Extract observation from text.
237
- */
238
- extractObservation(text) {
239
- return `Observation: ${text.slice(0, 200)}`;
240
- }
241
- /**
242
- * Detect cross-turn patterns.
243
- */
244
- detectCrossTurnPatterns(turns) {
245
- const patterns = [];
246
- // Detect topic clustering
247
- const topicCounts = new Map();
248
- for (const turn of turns) {
249
- const topic = this.extractTopic(turn.userText);
250
- topicCounts.set(topic, (topicCounts.get(topic) || 0) + 1);
251
- }
252
- for (const [topic, count] of topicCounts) {
253
- if (count >= 3) {
254
- patterns.push(`Frequent topic: ${topic} (${count} times)`);
255
- }
256
- }
257
- // Detect time-based patterns
258
- if (turns.length >= 5) {
259
- const timeGaps = [];
260
- for (let i = 1; i < turns.length; i++) {
261
- timeGaps.push(turns[i].timestamp - turns[i - 1].timestamp);
262
- }
263
- const avgGap = timeGaps.reduce((a, b) => a + b, 0) / timeGaps.length;
264
- if (avgGap < 60_000) {
265
- patterns.push('Rapid-fire conversation pattern detected');
266
- }
267
- }
268
- return patterns;
269
- }
270
- /**
271
- * Get buffered turn count.
272
- */
273
- getBufferedTurnCount() {
274
- return this.bufferedTurns.length;
275
- }
276
- /**
277
- * Clear buffer.
278
- */
279
- clearBuffer() {
280
- this.bufferedTurns = [];
281
- }
282
- }
283
- // ─── Singleton ──────────────────────────────────────────────────────────────
284
- let _instance = null;
285
- export function getSessionExtractionManager() {
286
- if (!_instance)
287
- _instance = new SessionExtractionManager();
288
- return _instance;
289
- }
290
- //# sourceMappingURL=session-extraction.js.map