agent-nuvira 2.7.3 → 3.0.1

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 (369) 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/cli/chat.d.ts +55 -1
  21. package/dist/cli/chat.d.ts.map +1 -1
  22. package/dist/cli/chat.js +278 -72
  23. package/dist/cli/chat.js.map +1 -1
  24. package/dist/cli/cli-program.d.ts +6 -0
  25. package/dist/cli/cli-program.d.ts.map +1 -0
  26. package/dist/cli/cli-program.js +242 -0
  27. package/dist/cli/cli-program.js.map +1 -0
  28. package/dist/cli/edit.d.ts.map +1 -1
  29. package/dist/cli/edit.js +18 -3
  30. package/dist/cli/edit.js.map +1 -1
  31. package/dist/cli/execute.d.ts.map +1 -1
  32. package/dist/cli/execute.js +29 -5
  33. package/dist/cli/execute.js.map +1 -1
  34. package/dist/cli/failover-runner.d.ts +13 -0
  35. package/dist/cli/failover-runner.d.ts.map +1 -1
  36. package/dist/cli/failover-runner.js +11 -0
  37. package/dist/cli/failover-runner.js.map +1 -1
  38. package/dist/cli/gateway.d.ts +16 -0
  39. package/dist/cli/gateway.d.ts.map +1 -1
  40. package/dist/cli/gateway.js +108 -2
  41. package/dist/cli/gateway.js.map +1 -1
  42. package/dist/cli/loop-executor.d.ts.map +1 -1
  43. package/dist/cli/loop-executor.js +245 -12
  44. package/dist/cli/loop-executor.js.map +1 -1
  45. package/dist/cli/plan.d.ts.map +1 -1
  46. package/dist/cli/plan.js +20 -6
  47. package/dist/cli/plan.js.map +1 -1
  48. package/dist/cli/process-control.d.ts +10 -0
  49. package/dist/cli/process-control.d.ts.map +1 -1
  50. package/dist/cli/process-control.js +73 -7
  51. package/dist/cli/process-control.js.map +1 -1
  52. package/dist/cli/router.d.ts +16 -5
  53. package/dist/cli/router.d.ts.map +1 -1
  54. package/dist/cli/router.js +31 -206
  55. package/dist/cli/router.js.map +1 -1
  56. package/dist/config/paths.d.ts +23 -0
  57. package/dist/config/paths.d.ts.map +1 -1
  58. package/dist/config/paths.js +30 -0
  59. package/dist/config/paths.js.map +1 -1
  60. package/dist/config/provider-env.d.ts +37 -0
  61. package/dist/config/provider-env.d.ts.map +1 -0
  62. package/dist/config/provider-env.js +86 -0
  63. package/dist/config/provider-env.js.map +1 -0
  64. package/dist/context/history.d.ts.map +1 -1
  65. package/dist/context/history.js +24 -8
  66. package/dist/context/history.js.map +1 -1
  67. package/dist/context/session-recall.d.ts +30 -0
  68. package/dist/context/session-recall.d.ts.map +1 -1
  69. package/dist/context/session-recall.js +61 -0
  70. package/dist/context/session-recall.js.map +1 -1
  71. package/dist/file.js +0 -1
  72. package/dist/file.js.map +1 -1
  73. package/dist/gateway/adapters.d.ts +10 -0
  74. package/dist/gateway/adapters.d.ts.map +1 -1
  75. package/dist/gateway/adapters.js +4 -1
  76. package/dist/gateway/adapters.js.map +1 -1
  77. package/dist/gateway/dedup.d.ts +105 -0
  78. package/dist/gateway/dedup.d.ts.map +1 -0
  79. package/dist/gateway/dedup.js +160 -0
  80. package/dist/gateway/dedup.js.map +1 -0
  81. package/dist/gateway/heartbeat.d.ts +99 -0
  82. package/dist/gateway/heartbeat.d.ts.map +1 -0
  83. package/dist/gateway/heartbeat.js +122 -0
  84. package/dist/gateway/heartbeat.js.map +1 -0
  85. package/dist/gateway/inbox.d.ts +14 -1
  86. package/dist/gateway/inbox.d.ts.map +1 -1
  87. package/dist/gateway/inbox.js.map +1 -1
  88. package/dist/gateway/platform-config.d.ts +5 -0
  89. package/dist/gateway/platform-config.d.ts.map +1 -1
  90. package/dist/gateway/platform-config.js +8 -13
  91. package/dist/gateway/platform-config.js.map +1 -1
  92. package/dist/gateway/registry.d.ts +47 -0
  93. package/dist/gateway/registry.d.ts.map +1 -1
  94. package/dist/gateway/registry.js +227 -21
  95. package/dist/gateway/registry.js.map +1 -1
  96. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  97. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  98. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  99. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  100. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  101. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  102. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  103. package/dist/index.js +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/inference/factory.d.ts +16 -0
  106. package/dist/inference/factory.d.ts.map +1 -1
  107. package/dist/inference/factory.js +42 -0
  108. package/dist/inference/factory.js.map +1 -1
  109. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  110. package/dist/inference/gemini-adapter.js +3 -0
  111. package/dist/inference/gemini-adapter.js.map +1 -1
  112. package/dist/inference/interface.d.ts +12 -0
  113. package/dist/inference/interface.d.ts.map +1 -1
  114. package/dist/inference/local-adapter.d.ts +2 -0
  115. package/dist/inference/local-adapter.d.ts.map +1 -1
  116. package/dist/inference/local-adapter.js +36 -5
  117. package/dist/inference/local-adapter.js.map +1 -1
  118. package/dist/inference/native-tools.d.ts +8 -0
  119. package/dist/inference/native-tools.d.ts.map +1 -1
  120. package/dist/inference/native-tools.js +14 -3
  121. package/dist/inference/native-tools.js.map +1 -1
  122. package/dist/inference/tool-call-utils.d.ts +92 -7
  123. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  124. package/dist/inference/tool-call-utils.js +203 -13
  125. package/dist/inference/tool-call-utils.js.map +1 -1
  126. package/dist/learning/auto-router.d.ts.map +1 -1
  127. package/dist/learning/auto-router.js +90 -5
  128. package/dist/learning/auto-router.js.map +1 -1
  129. package/dist/learning/context-budget.d.ts +133 -0
  130. package/dist/learning/context-budget.d.ts.map +1 -0
  131. package/dist/learning/context-budget.js +196 -0
  132. package/dist/learning/context-budget.js.map +1 -0
  133. package/dist/learning/cost-tracker.d.ts.map +1 -1
  134. package/dist/learning/cost-tracker.js +20 -8
  135. package/dist/learning/cost-tracker.js.map +1 -1
  136. package/dist/learning/eval-framework.d.ts.map +1 -1
  137. package/dist/learning/eval-framework.js +6 -2
  138. package/dist/learning/eval-framework.js.map +1 -1
  139. package/dist/learning/failure-bookkeeping.d.ts +19 -0
  140. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  141. package/dist/learning/failure-bookkeeping.js +67 -2
  142. package/dist/learning/failure-bookkeeping.js.map +1 -1
  143. package/dist/learning/feedback.d.ts.map +1 -1
  144. package/dist/learning/feedback.js +19 -8
  145. package/dist/learning/feedback.js.map +1 -1
  146. package/dist/learning/model-harness.d.ts +76 -0
  147. package/dist/learning/model-harness.d.ts.map +1 -0
  148. package/dist/learning/model-harness.js +119 -0
  149. package/dist/learning/model-harness.js.map +1 -0
  150. package/dist/learning/model-selection.d.ts +15 -0
  151. package/dist/learning/model-selection.d.ts.map +1 -1
  152. package/dist/learning/model-selection.js +27 -1
  153. package/dist/learning/model-selection.js.map +1 -1
  154. package/dist/learning/provider-fallback.d.ts +12 -0
  155. package/dist/learning/provider-fallback.d.ts.map +1 -1
  156. package/dist/learning/provider-fallback.js +74 -0
  157. package/dist/learning/provider-fallback.js.map +1 -1
  158. package/dist/learning/provider-revival.d.ts +106 -0
  159. package/dist/learning/provider-revival.d.ts.map +1 -0
  160. package/dist/learning/provider-revival.js +154 -0
  161. package/dist/learning/provider-revival.js.map +1 -0
  162. package/dist/learning/resilient-call.d.ts.map +1 -1
  163. package/dist/learning/resilient-call.js +48 -3
  164. package/dist/learning/resilient-call.js.map +1 -1
  165. package/dist/nlu/conversation-gate.d.ts +37 -0
  166. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  167. package/dist/nlu/conversation-gate.js +49 -0
  168. package/dist/nlu/conversation-gate.js.map +1 -1
  169. package/dist/nlu/schema.d.ts +2 -2
  170. package/dist/observability/dag-bridge.d.ts +69 -0
  171. package/dist/observability/dag-bridge.d.ts.map +1 -0
  172. package/dist/observability/dag-bridge.js +56 -0
  173. package/dist/observability/dag-bridge.js.map +1 -0
  174. package/dist/observability/event-bus.d.ts +5 -10
  175. package/dist/observability/event-bus.d.ts.map +1 -1
  176. package/dist/observability/event-bus.js +10 -42
  177. package/dist/observability/event-bus.js.map +1 -1
  178. package/dist/skills/execution-audit.d.ts.map +1 -1
  179. package/dist/skills/execution-audit.js +17 -5
  180. package/dist/skills/execution-audit.js.map +1 -1
  181. package/dist/skills/sandbox-executor.d.ts +12 -1
  182. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  183. package/dist/skills/sandbox-executor.js +28 -6
  184. package/dist/skills/sandbox-executor.js.map +1 -1
  185. package/dist/skills/secret-capture.d.ts +45 -1
  186. package/dist/skills/secret-capture.d.ts.map +1 -1
  187. package/dist/skills/secret-capture.js +82 -19
  188. package/dist/skills/secret-capture.js.map +1 -1
  189. package/dist/skills/skill-env-inventory.d.ts +79 -0
  190. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  191. package/dist/skills/skill-env-inventory.js +167 -0
  192. package/dist/skills/skill-env-inventory.js.map +1 -0
  193. package/dist/skills/skill-executor.d.ts +2 -0
  194. package/dist/skills/skill-executor.d.ts.map +1 -1
  195. package/dist/skills/skill-executor.js +19 -24
  196. package/dist/skills/skill-executor.js.map +1 -1
  197. package/dist/tools/ask-user.d.ts +14 -1
  198. package/dist/tools/ask-user.d.ts.map +1 -1
  199. package/dist/tools/ask-user.js +25 -1
  200. package/dist/tools/ask-user.js.map +1 -1
  201. package/dist/tools/followup-utils.d.ts +64 -0
  202. package/dist/tools/followup-utils.d.ts.map +1 -0
  203. package/dist/tools/followup-utils.js +158 -0
  204. package/dist/tools/followup-utils.js.map +1 -0
  205. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  206. package/dist/tools/loop-skill-hint.js +22 -1
  207. package/dist/tools/loop-skill-hint.js.map +1 -1
  208. package/dist/tools/memory-tools.d.ts +35 -0
  209. package/dist/tools/memory-tools.d.ts.map +1 -1
  210. package/dist/tools/memory-tools.js +76 -0
  211. package/dist/tools/memory-tools.js.map +1 -1
  212. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  213. package/dist/tools/pipeline-tool.js +8 -3
  214. package/dist/tools/pipeline-tool.js.map +1 -1
  215. package/dist/tools/registry.d.ts +25 -12
  216. package/dist/tools/registry.d.ts.map +1 -1
  217. package/dist/tools/registry.js +31 -6
  218. package/dist/tools/registry.js.map +1 -1
  219. package/dist/tools/skill-tool.d.ts.map +1 -1
  220. package/dist/tools/skill-tool.js +52 -5
  221. package/dist/tools/skill-tool.js.map +1 -1
  222. package/dist/tools/tool-loop.d.ts +63 -1
  223. package/dist/tools/tool-loop.d.ts.map +1 -1
  224. package/dist/tools/tool-loop.js +305 -66
  225. package/dist/tools/tool-loop.js.map +1 -1
  226. package/dist/tools/toolsets.d.ts +19 -3
  227. package/dist/tools/toolsets.d.ts.map +1 -1
  228. package/dist/tools/toolsets.js +21 -5
  229. package/dist/tools/toolsets.js.map +1 -1
  230. package/dist/utils/env.d.ts.map +1 -1
  231. package/dist/utils/env.js +9 -13
  232. package/dist/utils/env.js.map +1 -1
  233. package/dist/web-dashboard/chat-console.d.ts +13 -1
  234. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  235. package/dist/web-dashboard/chat-console.js +16 -2
  236. package/dist/web-dashboard/chat-console.js.map +1 -1
  237. package/dist/web-dashboard/hub-data.d.ts +2 -0
  238. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  239. package/dist/web-dashboard/hub-data.js +4 -0
  240. package/dist/web-dashboard/hub-data.js.map +1 -1
  241. package/dist/web-dashboard/server.d.ts +6 -0
  242. package/dist/web-dashboard/server.d.ts.map +1 -1
  243. package/dist/web-dashboard/server.js +192 -3
  244. package/dist/web-dashboard/server.js.map +1 -1
  245. package/dist/web-dashboard/src/types.d.ts +31 -1
  246. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  247. package/package.json +11 -1
  248. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  249. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  250. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  251. package/src/web-dashboard/public/index.html +2 -2
  252. package/dist/example.d.ts +0 -1
  253. package/dist/example.d.ts.map +0 -1
  254. package/dist/example.js +0 -3
  255. package/dist/example.js.map +0 -1
  256. package/dist/fresh.d.ts +0 -2
  257. package/dist/fresh.d.ts.map +0 -1
  258. package/dist/fresh.js +0 -2
  259. package/dist/fresh.js.map +0 -1
  260. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  261. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  262. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  263. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  264. package/dist/memory/background-sync.d.ts +0 -107
  265. package/dist/memory/background-sync.d.ts.map +0 -1
  266. package/dist/memory/background-sync.js +0 -242
  267. package/dist/memory/background-sync.js.map +0 -1
  268. package/dist/memory/cross-session.d.ts +0 -68
  269. package/dist/memory/cross-session.d.ts.map +0 -1
  270. package/dist/memory/cross-session.js +0 -153
  271. package/dist/memory/cross-session.js.map +0 -1
  272. package/dist/memory/drift-detector.d.ts +0 -76
  273. package/dist/memory/drift-detector.d.ts.map +0 -1
  274. package/dist/memory/drift-detector.js +0 -216
  275. package/dist/memory/drift-detector.js.map +0 -1
  276. package/dist/memory/enhanced-manager.d.ts +0 -105
  277. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  278. package/dist/memory/enhanced-manager.js +0 -280
  279. package/dist/memory/enhanced-manager.js.map +0 -1
  280. package/dist/memory/session-extraction.d.ts +0 -93
  281. package/dist/memory/session-extraction.d.ts.map +0 -1
  282. package/dist/memory/session-extraction.js +0 -290
  283. package/dist/memory/session-extraction.js.map +0 -1
  284. package/dist/memory/sqlite-store.d.ts +0 -208
  285. package/dist/memory/sqlite-store.d.ts.map +0 -1
  286. package/dist/memory/sqlite-store.js +0 -556
  287. package/dist/memory/sqlite-store.js.map +0 -1
  288. package/dist/skills/daytona-executor.d.ts +0 -78
  289. package/dist/skills/daytona-executor.d.ts.map +0 -1
  290. package/dist/skills/daytona-executor.js +0 -256
  291. package/dist/skills/daytona-executor.js.map +0 -1
  292. package/dist/skills/modal-executor.d.ts +0 -81
  293. package/dist/skills/modal-executor.d.ts.map +0 -1
  294. package/dist/skills/modal-executor.js +0 -285
  295. package/dist/skills/modal-executor.js.map +0 -1
  296. package/dist/sync/inventory.d.ts +0 -1
  297. package/dist/sync/inventory.d.ts.map +0 -1
  298. package/dist/sync/inventory.js +0 -3
  299. package/dist/sync/inventory.js.map +0 -1
  300. package/dist/sync/validate.d.ts +0 -1
  301. package/dist/sync/validate.d.ts.map +0 -1
  302. package/dist/sync/validate.js +0 -3
  303. package/dist/sync/validate.js.map +0 -1
  304. package/dist/test.d.ts +0 -2
  305. package/dist/test.d.ts.map +0 -1
  306. package/dist/test.js +0 -3
  307. package/dist/test.js.map +0 -1
  308. package/dist/tools/browser-tool.d.ts +0 -206
  309. package/dist/tools/browser-tool.d.ts.map +0 -1
  310. package/dist/tools/browser-tool.js +0 -726
  311. package/dist/tools/browser-tool.js.map +0 -1
  312. package/dist/tools/delegate-tool.d.ts +0 -109
  313. package/dist/tools/delegate-tool.d.ts.map +0 -1
  314. package/dist/tools/delegate-tool.js +0 -185
  315. package/dist/tools/delegate-tool.js.map +0 -1
  316. package/dist/tools/delegation-state.d.ts +0 -87
  317. package/dist/tools/delegation-state.d.ts.map +0 -1
  318. package/dist/tools/delegation-state.js +0 -278
  319. package/dist/tools/delegation-state.js.map +0 -1
  320. package/dist/tools/desktop-ui.d.ts +0 -148
  321. package/dist/tools/desktop-ui.d.ts.map +0 -1
  322. package/dist/tools/desktop-ui.js +0 -486
  323. package/dist/tools/desktop-ui.js.map +0 -1
  324. package/dist/tools/image-video-tool.d.ts +0 -88
  325. package/dist/tools/image-video-tool.d.ts.map +0 -1
  326. package/dist/tools/image-video-tool.js +0 -276
  327. package/dist/tools/image-video-tool.js.map +0 -1
  328. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  329. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  330. package/dist/tools/kanban-cron-tools.js +0 -197
  331. package/dist/tools/kanban-cron-tools.js.map +0 -1
  332. package/dist/tools/messaging-tool.d.ts +0 -127
  333. package/dist/tools/messaging-tool.d.ts.map +0 -1
  334. package/dist/tools/messaging-tool.js +0 -314
  335. package/dist/tools/messaging-tool.js.map +0 -1
  336. package/dist/tools/modality/generic-caller.d.ts +0 -43
  337. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  338. package/dist/tools/modality/generic-caller.js +0 -254
  339. package/dist/tools/modality/generic-caller.js.map +0 -1
  340. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  341. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  342. package/dist/tools/modality/modality-catalog.js +0 -445
  343. package/dist/tools/modality/modality-catalog.js.map +0 -1
  344. package/dist/tools/modality/tool-router.d.ts +0 -81
  345. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  346. package/dist/tools/modality/tool-router.js +0 -84
  347. package/dist/tools/modality/tool-router.js.map +0 -1
  348. package/dist/tools/security-tools.d.ts +0 -107
  349. package/dist/tools/security-tools.d.ts.map +0 -1
  350. package/dist/tools/security-tools.js +0 -264
  351. package/dist/tools/security-tools.js.map +0 -1
  352. package/dist/tools/ssh-tool.d.ts +0 -130
  353. package/dist/tools/ssh-tool.d.ts.map +0 -1
  354. package/dist/tools/ssh-tool.js +0 -328
  355. package/dist/tools/ssh-tool.js.map +0 -1
  356. package/dist/tools/tts-tool.d.ts +0 -91
  357. package/dist/tools/tts-tool.d.ts.map +0 -1
  358. package/dist/tools/tts-tool.js +0 -406
  359. package/dist/tools/tts-tool.js.map +0 -1
  360. package/dist/utils/shell-detection.d.ts +0 -124
  361. package/dist/utils/shell-detection.d.ts.map +0 -1
  362. package/dist/utils/shell-detection.js +0 -305
  363. package/dist/utils/shell-detection.js.map +0 -1
  364. package/dist/utils/windows-paths.d.ts +0 -185
  365. package/dist/utils/windows-paths.d.ts.map +0 -1
  366. package/dist/utils/windows-paths.js +0 -472
  367. package/dist/utils/windows-paths.js.map +0 -1
  368. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  369. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -1,556 +0,0 @@
1
- /**
2
- * SQLiteStore — Enterprise-grade memory storage with SQLite.
3
- *
4
- * Provides ACID transactions, concurrent access, and cross-session persistence
5
- * for all memory types (facts, trajectories, patterns, lessons).
6
- *
7
- * Features:
8
- * - ACID transactions for data integrity
9
- * - Concurrent access with WAL mode
10
- * - Full-text search (FTS5)
11
- * - Automatic migrations
12
- * - Backup support
13
- * - Metrics and monitoring
14
- */
15
- import * as fs from 'fs';
16
- import { join } from 'node:path';
17
- import { resolveNuviraHome } from '../config/paths.js';
18
- import * as path from 'path';
19
- // ─── Migrations ─────────────────────────────────────────────────────────────
20
- const MIGRATIONS = [
21
- {
22
- version: 1,
23
- name: 'create_memories',
24
- up: `
25
- CREATE TABLE IF NOT EXISTS memories (
26
- id TEXT PRIMARY KEY,
27
- content TEXT NOT NULL,
28
- type TEXT NOT NULL CHECK(type IN ('fact', 'preference', 'lesson', 'observation', 'pattern')),
29
- tags TEXT DEFAULT '[]',
30
- source TEXT DEFAULT '',
31
- embedding BLOB,
32
- confidence REAL DEFAULT 0.5,
33
- access_count INTEGER DEFAULT 0,
34
- created_at INTEGER NOT NULL,
35
- updated_at INTEGER NOT NULL,
36
- last_accessed INTEGER,
37
- session_id TEXT
38
- );
39
-
40
- CREATE INDEX IF NOT EXISTS idx_memories_type ON memories(type);
41
- CREATE INDEX IF NOT EXISTS idx_memories_created ON memories(created_at);
42
- CREATE INDEX IF NOT EXISTS idx_memories_session ON memories(session_id);
43
- `,
44
- down: 'DROP TABLE IF EXISTS memories;',
45
- },
46
- {
47
- version: 2,
48
- name: 'create_trajectories',
49
- up: `
50
- CREATE TABLE IF NOT EXISTS trajectories (
51
- id TEXT PRIMARY KEY,
52
- session_id TEXT NOT NULL,
53
- user_text TEXT NOT NULL,
54
- assistant_text TEXT NOT NULL,
55
- tokens_used INTEGER DEFAULT 0,
56
- duration_ms INTEGER DEFAULT 0,
57
- success BOOLEAN DEFAULT 1,
58
- created_at INTEGER NOT NULL
59
- );
60
-
61
- CREATE INDEX IF NOT EXISTS idx_trajectories_session ON trajectories(session_id);
62
- CREATE INDEX IF NOT EXISTS idx_trajectories_created ON trajectories(created_at);
63
- `,
64
- down: 'DROP TABLE IF EXISTS trajectories;',
65
- },
66
- {
67
- version: 3,
68
- name: 'create_patterns',
69
- up: `
70
- CREATE TABLE IF NOT EXISTS patterns (
71
- id TEXT PRIMARY KEY,
72
- pattern TEXT NOT NULL,
73
- frequency INTEGER DEFAULT 1,
74
- examples TEXT DEFAULT '[]',
75
- confidence REAL DEFAULT 0.5,
76
- created_at INTEGER NOT NULL,
77
- updated_at INTEGER NOT NULL
78
- );
79
-
80
- CREATE INDEX IF NOT EXISTS idx_patterns_frequency ON patterns(frequency DESC);
81
- `,
82
- down: 'DROP TABLE IF EXISTS patterns;',
83
- },
84
- {
85
- version: 4,
86
- name: 'create_lessons',
87
- up: `
88
- CREATE TABLE IF NOT EXISTS lessons (
89
- id TEXT PRIMARY KEY,
90
- lesson TEXT NOT NULL,
91
- context TEXT DEFAULT '',
92
- severity TEXT DEFAULT 'medium' CHECK(severity IN ('low', 'medium', 'high', 'critical')),
93
- applied_count INTEGER DEFAULT 0,
94
- created_at INTEGER NOT NULL,
95
- updated_at INTEGER NOT NULL
96
- );
97
-
98
- CREATE INDEX IF NOT EXISTS idx_lessons_severity ON lessons(severity);
99
- CREATE INDEX IF NOT EXISTS idx_lessons_applied ON lessons(applied_count DESC);
100
- `,
101
- down: 'DROP TABLE IF EXISTS lessons;',
102
- },
103
- {
104
- version: 5,
105
- name: 'create_fts_memories',
106
- up: `
107
- CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
108
- content,
109
- type,
110
- tags,
111
- content='memories',
112
- content_rowid='rowid'
113
- );
114
-
115
- -- Triggers to keep FTS in sync
116
- CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
117
- INSERT INTO memories_fts(rowid, content, type, tags)
118
- VALUES (new.rowid, new.content, new.type, new.tags);
119
- END;
120
-
121
- CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
122
- INSERT INTO memories_fts(memories_fts, rowid, content, type, tags)
123
- VALUES ('delete', old.rowid, old.content, old.type, old.tags);
124
- END;
125
-
126
- CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE ON memories BEGIN
127
- INSERT INTO memories_fts(memories_fts, rowid, content, type, tags)
128
- VALUES ('delete', old.rowid, old.content, old.type, old.tags);
129
- INSERT INTO memories_fts(rowid, content, type, tags)
130
- VALUES (new.rowid, new.content, new.type, new.tags);
131
- END;
132
- `,
133
- down: 'DROP TABLE IF EXISTS memories_fts;',
134
- },
135
- ];
136
- // ─── SQLite Store ───────────────────────────────────────────────────────────
137
- export class SQLiteStore {
138
- dbPath;
139
- config;
140
- db = null;
141
- currentVersion = 0;
142
- constructor(config) {
143
- this.config = {
144
- dbPath: config?.dbPath || join(resolveNuviraHome(), 'memory', 'memory.db'),
145
- walMode: config?.walMode ?? true,
146
- busyTimeout: config?.busyTimeout ?? 5000,
147
- journalSizeLimit: config?.journalSizeLimit ?? 67108864, // 64MB
148
- };
149
- this.dbPath = this.config.dbPath;
150
- }
151
- /**
152
- * Initialize the database.
153
- */
154
- async initialize() {
155
- // Ensure directory exists
156
- const dir = path.dirname(this.dbPath);
157
- fs.mkdirSync(dir, { recursive: true });
158
- // Try to load better-sqlite3
159
- let Database;
160
- try {
161
- Database = (await import('better-sqlite3')).default;
162
- }
163
- catch {
164
- console.warn('SQLiteStore: better-sqlite3 not available, using in-memory fallback');
165
- this.db = null;
166
- return;
167
- }
168
- try {
169
- this.db = new Database(this.dbPath, {
170
- verbose: process.env.DEBUG ? console.log : undefined,
171
- });
172
- // Configure SQLite
173
- this.db.pragma('journal_mode = WAL');
174
- this.db.pragma(`busy_timeout = ${this.config.busyTimeout}`);
175
- this.db.pragma('synchronous = NORMAL');
176
- this.db.pragma('cache_size = -64000'); // 64MB
177
- this.db.pragma(`journal_size_limit = ${this.config.journalSizeLimit}`);
178
- // Run migrations
179
- await this.runMigrations();
180
- console.log(`SQLiteStore: Initialized at ${this.dbPath}`);
181
- }
182
- catch (err) {
183
- console.warn('SQLiteStore: Failed to initialize, using in-memory fallback');
184
- this.db = null;
185
- }
186
- }
187
- /**
188
- * Run database migrations.
189
- */
190
- async runMigrations() {
191
- if (!this.db)
192
- return;
193
- // Create migrations table
194
- this.db.exec(`
195
- CREATE TABLE IF NOT EXISTS migrations (
196
- version INTEGER PRIMARY KEY,
197
- name TEXT NOT NULL,
198
- applied_at INTEGER NOT NULL
199
- );
200
- `);
201
- // Get current version
202
- const row = this.db.prepare('SELECT MAX(version) as version FROM migrations').get();
203
- this.currentVersion = row?.version || 0;
204
- // Apply pending migrations
205
- for (const migration of MIGRATIONS) {
206
- if (migration.version > this.currentVersion) {
207
- console.log(`SQLiteStore: Applying migration ${migration.version}: ${migration.name}`);
208
- this.db.exec(migration.up);
209
- this.db.prepare('INSERT INTO migrations (version, name, applied_at) VALUES (?, ?, ?)')
210
- .run(migration.version, migration.name, Date.now());
211
- this.currentVersion = migration.version;
212
- }
213
- }
214
- }
215
- // ─── Memory Operations ──────────────────────────────────────────────────
216
- /**
217
- * Add a memory.
218
- */
219
- addMemory(memory) {
220
- if (!this.db) {
221
- this.addMemoryFallback(memory);
222
- return;
223
- }
224
- const stmt = this.db.prepare(`
225
- INSERT OR REPLACE INTO memories (id, content, type, tags, source, confidence, access_count, created_at, updated_at, last_accessed, session_id)
226
- VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?)
227
- `);
228
- const now = Date.now();
229
- stmt.run(memory.id, memory.content, memory.type, JSON.stringify(memory.tags || []), memory.source || '', memory.confidence ?? 0.5, now, now, null, memory.sessionId || null);
230
- }
231
- /**
232
- * Get a memory by ID.
233
- */
234
- getMemory(id) {
235
- if (!this.db) {
236
- return this.getMemoryFallback(id);
237
- }
238
- const stmt = this.db.prepare('SELECT * FROM memories WHERE id = ?');
239
- const row = stmt.get(id);
240
- if (row) {
241
- // Update access count
242
- this.db.prepare('UPDATE memories SET access_count = access_count + 1, last_accessed = ? WHERE id = ?')
243
- .run(Date.now(), id);
244
- }
245
- return row || null;
246
- }
247
- /**
248
- * Search memories using FTS.
249
- */
250
- searchMemories(query, limit = 10) {
251
- if (!this.db) {
252
- return this.searchMemoriesFallback(query, limit);
253
- }
254
- try {
255
- const stmt = this.db.prepare(`
256
- SELECT m.* FROM memories m
257
- JOIN memories_fts fts ON m.rowid = fts.rowid
258
- WHERE memories_fts MATCH ?
259
- ORDER BY rank
260
- LIMIT ?
261
- `);
262
- return stmt.all(query, limit);
263
- }
264
- catch {
265
- // Fallback to LIKE search
266
- const stmt = this.db.prepare(`
267
- SELECT * FROM memories
268
- WHERE content LIKE ?
269
- ORDER BY created_at DESC
270
- LIMIT ?
271
- `);
272
- return stmt.all(`%${query}%`, limit);
273
- }
274
- }
275
- /**
276
- * List memories by type.
277
- */
278
- listMemories(type, limit = 100) {
279
- if (!this.db) {
280
- return this.listMemoriesFallback(type, limit);
281
- }
282
- if (type) {
283
- const stmt = this.db.prepare('SELECT * FROM memories WHERE type = ? ORDER BY created_at DESC LIMIT ?');
284
- return stmt.all(type, limit);
285
- }
286
- const stmt = this.db.prepare('SELECT * FROM memories ORDER BY created_at DESC LIMIT ?');
287
- return stmt.all(limit);
288
- }
289
- /**
290
- * Update a memory.
291
- */
292
- updateMemory(id, updates) {
293
- if (!this.db) {
294
- return this.updateMemoryFallback(id, updates);
295
- }
296
- const fields = [];
297
- const values = [];
298
- if (updates.content !== undefined) {
299
- fields.push('content = ?');
300
- values.push(updates.content);
301
- }
302
- if (updates.type !== undefined) {
303
- fields.push('type = ?');
304
- values.push(updates.type);
305
- }
306
- if (updates.tags !== undefined) {
307
- fields.push('tags = ?');
308
- values.push(JSON.stringify(updates.tags));
309
- }
310
- if (updates.confidence !== undefined) {
311
- fields.push('confidence = ?');
312
- values.push(updates.confidence);
313
- }
314
- if (fields.length === 0)
315
- return false;
316
- fields.push('updated_at = ?');
317
- values.push(Date.now());
318
- values.push(id);
319
- const stmt = this.db.prepare(`UPDATE memories SET ${fields.join(', ')} WHERE id = ?`);
320
- const result = stmt.run(...values);
321
- return result.changes > 0;
322
- }
323
- /**
324
- * Delete a memory.
325
- */
326
- deleteMemory(id) {
327
- if (!this.db) {
328
- return this.deleteMemoryFallback(id);
329
- }
330
- const stmt = this.db.prepare('DELETE FROM memories WHERE id = ?');
331
- const result = stmt.run(id);
332
- return result.changes > 0;
333
- }
334
- // ─── Trajectory Operations ──────────────────────────────────────────────
335
- /**
336
- * Add a trajectory.
337
- */
338
- addTrajectory(trajectory) {
339
- if (!this.db)
340
- return;
341
- const stmt = this.db.prepare(`
342
- INSERT INTO trajectories (id, session_id, user_text, assistant_text, tokens_used, duration_ms, success, created_at)
343
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
344
- `);
345
- stmt.run(trajectory.id, trajectory.sessionId, trajectory.userText, trajectory.assistantText, trajectory.tokensUsed ?? 0, trajectory.durationMs ?? 0, trajectory.success ?? true, Date.now());
346
- }
347
- /**
348
- * Get recent trajectories.
349
- */
350
- getRecentTrajectories(limit = 50) {
351
- if (!this.db)
352
- return [];
353
- const stmt = this.db.prepare('SELECT * FROM trajectories ORDER BY created_at DESC LIMIT ?');
354
- return stmt.all(limit);
355
- }
356
- // ─── Pattern Operations ─────────────────────────────────────────────────
357
- /**
358
- * Add or update a pattern.
359
- */
360
- upsertPattern(pattern) {
361
- if (!this.db)
362
- return;
363
- const stmt = this.db.prepare(`
364
- INSERT INTO patterns (id, pattern, frequency, examples, confidence, created_at, updated_at)
365
- VALUES (?, ?, ?, ?, ?, ?, ?)
366
- ON CONFLICT(id) DO UPDATE SET
367
- frequency = frequency + excluded.frequency,
368
- examples = excluded.examples,
369
- confidence = MAX(confidence, excluded.confidence),
370
- updated_at = excluded.updated_at
371
- `);
372
- const now = Date.now();
373
- stmt.run(pattern.id, pattern.pattern, pattern.frequency ?? 1, JSON.stringify(pattern.examples || []), pattern.confidence ?? 0.5, now, now);
374
- }
375
- /**
376
- * Get top patterns.
377
- */
378
- getTopPatterns(limit = 20) {
379
- if (!this.db)
380
- return [];
381
- const stmt = this.db.prepare('SELECT * FROM patterns ORDER BY frequency DESC LIMIT ?');
382
- return stmt.all(limit);
383
- }
384
- // ─── Lesson Operations ──────────────────────────────────────────────────
385
- /**
386
- * Add a lesson.
387
- */
388
- addLesson(lesson) {
389
- if (!this.db)
390
- return;
391
- const stmt = this.db.prepare(`
392
- INSERT INTO lessons (id, lesson, context, severity, applied_count, created_at, updated_at)
393
- VALUES (?, ?, ?, ?, 0, ?, ?)
394
- `);
395
- const now = Date.now();
396
- stmt.run(lesson.id, lesson.lesson, lesson.context || '', lesson.severity || 'medium', now, now);
397
- }
398
- /**
399
- * Get lessons by severity.
400
- */
401
- getLessonsBySeverity(severity, limit = 20) {
402
- if (!this.db)
403
- return [];
404
- const stmt = this.db.prepare('SELECT * FROM lessons WHERE severity = ? ORDER BY created_at DESC LIMIT ?');
405
- return stmt.all(severity, limit);
406
- }
407
- /**
408
- * Increment lesson applied count.
409
- */
410
- incrementLessonApplied(id) {
411
- if (!this.db)
412
- return;
413
- this.db.prepare('UPDATE lessons SET applied_count = applied_count + 1, updated_at = ? WHERE id = ?')
414
- .run(Date.now(), id);
415
- }
416
- // ─── Statistics ─────────────────────────────────────────────────────────
417
- /**
418
- * Get database statistics.
419
- */
420
- getStats() {
421
- if (!this.db) {
422
- return {
423
- memories: { total: 0, byType: {} },
424
- trajectories: { total: 0, sessions: 0 },
425
- patterns: { total: 0, avgFrequency: 0 },
426
- lessons: { total: 0, bySeverity: {} },
427
- };
428
- }
429
- // Memory stats
430
- const memoryCount = this.db.prepare('SELECT COUNT(*) as count FROM memories').get()?.count || 0;
431
- const memoryByType = this.db.prepare('SELECT type, COUNT(*) as count FROM memories GROUP BY type').all();
432
- const byType = {};
433
- for (const row of memoryByType) {
434
- byType[row.type] = row.count;
435
- }
436
- // Trajectory stats
437
- const trajectoryCount = this.db.prepare('SELECT COUNT(*) as count FROM trajectories').get()?.count || 0;
438
- const sessionCount = this.db.prepare('SELECT COUNT(DISTINCT session_id) as count FROM trajectories').get()?.count || 0;
439
- // Pattern stats
440
- const patternCount = this.db.prepare('SELECT COUNT(*) as count FROM patterns').get()?.count || 0;
441
- const avgFrequency = this.db.prepare('SELECT AVG(frequency) as avg FROM patterns').get()?.avg || 0;
442
- // Lesson stats
443
- const lessonCount = this.db.prepare('SELECT COUNT(*) as count FROM lessons').get()?.count || 0;
444
- const lessonBySeverity = this.db.prepare('SELECT severity, COUNT(*) as count FROM lessons GROUP BY severity').all();
445
- const bySeverity = {};
446
- for (const row of lessonBySeverity) {
447
- bySeverity[row.severity] = row.count;
448
- }
449
- return {
450
- memories: { total: memoryCount, byType },
451
- trajectories: { total: trajectoryCount, sessions: sessionCount },
452
- patterns: { total: patternCount, avgFrequency: Math.round(avgFrequency) },
453
- lessons: { total: lessonCount, bySeverity },
454
- };
455
- }
456
- // ─── Backup & Maintenance ───────────────────────────────────────────────
457
- /**
458
- * Create a backup.
459
- */
460
- backup(backupPath) {
461
- const path = backupPath || `${this.dbPath}.backup.${Date.now()}`;
462
- if (this.db) {
463
- this.db.backup(path);
464
- }
465
- return path;
466
- }
467
- /**
468
- * Vacuum the database.
469
- */
470
- vacuum() {
471
- if (this.db) {
472
- this.db.exec('VACUUM');
473
- }
474
- }
475
- /**
476
- * Close the database.
477
- */
478
- close() {
479
- if (this.db) {
480
- this.db.close();
481
- this.db = null;
482
- }
483
- }
484
- // ─── Fallback Methods (In-Memory) ───────────────────────────────────────
485
- memoryFallback = new Map();
486
- trajectoryFallback = [];
487
- patternFallback = new Map();
488
- lessonFallback = new Map();
489
- addMemoryFallback(memory) {
490
- this.memoryFallback.set(memory.id, {
491
- ...memory,
492
- tags: JSON.stringify(memory.tags || []),
493
- access_count: 0,
494
- created_at: Date.now(),
495
- updated_at: Date.now(),
496
- last_accessed: null,
497
- });
498
- }
499
- getMemoryFallback(id) {
500
- return this.memoryFallback.get(id) || null;
501
- }
502
- searchMemoriesFallback(query, limit) {
503
- const results = [];
504
- for (const memory of this.memoryFallback.values()) {
505
- if (memory.content.toLowerCase().includes(query.toLowerCase())) {
506
- results.push(memory);
507
- if (results.length >= limit)
508
- break;
509
- }
510
- }
511
- return results;
512
- }
513
- listMemoriesFallback(type, limit) {
514
- const results = [];
515
- for (const memory of this.memoryFallback.values()) {
516
- if (!type || memory.type === type) {
517
- results.push(memory);
518
- if (results.length >= limit)
519
- break;
520
- }
521
- }
522
- return results;
523
- }
524
- updateMemoryFallback(id, updates) {
525
- const memory = this.memoryFallback.get(id);
526
- if (!memory)
527
- return false;
528
- if (updates.content !== undefined)
529
- memory.content = updates.content;
530
- if (updates.type !== undefined)
531
- memory.type = updates.type;
532
- if (updates.tags !== undefined)
533
- memory.tags = JSON.stringify(updates.tags);
534
- if (updates.confidence !== undefined)
535
- memory.confidence = updates.confidence;
536
- memory.updated_at = Date.now();
537
- return true;
538
- }
539
- deleteMemoryFallback(id) {
540
- return this.memoryFallback.delete(id);
541
- }
542
- }
543
- // ─── Singleton ──────────────────────────────────────────────────────────────
544
- let _instance = null;
545
- export function getSQLiteStore() {
546
- if (!_instance)
547
- _instance = new SQLiteStore();
548
- return _instance;
549
- }
550
- export function resetSQLiteStore() {
551
- if (_instance) {
552
- _instance.close();
553
- _instance = null;
554
- }
555
- }
556
- //# sourceMappingURL=sqlite-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/memory/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Daytona Cloud Executor — Runs skills in Daytona cloud sandboxes.
3
- *
4
- * This provides enterprise-grade execution with:
5
- * - Persistent sandboxes across sessions
6
- * - Resource limits (CPU, memory, disk)
7
- * - Sandbox lifecycle management (start, stop, resume)
8
- * - File sync between local and cloud
9
- *
10
- * Flow:
11
- * 1. Create or resume a Daytona sandbox
12
- * 2. Sync skill files to the sandbox
13
- * 3. Execute the skill in the cloud
14
- * 4. Capture output and sync results back
15
- * 5. Optionally persist the sandbox for reuse
16
- */
17
- export interface DaytonaConfig {
18
- /** Daytona image (default: ubuntu:22.04) */
19
- image?: string;
20
- /** CPU count (default: 1) */
21
- cpu?: number;
22
- /** Memory in MB (default: 5120) */
23
- memoryMb?: number;
24
- /** Disk in MB (default: 10240) */
25
- diskMb?: number;
26
- /** Timeout in milliseconds (default: 60000) */
27
- timeoutMs?: number;
28
- /** Whether to persist the sandbox */
29
- persistent?: boolean;
30
- /** Sandbox name for persistence */
31
- sandboxName?: string;
32
- /** Working directory in sandbox */
33
- cwd?: string;
34
- }
35
- export interface DaytonaExecutionResult {
36
- success: boolean;
37
- stdout: string;
38
- stderr: string;
39
- exitCode: number;
40
- durationMs: number;
41
- sandboxId?: string;
42
- }
43
- /**
44
- * Execute a skill in a Daytona cloud sandbox.
45
- *
46
- * @param scriptContent - The script content to execute
47
- * @param scriptPath - Original file path (for runtime detection)
48
- * @param env - Environment variables to inject
49
- * @param args - Arguments to pass to the script
50
- * @param config - Daytona configuration
51
- * @returns Execution result
52
- */
53
- export declare function executeInDaytona(scriptContent: string, scriptPath: string, env?: Record<string, string>, args?: string[], config?: Partial<DaytonaConfig>): Promise<DaytonaExecutionResult>;
54
- /**
55
- * Check if Daytona CLI is available and configured.
56
- */
57
- export declare function checkDaytonaAvailable(): Promise<{
58
- available: boolean;
59
- version?: string;
60
- error?: string;
61
- }>;
62
- /**
63
- * List Daytona sandboxes.
64
- */
65
- export declare function listDaytonaSandboxes(): Promise<Array<{
66
- id: string;
67
- name: string;
68
- status: string;
69
- }>>;
70
- /**
71
- * Stop a Daytona sandbox.
72
- */
73
- export declare function stopDaytonaSandbox(sandboxId: string): Promise<boolean>;
74
- /**
75
- * Delete a Daytona sandbox.
76
- */
77
- export declare function deleteDaytonaSandbox(sandboxId: string): Promise<boolean>;
78
- //# sourceMappingURL=daytona-executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daytona-executor.d.ts","sourceRoot":"","sources":["../../src/skills/daytona-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CA6CjC;AA2ID;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAcD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC,CAUF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO9E"}