@chozzz/vargos 2.0.3 → 2.0.4

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 (400) hide show
  1. package/package.json +7 -3
  2. package/.templates/vargos/agent/extensions/anthropic-custom-payload.patch.json +0 -34
  3. package/.templates/vargos/agent/extensions/anthropic-custom-payload.ts +0 -74
  4. package/.templates/vargos/agent/mcp.json +0 -9
  5. package/.templates/vargos/agent/skills/skill-creator/SKILL.md +0 -77
  6. package/.templates/vargos/agent/skills/token-capture/SKILL.md +0 -33
  7. package/.templates/vargos/agent/skills/token-capture/scripts/capture-bearer-token.sh +0 -139
  8. package/.templates/vargos/agents/README +0 -5
  9. package/.templates/vargos/agents/default.md +0 -7
  10. package/.templates/vargos/config.json +0 -1
  11. package/.templates/vargos/cron/heartbeat.md +0 -11
  12. package/.templates/vargos/workspace/AGENTS.md +0 -70
  13. package/.templates/vargos/workspace/HEARTBEAT.md +0 -26
  14. package/.templates/vargos/workspace/MEMORY.md +0 -15
  15. package/.templates/vargos/workspace/SOUL.md +0 -51
  16. package/.templates/vargos/workspace/TOOLS.md +0 -36
  17. package/dist/edge/mcp/index.d.ts +0 -33
  18. package/dist/edge/mcp/index.d.ts.map +0 -1
  19. package/dist/edge/mcp/index.js +0 -217
  20. package/dist/edge/mcp/index.js.map +0 -1
  21. package/dist/edge/webhooks/index.d.ts +0 -33
  22. package/dist/edge/webhooks/index.d.ts.map +0 -1
  23. package/dist/edge/webhooks/index.js +0 -231
  24. package/dist/edge/webhooks/index.js.map +0 -1
  25. package/dist/edge/webhooks/transform.d.ts +0 -8
  26. package/dist/edge/webhooks/transform.d.ts.map +0 -1
  27. package/dist/edge/webhooks/transform.js +0 -29
  28. package/dist/edge/webhooks/transform.js.map +0 -1
  29. package/dist/gateway/bus.d.ts +0 -48
  30. package/dist/gateway/bus.d.ts.map +0 -1
  31. package/dist/gateway/bus.js +0 -2
  32. package/dist/gateway/bus.js.map +0 -1
  33. package/dist/gateway/decorators.d.ts +0 -40
  34. package/dist/gateway/decorators.d.ts.map +0 -1
  35. package/dist/gateway/decorators.js +0 -43
  36. package/dist/gateway/decorators.js.map +0 -1
  37. package/dist/gateway/emitter.d.ts +0 -42
  38. package/dist/gateway/emitter.d.ts.map +0 -1
  39. package/dist/gateway/emitter.js +0 -259
  40. package/dist/gateway/emitter.js.map +0 -1
  41. package/dist/gateway/events.d.ts +0 -343
  42. package/dist/gateway/events.d.ts.map +0 -1
  43. package/dist/gateway/events.js +0 -7
  44. package/dist/gateway/events.js.map +0 -1
  45. package/dist/gateway/tcp-server.d.ts +0 -7
  46. package/dist/gateway/tcp-server.d.ts.map +0 -1
  47. package/dist/gateway/tcp-server.js +0 -115
  48. package/dist/gateway/tcp-server.js.map +0 -1
  49. package/dist/index.d.ts +0 -2
  50. package/dist/index.d.ts.map +0 -1
  51. package/dist/index.js +0 -74
  52. package/dist/index.js.map +0 -1
  53. package/dist/lib/async-handlers.d.ts +0 -13
  54. package/dist/lib/async-handlers.d.ts.map +0 -1
  55. package/dist/lib/async-handlers.js +0 -6
  56. package/dist/lib/async-handlers.js.map +0 -1
  57. package/dist/lib/error-store.d.ts +0 -19
  58. package/dist/lib/error-store.d.ts.map +0 -1
  59. package/dist/lib/error-store.js +0 -19
  60. package/dist/lib/error-store.js.map +0 -1
  61. package/dist/lib/error.d.ts +0 -11
  62. package/dist/lib/error.d.ts.map +0 -1
  63. package/dist/lib/error.js +0 -41
  64. package/dist/lib/error.js.map +0 -1
  65. package/dist/lib/frontmatter.d.ts +0 -23
  66. package/dist/lib/frontmatter.d.ts.map +0 -1
  67. package/dist/lib/frontmatter.js +0 -136
  68. package/dist/lib/frontmatter.js.map +0 -1
  69. package/dist/lib/glob.d.ts +0 -14
  70. package/dist/lib/glob.d.ts.map +0 -1
  71. package/dist/lib/glob.js +0 -22
  72. package/dist/lib/glob.js.map +0 -1
  73. package/dist/lib/heartbeat.d.ts +0 -23
  74. package/dist/lib/heartbeat.d.ts.map +0 -1
  75. package/dist/lib/heartbeat.js +0 -62
  76. package/dist/lib/heartbeat.js.map +0 -1
  77. package/dist/lib/html.d.ts +0 -8
  78. package/dist/lib/html.d.ts.map +0 -1
  79. package/dist/lib/html.js +0 -28
  80. package/dist/lib/html.js.map +0 -1
  81. package/dist/lib/http-validate.d.ts +0 -12
  82. package/dist/lib/http-validate.d.ts.map +0 -1
  83. package/dist/lib/http-validate.js +0 -11
  84. package/dist/lib/http-validate.js.map +0 -1
  85. package/dist/lib/id.d.ts +0 -3
  86. package/dist/lib/id.d.ts.map +0 -1
  87. package/dist/lib/id.js +0 -5
  88. package/dist/lib/id.js.map +0 -1
  89. package/dist/lib/logger.d.ts +0 -12
  90. package/dist/lib/logger.d.ts.map +0 -1
  91. package/dist/lib/logger.js +0 -28
  92. package/dist/lib/logger.js.map +0 -1
  93. package/dist/lib/media-transcribe.d.ts +0 -57
  94. package/dist/lib/media-transcribe.d.ts.map +0 -1
  95. package/dist/lib/media-transcribe.js +0 -98
  96. package/dist/lib/media-transcribe.js.map +0 -1
  97. package/dist/lib/media.d.ts +0 -7
  98. package/dist/lib/media.d.ts.map +0 -1
  99. package/dist/lib/media.js +0 -18
  100. package/dist/lib/media.js.map +0 -1
  101. package/dist/lib/mime.d.ts +0 -6
  102. package/dist/lib/mime.d.ts.map +0 -1
  103. package/dist/lib/mime.js +0 -71
  104. package/dist/lib/mime.js.map +0 -1
  105. package/dist/lib/paginate.d.ts +0 -3
  106. package/dist/lib/paginate.d.ts.map +0 -1
  107. package/dist/lib/paginate.js +0 -5
  108. package/dist/lib/paginate.js.map +0 -1
  109. package/dist/lib/paths.d.ts +0 -14
  110. package/dist/lib/paths.d.ts.map +0 -1
  111. package/dist/lib/paths.js +0 -29
  112. package/dist/lib/paths.js.map +0 -1
  113. package/dist/lib/provider-loader.d.ts +0 -10
  114. package/dist/lib/provider-loader.d.ts.map +0 -1
  115. package/dist/lib/provider-loader.js +0 -24
  116. package/dist/lib/provider-loader.js.map +0 -1
  117. package/dist/lib/retry.d.ts +0 -20
  118. package/dist/lib/retry.d.ts.map +0 -1
  119. package/dist/lib/retry.js +0 -40
  120. package/dist/lib/retry.js.map +0 -1
  121. package/dist/lib/safe-async.d.ts +0 -27
  122. package/dist/lib/safe-async.d.ts.map +0 -1
  123. package/dist/lib/safe-async.js +0 -38
  124. package/dist/lib/safe-async.js.map +0 -1
  125. package/dist/lib/skills.d.ts +0 -9
  126. package/dist/lib/skills.d.ts.map +0 -1
  127. package/dist/lib/skills.js +0 -15
  128. package/dist/lib/skills.js.map +0 -1
  129. package/dist/lib/sleep.d.ts +0 -6
  130. package/dist/lib/sleep.d.ts.map +0 -1
  131. package/dist/lib/sleep.js +0 -22
  132. package/dist/lib/sleep.js.map +0 -1
  133. package/dist/lib/strip-markdown.d.ts +0 -7
  134. package/dist/lib/strip-markdown.d.ts.map +0 -1
  135. package/dist/lib/strip-markdown.js +0 -32
  136. package/dist/lib/strip-markdown.js.map +0 -1
  137. package/dist/lib/subagent.d.ts +0 -14
  138. package/dist/lib/subagent.d.ts.map +0 -1
  139. package/dist/lib/subagent.js +0 -25
  140. package/dist/lib/subagent.js.map +0 -1
  141. package/dist/lib/templates.d.ts +0 -8
  142. package/dist/lib/templates.d.ts.map +0 -1
  143. package/dist/lib/templates.js +0 -39
  144. package/dist/lib/templates.js.map +0 -1
  145. package/dist/lib/timeout.d.ts +0 -6
  146. package/dist/lib/timeout.d.ts.map +0 -1
  147. package/dist/lib/timeout.js +0 -11
  148. package/dist/lib/timeout.js.map +0 -1
  149. package/dist/lib/truncate.d.ts +0 -11
  150. package/dist/lib/truncate.d.ts.map +0 -1
  151. package/dist/lib/truncate.js +0 -17
  152. package/dist/lib/truncate.js.map +0 -1
  153. package/dist/lib/url-expand.d.ts +0 -22
  154. package/dist/lib/url-expand.d.ts.map +0 -1
  155. package/dist/lib/url-expand.js +0 -74
  156. package/dist/lib/url-expand.js.map +0 -1
  157. package/dist/scripts/migrate-cron-sessions.d.ts +0 -10
  158. package/dist/scripts/migrate-cron-sessions.d.ts.map +0 -1
  159. package/dist/scripts/migrate-cron-sessions.js +0 -139
  160. package/dist/scripts/migrate-cron-sessions.js.map +0 -1
  161. package/dist/scripts/seed.d.ts +0 -2
  162. package/dist/scripts/seed.d.ts.map +0 -1
  163. package/dist/scripts/seed.js +0 -4
  164. package/dist/scripts/seed.js.map +0 -1
  165. package/dist/services/agent/directives.d.ts +0 -14
  166. package/dist/services/agent/directives.d.ts.map +0 -1
  167. package/dist/services/agent/directives.js +0 -32
  168. package/dist/services/agent/directives.js.map +0 -1
  169. package/dist/services/agent/index.d.ts +0 -104
  170. package/dist/services/agent/index.d.ts.map +0 -1
  171. package/dist/services/agent/index.js +0 -534
  172. package/dist/services/agent/index.js.map +0 -1
  173. package/dist/services/agent/persona.d.ts +0 -15
  174. package/dist/services/agent/persona.d.ts.map +0 -1
  175. package/dist/services/agent/persona.js +0 -63
  176. package/dist/services/agent/persona.js.map +0 -1
  177. package/dist/services/agent/prompt-interpolate.d.ts +0 -41
  178. package/dist/services/agent/prompt-interpolate.d.ts.map +0 -1
  179. package/dist/services/agent/prompt-interpolate.js +0 -102
  180. package/dist/services/agent/prompt-interpolate.js.map +0 -1
  181. package/dist/services/agent/schema.d.ts +0 -10
  182. package/dist/services/agent/schema.d.ts.map +0 -1
  183. package/dist/services/agent/schema.js +0 -5
  184. package/dist/services/agent/schema.js.map +0 -1
  185. package/dist/services/agent/tools.d.ts +0 -26
  186. package/dist/services/agent/tools.d.ts.map +0 -1
  187. package/dist/services/agent/tools.js +0 -85
  188. package/dist/services/agent/tools.js.map +0 -1
  189. package/dist/services/channels/base-adapter.d.ts +0 -61
  190. package/dist/services/channels/base-adapter.d.ts.map +0 -1
  191. package/dist/services/channels/base-adapter.js +0 -181
  192. package/dist/services/channels/base-adapter.js.map +0 -1
  193. package/dist/services/channels/contracts.d.ts +0 -75
  194. package/dist/services/channels/contracts.d.ts.map +0 -1
  195. package/dist/services/channels/contracts.js +0 -6
  196. package/dist/services/channels/contracts.js.map +0 -1
  197. package/dist/services/channels/debounce.d.ts +0 -22
  198. package/dist/services/channels/debounce.d.ts.map +0 -1
  199. package/dist/services/channels/debounce.js +0 -53
  200. package/dist/services/channels/debounce.js.map +0 -1
  201. package/dist/services/channels/dedupe.d.ts +0 -19
  202. package/dist/services/channels/dedupe.d.ts.map +0 -1
  203. package/dist/services/channels/dedupe.js +0 -52
  204. package/dist/services/channels/dedupe.js.map +0 -1
  205. package/dist/services/channels/delivery.d.ts +0 -12
  206. package/dist/services/channels/delivery.d.ts.map +0 -1
  207. package/dist/services/channels/delivery.js +0 -53
  208. package/dist/services/channels/delivery.js.map +0 -1
  209. package/dist/services/channels/index.d.ts +0 -53
  210. package/dist/services/channels/index.d.ts.map +0 -1
  211. package/dist/services/channels/index.js +0 -405
  212. package/dist/services/channels/index.js.map +0 -1
  213. package/dist/services/channels/link-expand.d.ts +0 -8
  214. package/dist/services/channels/link-expand.d.ts.map +0 -1
  215. package/dist/services/channels/link-expand.js +0 -28
  216. package/dist/services/channels/link-expand.js.map +0 -1
  217. package/dist/services/channels/media-extract.d.ts +0 -7
  218. package/dist/services/channels/media-extract.d.ts.map +0 -1
  219. package/dist/services/channels/media-extract.js +0 -31
  220. package/dist/services/channels/media-extract.js.map +0 -1
  221. package/dist/services/channels/pipeline.d.ts +0 -29
  222. package/dist/services/channels/pipeline.d.ts.map +0 -1
  223. package/dist/services/channels/pipeline.js +0 -120
  224. package/dist/services/channels/pipeline.js.map +0 -1
  225. package/dist/services/channels/provider-loader.d.ts +0 -7
  226. package/dist/services/channels/provider-loader.d.ts.map +0 -1
  227. package/dist/services/channels/provider-loader.js +0 -13
  228. package/dist/services/channels/provider-loader.js.map +0 -1
  229. package/dist/services/channels/providers/telegram/adapter.d.ts +0 -34
  230. package/dist/services/channels/providers/telegram/adapter.d.ts.map +0 -1
  231. package/dist/services/channels/providers/telegram/adapter.js +0 -278
  232. package/dist/services/channels/providers/telegram/adapter.js.map +0 -1
  233. package/dist/services/channels/providers/telegram/index.d.ts +0 -11
  234. package/dist/services/channels/providers/telegram/index.d.ts.map +0 -1
  235. package/dist/services/channels/providers/telegram/index.js +0 -11
  236. package/dist/services/channels/providers/telegram/index.js.map +0 -1
  237. package/dist/services/channels/providers/telegram/normalizer.d.ts +0 -12
  238. package/dist/services/channels/providers/telegram/normalizer.d.ts.map +0 -1
  239. package/dist/services/channels/providers/telegram/normalizer.js +0 -50
  240. package/dist/services/channels/providers/telegram/normalizer.js.map +0 -1
  241. package/dist/services/channels/providers/telegram/types.d.ts +0 -72
  242. package/dist/services/channels/providers/telegram/types.d.ts.map +0 -1
  243. package/dist/services/channels/providers/telegram/types.js +0 -3
  244. package/dist/services/channels/providers/telegram/types.js.map +0 -1
  245. package/dist/services/channels/providers/whatsapp/adapter.d.ts +0 -36
  246. package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +0 -1
  247. package/dist/services/channels/providers/whatsapp/adapter.js +0 -261
  248. package/dist/services/channels/providers/whatsapp/adapter.js.map +0 -1
  249. package/dist/services/channels/providers/whatsapp/index.d.ts +0 -11
  250. package/dist/services/channels/providers/whatsapp/index.d.ts.map +0 -1
  251. package/dist/services/channels/providers/whatsapp/index.js +0 -11
  252. package/dist/services/channels/providers/whatsapp/index.js.map +0 -1
  253. package/dist/services/channels/providers/whatsapp/normalizer.d.ts +0 -11
  254. package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +0 -1
  255. package/dist/services/channels/providers/whatsapp/normalizer.js +0 -47
  256. package/dist/services/channels/providers/whatsapp/normalizer.js.map +0 -1
  257. package/dist/services/channels/providers/whatsapp/session.d.ts +0 -9
  258. package/dist/services/channels/providers/whatsapp/session.d.ts.map +0 -1
  259. package/dist/services/channels/providers/whatsapp/session.js +0 -118
  260. package/dist/services/channels/providers/whatsapp/session.js.map +0 -1
  261. package/dist/services/channels/providers/whatsapp/types.d.ts +0 -23
  262. package/dist/services/channels/providers/whatsapp/types.d.ts.map +0 -1
  263. package/dist/services/channels/providers/whatsapp/types.js +0 -3
  264. package/dist/services/channels/providers/whatsapp/types.js.map +0 -1
  265. package/dist/services/channels/reconnect.d.ts +0 -23
  266. package/dist/services/channels/reconnect.d.ts.map +0 -1
  267. package/dist/services/channels/reconnect.js +0 -32
  268. package/dist/services/channels/reconnect.js.map +0 -1
  269. package/dist/services/channels/status-reactions.d.ts +0 -27
  270. package/dist/services/channels/status-reactions.d.ts.map +0 -1
  271. package/dist/services/channels/status-reactions.js +0 -63
  272. package/dist/services/channels/status-reactions.js.map +0 -1
  273. package/dist/services/channels/types.d.ts +0 -16
  274. package/dist/services/channels/types.d.ts.map +0 -1
  275. package/dist/services/channels/types.js +0 -2
  276. package/dist/services/channels/types.js.map +0 -1
  277. package/dist/services/channels/typing-state.d.ts +0 -22
  278. package/dist/services/channels/typing-state.d.ts.map +0 -1
  279. package/dist/services/channels/typing-state.js +0 -88
  280. package/dist/services/channels/typing-state.js.map +0 -1
  281. package/dist/services/config/index.d.ts +0 -2426
  282. package/dist/services/config/index.d.ts.map +0 -1
  283. package/dist/services/config/index.js +0 -232
  284. package/dist/services/config/index.js.map +0 -1
  285. package/dist/services/config/schemas/agent.d.ts +0 -720
  286. package/dist/services/config/schemas/agent.d.ts.map +0 -1
  287. package/dist/services/config/schemas/agent.js +0 -86
  288. package/dist/services/config/schemas/agent.js.map +0 -1
  289. package/dist/services/config/schemas/auth.d.ts +0 -60
  290. package/dist/services/config/schemas/auth.d.ts.map +0 -1
  291. package/dist/services/config/schemas/auth.js +0 -18
  292. package/dist/services/config/schemas/auth.js.map +0 -1
  293. package/dist/services/config/schemas/channels.d.ts +0 -117
  294. package/dist/services/config/schemas/channels.d.ts.map +0 -1
  295. package/dist/services/config/schemas/channels.js +0 -22
  296. package/dist/services/config/schemas/channels.js.map +0 -1
  297. package/dist/services/config/schemas/cron.d.ts +0 -97
  298. package/dist/services/config/schemas/cron.d.ts.map +0 -1
  299. package/dist/services/config/schemas/cron.js +0 -18
  300. package/dist/services/config/schemas/cron.js.map +0 -1
  301. package/dist/services/config/schemas/features.d.ts +0 -43
  302. package/dist/services/config/schemas/features.d.ts.map +0 -1
  303. package/dist/services/config/schemas/features.js +0 -20
  304. package/dist/services/config/schemas/features.js.map +0 -1
  305. package/dist/services/config/schemas/index.d.ts +0 -24
  306. package/dist/services/config/schemas/index.d.ts.map +0 -1
  307. package/dist/services/config/schemas/index.js +0 -24
  308. package/dist/services/config/schemas/index.js.map +0 -1
  309. package/dist/services/config/schemas/mcp.d.ts +0 -31
  310. package/dist/services/config/schemas/mcp.d.ts.map +0 -1
  311. package/dist/services/config/schemas/mcp.js +0 -39
  312. package/dist/services/config/schemas/mcp.js.map +0 -1
  313. package/dist/services/config/schemas/primitives.d.ts +0 -13
  314. package/dist/services/config/schemas/primitives.d.ts.map +0 -1
  315. package/dist/services/config/schemas/primitives.js +0 -17
  316. package/dist/services/config/schemas/primitives.js.map +0 -1
  317. package/dist/services/config/schemas/providers.d.ts +0 -335
  318. package/dist/services/config/schemas/providers.d.ts.map +0 -1
  319. package/dist/services/config/schemas/providers.js +0 -27
  320. package/dist/services/config/schemas/providers.js.map +0 -1
  321. package/dist/services/config/schemas/storage.d.ts +0 -16
  322. package/dist/services/config/schemas/storage.d.ts.map +0 -1
  323. package/dist/services/config/schemas/storage.js +0 -9
  324. package/dist/services/config/schemas/storage.js.map +0 -1
  325. package/dist/services/config/schemas/webhooks.d.ts +0 -25
  326. package/dist/services/config/schemas/webhooks.d.ts.map +0 -1
  327. package/dist/services/config/schemas/webhooks.js +0 -12
  328. package/dist/services/config/schemas/webhooks.js.map +0 -1
  329. package/dist/services/cron/index.d.ts +0 -50
  330. package/dist/services/cron/index.d.ts.map +0 -1
  331. package/dist/services/cron/index.js +0 -460
  332. package/dist/services/cron/index.js.map +0 -1
  333. package/dist/services/log/index.d.ts +0 -14
  334. package/dist/services/log/index.d.ts.map +0 -1
  335. package/dist/services/log/index.js +0 -137
  336. package/dist/services/log/index.js.map +0 -1
  337. package/dist/services/mcp-client/index.d.ts +0 -37
  338. package/dist/services/mcp-client/index.d.ts.map +0 -1
  339. package/dist/services/mcp-client/index.js +0 -258
  340. package/dist/services/mcp-client/index.js.map +0 -1
  341. package/dist/services/media/extract-document.d.ts +0 -8
  342. package/dist/services/media/extract-document.d.ts.map +0 -1
  343. package/dist/services/media/extract-document.js +0 -85
  344. package/dist/services/media/extract-document.js.map +0 -1
  345. package/dist/services/media/index.d.ts +0 -21
  346. package/dist/services/media/index.d.ts.map +0 -1
  347. package/dist/services/media/index.js +0 -116
  348. package/dist/services/media/index.js.map +0 -1
  349. package/dist/services/media/providers/anthropic.d.ts +0 -6
  350. package/dist/services/media/providers/anthropic.d.ts.map +0 -1
  351. package/dist/services/media/providers/anthropic.js +0 -38
  352. package/dist/services/media/providers/anthropic.js.map +0 -1
  353. package/dist/services/media/providers/index.d.ts +0 -6
  354. package/dist/services/media/providers/index.d.ts.map +0 -1
  355. package/dist/services/media/providers/index.js +0 -15
  356. package/dist/services/media/providers/index.js.map +0 -1
  357. package/dist/services/media/providers/openai.d.ts +0 -6
  358. package/dist/services/media/providers/openai.d.ts.map +0 -1
  359. package/dist/services/media/providers/openai.js +0 -48
  360. package/dist/services/media/providers/openai.js.map +0 -1
  361. package/dist/services/media/providers/provider.d.ts +0 -5
  362. package/dist/services/media/providers/provider.d.ts.map +0 -1
  363. package/dist/services/media/providers/provider.js +0 -2
  364. package/dist/services/media/providers/provider.js.map +0 -1
  365. package/dist/services/memory/chunker.d.ts +0 -7
  366. package/dist/services/memory/chunker.d.ts.map +0 -1
  367. package/dist/services/memory/chunker.js +0 -46
  368. package/dist/services/memory/chunker.js.map +0 -1
  369. package/dist/services/memory/context.d.ts +0 -68
  370. package/dist/services/memory/context.d.ts.map +0 -1
  371. package/dist/services/memory/context.js +0 -223
  372. package/dist/services/memory/context.js.map +0 -1
  373. package/dist/services/memory/embedding.d.ts +0 -9
  374. package/dist/services/memory/embedding.d.ts.map +0 -1
  375. package/dist/services/memory/embedding.js +0 -49
  376. package/dist/services/memory/embedding.js.map +0 -1
  377. package/dist/services/memory/index.d.ts +0 -24
  378. package/dist/services/memory/index.d.ts.map +0 -1
  379. package/dist/services/memory/index.js +0 -140
  380. package/dist/services/memory/index.js.map +0 -1
  381. package/dist/services/memory/session-indexer.d.ts +0 -5
  382. package/dist/services/memory/session-indexer.d.ts.map +0 -1
  383. package/dist/services/memory/session-indexer.js +0 -62
  384. package/dist/services/memory/session-indexer.js.map +0 -1
  385. package/dist/services/memory/sqlite-storage.d.ts +0 -23
  386. package/dist/services/memory/sqlite-storage.d.ts.map +0 -1
  387. package/dist/services/memory/sqlite-storage.js +0 -75
  388. package/dist/services/memory/sqlite-storage.js.map +0 -1
  389. package/dist/services/memory/types.d.ts +0 -31
  390. package/dist/services/memory/types.d.ts.map +0 -1
  391. package/dist/services/memory/types.js +0 -2
  392. package/dist/services/memory/types.js.map +0 -1
  393. package/dist/services/web/index.d.ts +0 -9
  394. package/dist/services/web/index.d.ts.map +0 -1
  395. package/dist/services/web/index.js +0 -101
  396. package/dist/services/web/index.js.map +0 -1
  397. package/dist/vitest.config.d.ts +0 -3
  398. package/dist/vitest.config.d.ts.map +0 -1
  399. package/dist/vitest.config.js +0 -9
  400. package/dist/vitest.config.js.map +0 -1
@@ -1,14 +0,0 @@
1
- /**
2
- * Pure session key helpers — no domain dependencies.
3
- */
4
- export declare function cronSessionKey(taskId: string): string;
5
- export declare function webhookSessionKey(hookId: string): string;
6
- export declare function parseSessionKey(key: string): {
7
- type: string;
8
- id: string;
9
- };
10
- export declare function parseChannelTarget(target: string): {
11
- channel: string;
12
- userId: string;
13
- } | null;
14
- //# sourceMappingURL=subagent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AASD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAGzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG7F"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Pure session key helpers — no domain dependencies.
3
- */
4
- export function cronSessionKey(taskId) {
5
- return `cron:${taskId}:${new Date().toISOString().slice(0, 10)}`;
6
- }
7
- export function webhookSessionKey(hookId) {
8
- return `webhook:${hookId}:${Date.now()}`;
9
- }
10
- /** Parse "type:id" format from a string, extracting first component. */
11
- function parseTypeIdFormat(str) {
12
- const sep = str.indexOf(':');
13
- if (sep === -1)
14
- return { type: str, id: '' };
15
- return { type: str.slice(0, sep), id: str.slice(sep + 1) };
16
- }
17
- export function parseSessionKey(key) {
18
- const root = key.split(':subagent')[0];
19
- return parseTypeIdFormat(root);
20
- }
21
- export function parseChannelTarget(target) {
22
- const { type: channel, id: userId } = parseTypeIdFormat(target);
23
- return userId ? { channel, userId } : null;
24
- }
25
- //# sourceMappingURL=subagent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,QAAQ,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,WAAW,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
@@ -1,8 +0,0 @@
1
- /** Walk up from this module to locate `.templates/vargos/`. Works in both dev and dist layouts. */
2
- export declare function findTemplatesRoot(): string | null;
3
- /** Seed `dataDir` from `.templates/vargos/` — recursively copies any missing files. User edits are preserved; user deletes will be re-seeded on next boot. */
4
- export declare function seedDataDir(dataDir: string, logger: {
5
- info: (s: string) => void;
6
- warn: (s: string) => void;
7
- }): Promise<void>;
8
- //# sourceMappingURL=templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../lib/templates.ts"],"names":[],"mappings":"AAIA,mGAAmG;AACnG,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAQjD;AAqBD,8JAA8J;AAC9J,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -1,39 +0,0 @@
1
- import { promises as fs, existsSync } from 'node:fs';
2
- import path from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- /** Walk up from this module to locate `.templates/vargos/`. Works in both dev and dist layouts. */
5
- export function findTemplatesRoot() {
6
- let dir = path.dirname(fileURLToPath(import.meta.url));
7
- while (dir !== path.dirname(dir)) {
8
- const candidate = path.join(dir, '.templates', 'vargos');
9
- if (existsSync(candidate))
10
- return candidate;
11
- dir = path.dirname(dir);
12
- }
13
- return null;
14
- }
15
- /** Walks both trees in parallel; copies only leaf files that don't exist on target. */
16
- async function copyMissing(srcDir, destDir, logger) {
17
- await fs.mkdir(destDir, { recursive: true });
18
- for (const entry of await fs.readdir(srcDir, { withFileTypes: true })) {
19
- const src = path.join(srcDir, entry.name);
20
- const dest = path.join(destDir, entry.name);
21
- if (entry.isDirectory()) {
22
- await copyMissing(src, dest, logger);
23
- }
24
- else if (!existsSync(dest)) {
25
- await fs.copyFile(src, dest);
26
- logger.info(`seeded ${dest}`);
27
- }
28
- }
29
- }
30
- /** Seed `dataDir` from `.templates/vargos/` — recursively copies any missing files. User edits are preserved; user deletes will be re-seeded on next boot. */
31
- export async function seedDataDir(dataDir, logger) {
32
- const root = findTemplatesRoot();
33
- if (!root) {
34
- logger.warn('.templates/vargos not found — skipping seed');
35
- return;
36
- }
37
- await copyMissing(root, dataDir, logger);
38
- }
39
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../lib/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,mGAAmG;AACnG,MAAM,UAAU,iBAAiB;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uFAAuF;AACvF,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,OAAe,EACf,MAAqC;IAErC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,GAAG,GAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,8JAA8J;AAC9J,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,MAAgE;IAEhE,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Execute a promise with timeout protection.
3
- * Rejects with an error if the promise doesn't complete within the specified time.
4
- */
5
- export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, message?: string): Promise<T>;
6
- //# sourceMappingURL=timeout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../lib/timeout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAMnG"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Execute a promise with timeout protection.
3
- * Rejects with an error if the promise doesn't complete within the specified time.
4
- */
5
- export function withTimeout(promise, timeoutMs, message) {
6
- const timeoutPromise = new Promise((_resolve, reject) => {
7
- setTimeout(() => reject(new Error(message ?? `Timeout after ${timeoutMs}ms`)), timeoutMs);
8
- });
9
- return Promise.race([promise, timeoutPromise]);
10
- }
11
- //# sourceMappingURL=timeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../lib/timeout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,OAAgB;IACrF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC7D,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,iBAAiB,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACjD,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Truncate large text content using head/tail strategy.
3
- * Keeps 70% from start, 20% from end, with ellipsis indicator in middle.
4
- *
5
- * Useful for: log entries, large files, prompt sections, debug output.
6
- *
7
- * Example:
8
- * truncate("very long text...", 100) → "start text...\n\n[...truncated...]\n\n...text"
9
- */
10
- export declare function truncate(content: string, maxChars: number): string;
11
- //# sourceMappingURL=truncate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../lib/truncate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOlE"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Truncate large text content using head/tail strategy.
3
- * Keeps 70% from start, 20% from end, with ellipsis indicator in middle.
4
- *
5
- * Useful for: log entries, large files, prompt sections, debug output.
6
- *
7
- * Example:
8
- * truncate("very long text...", 100) → "start text...\n\n[...truncated...]\n\n...text"
9
- */
10
- export function truncate(content, maxChars) {
11
- if (content.length <= maxChars)
12
- return content;
13
- const headChars = Math.floor(maxChars * 0.7);
14
- const tailChars = Math.floor(maxChars * 0.2);
15
- return `${content.slice(0, headChars)}\n\n[...truncated...]\n\n${content.slice(-tailChars)}`;
16
- }
17
- //# sourceMappingURL=truncate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../lib/truncate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,QAAgB;IACxD,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IAE7C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,4BAA4B,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AAC/F,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * URL extraction and content fetching utilities.
3
- * No domain imports — safe to use from any layer.
4
- */
5
- /** Extract unique http/https URLs from text, up to maxUrls (default 3). */
6
- export declare function extractUrls(text: string, maxUrls?: number): string[];
7
- /** Return false for private/internal addresses, non-http schemes, or invalid URLs. */
8
- export declare function isAllowedUrl(url: string): boolean;
9
- export interface FetchedContent {
10
- url: string;
11
- title?: string;
12
- text: string;
13
- }
14
- /**
15
- * Fetch URL, convert HTML to readable text, truncate to maxChars.
16
- * Returns null on any error — never throws.
17
- */
18
- export declare function fetchUrlContent(url: string, opts?: {
19
- maxChars?: number;
20
- timeoutMs?: number;
21
- }): Promise<FetchedContent | null>;
22
- //# sourceMappingURL=url-expand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-expand.d.ts","sourceRoot":"","sources":["../../lib/url-expand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,EAAE,CAgB/D;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmChC"}
@@ -1,74 +0,0 @@
1
- /**
2
- * URL extraction and content fetching utilities.
3
- * No domain imports — safe to use from any layer.
4
- */
5
- import { stripHtml } from './html.js';
6
- const PRIVATE_HOSTNAME_RE = /^(localhost|127\.\d+\.\d+\.\d+|10\.\d+\.\d+\.\d+|172\.(1[6-9]|2\d|3[01])\.\d+\.\d+|192\.168\.\d+\.\d+|169\.254\.\d+\.\d+|\[::1\])$/i;
7
- /** Extract unique http/https URLs from text, up to maxUrls (default 3). */
8
- export function extractUrls(text, maxUrls = 3) {
9
- const matches = text.match(/https?:\/\/[^\s<>[\]()]+/g) ?? [];
10
- const seen = new Set();
11
- const results = [];
12
- for (const raw of matches) {
13
- // Strip trailing punctuation that's almost never part of a URL
14
- const url = raw.replace(/[.,;:!?]+$/, '');
15
- if (!seen.has(url)) {
16
- seen.add(url);
17
- results.push(url);
18
- if (results.length >= maxUrls)
19
- break;
20
- }
21
- }
22
- return results;
23
- }
24
- /** Return false for private/internal addresses, non-http schemes, or invalid URLs. */
25
- export function isAllowedUrl(url) {
26
- let parsed;
27
- try {
28
- parsed = new URL(url);
29
- }
30
- catch {
31
- return false;
32
- }
33
- if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
34
- return false;
35
- const hostname = parsed.hostname;
36
- return !PRIVATE_HOSTNAME_RE.test(hostname);
37
- }
38
- /**
39
- * Fetch URL, convert HTML to readable text, truncate to maxChars.
40
- * Returns null on any error — never throws.
41
- */
42
- export async function fetchUrlContent(url, opts = {}) {
43
- const { maxChars = 8000, timeoutMs = 5000 } = opts;
44
- try {
45
- const controller = new AbortController();
46
- const timer = setTimeout(() => controller.abort(), timeoutMs);
47
- let response;
48
- try {
49
- response = await fetch(url, { signal: controller.signal });
50
- }
51
- finally {
52
- clearTimeout(timer);
53
- }
54
- if (!response.ok)
55
- return null;
56
- const contentType = response.headers.get('content-type') ?? '';
57
- const isHtml = contentType.includes('text/html');
58
- const isText = contentType.includes('text/plain') || contentType.includes('text/markdown');
59
- if (!isHtml && !isText)
60
- return null;
61
- const raw = await response.text();
62
- if (isHtml) {
63
- const titleMatch = raw.match(/<title[^>]*>([^<]*)<\/title>/i);
64
- const title = titleMatch ? titleMatch[1].trim() : undefined;
65
- const text = stripHtml(raw).slice(0, maxChars);
66
- return { url, title, text };
67
- }
68
- return { url, text: raw.slice(0, maxChars) };
69
- }
70
- catch {
71
- return null;
72
- }
73
- }
74
- //# sourceMappingURL=url-expand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-expand.js","sourceRoot":"","sources":["../../lib/url-expand.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * One-time migration: merge old timestamped cron sessions into persistent ones.
3
- *
4
- * Old format: cron:<taskId>:<timestamp> → sessions/cron-<taskId>-<timestamp>/cron-<taskId>-<timestamp>.jsonl
5
- * New format: cron:<taskId> → sessions/cron-<taskId>/cron-<taskId>.jsonl
6
- *
7
- * Usage: npx tsx scripts/migrate-cron-sessions.ts [--dry-run]
8
- */
9
- export {};
10
- //# sourceMappingURL=migrate-cron-sessions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-cron-sessions.d.ts","sourceRoot":"","sources":["../../scripts/migrate-cron-sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,139 +0,0 @@
1
- /**
2
- * One-time migration: merge old timestamped cron sessions into persistent ones.
3
- *
4
- * Old format: cron:<taskId>:<timestamp> → sessions/cron-<taskId>-<timestamp>/cron-<taskId>-<timestamp>.jsonl
5
- * New format: cron:<taskId> → sessions/cron-<taskId>/cron-<taskId>.jsonl
6
- *
7
- * Usage: npx tsx scripts/migrate-cron-sessions.ts [--dry-run]
8
- */
9
- import { promises as fs } from 'node:fs';
10
- import path from 'node:path';
11
- import os from 'node:os';
12
- const DATA_DIR = process.env.VARGOS_DATA_DIR || path.join(os.homedir(), '.vargos');
13
- const SESSIONS_DIR = path.join(DATA_DIR, 'sessions');
14
- const DRY_RUN = process.argv.includes('--dry-run');
15
- // Match old cron session dirs: cron-<taskId>-<timestamp>
16
- // Task IDs look like: cron-1708300000-a1b2c
17
- // So full dir name: cron-cron-1708300000-a1b2c-1708300000000
18
- const CRON_TIMESTAMPED_RE = /^(cron-.+)-(\d{13,})$/;
19
- async function main() {
20
- console.log(`Sessions dir: ${SESSIONS_DIR}`);
21
- console.log(`Mode: ${DRY_RUN ? 'DRY RUN' : 'LIVE'}\n`);
22
- let entries;
23
- try {
24
- entries = await fs.readdir(SESSIONS_DIR);
25
- }
26
- catch {
27
- console.log('No sessions directory found. Nothing to migrate.');
28
- return;
29
- }
30
- // Group old cron dirs by task ID
31
- const groups = new Map(); // taskId → [full dir names]
32
- for (const entry of entries) {
33
- const match = entry.match(CRON_TIMESTAMPED_RE);
34
- if (!match)
35
- continue;
36
- // Verify it's actually a cron session by checking the file inside
37
- const jsonlPath = path.join(SESSIONS_DIR, entry, `${entry}.jsonl`);
38
- try {
39
- const content = await fs.readFile(jsonlPath, 'utf-8');
40
- const firstLine = content.split('\n')[0];
41
- if (!firstLine)
42
- continue;
43
- const meta = JSON.parse(firstLine);
44
- if (!meta.sessionKey?.startsWith('cron:'))
45
- continue;
46
- }
47
- catch {
48
- continue;
49
- }
50
- const baseDir = match[1]; // e.g. "cron-cron-abc123-x7k"
51
- if (!groups.has(baseDir))
52
- groups.set(baseDir, []);
53
- groups.get(baseDir).push(entry);
54
- }
55
- if (groups.size === 0) {
56
- console.log('No old cron sessions found. Nothing to migrate.');
57
- return;
58
- }
59
- console.log(`Found ${groups.size} cron task(s) with old timestamped sessions:\n`);
60
- let totalMerged = 0;
61
- let totalDeleted = 0;
62
- for (const [baseDir, dirs] of groups) {
63
- // Sort by timestamp (oldest first) for chronological merge
64
- dirs.sort((a, b) => {
65
- const tsA = parseInt(a.match(CRON_TIMESTAMPED_RE)[2]);
66
- const tsB = parseInt(b.match(CRON_TIMESTAMPED_RE)[2]);
67
- return tsA - tsB;
68
- });
69
- console.log(`Task: ${baseDir} (${dirs.length} old session(s))`);
70
- // Collect all messages from old sessions
71
- const allMessages = [];
72
- let earliestCreated = '';
73
- let latestUpdated = '';
74
- for (const dir of dirs) {
75
- const jsonlPath = path.join(SESSIONS_DIR, dir, `${dir}.jsonl`);
76
- const content = await fs.readFile(jsonlPath, 'utf-8');
77
- const lines = content.trim().split('\n').filter(Boolean);
78
- if (lines.length === 0)
79
- continue;
80
- const meta = JSON.parse(lines[0]);
81
- if (!earliestCreated || meta.createdAt < earliestCreated)
82
- earliestCreated = meta.createdAt;
83
- if (!latestUpdated || meta.updatedAt > latestUpdated)
84
- latestUpdated = meta.updatedAt;
85
- // Collect message lines (skip header)
86
- for (let i = 1; i < lines.length; i++) {
87
- allMessages.push(lines[i]);
88
- }
89
- }
90
- // Build the new persistent session key from the old one
91
- // Old sessionKey: "cron:<taskId>:<timestamp>" → extract taskId
92
- const samplePath = path.join(SESSIONS_DIR, dirs[0], `${dirs[0]}.jsonl`);
93
- const sampleContent = await fs.readFile(samplePath, 'utf-8');
94
- const sampleMeta = JSON.parse(sampleContent.split('\n')[0]);
95
- const parts = sampleMeta.sessionKey.split(':');
96
- // cron:<taskId>:<timestamp> → taskId is parts[1]
97
- const taskId = parts[1];
98
- const newSessionKey = `cron:${taskId}`;
99
- // Build new session file
100
- const newMeta = {
101
- sessionKey: newSessionKey,
102
- kind: 'cron',
103
- createdAt: earliestCreated,
104
- updatedAt: latestUpdated,
105
- metadata: sampleMeta.metadata ?? { taskId },
106
- };
107
- const newContent = [JSON.stringify(newMeta), ...allMessages].join('\n') + '\n';
108
- const newDir = path.join(SESSIONS_DIR, baseDir);
109
- const newFile = path.join(newDir, `${baseDir}.jsonl`);
110
- console.log(` → Merging ${allMessages.length} messages into ${newSessionKey}`);
111
- if (!DRY_RUN) {
112
- // Check if target already exists (from a previous partial migration)
113
- const targetExists = await fs.stat(newFile).then(() => true).catch(() => false);
114
- if (targetExists) {
115
- // Append messages to existing
116
- const existing = await fs.readFile(newFile, 'utf-8');
117
- const existingLines = existing.trim().split('\n').filter(Boolean);
118
- const mergedContent = [existingLines[0], ...existingLines.slice(1), ...allMessages].join('\n') + '\n';
119
- await fs.writeFile(newFile, mergedContent, 'utf-8');
120
- }
121
- else {
122
- await fs.mkdir(newDir, { recursive: true });
123
- await fs.writeFile(newFile, newContent, 'utf-8');
124
- }
125
- // Delete old dirs
126
- for (const dir of dirs) {
127
- await fs.rm(path.join(SESSIONS_DIR, dir), { recursive: true, force: true });
128
- }
129
- totalDeleted += dirs.length;
130
- }
131
- totalMerged++;
132
- }
133
- console.log(`\n${DRY_RUN ? 'Would merge' : 'Merged'}: ${totalMerged} task(s), deleted ${totalDeleted} old session dir(s)`);
134
- }
135
- main().catch(err => {
136
- console.error('Migration failed:', err);
137
- process.exit(1);
138
- });
139
- //# sourceMappingURL=migrate-cron-sessions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-cron-sessions.js","sourceRoot":"","sources":["../../scripts/migrate-cron-sessions.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=seed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../scripts/seed.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { getDataPaths } from '../lib/paths.js';
2
- import { seedDataDir } from '../lib/templates.js';
3
- await seedDataDir(getDataPaths().dataDir, console);
4
- //# sourceMappingURL=seed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../scripts/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Chat directives parser — extracts /think and /verbose prefixes from user messages.
3
- *
4
- * Directives must appear at the start of the message or after whitespace,
5
- * not inside URLs or as partial word matches.
6
- */
7
- import type { ThinkingLevel } from '@mariozechner/pi-agent-core';
8
- export interface ParsedDirectives {
9
- /** Message with all recognized directives stripped */
10
- cleaned: string;
11
- thinkingLevel?: ThinkingLevel;
12
- }
13
- export declare function parseDirectives(text: string): ParsedDirectives;
14
- //# sourceMappingURL=directives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../../services/agent/directives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AASD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAwB9D"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Chat directives parser — extracts /think and /verbose prefixes from user messages.
3
- *
4
- * Directives must appear at the start of the message or after whitespace,
5
- * not inside URLs or as partial word matches.
6
- */
7
- // Mirrors ThinkingLevelSchema.options from services/config/schemas/primitives.ts.
8
- // Kept local to avoid lib/ → services/ import boundary violation.
9
- const THINK_LEVELS = new Set(['off', 'minimal', 'low', 'medium', 'high', 'xhigh']);
10
- // Matches /think or /t with optional colon, then a level word
11
- const THINK_RE = /(?<![:/\w])\/(?:think|t)[:=\s]+(\w+)/gi;
12
- export function parseDirectives(text) {
13
- let cleaned = text;
14
- let thinkingLevel;
15
- // Process /think directives — last match wins
16
- let match;
17
- THINK_RE.lastIndex = 0;
18
- while ((match = THINK_RE.exec(text)) !== null) {
19
- const level = match[1].toLowerCase();
20
- if (THINK_LEVELS.has(level)) {
21
- thinkingLevel = level;
22
- }
23
- }
24
- // Strip matched directives from the cleaned string
25
- if (thinkingLevel !== undefined) {
26
- THINK_RE.lastIndex = 0;
27
- cleaned = cleaned.replace(THINK_RE, '');
28
- }
29
- cleaned = cleaned.trim();
30
- return { cleaned, thinkingLevel };
31
- }
32
- //# sourceMappingURL=directives.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../../services/agent/directives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,kFAAkF;AAClF,kEAAkE;AAClE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3F,8DAA8D;AAC9D,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AAE1D,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,aAAwC,CAAC;IAE7C,8CAA8C;IAC9C,IAAI,KAA6B,CAAC;IAElC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,aAAa,GAAG,KAAsB,CAAC;QACzC,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACpC,CAAC"}
@@ -1,104 +0,0 @@
1
- /**
2
- * Agent — PiAgent-powered runtime
3
- *
4
- * Features:
5
- * - PiAgent session persistence
6
- * - PiAgent ResourceLoader for skills/prompts
7
- * - Debug mode for inspecting tools, prompts, history
8
- * - Streaming events passthrough to bus (agent.onDelta, agent.onTool, agent.onCompleted)
9
- */
10
- import type { Bus } from '../../gateway/bus.js';
11
- import type { EventMap } from '../../gateway/events.js';
12
- import type { AppConfig } from '../../services/config/index.js';
13
- import type { AgentDeps } from './schema.js';
14
- import { SettingsManager, AuthStorage, ModelRegistry, DefaultResourceLoader, type AgentSession, type ToolDefinition } from '@mariozechner/pi-coding-agent';
15
- export declare class AgentService {
16
- protected bus: Bus;
17
- protected config: AppConfig;
18
- protected sessions: Map<string, AgentSession>;
19
- private activeRuns;
20
- protected agentDir: string;
21
- protected authStorage: AuthStorage;
22
- protected modelRegistry: ModelRegistry;
23
- protected settings: SettingsManager;
24
- constructor(deps: AgentDeps);
25
- /**
26
- * Persist retry settings to disk during boot
27
- */
28
- start(): Promise<void>;
29
- /**
30
- * agent.execute — Run a task
31
- *
32
- * Note: sessionKey is declared optional here because it's auto-injected by
33
- * wrapEventAsToolDefinition() when the agent calls this as a tool. Direct callers
34
- * (channels, cron, webhooks, TCP) still provide sessionKey via EventMap.
35
- *
36
- * Schema for bus event is different than runtime types AgentExecuteParams.
37
- * e.g. metadata is not injected here on purpose.
38
- */
39
- execute(params: EventMap['agent.execute']['params']): Promise<EventMap['agent.execute']['result']>;
40
- /**
41
- * agent.appendMessage — Append message to session JSONL without executing agent.
42
- * Used for non-whitelisted messages (skipAgent=true) to record in history silently.
43
- * Internal only — not exposed as an agent tool.
44
- */
45
- appendMessage(params: EventMap['agent.appendMessage']['params']): Promise<void>;
46
- /**
47
- * agent.status — Return currently active agent session keys.
48
- */
49
- status(_params: EventMap['agent.status']['params']): Promise<EventMap['agent.status']['result']>;
50
- /**
51
- * Get or create AgentSession for sessionKey.
52
- */
53
- protected getOrCreateSession(sessionKey: string, metadata?: EventMap['agent.execute']['params']['metadata']): Promise<AgentSession>;
54
- /**
55
- * Subscribe to PiAgent sessionsubscription - emit to bus for streaming + debug logging.
56
- */
57
- protected subscribeToSessionEvents(session: AgentSession, sessionKey: string, _metadata?: EventMap['agent.execute']['params']['metadata']): void;
58
- /**
59
- * Create ResourceLoader. PiAgent's DefaultResourceLoader handles skills, themes, and
60
- * prompt templates. We override systemPrompt with our Vargos bootstrap files.
61
- */
62
- protected createResourceLoader(systemPromptOverride?: string, cwd?: string): Promise<DefaultResourceLoader>;
63
- /**
64
- * Load persona for the given sessionKey if it maps to a configured channel. Subagent
65
- * sessionKeys naturally inherit because parseSessionKey strips the `:subagent:` suffix.
66
- * Cron / CLI / other types return null (no persona override applied).
67
- */
68
- private loadPersonaIfChannel;
69
- /**
70
- * Build system prompt by merging bootstrap files from workspace and optional cwd, then
71
- * appending the channel persona body if provided.
72
- */
73
- private getSystemPrompt;
74
- /**
75
- * Load custom tools from bus callable events. When `allowedPatterns` is provided
76
- * (from a channel persona), filter the tool list down to names matching at least
77
- * one glob pattern. Empty/undefined patterns = all tools allowed.
78
- */
79
- protected getCustomTools(sessionKey: string, allowedPatterns?: string[]): Promise<ToolDefinition[]>;
80
- /**
81
- * Validate model override if provided.
82
- */
83
- private validateModel;
84
- /**
85
- * Build context variables for prompt interpolation from sessionKey and metadata.
86
- */
87
- private buildPromptContext;
88
- /**
89
- * Collect directory paths in order: workspace first, then cwd if different.
90
- */
91
- private collectBootstrapDirs;
92
- /**
93
- * Extract the final assistant message: text content + error (when stopReason === 'error').
94
- * Pi SDK records inference failures (e.g. missing API key) as assistant messages with
95
- * empty content and `errorMessage` populated, instead of throwing — without inspecting
96
- * `stopReason`/`errorMessage` here, those would surface as silent empty completions.
97
- */
98
- private extractFinalAssistant;
99
- stop(): void;
100
- }
101
- export declare function boot(bus: Bus): Promise<{
102
- stop(): void;
103
- }>;
104
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,EAGL,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAiBvC,qBAAa,YAAY;IACvB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,QAAQ,4BAAmC;IACrD,OAAO,CAAC,UAAU,CAAqB;IAEvC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAExB,IAAI,EAAE,SAAS;IAuC3B;;OAEG;IACG,KAAK;IAyBX;;;;;;;;;OASG;IAkBG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IA8CxG;;;;OAIG;IAEG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrF;;OAEG;IAKG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;IAItG;;OAEG;cACa,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAiDzI;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI;IAoEhJ;;;OAGG;cACa,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBjH;;;;OAIG;YACW,oBAAoB;IAOlC;;;OAGG;YACW,eAAe;IAiD7B;;;;OAIG;cACa,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzG;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA+B7B,IAAI,IAAI,IAAI;CAMb;AAID,wBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAAC,CAM9D"}