daycare-cli 2026.2.4 → 2026.2.7

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 (472) hide show
  1. package/dist/commands/upgrade.d.ts +5 -0
  2. package/dist/commands/upgrade.d.ts.map +1 -0
  3. package/dist/commands/upgrade.js +22 -0
  4. package/dist/commands/upgrade.js.map +1 -0
  5. package/dist/config/configResolve.d.ts.map +1 -1
  6. package/dist/config/configResolve.js +2 -0
  7. package/dist/config/configResolve.js.map +1 -1
  8. package/dist/config/configResolve.spec.js +11 -0
  9. package/dist/config/configResolve.spec.js.map +1 -1
  10. package/dist/config/configSettingsParse.d.ts.map +1 -1
  11. package/dist/config/configSettingsParse.js +2 -1
  12. package/dist/config/configSettingsParse.js.map +1 -1
  13. package/dist/config/configSettingsParse.spec.js +8 -0
  14. package/dist/config/configSettingsParse.spec.js.map +1 -1
  15. package/dist/config/configTypes.d.ts +1 -0
  16. package/dist/config/configTypes.d.ts.map +1 -1
  17. package/dist/engine/agents/agent.d.ts +4 -3
  18. package/dist/engine/agents/agent.d.ts.map +1 -1
  19. package/dist/engine/agents/agent.js +45 -26
  20. package/dist/engine/agents/agent.js.map +1 -1
  21. package/dist/engine/agents/agent.spec.js +91 -50
  22. package/dist/engine/agents/agent.spec.js.map +1 -1
  23. package/dist/engine/agents/agentContext.d.ts +10 -0
  24. package/dist/engine/agents/agentContext.d.ts.map +1 -0
  25. package/dist/engine/agents/agentContext.js +13 -0
  26. package/dist/engine/agents/agentContext.js.map +1 -0
  27. package/dist/engine/agents/agentContext.spec.d.ts +2 -0
  28. package/dist/engine/agents/agentContext.spec.d.ts.map +1 -0
  29. package/dist/engine/agents/agentContext.spec.js +21 -0
  30. package/dist/engine/agents/agentContext.spec.js.map +1 -0
  31. package/dist/engine/agents/agentSystem.d.ts +16 -1
  32. package/dist/engine/agents/agentSystem.d.ts.map +1 -1
  33. package/dist/engine/agents/agentSystem.js +157 -25
  34. package/dist/engine/agents/agentSystem.js.map +1 -1
  35. package/dist/engine/agents/agentSystem.spec.js +88 -0
  36. package/dist/engine/agents/agentSystem.spec.js.map +1 -1
  37. package/dist/engine/agents/ops/agentBackgroundList.d.ts +1 -1
  38. package/dist/engine/agents/ops/agentBackgroundList.d.ts.map +1 -1
  39. package/dist/engine/agents/ops/agentBackgroundList.js +8 -34
  40. package/dist/engine/agents/ops/agentBackgroundList.js.map +1 -1
  41. package/dist/engine/agents/ops/agentDescriptorRead.d.ts +2 -2
  42. package/dist/engine/agents/ops/agentDescriptorRead.d.ts.map +1 -1
  43. package/dist/engine/agents/ops/agentDescriptorRead.js +5 -72
  44. package/dist/engine/agents/ops/agentDescriptorRead.js.map +1 -1
  45. package/dist/engine/agents/ops/agentDescriptorWrite.d.ts +3 -2
  46. package/dist/engine/agents/ops/agentDescriptorWrite.d.ts.map +1 -1
  47. package/dist/engine/agents/ops/agentDescriptorWrite.js +42 -11
  48. package/dist/engine/agents/ops/agentDescriptorWrite.js.map +1 -1
  49. package/dist/engine/agents/ops/agentDescriptorWrite.spec.d.ts +2 -0
  50. package/dist/engine/agents/ops/agentDescriptorWrite.spec.d.ts.map +1 -0
  51. package/dist/engine/agents/ops/agentDescriptorWrite.spec.js +49 -0
  52. package/dist/engine/agents/ops/agentDescriptorWrite.spec.js.map +1 -0
  53. package/dist/engine/agents/ops/agentHistoryAppend.d.ts +2 -2
  54. package/dist/engine/agents/ops/agentHistoryAppend.d.ts.map +1 -1
  55. package/dist/engine/agents/ops/agentHistoryAppend.js +23 -10
  56. package/dist/engine/agents/ops/agentHistoryAppend.js.map +1 -1
  57. package/dist/engine/agents/ops/agentHistoryContext.d.ts.map +1 -1
  58. package/dist/engine/agents/ops/agentHistoryContext.js +0 -11
  59. package/dist/engine/agents/ops/agentHistoryContext.js.map +1 -1
  60. package/dist/engine/agents/ops/agentHistoryContext.spec.js +4 -7
  61. package/dist/engine/agents/ops/agentHistoryContext.spec.js.map +1 -1
  62. package/dist/engine/agents/ops/agentHistoryLoad.d.ts +1 -1
  63. package/dist/engine/agents/ops/agentHistoryLoad.d.ts.map +1 -1
  64. package/dist/engine/agents/ops/agentHistoryLoad.js +6 -19
  65. package/dist/engine/agents/ops/agentHistoryLoad.js.map +1 -1
  66. package/dist/engine/agents/ops/agentHistoryLoad.spec.js +38 -8
  67. package/dist/engine/agents/ops/agentHistoryLoad.spec.js.map +1 -1
  68. package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts +1 -1
  69. package/dist/engine/agents/ops/agentHistoryLoadAll.js +3 -3
  70. package/dist/engine/agents/ops/agentHistoryLoadAll.js.map +1 -1
  71. package/dist/engine/agents/ops/agentHistoryLoadAll.spec.js +33 -14
  72. package/dist/engine/agents/ops/agentHistoryLoadAll.spec.js.map +1 -1
  73. package/dist/engine/agents/ops/agentHistoryPendingRlmResolve.spec.js +1 -1
  74. package/dist/engine/agents/ops/agentHistoryPendingRlmResolve.spec.js.map +1 -1
  75. package/dist/engine/agents/ops/agentHistorySummary.js +0 -2
  76. package/dist/engine/agents/ops/agentHistorySummary.js.map +1 -1
  77. package/dist/engine/agents/ops/agentHistorySummary.spec.js +2 -7
  78. package/dist/engine/agents/ops/agentHistorySummary.spec.js.map +1 -1
  79. package/dist/engine/agents/ops/agentInbox.d.ts +14 -1
  80. package/dist/engine/agents/ops/agentInbox.d.ts.map +1 -1
  81. package/dist/engine/agents/ops/agentInbox.js +21 -0
  82. package/dist/engine/agents/ops/agentInbox.js.map +1 -1
  83. package/dist/engine/agents/ops/agentInbox.spec.js +36 -0
  84. package/dist/engine/agents/ops/agentInbox.spec.js.map +1 -1
  85. package/dist/engine/agents/ops/agentList.d.ts +1 -1
  86. package/dist/engine/agents/ops/agentList.d.ts.map +1 -1
  87. package/dist/engine/agents/ops/agentList.js +9 -35
  88. package/dist/engine/agents/ops/agentList.js.map +1 -1
  89. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  90. package/dist/engine/agents/ops/agentLoopRun.js +62 -2
  91. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  92. package/dist/engine/agents/ops/agentLoopRun.spec.js +5 -0
  93. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  94. package/dist/engine/agents/ops/agentPermanentList.d.ts +1 -1
  95. package/dist/engine/agents/ops/agentPermanentList.d.ts.map +1 -1
  96. package/dist/engine/agents/ops/agentPermanentList.js +8 -31
  97. package/dist/engine/agents/ops/agentPermanentList.js.map +1 -1
  98. package/dist/engine/agents/ops/agentStateRead.d.ts +2 -2
  99. package/dist/engine/agents/ops/agentStateRead.d.ts.map +1 -1
  100. package/dist/engine/agents/ops/agentStateRead.js +19 -74
  101. package/dist/engine/agents/ops/agentStateRead.js.map +1 -1
  102. package/dist/engine/agents/ops/agentStateRead.spec.js +25 -28
  103. package/dist/engine/agents/ops/agentStateRead.spec.js.map +1 -1
  104. package/dist/engine/agents/ops/agentStateWrite.d.ts +2 -2
  105. package/dist/engine/agents/ops/agentStateWrite.d.ts.map +1 -1
  106. package/dist/engine/agents/ops/agentStateWrite.js +17 -16
  107. package/dist/engine/agents/ops/agentStateWrite.js.map +1 -1
  108. package/dist/engine/agents/ops/agentTypes.d.ts +7 -7
  109. package/dist/engine/agents/ops/agentTypes.d.ts.map +1 -1
  110. package/dist/engine/apps/appExecute.spec.js +43 -20
  111. package/dist/engine/apps/appExecute.spec.js.map +1 -1
  112. package/dist/engine/apps/appInstallToolBuild.spec.js +1 -0
  113. package/dist/engine/apps/appInstallToolBuild.spec.js.map +1 -1
  114. package/dist/engine/apps/appRuleToolBuild.spec.js +1 -0
  115. package/dist/engine/apps/appRuleToolBuild.spec.js.map +1 -1
  116. package/dist/engine/apps/appToolExecutorBuild.spec.js +1 -0
  117. package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
  118. package/dist/engine/channels/channels.d.ts +1 -1
  119. package/dist/engine/channels/channels.d.ts.map +1 -1
  120. package/dist/engine/channels/channels.js +20 -0
  121. package/dist/engine/channels/channels.js.map +1 -1
  122. package/dist/engine/channels/channels.spec.js +19 -0
  123. package/dist/engine/channels/channels.spec.js.map +1 -1
  124. package/dist/engine/cron/cronTypes.d.ts +2 -0
  125. package/dist/engine/cron/cronTypes.d.ts.map +1 -1
  126. package/dist/engine/cron/crons.d.ts.map +1 -1
  127. package/dist/engine/cron/crons.js +11 -1
  128. package/dist/engine/cron/crons.js.map +1 -1
  129. package/dist/engine/cron/ops/cronScheduler.d.ts.map +1 -1
  130. package/dist/engine/cron/ops/cronScheduler.js +5 -2
  131. package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
  132. package/dist/engine/cron/ops/cronScheduler.spec.js +3 -1
  133. package/dist/engine/cron/ops/cronScheduler.spec.js.map +1 -1
  134. package/dist/engine/cron/ops/cronStore.d.ts.map +1 -1
  135. package/dist/engine/cron/ops/cronStore.js +17 -0
  136. package/dist/engine/cron/ops/cronStore.js.map +1 -1
  137. package/dist/engine/cron/ops/cronStore.spec.js +3 -0
  138. package/dist/engine/cron/ops/cronStore.spec.js.map +1 -1
  139. package/dist/engine/engine.d.ts.map +1 -1
  140. package/dist/engine/engine.js +4 -2
  141. package/dist/engine/engine.js.map +1 -1
  142. package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
  143. package/dist/engine/heartbeat/heartbeats.js +11 -1
  144. package/dist/engine/heartbeat/heartbeats.js.map +1 -1
  145. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js +1 -0
  146. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js.map +1 -1
  147. package/dist/engine/modules/rlm/rlmExecute.d.ts +10 -1
  148. package/dist/engine/modules/rlm/rlmExecute.d.ts.map +1 -1
  149. package/dist/engine/modules/rlm/rlmExecute.js +35 -1
  150. package/dist/engine/modules/rlm/rlmExecute.js.map +1 -1
  151. package/dist/engine/modules/rlm/rlmExecute.spec.js +1 -0
  152. package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
  153. package/dist/engine/modules/rlm/rlmRestore.d.ts +2 -2
  154. package/dist/engine/modules/rlm/rlmRestore.d.ts.map +1 -1
  155. package/dist/engine/modules/rlm/rlmRestore.js +35 -1
  156. package/dist/engine/modules/rlm/rlmRestore.js.map +1 -1
  157. package/dist/engine/modules/rlm/rlmRestore.spec.js +1 -0
  158. package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
  159. package/dist/engine/modules/rlm/rlmTool.d.ts.map +1 -1
  160. package/dist/engine/modules/rlm/rlmTool.js +9 -1
  161. package/dist/engine/modules/rlm/rlmTool.js.map +1 -1
  162. package/dist/engine/modules/rlm/rlmTool.spec.js +10 -1
  163. package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
  164. package/dist/engine/modules/toolResolver.spec.js +8 -7
  165. package/dist/engine/modules/toolResolver.spec.js.map +1 -1
  166. package/dist/engine/modules/tools/agentCompactTool.spec.js +1 -0
  167. package/dist/engine/modules/tools/agentCompactTool.spec.js.map +1 -1
  168. package/dist/engine/modules/tools/agentResetTool.spec.js +1 -0
  169. package/dist/engine/modules/tools/agentResetTool.spec.js.map +1 -1
  170. package/dist/engine/modules/tools/background.d.ts.map +1 -1
  171. package/dist/engine/modules/tools/background.js +40 -2
  172. package/dist/engine/modules/tools/background.js.map +1 -1
  173. package/dist/engine/modules/tools/background.spec.js +1 -0
  174. package/dist/engine/modules/tools/background.spec.js.map +1 -1
  175. package/dist/engine/modules/tools/channelCreateTool.spec.js +1 -0
  176. package/dist/engine/modules/tools/channelCreateTool.spec.js.map +1 -1
  177. package/dist/engine/modules/tools/channelHistoryTool.spec.js +1 -0
  178. package/dist/engine/modules/tools/channelHistoryTool.spec.js.map +1 -1
  179. package/dist/engine/modules/tools/channelMemberTool.spec.js +1 -0
  180. package/dist/engine/modules/tools/channelMemberTool.spec.js.map +1 -1
  181. package/dist/engine/modules/tools/channelSendTool.spec.js +1 -0
  182. package/dist/engine/modules/tools/channelSendTool.spec.js.map +1 -1
  183. package/dist/engine/modules/tools/cron.d.ts.map +1 -1
  184. package/dist/engine/modules/tools/cron.js +1 -0
  185. package/dist/engine/modules/tools/cron.js.map +1 -1
  186. package/dist/engine/modules/tools/image-generation.spec.js +1 -0
  187. package/dist/engine/modules/tools/image-generation.spec.js.map +1 -1
  188. package/dist/engine/modules/tools/mermaid-png.spec.js +1 -0
  189. package/dist/engine/modules/tools/mermaid-png.spec.js.map +1 -1
  190. package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
  191. package/dist/engine/modules/tools/permanentAgentToolBuild.js +14 -4
  192. package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
  193. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js +4 -0
  194. package/dist/engine/modules/tools/permanentAgentToolBuild.spec.js.map +1 -1
  195. package/dist/engine/modules/tools/permissions.spec.js +1 -0
  196. package/dist/engine/modules/tools/permissions.spec.js.map +1 -1
  197. package/dist/engine/modules/tools/sendUserMessageTool.spec.js +1 -0
  198. package/dist/engine/modules/tools/sendUserMessageTool.spec.js.map +1 -1
  199. package/dist/engine/modules/tools/sessionHistoryToolBuild.js +1 -9
  200. package/dist/engine/modules/tools/sessionHistoryToolBuild.js.map +1 -1
  201. package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js +4 -3
  202. package/dist/engine/modules/tools/sessionHistoryToolBuild.spec.js.map +1 -1
  203. package/dist/engine/modules/tools/signal.d.ts.map +1 -1
  204. package/dist/engine/modules/tools/signal.js +7 -2
  205. package/dist/engine/modules/tools/signal.js.map +1 -1
  206. package/dist/engine/modules/tools/signal.spec.js +11 -3
  207. package/dist/engine/modules/tools/signal.spec.js.map +1 -1
  208. package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js +1 -0
  209. package/dist/engine/modules/tools/signalEventsCsvToolBuild.spec.js.map +1 -1
  210. package/dist/engine/modules/tools/signalSubscribeToolBuild.d.ts.map +1 -1
  211. package/dist/engine/modules/tools/signalSubscribeToolBuild.js +3 -2
  212. package/dist/engine/modules/tools/signalSubscribeToolBuild.js.map +1 -1
  213. package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js +14 -4
  214. package/dist/engine/modules/tools/signalSubscribeToolBuild.spec.js.map +1 -1
  215. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.d.ts.map +1 -1
  216. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.js +3 -2
  217. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.js.map +1 -1
  218. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js +16 -2
  219. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.spec.js.map +1 -1
  220. package/dist/engine/modules/tools/skillToolBuild.spec.js +1 -0
  221. package/dist/engine/modules/tools/skillToolBuild.spec.js.map +1 -1
  222. package/dist/engine/modules/tools/topologyToolBuild.d.ts +1 -1
  223. package/dist/engine/modules/tools/topologyToolBuild.d.ts.map +1 -1
  224. package/dist/engine/modules/tools/topologyToolBuild.js +11 -4
  225. package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
  226. package/dist/engine/modules/tools/topologyToolBuild.spec.js +24 -6
  227. package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
  228. package/dist/engine/modules/tools/types.d.ts +2 -2
  229. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  230. package/dist/engine/signals/signalTypes.d.ts +7 -0
  231. package/dist/engine/signals/signalTypes.d.ts.map +1 -1
  232. package/dist/engine/signals/signals.d.ts.map +1 -1
  233. package/dist/engine/signals/signals.js +38 -14
  234. package/dist/engine/signals/signals.js.map +1 -1
  235. package/dist/engine/signals/signals.spec.js +45 -8
  236. package/dist/engine/signals/signals.spec.js.map +1 -1
  237. package/dist/main.js +6 -0
  238. package/dist/main.js.map +1 -1
  239. package/dist/plugins/dashboard/site/404.html +1 -1
  240. package/dist/plugins/dashboard/site/agent.html +1 -1
  241. package/dist/plugins/dashboard/site/agent.txt +1 -1
  242. package/dist/plugins/dashboard/site/agents.html +1 -1
  243. package/dist/plugins/dashboard/site/agents.txt +1 -1
  244. package/dist/plugins/dashboard/site/automations.html +1 -1
  245. package/dist/plugins/dashboard/site/automations.txt +1 -1
  246. package/dist/plugins/dashboard/site/connectors.html +1 -1
  247. package/dist/plugins/dashboard/site/connectors.txt +1 -1
  248. package/dist/plugins/dashboard/site/index.html +1 -1
  249. package/dist/plugins/dashboard/site/index.txt +1 -1
  250. package/dist/plugins/dashboard/site/processes.html +1 -1
  251. package/dist/plugins/dashboard/site/processes.txt +1 -1
  252. package/dist/plugins/dashboard/site/providers.html +1 -1
  253. package/dist/plugins/dashboard/site/providers.txt +1 -1
  254. package/dist/plugins/dashboard/site/signals.html +1 -1
  255. package/dist/plugins/dashboard/site/signals.txt +1 -1
  256. package/dist/plugins/dashboard/site/telemetry.html +1 -1
  257. package/dist/plugins/dashboard/site/telemetry.txt +1 -1
  258. package/dist/plugins/dashboard/site/tools.html +1 -1
  259. package/dist/plugins/dashboard/site/tools.txt +1 -1
  260. package/dist/plugins/database/__tests__/plugin.spec.js +3 -1
  261. package/dist/plugins/database/__tests__/plugin.spec.js.map +1 -1
  262. package/dist/plugins/monty-python/tool.spec.js +2 -1
  263. package/dist/plugins/monty-python/tool.spec.js.map +1 -1
  264. package/dist/plugins/shell/processTools.spec.js +1 -0
  265. package/dist/plugins/shell/processTools.spec.js.map +1 -1
  266. package/dist/plugins/shell/tool.spec.js +2 -1
  267. package/dist/plugins/shell/tool.spec.js.map +1 -1
  268. package/dist/plugins/upgrade/plugin.spec.js +12 -1
  269. package/dist/plugins/upgrade/plugin.spec.js.map +1 -1
  270. package/dist/prompts/SYSTEM_AGENCY.md +10 -1
  271. package/dist/settings.d.ts +1 -0
  272. package/dist/settings.d.ts.map +1 -1
  273. package/dist/settings.js.map +1 -1
  274. package/dist/storage/agentDb.spec.d.ts +2 -0
  275. package/dist/storage/agentDb.spec.d.ts.map +1 -0
  276. package/dist/storage/agentDb.spec.js +117 -0
  277. package/dist/storage/agentDb.spec.js.map +1 -0
  278. package/dist/storage/agentDbList.d.ts +8 -0
  279. package/dist/storage/agentDbList.d.ts.map +1 -0
  280. package/dist/storage/agentDbList.js +17 -0
  281. package/dist/storage/agentDbList.js.map +1 -0
  282. package/dist/storage/agentDbParse.d.ts +7 -0
  283. package/dist/storage/agentDbParse.d.ts.map +1 -0
  284. package/dist/storage/agentDbParse.js +20 -0
  285. package/dist/storage/agentDbParse.js.map +1 -0
  286. package/dist/storage/agentDbParse.spec.d.ts +2 -0
  287. package/dist/storage/agentDbParse.spec.d.ts.map +1 -0
  288. package/dist/storage/agentDbParse.spec.js +27 -0
  289. package/dist/storage/agentDbParse.spec.js.map +1 -0
  290. package/dist/storage/agentDbRead.d.ts +8 -0
  291. package/dist/storage/agentDbRead.d.ts.map +1 -0
  292. package/dist/storage/agentDbRead.js +20 -0
  293. package/dist/storage/agentDbRead.js.map +1 -0
  294. package/dist/storage/agentDbWrite.d.ts +8 -0
  295. package/dist/storage/agentDbWrite.d.ts.map +1 -0
  296. package/dist/storage/agentDbWrite.js +40 -0
  297. package/dist/storage/agentDbWrite.js.map +1 -0
  298. package/dist/storage/databaseOpen.d.ts +7 -0
  299. package/dist/storage/databaseOpen.d.ts.map +1 -0
  300. package/dist/storage/databaseOpen.js +21 -0
  301. package/dist/storage/databaseOpen.js.map +1 -0
  302. package/dist/storage/databaseOpen.spec.d.ts +2 -0
  303. package/dist/storage/databaseOpen.spec.d.ts.map +1 -0
  304. package/dist/storage/databaseOpen.spec.js +27 -0
  305. package/dist/storage/databaseOpen.spec.js.map +1 -0
  306. package/dist/storage/databaseOpenEnsured.d.ts +7 -0
  307. package/dist/storage/databaseOpenEnsured.d.ts.map +1 -0
  308. package/dist/storage/databaseOpenEnsured.js +17 -0
  309. package/dist/storage/databaseOpenEnsured.js.map +1 -0
  310. package/dist/storage/databaseTypes.d.ts +74 -0
  311. package/dist/storage/databaseTypes.d.ts.map +1 -0
  312. package/dist/storage/databaseTypes.js +2 -0
  313. package/dist/storage/databaseTypes.js.map +1 -0
  314. package/dist/storage/migrations/20260219_import_files.d.ts +3 -0
  315. package/dist/storage/migrations/20260219_import_files.d.ts.map +1 -0
  316. package/dist/storage/migrations/20260219_import_files.js +205 -0
  317. package/dist/storage/migrations/20260219_import_files.js.map +1 -0
  318. package/dist/storage/migrations/20260219_initial.d.ts +3 -0
  319. package/dist/storage/migrations/20260219_initial.d.ts.map +1 -0
  320. package/dist/storage/migrations/20260219_initial.js +42 -0
  321. package/dist/storage/migrations/20260219_initial.js.map +1 -0
  322. package/dist/storage/migrations/20260220_add_users.d.ts +7 -0
  323. package/dist/storage/migrations/20260220_add_users.d.ts.map +1 -0
  324. package/dist/storage/migrations/20260220_add_users.js +31 -0
  325. package/dist/storage/migrations/20260220_add_users.js.map +1 -0
  326. package/dist/storage/migrations/20260220_add_users.spec.d.ts +2 -0
  327. package/dist/storage/migrations/20260220_add_users.spec.d.ts.map +1 -0
  328. package/dist/storage/migrations/20260220_add_users.spec.js +61 -0
  329. package/dist/storage/migrations/20260220_add_users.spec.js.map +1 -0
  330. package/dist/storage/migrations/20260220_users_bootstrap.d.ts +3 -0
  331. package/dist/storage/migrations/20260220_users_bootstrap.d.ts.map +1 -0
  332. package/dist/storage/migrations/20260220_users_bootstrap.js +114 -0
  333. package/dist/storage/migrations/20260220_users_bootstrap.js.map +1 -0
  334. package/dist/storage/migrations/20260220_users_bootstrap.spec.d.ts +2 -0
  335. package/dist/storage/migrations/20260220_users_bootstrap.spec.d.ts.map +1 -0
  336. package/dist/storage/migrations/20260220_users_bootstrap.spec.js +200 -0
  337. package/dist/storage/migrations/20260220_users_bootstrap.spec.js.map +1 -0
  338. package/dist/storage/migrations/_migrations.d.ts +3 -0
  339. package/dist/storage/migrations/_migrations.d.ts.map +1 -0
  340. package/dist/storage/migrations/_migrations.js +11 -0
  341. package/dist/storage/migrations/_migrations.js.map +1 -0
  342. package/dist/storage/migrations/migrationPending.d.ts +8 -0
  343. package/dist/storage/migrations/migrationPending.d.ts.map +1 -0
  344. package/dist/storage/migrations/migrationPending.js +18 -0
  345. package/dist/storage/migrations/migrationPending.js.map +1 -0
  346. package/dist/storage/migrations/migrationPending.spec.d.ts +2 -0
  347. package/dist/storage/migrations/migrationPending.spec.d.ts.map +1 -0
  348. package/dist/storage/migrations/migrationPending.spec.js +42 -0
  349. package/dist/storage/migrations/migrationPending.spec.js.map +1 -0
  350. package/dist/storage/migrations/migrationRun.d.ts +7 -0
  351. package/dist/storage/migrations/migrationRun.d.ts.map +1 -0
  352. package/dist/storage/migrations/migrationRun.js +31 -0
  353. package/dist/storage/migrations/migrationRun.js.map +1 -0
  354. package/dist/storage/migrations/migrationRun.spec.d.ts +2 -0
  355. package/dist/storage/migrations/migrationRun.spec.d.ts.map +1 -0
  356. package/dist/storage/migrations/migrationRun.spec.js +41 -0
  357. package/dist/storage/migrations/migrationRun.spec.js.map +1 -0
  358. package/dist/storage/migrations/migrationTypes.d.ts +6 -0
  359. package/dist/storage/migrations/migrationTypes.d.ts.map +1 -0
  360. package/dist/storage/migrations/migrationTypes.js +2 -0
  361. package/dist/storage/migrations/migrationTypes.js.map +1 -0
  362. package/dist/storage/sessionDb.spec.d.ts +2 -0
  363. package/dist/storage/sessionDb.spec.d.ts.map +1 -0
  364. package/dist/storage/sessionDb.spec.js +96 -0
  365. package/dist/storage/sessionDb.spec.js.map +1 -0
  366. package/dist/storage/sessionDbCreate.d.ts +14 -0
  367. package/dist/storage/sessionDbCreate.d.ts.map +1 -0
  368. package/dist/storage/sessionDbCreate.js +27 -0
  369. package/dist/storage/sessionDbCreate.js.map +1 -0
  370. package/dist/storage/sessionDbListForAgent.d.ts +8 -0
  371. package/dist/storage/sessionDbListForAgent.d.ts.map +1 -0
  372. package/dist/storage/sessionDbListForAgent.js +19 -0
  373. package/dist/storage/sessionDbListForAgent.js.map +1 -0
  374. package/dist/storage/sessionDbParse.d.ts +7 -0
  375. package/dist/storage/sessionDbParse.d.ts.map +1 -0
  376. package/dist/storage/sessionDbParse.js +14 -0
  377. package/dist/storage/sessionDbParse.js.map +1 -0
  378. package/dist/storage/sessionDbRead.d.ts +8 -0
  379. package/dist/storage/sessionDbRead.d.ts.map +1 -0
  380. package/dist/storage/sessionDbRead.js +20 -0
  381. package/dist/storage/sessionDbRead.js.map +1 -0
  382. package/dist/storage/sessionHistoryDb.spec.d.ts +2 -0
  383. package/dist/storage/sessionHistoryDb.spec.d.ts.map +1 -0
  384. package/dist/storage/sessionHistoryDb.spec.js +102 -0
  385. package/dist/storage/sessionHistoryDb.spec.js.map +1 -0
  386. package/dist/storage/sessionHistoryDbAppend.d.ts +12 -0
  387. package/dist/storage/sessionHistoryDbAppend.d.ts.map +1 -0
  388. package/dist/storage/sessionHistoryDbAppend.js +19 -0
  389. package/dist/storage/sessionHistoryDbAppend.js.map +1 -0
  390. package/dist/storage/sessionHistoryDbLoad.d.ts +7 -0
  391. package/dist/storage/sessionHistoryDbLoad.d.ts.map +1 -0
  392. package/dist/storage/sessionHistoryDbLoad.js +21 -0
  393. package/dist/storage/sessionHistoryDbLoad.js.map +1 -0
  394. package/dist/storage/sessionHistoryDbLoadAll.d.ts +7 -0
  395. package/dist/storage/sessionHistoryDbLoadAll.d.ts.map +1 -0
  396. package/dist/storage/sessionHistoryDbLoadAll.js +27 -0
  397. package/dist/storage/sessionHistoryDbLoadAll.js.map +1 -0
  398. package/dist/storage/sessionHistoryRecordParse.d.ts +8 -0
  399. package/dist/storage/sessionHistoryRecordParse.d.ts.map +1 -0
  400. package/dist/storage/sessionHistoryRecordParse.js +18 -0
  401. package/dist/storage/sessionHistoryRecordParse.js.map +1 -0
  402. package/dist/storage/sessionHistoryRecordParse.spec.d.ts +2 -0
  403. package/dist/storage/sessionHistoryRecordParse.spec.d.ts.map +1 -0
  404. package/dist/storage/sessionHistoryRecordParse.spec.js +29 -0
  405. package/dist/storage/sessionHistoryRecordParse.spec.js.map +1 -0
  406. package/dist/storage/storageUpgrade.d.ts +11 -0
  407. package/dist/storage/storageUpgrade.d.ts.map +1 -0
  408. package/dist/storage/storageUpgrade.js +27 -0
  409. package/dist/storage/storageUpgrade.js.map +1 -0
  410. package/dist/storage/storageUpgrade.spec.d.ts +2 -0
  411. package/dist/storage/storageUpgrade.spec.d.ts.map +1 -0
  412. package/dist/storage/storageUpgrade.spec.js +27 -0
  413. package/dist/storage/storageUpgrade.spec.js.map +1 -0
  414. package/dist/storage/userConnectorKeyCreate.d.ts +6 -0
  415. package/dist/storage/userConnectorKeyCreate.d.ts.map +1 -0
  416. package/dist/storage/userConnectorKeyCreate.js +16 -0
  417. package/dist/storage/userConnectorKeyCreate.js.map +1 -0
  418. package/dist/storage/userConnectorKeyCreate.spec.d.ts +2 -0
  419. package/dist/storage/userConnectorKeyCreate.spec.d.ts.map +1 -0
  420. package/dist/storage/userConnectorKeyCreate.spec.js +17 -0
  421. package/dist/storage/userConnectorKeyCreate.spec.js.map +1 -0
  422. package/dist/storage/userDb.spec.d.ts +2 -0
  423. package/dist/storage/userDb.spec.d.ts.map +1 -0
  424. package/dist/storage/userDb.spec.js +148 -0
  425. package/dist/storage/userDb.spec.js.map +1 -0
  426. package/dist/storage/userDbConnectorKeyAdd.d.ts +7 -0
  427. package/dist/storage/userDbConnectorKeyAdd.d.ts.map +1 -0
  428. package/dist/storage/userDbConnectorKeyAdd.js +18 -0
  429. package/dist/storage/userDbConnectorKeyAdd.js.map +1 -0
  430. package/dist/storage/userDbDelete.d.ts +7 -0
  431. package/dist/storage/userDbDelete.d.ts.map +1 -0
  432. package/dist/storage/userDbDelete.js +15 -0
  433. package/dist/storage/userDbDelete.js.map +1 -0
  434. package/dist/storage/userDbList.d.ts +8 -0
  435. package/dist/storage/userDbList.d.ts.map +1 -0
  436. package/dist/storage/userDbList.js +39 -0
  437. package/dist/storage/userDbList.js.map +1 -0
  438. package/dist/storage/userDbParse.d.ts +7 -0
  439. package/dist/storage/userDbParse.d.ts.map +1 -0
  440. package/dist/storage/userDbParse.js +13 -0
  441. package/dist/storage/userDbParse.js.map +1 -0
  442. package/dist/storage/userDbParse.spec.d.ts +2 -0
  443. package/dist/storage/userDbParse.spec.d.ts.map +1 -0
  444. package/dist/storage/userDbParse.spec.js +23 -0
  445. package/dist/storage/userDbParse.spec.js.map +1 -0
  446. package/dist/storage/userDbRead.d.ts +8 -0
  447. package/dist/storage/userDbRead.d.ts.map +1 -0
  448. package/dist/storage/userDbRead.js +37 -0
  449. package/dist/storage/userDbRead.js.map +1 -0
  450. package/dist/storage/userDbReadByConnectorKey.d.ts +8 -0
  451. package/dist/storage/userDbReadByConnectorKey.d.ts.map +1 -0
  452. package/dist/storage/userDbReadByConnectorKey.js +29 -0
  453. package/dist/storage/userDbReadByConnectorKey.js.map +1 -0
  454. package/dist/storage/userDbWrite.d.ts +8 -0
  455. package/dist/storage/userDbWrite.d.ts.map +1 -0
  456. package/dist/storage/userDbWrite.js +22 -0
  457. package/dist/storage/userDbWrite.js.map +1 -0
  458. package/dist/types.d.ts +2 -0
  459. package/dist/types.d.ts.map +1 -1
  460. package/dist/types.js +1 -1
  461. package/dist/types.js.map +1 -1
  462. package/package.json +1 -1
  463. package/dist/engine/agents/ops/agentHistoryRecordsLoad.d.ts +0 -8
  464. package/dist/engine/agents/ops/agentHistoryRecordsLoad.d.ts.map +0 -1
  465. package/dist/engine/agents/ops/agentHistoryRecordsLoad.js +0 -179
  466. package/dist/engine/agents/ops/agentHistoryRecordsLoad.js.map +0 -1
  467. package/dist/engine/agents/ops/agentHistoryRecordsLoad.spec.d.ts +0 -2
  468. package/dist/engine/agents/ops/agentHistoryRecordsLoad.spec.d.ts.map +0 -1
  469. package/dist/engine/agents/ops/agentHistoryRecordsLoad.spec.js +0 -114
  470. package/dist/engine/agents/ops/agentHistoryRecordsLoad.spec.js.map +0 -1
  471. /package/dist/plugins/dashboard/site/_next/static/{UTshy2up6-8QcSg4Jwp8T → nCD5T59E21TItg4yHI2OX}/_buildManifest.js +0 -0
  472. /package/dist/plugins/dashboard/site/_next/static/{UTshy2up6-8QcSg4Jwp8T → nCD5T59E21TItg4yHI2OX}/_ssgManifest.js +0 -0
@@ -0,0 +1,148 @@
1
+ import { mkdtemp, rm } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { describe, expect, it } from "vitest";
5
+ import { createId } from "@paralleldrive/cuid2";
6
+ import { configResolve } from "../config/configResolve.js";
7
+ import { storageUpgrade } from "./storageUpgrade.js";
8
+ import { userDbConnectorKeyAdd } from "./userDbConnectorKeyAdd.js";
9
+ import { userDbDelete } from "./userDbDelete.js";
10
+ import { userDbList } from "./userDbList.js";
11
+ import { userDbRead } from "./userDbRead.js";
12
+ import { userDbReadByConnectorKey } from "./userDbReadByConnectorKey.js";
13
+ import { userDbWrite } from "./userDbWrite.js";
14
+ describe("userDb", () => {
15
+ it("roundtrips one user with connector keys", async () => {
16
+ const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-user-db-"));
17
+ try {
18
+ const config = configResolve({ engine: { dataDir: dir }, assistant: { workspaceDir: dir } }, path.join(dir, "settings.json"));
19
+ await storageUpgrade(config);
20
+ const userId = createId();
21
+ await userDbWrite(config, {
22
+ id: userId,
23
+ isOwner: false,
24
+ createdAt: 1,
25
+ updatedAt: 2
26
+ });
27
+ await userDbConnectorKeyAdd(config, userId, "telegram:123");
28
+ const user = await userDbRead(config, userId);
29
+ expect(user).toEqual({
30
+ id: userId,
31
+ isOwner: false,
32
+ createdAt: 1,
33
+ updatedAt: 2,
34
+ connectorKeys: [
35
+ {
36
+ id: 1,
37
+ userId,
38
+ connectorKey: "telegram:123"
39
+ }
40
+ ]
41
+ });
42
+ }
43
+ finally {
44
+ await rm(dir, { recursive: true, force: true });
45
+ }
46
+ });
47
+ it("lists multiple users", async () => {
48
+ const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-user-db-"));
49
+ try {
50
+ const config = configResolve({ engine: { dataDir: dir }, assistant: { workspaceDir: dir } }, path.join(dir, "settings.json"));
51
+ await storageUpgrade(config);
52
+ const first = createId();
53
+ const second = createId();
54
+ await userDbWrite(config, {
55
+ id: first,
56
+ isOwner: false,
57
+ createdAt: 1,
58
+ updatedAt: 1
59
+ });
60
+ await userDbWrite(config, {
61
+ id: second,
62
+ isOwner: false,
63
+ createdAt: 2,
64
+ updatedAt: 2
65
+ });
66
+ await userDbConnectorKeyAdd(config, first, "telegram:111");
67
+ await userDbConnectorKeyAdd(config, second, "telegram:222");
68
+ const users = await userDbList(config);
69
+ expect(users.length).toBeGreaterThanOrEqual(2);
70
+ expect(users[0]?.id).toBe(first);
71
+ expect(users[1]?.id).toBe(second);
72
+ }
73
+ finally {
74
+ await rm(dir, { recursive: true, force: true });
75
+ }
76
+ });
77
+ it("reads users by connector key", async () => {
78
+ const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-user-db-"));
79
+ try {
80
+ const config = configResolve({ engine: { dataDir: dir }, assistant: { workspaceDir: dir } }, path.join(dir, "settings.json"));
81
+ await storageUpgrade(config);
82
+ const userId = createId();
83
+ await userDbWrite(config, {
84
+ id: userId,
85
+ isOwner: false,
86
+ createdAt: 1,
87
+ updatedAt: 1
88
+ });
89
+ await userDbConnectorKeyAdd(config, userId, "telegram:777");
90
+ const user = await userDbReadByConnectorKey(config, "telegram:777");
91
+ expect(user?.id).toBe(userId);
92
+ expect(user?.connectorKeys.map((entry) => entry.connectorKey)).toEqual(["telegram:777"]);
93
+ }
94
+ finally {
95
+ await rm(dir, { recursive: true, force: true });
96
+ }
97
+ });
98
+ it("rejects duplicate connector keys", async () => {
99
+ const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-user-db-"));
100
+ try {
101
+ const config = configResolve({ engine: { dataDir: dir }, assistant: { workspaceDir: dir } }, path.join(dir, "settings.json"));
102
+ await storageUpgrade(config);
103
+ const first = createId();
104
+ const second = createId();
105
+ await userDbWrite(config, {
106
+ id: first,
107
+ isOwner: false,
108
+ createdAt: 1,
109
+ updatedAt: 1
110
+ });
111
+ await userDbWrite(config, {
112
+ id: second,
113
+ isOwner: false,
114
+ createdAt: 2,
115
+ updatedAt: 2
116
+ });
117
+ await userDbConnectorKeyAdd(config, first, "telegram:1");
118
+ await expect(userDbConnectorKeyAdd(config, second, "telegram:1")).rejects.toThrow();
119
+ }
120
+ finally {
121
+ await rm(dir, { recursive: true, force: true });
122
+ }
123
+ });
124
+ it("deletes user and cascades connector keys", async () => {
125
+ const dir = await mkdtemp(path.join(os.tmpdir(), "daycare-user-db-"));
126
+ try {
127
+ const config = configResolve({ engine: { dataDir: dir }, assistant: { workspaceDir: dir } }, path.join(dir, "settings.json"));
128
+ await storageUpgrade(config);
129
+ const userId = createId();
130
+ await userDbWrite(config, {
131
+ id: userId,
132
+ isOwner: false,
133
+ createdAt: 1,
134
+ updatedAt: 1
135
+ });
136
+ await userDbConnectorKeyAdd(config, userId, "telegram:700");
137
+ await userDbDelete(config, userId);
138
+ const byId = await userDbRead(config, userId);
139
+ const byKey = await userDbReadByConnectorKey(config, "telegram:700");
140
+ expect(byId).toBeNull();
141
+ expect(byKey).toBeNull();
142
+ }
143
+ finally {
144
+ await rm(dir, { recursive: true, force: true });
145
+ }
146
+ });
147
+ });
148
+ //# sourceMappingURL=userDb.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDb.spec.js","sourceRoot":"","sources":["../../sources/storage/userDb.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Config } from "@/types";
2
+ /**
3
+ * Adds one connector key to a user.
4
+ * Expects: userId exists and connectorKey is globally unique.
5
+ */
6
+ export declare function userDbConnectorKeyAdd(config: Config, userId: string, connectorKey: string): Promise<void>;
7
+ //# sourceMappingURL=userDbConnectorKeyAdd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbConnectorKeyAdd.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbConnectorKeyAdd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,18 @@
1
+ import { databaseOpenEnsured } from "./databaseOpenEnsured.js";
2
+ /**
3
+ * Adds one connector key to a user.
4
+ * Expects: userId exists and connectorKey is globally unique.
5
+ */
6
+ export async function userDbConnectorKeyAdd(config, userId, connectorKey) {
7
+ const db = databaseOpenEnsured(config.dbPath);
8
+ try {
9
+ db.prepare(`
10
+ INSERT INTO user_connector_keys (user_id, connector_key)
11
+ VALUES (?, ?)
12
+ `).run(userId, connectorKey);
13
+ }
14
+ finally {
15
+ db.close();
16
+ }
17
+ }
18
+ //# sourceMappingURL=userDbConnectorKeyAdd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbConnectorKeyAdd.js","sourceRoot":"","sources":["../../sources/storage/userDbConnectorKeyAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,MAAc,EACd,YAAoB;IAEpB,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,EAAE,CAAC,OAAO,CACR;;;OAGC,CACF,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9B,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Config } from "@/types";
2
+ /**
3
+ * Deletes one user row by id.
4
+ * Expects: caller handles referential effects (connector keys cascade on delete).
5
+ */
6
+ export declare function userDbDelete(config: Config, userId: string): Promise<void>;
7
+ //# sourceMappingURL=userDbDelete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbDelete.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbDelete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF"}
@@ -0,0 +1,15 @@
1
+ import { databaseOpenEnsured } from "./databaseOpenEnsured.js";
2
+ /**
3
+ * Deletes one user row by id.
4
+ * Expects: caller handles referential effects (connector keys cascade on delete).
5
+ */
6
+ export async function userDbDelete(config, userId) {
7
+ const db = databaseOpenEnsured(config.dbPath);
8
+ try {
9
+ db.prepare("DELETE FROM users WHERE id = ?").run(userId);
10
+ }
11
+ finally {
12
+ db.close();
13
+ }
14
+ }
15
+ //# sourceMappingURL=userDbDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbDelete.js","sourceRoot":"","sources":["../../sources/storage/userDbDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,MAAc;IAC/D,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Config } from "@/types";
2
+ import type { UserWithConnectorKeysDbRecord } from "./databaseTypes.js";
3
+ /**
4
+ * Lists all users with their connector keys.
5
+ * Expects: db schema is migrated before access.
6
+ */
7
+ export declare function userDbList(config: Config): Promise<UserWithConnectorKeysDbRecord[]>;
8
+ //# sourceMappingURL=userDbList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbList.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAGV,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAkCzF"}
@@ -0,0 +1,39 @@
1
+ import { databaseOpenEnsured } from "./databaseOpenEnsured.js";
2
+ import { userDbParse } from "./userDbParse.js";
3
+ /**
4
+ * Lists all users with their connector keys.
5
+ * Expects: db schema is migrated before access.
6
+ */
7
+ export async function userDbList(config) {
8
+ const db = databaseOpenEnsured(config.dbPath);
9
+ try {
10
+ const userRows = db
11
+ .prepare("SELECT * FROM users ORDER BY created_at ASC, id ASC")
12
+ .all();
13
+ const keyRows = db
14
+ .prepare(`
15
+ SELECT id, user_id, connector_key
16
+ FROM user_connector_keys
17
+ ORDER BY id ASC
18
+ `)
19
+ .all();
20
+ const keysByUserId = new Map();
21
+ for (const keyRow of keyRows) {
22
+ const rows = keysByUserId.get(keyRow.user_id) ?? [];
23
+ rows.push(keyRow);
24
+ keysByUserId.set(keyRow.user_id, rows);
25
+ }
26
+ return userRows.map((userRow) => ({
27
+ ...userDbParse(userRow),
28
+ connectorKeys: (keysByUserId.get(userRow.id) ?? []).map((keyRow) => ({
29
+ id: keyRow.id,
30
+ userId: keyRow.user_id,
31
+ connectorKey: keyRow.connector_key
32
+ }))
33
+ }));
34
+ }
35
+ finally {
36
+ db.close();
37
+ }
38
+ }
39
+ //# sourceMappingURL=userDbList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbList.js","sourceRoot":"","sources":["../../sources/storage/userDbList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE;aAChB,OAAO,CAAC,qDAAqD,CAAC;aAC9D,GAAG,EAAuB,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CACN;;;;SAIC,CACF;aACA,GAAG,EAAmC,CAAC;QAE1C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyC,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,WAAW,CAAC,OAAO,CAAC;YACvB,aAAa,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACnE,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,MAAM,EAAE,MAAM,CAAC,OAAO;gBACtB,YAAY,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DatabaseUserRow, UserDbRecord } from "./databaseTypes.js";
2
+ /**
3
+ * Parses a raw users table row into a typed user record.
4
+ * Expects: integer boolean flags are encoded as 0/1 in SQLite.
5
+ */
6
+ export declare function userDbParse(row: DatabaseUserRow): UserDbRecord;
7
+ //# sourceMappingURL=userDbParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbParse.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,CAO9D"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Parses a raw users table row into a typed user record.
3
+ * Expects: integer boolean flags are encoded as 0/1 in SQLite.
4
+ */
5
+ export function userDbParse(row) {
6
+ return {
7
+ id: row.id,
8
+ isOwner: row.is_owner === 1,
9
+ createdAt: row.created_at,
10
+ updatedAt: row.updated_at
11
+ };
12
+ }
13
+ //# sourceMappingURL=userDbParse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbParse.js","sourceRoot":"","sources":["../../sources/storage/userDbParse.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAoB;IAC9C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC;QAC3B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=userDbParse.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbParse.spec.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbParse.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { userDbParse } from "./userDbParse.js";
3
+ describe("userDbParse", () => {
4
+ it("maps is_owner 1 to isOwner=true", () => {
5
+ const parsed = userDbParse({
6
+ id: "u1",
7
+ is_owner: 1,
8
+ created_at: 10,
9
+ updated_at: 20
10
+ });
11
+ expect(parsed.isOwner).toBe(true);
12
+ });
13
+ it("maps is_owner 0 to isOwner=false", () => {
14
+ const parsed = userDbParse({
15
+ id: "u1",
16
+ is_owner: 0,
17
+ created_at: 10,
18
+ updated_at: 20
19
+ });
20
+ expect(parsed.isOwner).toBe(false);
21
+ });
22
+ });
23
+ //# sourceMappingURL=userDbParse.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbParse.spec.js","sourceRoot":"","sources":["../../sources/storage/userDbParse.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Config } from "@/types";
2
+ import type { UserWithConnectorKeysDbRecord } from "./databaseTypes.js";
3
+ /**
4
+ * Reads one user row and its connector keys by id.
5
+ * Expects: db schema is migrated before access.
6
+ */
7
+ export declare function userDbRead(config: Config, userId: string): Promise<UserWithConnectorKeysDbRecord | null>;
8
+ //# sourceMappingURL=userDbRead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbRead.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbRead.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAGV,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CA8B/C"}
@@ -0,0 +1,37 @@
1
+ import { databaseOpenEnsured } from "./databaseOpenEnsured.js";
2
+ import { userDbParse } from "./userDbParse.js";
3
+ /**
4
+ * Reads one user row and its connector keys by id.
5
+ * Expects: db schema is migrated before access.
6
+ */
7
+ export async function userDbRead(config, userId) {
8
+ const db = databaseOpenEnsured(config.dbPath);
9
+ try {
10
+ const userRow = db
11
+ .prepare("SELECT * FROM users WHERE id = ? LIMIT 1")
12
+ .get(userId);
13
+ if (!userRow) {
14
+ return null;
15
+ }
16
+ const keyRows = db
17
+ .prepare(`
18
+ SELECT id, user_id, connector_key
19
+ FROM user_connector_keys
20
+ WHERE user_id = ?
21
+ ORDER BY id ASC
22
+ `)
23
+ .all(userId);
24
+ return {
25
+ ...userDbParse(userRow),
26
+ connectorKeys: keyRows.map((row) => ({
27
+ id: row.id,
28
+ userId: row.user_id,
29
+ connectorKey: row.connector_key
30
+ }))
31
+ };
32
+ }
33
+ finally {
34
+ db.close();
35
+ }
36
+ }
37
+ //# sourceMappingURL=userDbRead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbRead.js","sourceRoot":"","sources":["../../sources/storage/userDbRead.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,MAAc;IAEd,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CAAC,0CAA0C,CAAC;aACnD,GAAG,CAAC,MAAM,CAAgC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CACN;;;;;SAKC,CACF;aACA,GAAG,CAAC,MAAM,CAAkC,CAAC;QAChD,OAAO;YACL,GAAG,WAAW,CAAC,OAAO,CAAC;YACvB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,OAAO;gBACnB,YAAY,EAAE,GAAG,CAAC,aAAa;aAChC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Config } from "@/types";
2
+ import { userDbRead } from "./userDbRead.js";
3
+ /**
4
+ * Reads one user by an exact connector key.
5
+ * Returns: null when no user has the connector key.
6
+ */
7
+ export declare function userDbReadByConnectorKey(config: Config, connectorKey: string): Promise<Awaited<ReturnType<typeof userDbRead>>>;
8
+ //# sourceMappingURL=userDbReadByConnectorKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbReadByConnectorKey.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbReadByConnectorKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAsBjD"}
@@ -0,0 +1,29 @@
1
+ import { databaseOpenEnsured } from "./databaseOpenEnsured.js";
2
+ import { userDbRead } from "./userDbRead.js";
3
+ /**
4
+ * Reads one user by an exact connector key.
5
+ * Returns: null when no user has the connector key.
6
+ */
7
+ export async function userDbReadByConnectorKey(config, connectorKey) {
8
+ const db = databaseOpenEnsured(config.dbPath);
9
+ let userId = null;
10
+ try {
11
+ const row = db
12
+ .prepare(`
13
+ SELECT user_id
14
+ FROM user_connector_keys
15
+ WHERE connector_key = ?
16
+ LIMIT 1
17
+ `)
18
+ .get(connectorKey);
19
+ userId = row?.user_id ?? null;
20
+ }
21
+ finally {
22
+ db.close();
23
+ }
24
+ if (!userId) {
25
+ return null;
26
+ }
27
+ return userDbRead(config, userId);
28
+ }
29
+ //# sourceMappingURL=userDbReadByConnectorKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbReadByConnectorKey.js","sourceRoot":"","sources":["../../sources/storage/userDbReadByConnectorKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,YAAoB;IAEpB,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN;;;;;SAKC,CACF;aACA,GAAG,CAAC,YAAY,CAAqC,CAAC;QACzD,MAAM,GAAG,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Config } from "@/types";
2
+ import type { UserDbRecord } from "./databaseTypes.js";
3
+ /**
4
+ * Upserts one user row in SQLite storage.
5
+ * Expects: id is stable for the same logical user.
6
+ */
7
+ export declare function userDbWrite(config: Config, record: UserDbRecord): Promise<void>;
8
+ //# sourceMappingURL=userDbWrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbWrite.d.ts","sourceRoot":"","sources":["../../sources/storage/userDbWrite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrF"}
@@ -0,0 +1,22 @@
1
+ import { databaseOpenEnsured } from "./databaseOpenEnsured.js";
2
+ /**
3
+ * Upserts one user row in SQLite storage.
4
+ * Expects: id is stable for the same logical user.
5
+ */
6
+ export async function userDbWrite(config, record) {
7
+ const db = databaseOpenEnsured(config.dbPath);
8
+ try {
9
+ db.prepare(`
10
+ INSERT INTO users (id, is_owner, created_at, updated_at)
11
+ VALUES (?, ?, ?, ?)
12
+ ON CONFLICT(id) DO UPDATE SET
13
+ is_owner = excluded.is_owner,
14
+ created_at = excluded.created_at,
15
+ updated_at = excluded.updated_at
16
+ `).run(record.id, record.isOwner ? 1 : 0, record.createdAt, record.updatedAt);
17
+ }
18
+ finally {
19
+ db.close();
20
+ }
21
+ }
22
+ //# sourceMappingURL=userDbWrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDbWrite.js","sourceRoot":"","sources":["../../sources/storage/userDbWrite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,MAAoB;IACpE,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,EAAE,CAAC,OAAO,CACR;;;;;;;OAOC,CACF,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -6,11 +6,13 @@ export type { FileReference } from "./files/types.js";
6
6
  export type { PluginApi, PluginInstance, PluginModule, PluginOnboardingApi, PluginOnboardingResult } from "./engine/plugins/types.js";
7
7
  export type { AgentMessage, AgentState, AgentTokenEntry, AgentTokenSize, AgentTokenSnapshotSize, AgentTokenStats, AgentLifecycleState, AgentHistoryRecord, AgentHistoryAssistantRewriteRecord, AgentHistoryRlmCompleteRecord, AgentHistoryRlmStartRecord, AgentHistoryRlmToolCallRecord, AgentHistoryRlmToolResultRecord, AgentInboxItem, AgentInboxResult, AgentPostTarget, BackgroundAgentState } from "./engine/agents/ops/agentTypes.js";
8
8
  export type { AgentDescriptor, AgentFetchStrategy } from "./engine/agents/ops/agentDescriptorTypes.js";
9
+ export { AgentContext } from "./engine/agents/agentContext.js";
9
10
  export type { InferenceClient, InferenceProvider, InferenceProviderOptions } from "./engine/modules/inference/types.js";
10
11
  export type { ImageGenerationProvider } from "./engine/modules/images/types.js";
11
12
  export type { ToolDefinition, ToolResultContract, ToolExecutionContext, ToolExecutionResult, ToolResultPrimitive, ToolResultRow, ToolResultShallowObject, ToolResultOutcomeObject } from "./engine/modules/tools/types.js";
12
13
  export type { AgentSkill } from "./engine/skills/skillTypes.js";
13
14
  export type { Config } from "./config/configTypes.js";
15
+ export type { UserDbRecord, UserConnectorKeyDbRecord } from "./storage/databaseTypes.js";
14
16
  export type { Signal, DelayedSignal, DelayedSignalCancelRepeatKeyInput, DelayedSignalScheduleInput, SignalGenerateInput, SignalSource, SignalSubscription, SignalSubscribeInput, SignalUnsubscribeInput } from "./engine/signals/signalTypes.js";
15
17
  export type { Channel, ChannelMember, ChannelMessage, ChannelSignalData } from "./engine/channels/channelTypes.js";
16
18
  export type { AppDescriptor, AppManifest, AppPermissions, AppReviewDecision, AppRule, AppRuleSet } from "./engine/apps/appTypes.js";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../sources/types.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAGjF,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAG9C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,YAAY,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kCAAkC,EAClC,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGvG,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,YAAY,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,YAAY,EACV,MAAM,EACN,aAAa,EACb,iCAAiC,EACjC,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAG3C,YAAY,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,UAAU,EACX,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../sources/types.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAGjF,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAG9C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,YAAY,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kCAAkC,EAClC,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,YAAY,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,YAAY,EACV,YAAY,EACZ,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EACV,MAAM,EACN,aAAa,EACb,iCAAiC,EACjC,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAG3C,YAAY,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,UAAU,EACX,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,gCAAgC,CAAC"}
package/dist/types.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // Central type re-exports for cross-cutting concerns.
2
2
  // Import via: import type { ... } from "@/types";
3
- export {};
3
+ export { AgentContext } from "./engine/agents/agentContext.js";
4
4
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../sources/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,kDAAkD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../sources/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,kDAAkD;AAkElD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daycare-cli",
3
- "version": "2026.2.4",
3
+ "version": "2026.2.7",
4
4
  "description": "Local-first, plugin-driven multi-agent runtime",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,8 +0,0 @@
1
- import type { Config } from "@/types";
2
- import type { AgentHistoryRecord } from "./agentTypes.js";
3
- /**
4
- * Loads and validates all persisted history records for one agent.
5
- * Expects: history file is newline-delimited JSON at `<agent>/history.jsonl`.
6
- */
7
- export declare function agentHistoryRecordsLoad(config: Config, agentId: string): Promise<AgentHistoryRecord[]>;
8
- //# sourceMappingURL=agentHistoryRecordsLoad.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentHistoryRecordsLoad.d.ts","sourceRoot":"","sources":["../../../../sources/engine/agents/ops/agentHistoryRecordsLoad.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA8I1D;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAoC/B"}