va-claw 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/CONTRIBUTING.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +337 -0
  4. package/bin/va-claw +3 -0
  5. package/bin/va-claw.mjs +3 -0
  6. package/docs/README.md +6 -0
  7. package/index.html +728 -0
  8. package/package.json +43 -0
  9. package/packages/channels/discord/dist/.tsbuildinfo +1 -0
  10. package/packages/channels/discord/dist/cli-runner.d.ts +18 -0
  11. package/packages/channels/discord/dist/cli-runner.d.ts.map +1 -0
  12. package/packages/channels/discord/dist/cli-runner.js +58 -0
  13. package/packages/channels/discord/dist/cli-runner.js.map +1 -0
  14. package/packages/channels/discord/dist/cli-runner.test.d.ts +2 -0
  15. package/packages/channels/discord/dist/cli-runner.test.d.ts.map +1 -0
  16. package/packages/channels/discord/dist/cli-runner.test.js +173 -0
  17. package/packages/channels/discord/dist/cli-runner.test.js.map +1 -0
  18. package/packages/channels/discord/dist/discord-client.d.ts +3 -0
  19. package/packages/channels/discord/dist/discord-client.d.ts.map +1 -0
  20. package/packages/channels/discord/dist/discord-client.js +49 -0
  21. package/packages/channels/discord/dist/discord-client.js.map +1 -0
  22. package/packages/channels/discord/dist/format.d.ts +6 -0
  23. package/packages/channels/discord/dist/format.d.ts.map +1 -0
  24. package/packages/channels/discord/dist/format.js +19 -0
  25. package/packages/channels/discord/dist/format.js.map +1 -0
  26. package/packages/channels/discord/dist/format.test.d.ts +2 -0
  27. package/packages/channels/discord/dist/format.test.d.ts.map +1 -0
  28. package/packages/channels/discord/dist/format.test.js +63 -0
  29. package/packages/channels/discord/dist/format.test.js.map +1 -0
  30. package/packages/channels/discord/dist/index.d.ts +3 -0
  31. package/packages/channels/discord/dist/index.d.ts.map +1 -0
  32. package/packages/channels/discord/dist/index.js +2 -0
  33. package/packages/channels/discord/dist/index.js.map +1 -0
  34. package/packages/channels/discord/dist/prompt.d.ts +4 -0
  35. package/packages/channels/discord/dist/prompt.d.ts.map +1 -0
  36. package/packages/channels/discord/dist/prompt.js +28 -0
  37. package/packages/channels/discord/dist/prompt.js.map +1 -0
  38. package/packages/channels/discord/dist/prompt.test.d.ts +2 -0
  39. package/packages/channels/discord/dist/prompt.test.d.ts.map +1 -0
  40. package/packages/channels/discord/dist/prompt.test.js +130 -0
  41. package/packages/channels/discord/dist/prompt.test.js.map +1 -0
  42. package/packages/channels/discord/dist/runtime.d.ts +11 -0
  43. package/packages/channels/discord/dist/runtime.d.ts.map +1 -0
  44. package/packages/channels/discord/dist/runtime.js +66 -0
  45. package/packages/channels/discord/dist/runtime.js.map +1 -0
  46. package/packages/channels/discord/dist/runtime.test.d.ts +2 -0
  47. package/packages/channels/discord/dist/runtime.test.d.ts.map +1 -0
  48. package/packages/channels/discord/dist/runtime.test.js +107 -0
  49. package/packages/channels/discord/dist/runtime.test.js.map +1 -0
  50. package/packages/channels/discord/dist/types.d.ts +30 -0
  51. package/packages/channels/discord/dist/types.d.ts.map +1 -0
  52. package/packages/channels/discord/dist/types.js +2 -0
  53. package/packages/channels/discord/dist/types.js.map +1 -0
  54. package/packages/channels/discord/package.json +21 -0
  55. package/packages/channels/dist/.tsbuildinfo +1 -0
  56. package/packages/channels/dist/index.d.ts +14 -0
  57. package/packages/channels/dist/index.d.ts.map +1 -0
  58. package/packages/channels/dist/index.js +25 -0
  59. package/packages/channels/dist/index.js.map +1 -0
  60. package/packages/channels/package.json +23 -0
  61. package/packages/channels/slack/dist/.tsbuildinfo +1 -0
  62. package/packages/channels/slack/dist/cli.d.ts +7 -0
  63. package/packages/channels/slack/dist/cli.d.ts.map +1 -0
  64. package/packages/channels/slack/dist/cli.js +53 -0
  65. package/packages/channels/slack/dist/cli.js.map +1 -0
  66. package/packages/channels/slack/dist/cli.test.d.ts +2 -0
  67. package/packages/channels/slack/dist/cli.test.d.ts.map +1 -0
  68. package/packages/channels/slack/dist/cli.test.js +43 -0
  69. package/packages/channels/slack/dist/cli.test.js.map +1 -0
  70. package/packages/channels/slack/dist/index.d.ts +7 -0
  71. package/packages/channels/slack/dist/index.d.ts.map +1 -0
  72. package/packages/channels/slack/dist/index.js +28 -0
  73. package/packages/channels/slack/dist/index.js.map +1 -0
  74. package/packages/channels/slack/dist/message.d.ts +15 -0
  75. package/packages/channels/slack/dist/message.d.ts.map +1 -0
  76. package/packages/channels/slack/dist/message.js +38 -0
  77. package/packages/channels/slack/dist/message.js.map +1 -0
  78. package/packages/channels/slack/dist/slack.test.d.ts +2 -0
  79. package/packages/channels/slack/dist/slack.test.d.ts.map +1 -0
  80. package/packages/channels/slack/dist/slack.test.js +23 -0
  81. package/packages/channels/slack/dist/slack.test.js.map +1 -0
  82. package/packages/channels/slack/dist/types.d.ts +22 -0
  83. package/packages/channels/slack/dist/types.d.ts.map +1 -0
  84. package/packages/channels/slack/dist/types.js +2 -0
  85. package/packages/channels/slack/dist/types.js.map +1 -0
  86. package/packages/channels/slack/package.json +21 -0
  87. package/packages/channels/telegram/dist/.tsbuildinfo +1 -0
  88. package/packages/channels/telegram/dist/cli.d.ts +13 -0
  89. package/packages/channels/telegram/dist/cli.d.ts.map +1 -0
  90. package/packages/channels/telegram/dist/cli.js +53 -0
  91. package/packages/channels/telegram/dist/cli.js.map +1 -0
  92. package/packages/channels/telegram/dist/cli.test.d.ts +2 -0
  93. package/packages/channels/telegram/dist/cli.test.d.ts.map +1 -0
  94. package/packages/channels/telegram/dist/cli.test.js +167 -0
  95. package/packages/channels/telegram/dist/cli.test.js.map +1 -0
  96. package/packages/channels/telegram/dist/index.d.ts +7 -0
  97. package/packages/channels/telegram/dist/index.d.ts.map +1 -0
  98. package/packages/channels/telegram/dist/index.js +21 -0
  99. package/packages/channels/telegram/dist/index.js.map +1 -0
  100. package/packages/channels/telegram/dist/message.d.ts +6 -0
  101. package/packages/channels/telegram/dist/message.d.ts.map +1 -0
  102. package/packages/channels/telegram/dist/message.js +33 -0
  103. package/packages/channels/telegram/dist/message.js.map +1 -0
  104. package/packages/channels/telegram/dist/telegram.test.d.ts +2 -0
  105. package/packages/channels/telegram/dist/telegram.test.d.ts.map +1 -0
  106. package/packages/channels/telegram/dist/telegram.test.js +25 -0
  107. package/packages/channels/telegram/dist/telegram.test.js.map +1 -0
  108. package/packages/channels/telegram/dist/types.d.ts +20 -0
  109. package/packages/channels/telegram/dist/types.d.ts.map +1 -0
  110. package/packages/channels/telegram/dist/types.js +2 -0
  111. package/packages/channels/telegram/dist/types.js.map +1 -0
  112. package/packages/channels/telegram/package.json +21 -0
  113. package/packages/cli/dist/.tsbuildinfo +1 -0
  114. package/packages/cli/dist/bin/va-claw.d.mts +3 -0
  115. package/packages/cli/dist/bin/va-claw.d.mts.map +1 -0
  116. package/packages/cli/dist/bin/va-claw.mjs +4 -0
  117. package/packages/cli/dist/bin/va-claw.mjs.map +1 -0
  118. package/packages/cli/dist/channel-handlers.d.ts +8 -0
  119. package/packages/cli/dist/channel-handlers.d.ts.map +1 -0
  120. package/packages/cli/dist/channel-handlers.js +80 -0
  121. package/packages/cli/dist/channel-handlers.js.map +1 -0
  122. package/packages/cli/dist/deps-exports.d.ts +3 -0
  123. package/packages/cli/dist/deps-exports.d.ts.map +1 -0
  124. package/packages/cli/dist/deps-exports.js +3 -0
  125. package/packages/cli/dist/deps-exports.js.map +1 -0
  126. package/packages/cli/dist/deps.d.ts +3 -0
  127. package/packages/cli/dist/deps.d.ts.map +1 -0
  128. package/packages/cli/dist/deps.js +81 -0
  129. package/packages/cli/dist/deps.js.map +1 -0
  130. package/packages/cli/dist/handlers.d.ts +33 -0
  131. package/packages/cli/dist/handlers.d.ts.map +1 -0
  132. package/packages/cli/dist/handlers.js +207 -0
  133. package/packages/cli/dist/handlers.js.map +1 -0
  134. package/packages/cli/dist/index.d.ts +10 -0
  135. package/packages/cli/dist/index.d.ts.map +1 -0
  136. package/packages/cli/dist/index.js +9 -0
  137. package/packages/cli/dist/index.js.map +1 -0
  138. package/packages/cli/dist/install-files.d.ts +11 -0
  139. package/packages/cli/dist/install-files.d.ts.map +1 -0
  140. package/packages/cli/dist/install-files.js +72 -0
  141. package/packages/cli/dist/install-files.js.map +1 -0
  142. package/packages/cli/dist/memory-status.d.ts +3 -0
  143. package/packages/cli/dist/memory-status.d.ts.map +1 -0
  144. package/packages/cli/dist/memory-status.js +45 -0
  145. package/packages/cli/dist/memory-status.js.map +1 -0
  146. package/packages/cli/dist/output.d.ts +8 -0
  147. package/packages/cli/dist/output.d.ts.map +1 -0
  148. package/packages/cli/dist/output.js +45 -0
  149. package/packages/cli/dist/output.js.map +1 -0
  150. package/packages/cli/dist/platform.d.ts +6 -0
  151. package/packages/cli/dist/platform.d.ts.map +1 -0
  152. package/packages/cli/dist/platform.js +31 -0
  153. package/packages/cli/dist/platform.js.map +1 -0
  154. package/packages/cli/dist/program.d.ts +5 -0
  155. package/packages/cli/dist/program.d.ts.map +1 -0
  156. package/packages/cli/dist/program.js +116 -0
  157. package/packages/cli/dist/program.js.map +1 -0
  158. package/packages/cli/dist/test-helpers.d.ts +7 -0
  159. package/packages/cli/dist/test-helpers.d.ts.map +1 -0
  160. package/packages/cli/dist/test-helpers.js +91 -0
  161. package/packages/cli/dist/test-helpers.js.map +1 -0
  162. package/packages/cli/dist/types.d.ts +82 -0
  163. package/packages/cli/dist/types.d.ts.map +1 -0
  164. package/packages/cli/dist/types.js +2 -0
  165. package/packages/cli/dist/types.js.map +1 -0
  166. package/packages/cli/dist/wait.d.ts +2 -0
  167. package/packages/cli/dist/wait.d.ts.map +1 -0
  168. package/packages/cli/dist/wait.js +25 -0
  169. package/packages/cli/dist/wait.js.map +1 -0
  170. package/packages/cli/package.json +29 -0
  171. package/packages/daemon/dist/.tsbuildinfo +1 -0
  172. package/packages/daemon/dist/cli-adapter.d.ts +14 -0
  173. package/packages/daemon/dist/cli-adapter.d.ts.map +1 -0
  174. package/packages/daemon/dist/cli-adapter.js +30 -0
  175. package/packages/daemon/dist/cli-adapter.js.map +1 -0
  176. package/packages/daemon/dist/index.d.ts +5 -0
  177. package/packages/daemon/dist/index.d.ts.map +1 -0
  178. package/packages/daemon/dist/index.js +4 -0
  179. package/packages/daemon/dist/index.js.map +1 -0
  180. package/packages/daemon/dist/runner.d.ts +2 -0
  181. package/packages/daemon/dist/runner.d.ts.map +1 -0
  182. package/packages/daemon/dist/runner.js +18 -0
  183. package/packages/daemon/dist/runner.js.map +1 -0
  184. package/packages/daemon/dist/runtime.d.ts +24 -0
  185. package/packages/daemon/dist/runtime.d.ts.map +1 -0
  186. package/packages/daemon/dist/runtime.js +83 -0
  187. package/packages/daemon/dist/runtime.js.map +1 -0
  188. package/packages/daemon/dist/service-files.d.ts +13 -0
  189. package/packages/daemon/dist/service-files.d.ts.map +1 -0
  190. package/packages/daemon/dist/service-files.js +84 -0
  191. package/packages/daemon/dist/service-files.js.map +1 -0
  192. package/packages/daemon/dist/service.d.ts +4 -0
  193. package/packages/daemon/dist/service.d.ts.map +1 -0
  194. package/packages/daemon/dist/service.js +31 -0
  195. package/packages/daemon/dist/service.js.map +1 -0
  196. package/packages/daemon/dist/types.d.ts +11 -0
  197. package/packages/daemon/dist/types.d.ts.map +1 -0
  198. package/packages/daemon/dist/types.js +2 -0
  199. package/packages/daemon/dist/types.js.map +1 -0
  200. package/packages/daemon/dist/wake-cycle.d.ts +17 -0
  201. package/packages/daemon/dist/wake-cycle.d.ts.map +1 -0
  202. package/packages/daemon/dist/wake-cycle.js +58 -0
  203. package/packages/daemon/dist/wake-cycle.js.map +1 -0
  204. package/packages/daemon/package.json +22 -0
  205. package/packages/identity/dist/.tsbuildinfo +1 -0
  206. package/packages/identity/dist/defaults.d.ts +5 -0
  207. package/packages/identity/dist/defaults.d.ts.map +1 -0
  208. package/packages/identity/dist/defaults.js +70 -0
  209. package/packages/identity/dist/defaults.js.map +1 -0
  210. package/packages/identity/dist/index.d.ts +6 -0
  211. package/packages/identity/dist/index.d.ts.map +1 -0
  212. package/packages/identity/dist/index.js +5 -0
  213. package/packages/identity/dist/index.js.map +1 -0
  214. package/packages/identity/dist/path.d.ts +3 -0
  215. package/packages/identity/dist/path.d.ts.map +1 -0
  216. package/packages/identity/dist/path.js +16 -0
  217. package/packages/identity/dist/path.js.map +1 -0
  218. package/packages/identity/dist/render.d.ts +4 -0
  219. package/packages/identity/dist/render.d.ts.map +1 -0
  220. package/packages/identity/dist/render.js +34 -0
  221. package/packages/identity/dist/render.js.map +1 -0
  222. package/packages/identity/dist/storage.d.ts +4 -0
  223. package/packages/identity/dist/storage.d.ts.map +1 -0
  224. package/packages/identity/dist/storage.js +27 -0
  225. package/packages/identity/dist/storage.js.map +1 -0
  226. package/packages/identity/dist/types.d.ts +29 -0
  227. package/packages/identity/dist/types.d.ts.map +1 -0
  228. package/packages/identity/dist/types.js +2 -0
  229. package/packages/identity/dist/types.js.map +1 -0
  230. package/packages/identity/dist/wizard.d.ts +3 -0
  231. package/packages/identity/dist/wizard.d.ts.map +1 -0
  232. package/packages/identity/dist/wizard.js +37 -0
  233. package/packages/identity/dist/wizard.js.map +1 -0
  234. package/packages/identity/package.json +21 -0
  235. package/packages/identity/test/identity.test.mjs +71 -0
  236. package/packages/identity/test/storage.test.mjs +91 -0
  237. package/packages/identity/vendor/clack-prompts/index.d.ts +10 -0
  238. package/packages/identity/vendor/clack-prompts/index.js +55 -0
  239. package/packages/identity/vendor/clack-prompts/package.json +11 -0
  240. package/packages/memory/dist/.tsbuildinfo +1 -0
  241. package/packages/memory/dist/default-store.d.ts +21 -0
  242. package/packages/memory/dist/default-store.d.ts.map +1 -0
  243. package/packages/memory/dist/default-store.js +52 -0
  244. package/packages/memory/dist/default-store.js.map +1 -0
  245. package/packages/memory/dist/embedding.d.ts +6 -0
  246. package/packages/memory/dist/embedding.d.ts.map +1 -0
  247. package/packages/memory/dist/embedding.js +56 -0
  248. package/packages/memory/dist/embedding.js.map +1 -0
  249. package/packages/memory/dist/forgetting-curve.d.ts +3 -0
  250. package/packages/memory/dist/forgetting-curve.d.ts.map +1 -0
  251. package/packages/memory/dist/forgetting-curve.js +21 -0
  252. package/packages/memory/dist/forgetting-curve.js.map +1 -0
  253. package/packages/memory/dist/index.d.ts +5 -0
  254. package/packages/memory/dist/index.d.ts.map +1 -0
  255. package/packages/memory/dist/index.js +4 -0
  256. package/packages/memory/dist/index.js.map +1 -0
  257. package/packages/memory/dist/memory-store.d.ts +39 -0
  258. package/packages/memory/dist/memory-store.d.ts.map +1 -0
  259. package/packages/memory/dist/memory-store.js +417 -0
  260. package/packages/memory/dist/memory-store.js.map +1 -0
  261. package/packages/memory/dist/sqlite.d.ts +19 -0
  262. package/packages/memory/dist/sqlite.d.ts.map +1 -0
  263. package/packages/memory/dist/sqlite.js +195 -0
  264. package/packages/memory/dist/sqlite.js.map +1 -0
  265. package/packages/memory/dist/types.d.ts +43 -0
  266. package/packages/memory/dist/types.d.ts.map +1 -0
  267. package/packages/memory/dist/types.js +2 -0
  268. package/packages/memory/dist/types.js.map +1 -0
  269. package/packages/memory/package.json +18 -0
  270. package/packages/skills/dist/.tsbuildinfo +1 -0
  271. package/packages/skills/dist/frontmatter.d.ts +3 -0
  272. package/packages/skills/dist/frontmatter.d.ts.map +1 -0
  273. package/packages/skills/dist/frontmatter.js +85 -0
  274. package/packages/skills/dist/frontmatter.js.map +1 -0
  275. package/packages/skills/dist/index.d.ts +6 -0
  276. package/packages/skills/dist/index.d.ts.map +1 -0
  277. package/packages/skills/dist/index.js +5 -0
  278. package/packages/skills/dist/index.js.map +1 -0
  279. package/packages/skills/dist/paths.d.ts +13 -0
  280. package/packages/skills/dist/paths.d.ts.map +1 -0
  281. package/packages/skills/dist/paths.js +43 -0
  282. package/packages/skills/dist/paths.js.map +1 -0
  283. package/packages/skills/dist/search.d.ts +3 -0
  284. package/packages/skills/dist/search.d.ts.map +1 -0
  285. package/packages/skills/dist/search.js +20 -0
  286. package/packages/skills/dist/search.js.map +1 -0
  287. package/packages/skills/dist/store.d.ts +8 -0
  288. package/packages/skills/dist/store.d.ts.map +1 -0
  289. package/packages/skills/dist/store.js +75 -0
  290. package/packages/skills/dist/store.js.map +1 -0
  291. package/packages/skills/dist/types.d.ts +9 -0
  292. package/packages/skills/dist/types.d.ts.map +1 -0
  293. package/packages/skills/dist/types.js +2 -0
  294. package/packages/skills/dist/types.js.map +1 -0
  295. package/packages/skills/package.json +18 -0
  296. package/skills/install-va-claw.md +180 -0
  297. package/vendor/commander/index.d.ts +16 -0
  298. package/vendor/commander/index.js +110 -0
  299. package/vendor/commander/package.json +11 -0
  300. package/vendor/croner/LICENSE +22 -0
  301. package/vendor/croner/README.md +339 -0
  302. package/vendor/croner/dist/croner.cjs +1 -0
  303. package/vendor/croner/dist/croner.d.cts +693 -0
  304. package/vendor/croner/dist/croner.d.ts +693 -0
  305. package/vendor/croner/dist/croner.js +1 -0
  306. package/vendor/croner/dist/croner.umd.js +1 -0
  307. package/vendor/croner/package.json +73 -0
  308. package/vendor/discord.js/index.d.ts +22 -0
  309. package/vendor/discord.js/index.js +37 -0
  310. package/vendor/discord.js/package.json +7 -0
  311. package/vendor/grammy/index.d.ts +43 -0
  312. package/vendor/grammy/index.js +89 -0
  313. package/vendor/grammy/package.json +7 -0
  314. package/vendor/slack-bolt/index.d.ts +29 -0
  315. package/vendor/slack-bolt/index.js +72 -0
  316. package/vendor/slack-bolt/package.json +7 -0
@@ -0,0 +1,116 @@
1
+ import { Command } from "commander";
2
+ import { createDefaultCliDeps } from "./deps.js";
3
+ import { runInstall, runDiscordSetup, runDiscordStart, runDiscordStatus, runMemoryClear, runMemoryConsolidate, runMemoryList, runMemoryReflect, runMemoryGet, runMemoryForget, runMemorySearch, runMemoryMemorize, runMemoryRecall, runMemoryUpdate, runSkillAdd, runSkillList, runSkillRemove, runSkillShow, runStart, runStatus, runStop, runUninstall, } from "./handlers.js";
4
+ import { runSlackChannelSetup as runSlackSetup, runSlackChannelStart as runSlackStart, runSlackChannelStatus as runSlackStatus, runTelegramChannelSetup as runTelegramSetup, runTelegramChannelStart as runTelegramStart, runTelegramChannelStatus as runTelegramStatus, } from "./channel-handlers.js";
5
+ export function createCliProgram(deps = createDefaultCliDeps()) {
6
+ const program = new Command("va-claw");
7
+ program.description("va-claw CLI");
8
+ program.showHelpAfterError();
9
+ program
10
+ .command("install")
11
+ .description("Install va-claw config, prompt injections, and daemon service.")
12
+ .option("--for <target>", "claude-code | codex | all", "all")
13
+ .action(async (options) => runInstall((options.for ?? "all"), deps));
14
+ program.command("start").description("Start the daemon in the foreground.").action(async () => runStart(deps));
15
+ program.command("stop").description("Stop the daemon.").action(async () => runStop(deps));
16
+ program.command("status").description("Show daemon and memory status.").action(async () => runStatus(deps));
17
+ program.command("uninstall").description("Remove daemon service and injected prompts.").action(async () => runUninstall(deps));
18
+ const memory = program.command("memory").description("Memory operations.");
19
+ memory
20
+ .command("search")
21
+ .description("Search memory.")
22
+ .argument("<query>")
23
+ .action(async (query) => runMemorySearch(query, deps));
24
+ memory
25
+ .command("memorize")
26
+ .description("Store or update a memory entry by key.")
27
+ .argument("<key>")
28
+ .argument("<essence>")
29
+ .option("--tags <tags>", "Comma-separated tags.")
30
+ .option("--details <details>", "Details text.")
31
+ .option("--importance <importance>", "Importance from 0 to 1.")
32
+ .action((key, essence, options) => runMemoryMemorize(key, essence, options, deps));
33
+ memory
34
+ .command("get")
35
+ .description("Get a memory entry by key.")
36
+ .argument("<key>")
37
+ .action(async (key) => runMemoryGet(key, deps));
38
+ memory
39
+ .command("update")
40
+ .description("Update a memory entry by key.")
41
+ .argument("<key>")
42
+ .option("--essence <essence>", "Replace essence text.")
43
+ .option("--tags <tags>", "Comma-separated tags.")
44
+ .option("--importance <importance>", "Importance from 0 to 1.")
45
+ .option("--details <details>", "Replace details text.")
46
+ .action((key, options) => runMemoryUpdate(key, options, deps));
47
+ memory.command("list").description("List recent memory entries.").action(async () => runMemoryList(deps));
48
+ memory
49
+ .command("forget")
50
+ .description("Forget a memory by key.")
51
+ .argument("<key>")
52
+ .action(async (key) => runMemoryForget(key, deps));
53
+ memory
54
+ .command("recall")
55
+ .description("Recall memories by query.")
56
+ .argument("<query>")
57
+ .option("--limit <limit>", "Max results.")
58
+ .action((query, options) => runMemoryRecall(query, options.limit ? Number(options.limit) : 5, deps));
59
+ memory.command("consolidate").description("Consolidate memory store.").action(async () => runMemoryConsolidate(deps));
60
+ memory.command("reflect").description("Reflect memory map grouped by tags.").action(async () => runMemoryReflect(deps));
61
+ memory.command("clear").description("Clear all memory entries.").action(async () => runMemoryClear(deps));
62
+ const skill = program.command("skill").description("Skill operations.");
63
+ skill.command("list").description("List installed and project skills.").action(async () => runSkillList(deps));
64
+ skill
65
+ .command("add")
66
+ .description("Install a skill from a local Markdown file.")
67
+ .argument("<path-or-url>")
68
+ .action(async (pathOrUrl) => runSkillAdd(pathOrUrl, deps));
69
+ skill
70
+ .command("remove")
71
+ .description("Remove an installed skill by name.")
72
+ .argument("<name>")
73
+ .action(async (name) => runSkillRemove(name, deps));
74
+ skill
75
+ .command("show")
76
+ .description("Show the raw Markdown content for a skill.")
77
+ .argument("<name>")
78
+ .action(async (name) => runSkillShow(name, deps));
79
+ const channel = program.command("channel").description("Channel operations.");
80
+ const discord = channel.command("discord").description("Discord channel operations.");
81
+ discord.command("setup").description("Configure Discord bot credentials.").action(async () => runDiscordSetup(deps));
82
+ discord.command("start").description("Start the Discord channel in the foreground.").action(async () => runDiscordStart(deps));
83
+ discord.command("status").description("Show Discord channel status.").action(async () => runDiscordStatus(deps));
84
+ const telegram = channel.command("telegram").description("Telegram channel operations.");
85
+ telegram
86
+ .command("setup")
87
+ .description("Configure Telegram bot credentials.")
88
+ .option("--token <token>", "Telegram bot token")
89
+ .option("--cli-command <command>", "CLI command to invoke for each message")
90
+ .action(async (options) => runTelegramSetup(options.token, options.cliCommand, deps));
91
+ telegram.command("start").description("Start the Telegram channel in the foreground.").action(async () => runTelegramStart(deps));
92
+ telegram.command("status").description("Show Telegram channel status.").action(async () => runTelegramStatus(deps));
93
+ const slack = channel.command("slack").description("Slack channel operations.");
94
+ slack
95
+ .command("setup")
96
+ .description("Configure Slack bot credentials.")
97
+ .option("--bot-token <token>", "Slack bot token")
98
+ .option("--app-token <token>", "Slack app token")
99
+ .option("--cli-command <command>", "CLI command to invoke for each message")
100
+ .action(async (options) => runSlackSetup(options.botToken, options.appToken, options.cliCommand, deps));
101
+ slack.command("start").description("Start the Slack channel in the foreground.").action(async () => runSlackStart(deps));
102
+ slack.command("status").description("Show Slack channel status.").action(async () => runSlackStatus(deps));
103
+ return program;
104
+ }
105
+ export async function runCli(argv = process.argv, deps) {
106
+ const program = createCliProgram(deps ?? createDefaultCliDeps());
107
+ try {
108
+ await program.parseAsync(argv);
109
+ }
110
+ catch (error) {
111
+ const message = error instanceof Error ? error.message : String(error);
112
+ (deps ?? createDefaultCliDeps()).stderr.write(`${message}\n`);
113
+ process.exitCode = 1;
114
+ }
115
+ }
116
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { VaClawConfig } from "@va-claw/daemon";
2
+ import type { CliDeps } from "./types.js";
3
+ export declare const TEST_CONFIG: VaClawConfig;
4
+ export declare function createTestDeps(overrides?: Partial<CliDeps>): CliDeps & {
5
+ output: () => string;
6
+ };
7
+ //# sourceMappingURL=test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKlE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,YAuBzB,CAAC;AAEF,wBAAgB,cAAc,CAAC,SAAS,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,MAAM,CAAA;CAAE,CAkEnG"}
@@ -0,0 +1,91 @@
1
+ import { spawnSync } from "node:child_process";
2
+ import { createDefaultCliDeps } from "./deps.js";
3
+ export const TEST_CONFIG = {
4
+ name: "Nova",
5
+ persona: "Precise and calm.",
6
+ systemPrompt: "Act with continuity.",
7
+ wakePrompt: "Load memory first.",
8
+ loopInterval: "*/15 * * * *",
9
+ channels: {
10
+ discord: {
11
+ token: "",
12
+ clientId: "",
13
+ cliCommand: "",
14
+ autoStart: false,
15
+ },
16
+ telegram: {
17
+ token: "",
18
+ cliCommand: "",
19
+ },
20
+ slack: {
21
+ botToken: "",
22
+ appToken: "",
23
+ cliCommand: "",
24
+ },
25
+ },
26
+ };
27
+ export function createTestDeps(overrides = {}) {
28
+ let output = "";
29
+ const stream = {
30
+ write(chunk) {
31
+ output += chunk;
32
+ return true;
33
+ },
34
+ };
35
+ const base = createDefaultCliDeps();
36
+ return {
37
+ ...base,
38
+ claudePath: "/tmp/claude.md",
39
+ codexPath: "/tmp/instructions.md",
40
+ configPath: "/tmp/config.json",
41
+ memoryDbPath: "/tmp/memory.db",
42
+ platform: "linux",
43
+ spawnSync: overrides.spawnSync ?? ((command, args, options) => spawnSync(command, args, options)),
44
+ stdout: stream,
45
+ stderr: stream,
46
+ fileExists: overrides.fileExists ?? (async () => false),
47
+ loadIdentity: overrides.loadIdentity ?? (async () => TEST_CONFIG),
48
+ saveIdentity: overrides.saveIdentity ?? (async () => { }),
49
+ runInstallWizard: overrides.runInstallWizard ?? (async () => TEST_CONFIG),
50
+ installDaemonService: overrides.installDaemonService ?? (async () => { }),
51
+ uninstallDaemonService: overrides.uninstallDaemonService ?? (async () => { }),
52
+ startDaemon: overrides.startDaemon ?? (async () => { }),
53
+ stopDaemon: overrides.stopDaemon ?? (async () => { }),
54
+ getDaemonStatus: overrides.getDaemonStatus ??
55
+ (async () => ({ running: false, wakeCount: 0, discord: "disconnected" })),
56
+ memorySearch: overrides.memorySearch ?? (async () => []),
57
+ memoryMemorize: overrides.memoryMemorize ?? (async () => ({ id: "id", key: "key", text: "", essence: "", tags: [], triggerConditions: [], importance: 0.5, strength: 1, decayTau: 86400000, accessCount: 0, metadata: null, createdAt: "", updatedAt: "" })),
58
+ memoryGet: overrides.memoryGet ?? (async () => undefined),
59
+ memoryUpdate: overrides.memoryUpdate ?? (async () => undefined),
60
+ memoryForget: overrides.memoryForget ?? (async () => false),
61
+ memoryRecall: overrides.memoryRecall ?? (async () => []),
62
+ memoryConsolidate: overrides.memoryConsolidate ?? (async () => ({ forgotten: 0, strengthened: 0, total: 0, potentialDuplicates: [] })),
63
+ memoryReflect: overrides.memoryReflect ?? (async () => ""),
64
+ memoryCount: overrides.memoryCount ?? (async () => 0),
65
+ memoryList: overrides.memoryList ?? (async () => []),
66
+ memoryClear: overrides.memoryClear ?? (async () => { }),
67
+ startTelegramChannel: overrides.startTelegramChannel ??
68
+ (async () => ({ bot: {}, cliCommand: "va-claw", token: "" })),
69
+ stopTelegramChannel: overrides.stopTelegramChannel ?? (async () => { }),
70
+ startSlackChannel: overrides.startSlackChannel ??
71
+ (async () => ({ app: {}, appToken: "", botToken: "", cliCommand: "va-claw" })),
72
+ stopSlackChannel: overrides.stopSlackChannel ?? (async () => { }),
73
+ readTextFile: overrides.readTextFile ?? (async () => ""),
74
+ skillInstall: overrides.skillInstall ?? (async () => "/tmp/my-skill.md"),
75
+ skillList: overrides.skillList ?? (async () => []),
76
+ skillLoad: overrides.skillLoad ?? (async () => ({
77
+ name: "my-skill",
78
+ description: "Test skill",
79
+ version: "1.0.0",
80
+ triggers: ["test"],
81
+ content: "Test content",
82
+ path: "/tmp/my-skill.md",
83
+ })),
84
+ skillRemove: overrides.skillRemove ?? (async () => { }),
85
+ confirm: overrides.confirm ?? (async () => true),
86
+ prompt: overrides.prompt ?? (async (_message, initialValue = "") => initialValue),
87
+ ...overrides,
88
+ output: () => output,
89
+ };
90
+ }
91
+ //# sourceMappingURL=test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import type { SlackChannel, StartSlackChannelConfig, StartTelegramChannelConfig, TelegramChannel } from "../../channels/dist/index.js";
2
+ import type { DaemonStatus, ServiceType, VaClawConfig } from "@va-claw/daemon";
3
+ import type { MemoryEntry } from "@va-claw/memory";
4
+ import type { SkillDefinition } from "../../skills/dist/index.js";
5
+ export type InstallTarget = "claude-code" | "codex" | "all";
6
+ export type MarkerPair = {
7
+ start: string;
8
+ end: string;
9
+ };
10
+ export type OutputStream = {
11
+ write(chunk: string): boolean;
12
+ };
13
+ export type SpawnResult = {
14
+ status: number | null;
15
+ stdout: string;
16
+ stderr: string;
17
+ };
18
+ export type SpawnFn = (command: string, args: string[], options?: {
19
+ encoding: "utf8";
20
+ }) => SpawnResult;
21
+ export type CliDeps = {
22
+ claudePath: string;
23
+ codexPath: string;
24
+ configPath: string;
25
+ memoryDbPath: string;
26
+ platform: NodeJS.Platform;
27
+ spawnSync: SpawnFn;
28
+ stdout: OutputStream;
29
+ stderr: OutputStream;
30
+ fileExists: (path: string) => Promise<boolean>;
31
+ readTextFile: (path: string) => Promise<string>;
32
+ upsertManagedBlock: (path: string, block: string, markers: MarkerPair) => Promise<void>;
33
+ removeManagedBlock: (path: string, markers: MarkerPair) => Promise<void>;
34
+ wrapCodexPrompt: (prompt: string) => string;
35
+ loadIdentity: () => Promise<VaClawConfig>;
36
+ saveIdentity: (config: VaClawConfig) => Promise<void>;
37
+ runInstallWizard: () => Promise<VaClawConfig>;
38
+ toClaudeMdSnippet: (config: VaClawConfig) => string;
39
+ toCodexSystemPrompt: (config: VaClawConfig) => string;
40
+ installDaemonService: (type: ServiceType) => Promise<void>;
41
+ uninstallDaemonService: (type: ServiceType) => Promise<void>;
42
+ startDaemon: (config: VaClawConfig) => Promise<void>;
43
+ stopDaemon: () => Promise<void>;
44
+ getDaemonStatus: () => Promise<DaemonStatus>;
45
+ memorySearch: (query: string, limit: number) => Promise<MemoryEntry[]>;
46
+ memoryMemorize: (key: string, essence: string, options: {
47
+ tags?: string[];
48
+ details?: string;
49
+ importance?: number;
50
+ }) => Promise<MemoryEntry>;
51
+ memoryGet: (key: string) => Promise<MemoryEntry | undefined>;
52
+ memoryUpdate: (key: string, changes: {
53
+ essence?: string;
54
+ tags?: string[];
55
+ details?: string;
56
+ triggerConditions?: string[];
57
+ importance?: number;
58
+ }) => Promise<MemoryEntry | undefined>;
59
+ memoryForget: (key: string) => Promise<boolean>;
60
+ memoryRecall: (query: string, limit: number) => Promise<MemoryEntry[]>;
61
+ memoryConsolidate: () => Promise<{
62
+ forgotten: number;
63
+ strengthened: number;
64
+ total: number;
65
+ potentialDuplicates: [string, string][];
66
+ }>;
67
+ memoryReflect: () => Promise<string>;
68
+ memoryCount: () => Promise<number>;
69
+ memoryList: (limit: number) => Promise<MemoryEntry[]>;
70
+ memoryClear: () => Promise<void>;
71
+ startTelegramChannel: (config: StartTelegramChannelConfig) => Promise<TelegramChannel>;
72
+ stopTelegramChannel: (channel: TelegramChannel) => Promise<void>;
73
+ startSlackChannel: (config: StartSlackChannelConfig) => Promise<SlackChannel>;
74
+ stopSlackChannel: (channel: SlackChannel) => Promise<void>;
75
+ skillInstall: (content: string, name: string) => Promise<string>;
76
+ skillList: (dir?: string) => Promise<SkillDefinition[]>;
77
+ skillLoad: (nameOrPath: string) => Promise<SkillDefinition>;
78
+ skillRemove: (name: string) => Promise<void>;
79
+ confirm: (message: string) => Promise<boolean>;
80
+ prompt: (message: string, initialValue?: string) => Promise<string>;
81
+ };
82
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function waitForStopSignal(stop: () => Promise<void>): Promise<void>;
2
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BhF"}
@@ -0,0 +1,25 @@
1
+ export async function waitForStopSignal(stop) {
2
+ await new Promise((resolve, reject) => {
3
+ let stopping = false;
4
+ const cleanup = () => {
5
+ process.off("SIGINT", onSignal);
6
+ process.off("SIGTERM", onSignal);
7
+ };
8
+ const onSignal = () => {
9
+ if (stopping) {
10
+ return;
11
+ }
12
+ stopping = true;
13
+ void stop().then(() => {
14
+ cleanup();
15
+ resolve();
16
+ }, (error) => {
17
+ cleanup();
18
+ reject(error);
19
+ });
20
+ };
21
+ process.on("SIGINT", onSignal);
22
+ process.on("SIGTERM", onSignal);
23
+ });
24
+ }
25
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAyB;IAC/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,IAAI,EAAE,CAAC,IAAI,CACd,GAAG,EAAE;gBACH,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;gBACjB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@va-claw/cli",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "bin": {
7
+ "va-claw": "./dist/bin/va-claw.mjs"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "scripts": {
12
+ "build": "pnpm --filter @va-claw/memory build && pnpm --filter @va-claw/identity build && pnpm --filter @va-claw/skills build && pnpm --filter @va-claw/daemon build && pnpm --filter @va-claw/channels build && tsc -b",
13
+ "test": "pnpm run build && node --test dist/*.test.js"
14
+ },
15
+ "dependencies": {
16
+ "@va-claw/channels": "workspace:*",
17
+ "@va-claw/daemon": "workspace:*",
18
+ "@va-claw/identity": "workspace:*",
19
+ "@va-claw/memory": "workspace:*",
20
+ "@va-claw/skills": "workspace:*",
21
+ "commander": "file:../../vendor/commander"
22
+ },
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "default": "./dist/index.js"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typescript@file+vendor+typescript/node_modules/typescript/lib/lib.es2022.full.d.ts","../src/cli-adapter.ts","../src/cli-adapter.test.ts","../../../node_modules/.pnpm/croner@file+vendor+croner/node_modules/croner/dist/croner.d.ts","../../identity/dist/types.d.ts","../../identity/dist/path.d.ts","../../identity/dist/storage.d.ts","../../identity/dist/render.d.ts","../../identity/dist/wizard.d.ts","../../identity/dist/index.d.ts","../src/types.ts","../../memory/dist/types.d.ts","../../memory/dist/memory-store.d.ts","../../memory/dist/default-store.d.ts","../../memory/dist/index.d.ts","../../skills/dist/types.d.ts","../../skills/dist/frontmatter.d.ts","../../skills/dist/paths.d.ts","../../skills/dist/search.d.ts","../../skills/dist/store.d.ts","../../skills/dist/index.d.ts","../src/wake-cycle.ts","../src/runtime.ts","../src/service-files.ts","../src/service.ts","../src/index.ts","../src/node-shims.d.ts","../src/runner.ts","../src/runtime.test.ts","../src/service-files.test.ts","../src/wake-cycle.test.ts"],"fileIdsList":[[64,89],[89],[64,73,85,87],[72,85],[73,85,89],[66,73,84],[86,89],[73,89],[73,86,89],[72],[73,84,89],[64,73,77,83,89],[67,68,69,70,71],[67],[74,75],[74,75,76],[74],[78],[78,79,80,81,82]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"a0f04e25273cbc06417494cbcc5bfc44ece46360e81614e436435f66fa1b092a","signature":"9a8fe5579089e53ca02b72e9eaf63dddc327a90f6ad386bf67d160aa4b40eb54","impliedFormat":99},{"version":"6d4453a90caae05ff37a6173aa5d165ecbd5799abfdce3e8189815a217cdd5fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"1136376b82d89db60df9b74d647f7f4047599339d555a609da9310c154323bf0","impliedFormat":99},{"version":"c482a05324bdb183855141754506b813194543afd068d934f4797c4a0299c67a","impliedFormat":99},{"version":"0c97e331361352bccfa2d24e2e46625953a190534cf16e8e566b9a84e07b12ff","impliedFormat":99},{"version":"7fbec62b38299205ec520f27fc18ab5315733001fb166a2523f32bd856fafea8","impliedFormat":99},{"version":"7c5ed18df40661edfa1151e3002efde32b1cdf16818ba650fc1b55427274b020","impliedFormat":99},{"version":"184e07268b0c62bc9585ef90c2fb3971dd033e9a9d6b857768ecd5417a92d8ab","impliedFormat":99},{"version":"fe19936f3b0e52495d441d5de9b5b00acb8816cd8d9db7523dd388dc9978ff3b","impliedFormat":99},{"version":"f03d17c06027ec22dd11a92fa616bc37f4022e24a074c72d88540bb9683c2b34","signature":"b7b187dabcced7b1b0ff443ce65ab334cec0cebe177f42fbb049852660e85d91","impliedFormat":99},{"version":"7a6109a4cbae505cc19feb1c6ed74a42d5d125217c9ff7a80374bc7ae6f7efde","impliedFormat":99},{"version":"82998ed0ea5883227c209eda2b76fdfb2c35992e091268acf7d3aee8cf28ca1d","impliedFormat":99},{"version":"e7f5a189cf8c67cbbcb5b7fc23ef8b173609a70764ae3472973bf530a7e08ee0","impliedFormat":99},{"version":"4f36595b4ab547ace01ea616f32796a872c7a65a4be23afca2edbc896fc805f2","impliedFormat":99},{"version":"a7e24482fe91c3f8ee714141e552ec46da00129f405dc05172a467560171c8ba","impliedFormat":99},{"version":"1be3b35db0b3cc52c6ddbb0856d8bfefafcab55da493bd3a9baa1c11ea0aeac0","impliedFormat":99},{"version":"caaebf12b13b193a309b7e8b7d4a89b98e7f9443c2d6d43c05deb638a0794d41","impliedFormat":99},{"version":"cf987a22822823e5c4e5302c2008278f43de9510a59d0f1db1ca4bd69536c163","impliedFormat":99},{"version":"e576d668e2144c66277fd699ba021651e295acee67536dd9221213635de3c8f7","impliedFormat":99},{"version":"fa8bbdfa2d8652b546fbce728339f5c0ab018fad464ad67ee139c4f696b221bd","impliedFormat":99},{"version":"02bde22d1461e321beb67b01067ead56ef6ecebae37557eb899b4cf28fed5658","signature":"3a72032350313b9046e7148d1278c24c542c98ba2e2530a284a77c18100df9b2","impliedFormat":99},{"version":"52aee861d144714ca2a9d8cae51a44400ef78da811a4583d48d82fae13804ccc","signature":"3f50eb2387269096a4bbf8d14acb44eeba45c0a1004a066b377f8a2f355d0602","impliedFormat":99},{"version":"a7e60c60c287845b244e2f58139c7404626a3e18acd311b2a08f00e54cc98057","signature":"aa04f2d0d476760443bd2b89e4000e1a4d1cb9e285f5d00ab687d2bd5b997f55","impliedFormat":99},{"version":"109d97fd0a169251a0a87278ffda37077c7cfad4a94c3bb28a76c00ca1e99773","signature":"e3d37c73f00588d90a161cc3f92883fd983a5d362662bdbc0806e2b7217a5460","impliedFormat":99},{"version":"d4b4acb0f93b68d2d3774ee6282b3fb3b8f2b862109d75323e6c027ffc0363ca","signature":"37c109122af17ca1520cae25912ca61aef54369a4792f736cff1f76ce575cc5f","impliedFormat":99},{"version":"54a50af3255e976fde125efcd882e636b3eba92f031f4bf3b3bd73b82f948dfb","affectsGlobalScope":true,"impliedFormat":99},{"version":"22d22d3a2b7653bf805f0cbf89197fbd795b47b03a866f4182fb541fcd32fcf2","signature":"a9f87c7af683ae4973d031e768f5b5ea39c3c4c543a550a513296b6997a32124","impliedFormat":99},{"version":"6c7b6e4e890e1ceee4545bf1cb79cabcb990025c612a85c9db8a2627d361136a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"e7940a45ebd5a4155a91648e9c88511ff0bb78fe0f6edf8492bcb9b6636ff00c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"bd7840112cbca58955a61a821062304411f5e93c91db1bddeba16fed60c449ca","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99}],"root":[64,65,73,[84,93]],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":199,"noEmitOnError":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[65,1],[64,2],[88,3],[90,4],[91,5],[85,6],[92,7],[86,8],[87,9],[73,10],[93,11],[84,12],[72,13],[70,14],[69,14],[71,14],[76,15],[77,16],[75,17],[79,18],[83,19],[81,18],[82,18]],"latestChangedDtsFile":"./service-files.test.d.ts","version":"5.9.3"}
@@ -0,0 +1,14 @@
1
+ export type CliAdapter = {
2
+ name: string;
3
+ command: string;
4
+ args: string[];
5
+ };
6
+ type CliDeps = {
7
+ env?: Record<string, string | undefined>;
8
+ runWhich?: (command: string) => string | null;
9
+ warn?: (message: string) => void;
10
+ };
11
+ export declare function detectCliAdapter(deps?: CliDeps): Promise<CliAdapter | null>;
12
+ export declare function whichCommandExists(command: string): string | null;
13
+ export {};
14
+ //# sourceMappingURL=cli-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAKF,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgBrF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjE"}
@@ -0,0 +1,30 @@
1
+ import { spawnSync } from "node:child_process";
2
+ const DEFAULT_WARN = (message) => console.warn(message);
3
+ const CLI_CANDIDATES = ["claude-copilot", "claude", "codex"];
4
+ export async function detectCliAdapter(deps = {}) {
5
+ const runWhich = deps.runWhich ?? whichCommandExists;
6
+ const configuredCommand = readEnv(deps.env).VA_CLAW_CLI?.trim();
7
+ if (configuredCommand) {
8
+ return toCliAdapter(configuredCommand, configuredCommand);
9
+ }
10
+ for (const name of CLI_CANDIDATES) {
11
+ const command = runWhich(name);
12
+ if (command) {
13
+ return toCliAdapter(name, command);
14
+ }
15
+ }
16
+ (deps.warn ?? DEFAULT_WARN)("[va-claw/daemon] no supported CLI is available in PATH; skipping wake.");
17
+ return null;
18
+ }
19
+ export function whichCommandExists(command) {
20
+ const result = spawnSync("which", [command], { encoding: "utf8" });
21
+ const resolved = typeof result.stdout === "string" ? result.stdout.trim() : "";
22
+ return result.status === 0 && resolved !== "" ? resolved : null;
23
+ }
24
+ function toCliAdapter(name, command) {
25
+ return { name, command, args: name === "codex" ? ["exec", "--full-auto"] : ["-p"] };
26
+ }
27
+ function readEnv(env) {
28
+ return env ?? (process.env ?? {});
29
+ }
30
+ //# sourceMappingURL=cli-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-adapter.js","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAgB,EAAE;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC;IACrD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,CACzB,wEAAwE,CACzE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,OAAO,CAAC,GAAwC;IACvD,OAAO,GAAG,IAAI,CAAE,OAAyE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AACvG,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { detectCliAdapter, whichCommandExists } from "./cli-adapter.js";
2
+ export { getDaemonStatus, resetRuntimeDepsForTests, setRuntimeDepsForTests, startDaemon, stopDaemon, } from "./runtime.js";
3
+ export { installDaemonService, uninstallDaemonService } from "./service.js";
4
+ export type { DaemonStatus, ServiceType, VaClawConfig } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { detectCliAdapter, whichCommandExists } from "./cli-adapter.js";
2
+ export { getDaemonStatus, resetRuntimeDepsForTests, setRuntimeDepsForTests, startDaemon, stopDaemon, } from "./runtime.js";
3
+ export { installDaemonService, uninstallDaemonService } from "./service.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runDaemonProcess(): Promise<void>;
2
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAetD"}
@@ -0,0 +1,18 @@
1
+ import { loadIdentity } from "../../identity/dist/index.js";
2
+ import { startDaemon, stopDaemon } from "./runtime.js";
3
+ export async function runDaemonProcess() {
4
+ const config = await loadIdentity();
5
+ await startDaemon(config);
6
+ const shutdown = async () => {
7
+ await stopDaemon();
8
+ process.exit(0);
9
+ };
10
+ process.on("SIGINT", () => {
11
+ void shutdown();
12
+ });
13
+ process.on("SIGTERM", () => {
14
+ void shutdown();
15
+ });
16
+ }
17
+ await runDaemonProcess();
18
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,KAAK,QAAQ,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,KAAK,QAAQ,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { DaemonStatus, DiscordRuntimeStatus, VaClawConfig } from "./types.js";
2
+ type SchedulerHandle = {
3
+ stop(): void;
4
+ };
5
+ type DiscordStarter = {
6
+ status(): DiscordRuntimeStatus;
7
+ stop(): Promise<void>;
8
+ };
9
+ type RuntimeDeps = {
10
+ createScheduler: (pattern: string, onTick: () => Promise<void>) => SchedulerHandle;
11
+ startDiscord: (config: {
12
+ token: string;
13
+ clientId: string;
14
+ cliCommand?: string;
15
+ }) => Promise<DiscordStarter>;
16
+ wake: (config: VaClawConfig) => Promise<Date | null>;
17
+ };
18
+ export declare function startDaemon(config: VaClawConfig): Promise<void>;
19
+ export declare function stopDaemon(): Promise<void>;
20
+ export declare function getDaemonStatus(): Promise<DaemonStatus>;
21
+ export declare function setRuntimeDepsForTests(deps: Partial<RuntimeDeps>): void;
22
+ export declare function resetRuntimeDepsForTests(): void;
23
+ export {};
24
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGnF,KAAK,eAAe,GAAG;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAAC;AACxC,KAAK,cAAc,GAAG;IACpB,MAAM,IAAI,oBAAoB,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC;IACnF,YAAY,EAAE,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACtD,CAAC;AAgCF,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrE;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAKhD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAO7D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAEvE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAoB/C"}