@doist/comms-cli 0.0.1 → 1.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 (442) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +165 -29
  3. package/dist/commands/account/index.d.ts +3 -0
  4. package/dist/commands/account/index.d.ts.map +1 -0
  5. package/dist/commands/account/index.js +104 -0
  6. package/dist/commands/account/index.js.map +1 -0
  7. package/dist/commands/auth/helpers.d.ts +22 -0
  8. package/dist/commands/auth/helpers.d.ts.map +1 -0
  9. package/dist/commands/auth/helpers.js +29 -0
  10. package/dist/commands/auth/helpers.js.map +1 -0
  11. package/dist/commands/auth/index.d.ts +3 -0
  12. package/dist/commands/auth/index.d.ts.map +1 -0
  13. package/dist/commands/auth/index.js +32 -0
  14. package/dist/commands/auth/index.js.map +1 -0
  15. package/dist/commands/auth/login.d.ts +4 -0
  16. package/dist/commands/auth/login.d.ts.map +1 -0
  17. package/dist/commands/auth/login.js +29 -0
  18. package/dist/commands/auth/login.js.map +1 -0
  19. package/dist/commands/auth/logout.d.ts +11 -0
  20. package/dist/commands/auth/logout.d.ts.map +1 -0
  21. package/dist/commands/auth/logout.js +16 -0
  22. package/dist/commands/auth/logout.js.map +1 -0
  23. package/dist/commands/auth/status.d.ts +16 -0
  24. package/dist/commands/auth/status.d.ts.map +1 -0
  25. package/dist/commands/auth/status.js +102 -0
  26. package/dist/commands/auth/status.js.map +1 -0
  27. package/dist/commands/auth/store-wrap.d.ts +4 -0
  28. package/dist/commands/auth/store-wrap.d.ts.map +1 -0
  29. package/dist/commands/auth/store-wrap.js +24 -0
  30. package/dist/commands/auth/store-wrap.js.map +1 -0
  31. package/dist/commands/auth/token.d.ts +2 -0
  32. package/dist/commands/auth/token.d.ts.map +1 -0
  33. package/dist/commands/auth/token.js +56 -0
  34. package/dist/commands/auth/token.js.map +1 -0
  35. package/dist/commands/changelog.d.ts +3 -0
  36. package/dist/commands/changelog.d.ts.map +1 -0
  37. package/dist/commands/changelog.js +16 -0
  38. package/dist/commands/changelog.js.map +1 -0
  39. package/dist/commands/channel/add.d.ts +3 -0
  40. package/dist/commands/channel/add.d.ts.map +1 -0
  41. package/dist/commands/channel/add.js +5 -0
  42. package/dist/commands/channel/add.js.map +1 -0
  43. package/dist/commands/channel/create.d.ts +11 -0
  44. package/dist/commands/channel/create.d.ts.map +1 -0
  45. package/dist/commands/channel/create.js +35 -0
  46. package/dist/commands/channel/create.js.map +1 -0
  47. package/dist/commands/channel/helpers.d.ts +9 -0
  48. package/dist/commands/channel/helpers.d.ts.map +1 -0
  49. package/dist/commands/channel/helpers.js +51 -0
  50. package/dist/commands/channel/helpers.js.map +1 -0
  51. package/dist/commands/channel/index.d.ts +3 -0
  52. package/dist/commands/channel/index.d.ts.map +1 -0
  53. package/dist/commands/channel/index.js +181 -0
  54. package/dist/commands/channel/index.js.map +1 -0
  55. package/dist/commands/channel/list.d.ts +8 -0
  56. package/dist/commands/channel/list.d.ts.map +1 -0
  57. package/dist/commands/channel/list.js +144 -0
  58. package/dist/commands/channel/list.js.map +1 -0
  59. package/dist/commands/channel/members.d.ts +5 -0
  60. package/dist/commands/channel/members.d.ts.map +1 -0
  61. package/dist/commands/channel/members.js +57 -0
  62. package/dist/commands/channel/members.js.map +1 -0
  63. package/dist/commands/channel/membership-helpers.d.ts +20 -0
  64. package/dist/commands/channel/membership-helpers.d.ts.map +1 -0
  65. package/dist/commands/channel/membership-helpers.js +125 -0
  66. package/dist/commands/channel/membership-helpers.js.map +1 -0
  67. package/dist/commands/channel/remove.d.ts +3 -0
  68. package/dist/commands/channel/remove.d.ts.map +1 -0
  69. package/dist/commands/channel/remove.js +5 -0
  70. package/dist/commands/channel/remove.js.map +1 -0
  71. package/dist/commands/channel/set.d.ts +7 -0
  72. package/dist/commands/channel/set.d.ts.map +1 -0
  73. package/dist/commands/channel/set.js +79 -0
  74. package/dist/commands/channel/set.js.map +1 -0
  75. package/dist/commands/channel/threads.d.ts +11 -0
  76. package/dist/commands/channel/threads.d.ts.map +1 -0
  77. package/dist/commands/channel/threads.js +100 -0
  78. package/dist/commands/channel/threads.js.map +1 -0
  79. package/dist/commands/channel/update.d.ts +12 -0
  80. package/dist/commands/channel/update.d.ts.map +1 -0
  81. package/dist/commands/channel/update.js +84 -0
  82. package/dist/commands/channel/update.js.map +1 -0
  83. package/dist/commands/comment/delete.d.ts +5 -0
  84. package/dist/commands/comment/delete.d.ts.map +1 -0
  85. package/dist/commands/comment/delete.js +33 -0
  86. package/dist/commands/comment/delete.js.map +1 -0
  87. package/dist/commands/comment/index.d.ts +3 -0
  88. package/dist/commands/comment/index.d.ts.map +1 -0
  89. package/dist/commands/comment/index.js +49 -0
  90. package/dist/commands/comment/index.js.map +1 -0
  91. package/dist/commands/comment/update.d.ts +5 -0
  92. package/dist/commands/comment/update.d.ts.map +1 -0
  93. package/dist/commands/comment/update.js +37 -0
  94. package/dist/commands/comment/update.js.map +1 -0
  95. package/dist/commands/comment/view.d.ts +3 -0
  96. package/dist/commands/comment/view.d.ts.map +1 -0
  97. package/dist/commands/comment/view.js +31 -0
  98. package/dist/commands/comment/view.js.map +1 -0
  99. package/dist/commands/completion/helpers.d.ts +14 -0
  100. package/dist/commands/completion/helpers.d.ts.map +1 -0
  101. package/dist/commands/completion/helpers.js +37 -0
  102. package/dist/commands/completion/helpers.js.map +1 -0
  103. package/dist/commands/completion/index.d.ts +3 -0
  104. package/dist/commands/completion/index.d.ts.map +1 -0
  105. package/dist/commands/completion/index.js +22 -0
  106. package/dist/commands/completion/index.js.map +1 -0
  107. package/dist/commands/completion/install.d.ts +2 -0
  108. package/dist/commands/completion/install.d.ts.map +1 -0
  109. package/dist/commands/completion/install.js +19 -0
  110. package/dist/commands/completion/install.js.map +1 -0
  111. package/dist/commands/completion/server.d.ts +3 -0
  112. package/dist/commands/completion/server.d.ts.map +1 -0
  113. package/dist/commands/completion/server.js +35 -0
  114. package/dist/commands/completion/server.js.map +1 -0
  115. package/dist/commands/completion/uninstall.d.ts +2 -0
  116. package/dist/commands/completion/uninstall.d.ts.map +1 -0
  117. package/dist/commands/completion/uninstall.js +19 -0
  118. package/dist/commands/completion/uninstall.js.map +1 -0
  119. package/dist/commands/config/index.d.ts +3 -0
  120. package/dist/commands/config/index.d.ts.map +1 -0
  121. package/dist/commands/config/index.js +29 -0
  122. package/dist/commands/config/index.js.map +1 -0
  123. package/dist/commands/config/set.d.ts +3 -0
  124. package/dist/commands/config/set.d.ts.map +1 -0
  125. package/dist/commands/config/set.js +41 -0
  126. package/dist/commands/config/set.js.map +1 -0
  127. package/dist/commands/config/view.d.ts +6 -0
  128. package/dist/commands/config/view.d.ts.map +1 -0
  129. package/dist/commands/config/view.js +121 -0
  130. package/dist/commands/config/view.js.map +1 -0
  131. package/dist/commands/conversation/done.d.ts +3 -0
  132. package/dist/commands/conversation/done.d.ts.map +1 -0
  133. package/dist/commands/conversation/done.js +23 -0
  134. package/dist/commands/conversation/done.js.map +1 -0
  135. package/dist/commands/conversation/helpers.d.ts +28 -0
  136. package/dist/commands/conversation/helpers.d.ts.map +1 -0
  137. package/dist/commands/conversation/helpers.js +119 -0
  138. package/dist/commands/conversation/helpers.js.map +1 -0
  139. package/dist/commands/conversation/index.d.ts +3 -0
  140. package/dist/commands/conversation/index.d.ts.map +1 -0
  141. package/dist/commands/conversation/index.js +107 -0
  142. package/dist/commands/conversation/index.js.map +1 -0
  143. package/dist/commands/conversation/mute.d.ts +3 -0
  144. package/dist/commands/conversation/mute.d.ts.map +1 -0
  145. package/dist/commands/conversation/mute.js +30 -0
  146. package/dist/commands/conversation/mute.js.map +1 -0
  147. package/dist/commands/conversation/reply.d.ts +3 -0
  148. package/dist/commands/conversation/reply.d.ts.map +1 -0
  149. package/dist/commands/conversation/reply.js +37 -0
  150. package/dist/commands/conversation/reply.js.map +1 -0
  151. package/dist/commands/conversation/unmute.d.ts +3 -0
  152. package/dist/commands/conversation/unmute.d.ts.map +1 -0
  153. package/dist/commands/conversation/unmute.js +28 -0
  154. package/dist/commands/conversation/unmute.js.map +1 -0
  155. package/dist/commands/conversation/unread.d.ts +3 -0
  156. package/dist/commands/conversation/unread.d.ts.map +1 -0
  157. package/dist/commands/conversation/unread.js +56 -0
  158. package/dist/commands/conversation/unread.js.map +1 -0
  159. package/dist/commands/conversation/view.d.ts +3 -0
  160. package/dist/commands/conversation/view.d.ts.map +1 -0
  161. package/dist/commands/conversation/view.js +77 -0
  162. package/dist/commands/conversation/view.js.map +1 -0
  163. package/dist/commands/conversation/with.d.ts +3 -0
  164. package/dist/commands/conversation/with.d.ts.map +1 -0
  165. package/dist/commands/conversation/with.js +48 -0
  166. package/dist/commands/conversation/with.js.map +1 -0
  167. package/dist/commands/doctor.d.ts +9 -0
  168. package/dist/commands/doctor.d.ts.map +1 -0
  169. package/dist/commands/doctor.js +325 -0
  170. package/dist/commands/doctor.js.map +1 -0
  171. package/dist/commands/groups/create.d.ts +8 -0
  172. package/dist/commands/groups/create.d.ts.map +1 -0
  173. package/dist/commands/groups/create.js +27 -0
  174. package/dist/commands/groups/create.js.map +1 -0
  175. package/dist/commands/groups/delete.d.ts +7 -0
  176. package/dist/commands/groups/delete.d.ts.map +1 -0
  177. package/dist/commands/groups/delete.js +30 -0
  178. package/dist/commands/groups/delete.js.map +1 -0
  179. package/dist/commands/groups/index.d.ts +3 -0
  180. package/dist/commands/groups/index.d.ts.map +1 -0
  181. package/dist/commands/groups/index.js +98 -0
  182. package/dist/commands/groups/index.js.map +1 -0
  183. package/dist/commands/groups/list.d.ts +7 -0
  184. package/dist/commands/groups/list.d.ts.map +1 -0
  185. package/dist/commands/groups/list.js +42 -0
  186. package/dist/commands/groups/list.js.map +1 -0
  187. package/dist/commands/groups/members.d.ts +4 -0
  188. package/dist/commands/groups/members.d.ts.map +1 -0
  189. package/dist/commands/groups/members.js +90 -0
  190. package/dist/commands/groups/members.js.map +1 -0
  191. package/dist/commands/groups/rename.d.ts +3 -0
  192. package/dist/commands/groups/rename.d.ts.map +1 -0
  193. package/dist/commands/groups/rename.js +28 -0
  194. package/dist/commands/groups/rename.js.map +1 -0
  195. package/dist/commands/groups/view.d.ts +7 -0
  196. package/dist/commands/groups/view.d.ts.map +1 -0
  197. package/dist/commands/groups/view.js +52 -0
  198. package/dist/commands/groups/view.js.map +1 -0
  199. package/dist/commands/inbox.d.ts +3 -0
  200. package/dist/commands/inbox.d.ts.map +1 -0
  201. package/dist/commands/inbox.js +147 -0
  202. package/dist/commands/inbox.js.map +1 -0
  203. package/dist/commands/mentions.d.ts +3 -0
  204. package/dist/commands/mentions.d.ts.map +1 -0
  205. package/dist/commands/mentions.js +23 -0
  206. package/dist/commands/mentions.js.map +1 -0
  207. package/dist/commands/msg/delete.d.ts +5 -0
  208. package/dist/commands/msg/delete.d.ts.map +1 -0
  209. package/dist/commands/msg/delete.js +31 -0
  210. package/dist/commands/msg/delete.js.map +1 -0
  211. package/dist/commands/msg/index.d.ts +3 -0
  212. package/dist/commands/msg/index.d.ts.map +1 -0
  213. package/dist/commands/msg/index.js +47 -0
  214. package/dist/commands/msg/index.js.map +1 -0
  215. package/dist/commands/msg/update.d.ts +5 -0
  216. package/dist/commands/msg/update.d.ts.map +1 -0
  217. package/dist/commands/msg/update.js +37 -0
  218. package/dist/commands/msg/update.js.map +1 -0
  219. package/dist/commands/msg/view.d.ts +3 -0
  220. package/dist/commands/msg/view.d.ts.map +1 -0
  221. package/dist/commands/msg/view.js +31 -0
  222. package/dist/commands/msg/view.js.map +1 -0
  223. package/dist/commands/react.d.ts +3 -0
  224. package/dist/commands/react.d.ts.map +1 -0
  225. package/dist/commands/react.js +149 -0
  226. package/dist/commands/react.js.map +1 -0
  227. package/dist/commands/search.d.ts +3 -0
  228. package/dist/commands/search.d.ts.map +1 -0
  229. package/dist/commands/search.js +30 -0
  230. package/dist/commands/search.js.map +1 -0
  231. package/dist/commands/skill/index.d.ts +3 -0
  232. package/dist/commands/skill/index.d.ts.map +1 -0
  233. package/dist/commands/skill/index.js +29 -0
  234. package/dist/commands/skill/index.js.map +1 -0
  235. package/dist/commands/skill/install.d.ts +3 -0
  236. package/dist/commands/skill/install.d.ts.map +1 -0
  237. package/dist/commands/skill/install.js +16 -0
  238. package/dist/commands/skill/install.js.map +1 -0
  239. package/dist/commands/skill/list.d.ts +6 -0
  240. package/dist/commands/skill/list.d.ts.map +1 -0
  241. package/dist/commands/skill/list.js +22 -0
  242. package/dist/commands/skill/list.js.map +1 -0
  243. package/dist/commands/skill/uninstall.d.ts +3 -0
  244. package/dist/commands/skill/uninstall.d.ts.map +1 -0
  245. package/dist/commands/skill/uninstall.js +15 -0
  246. package/dist/commands/skill/uninstall.js.map +1 -0
  247. package/dist/commands/skill/update.d.ts +3 -0
  248. package/dist/commands/skill/update.d.ts.map +1 -0
  249. package/dist/commands/skill/update.js +37 -0
  250. package/dist/commands/skill/update.js.map +1 -0
  251. package/dist/commands/thread/create.d.ts +8 -0
  252. package/dist/commands/thread/create.d.ts.map +1 -0
  253. package/dist/commands/thread/create.js +70 -0
  254. package/dist/commands/thread/create.js.map +1 -0
  255. package/dist/commands/thread/delete.d.ts +7 -0
  256. package/dist/commands/thread/delete.d.ts.map +1 -0
  257. package/dist/commands/thread/delete.js +38 -0
  258. package/dist/commands/thread/delete.js.map +1 -0
  259. package/dist/commands/thread/helpers.d.ts +24 -0
  260. package/dist/commands/thread/helpers.d.ts.map +1 -0
  261. package/dist/commands/thread/helpers.js +45 -0
  262. package/dist/commands/thread/helpers.js.map +1 -0
  263. package/dist/commands/thread/index.d.ts +3 -0
  264. package/dist/commands/thread/index.d.ts.map +1 -0
  265. package/dist/commands/thread/index.js +134 -0
  266. package/dist/commands/thread/index.js.map +1 -0
  267. package/dist/commands/thread/mutate.d.ts +5 -0
  268. package/dist/commands/thread/mutate.d.ts.map +1 -0
  269. package/dist/commands/thread/mutate.js +23 -0
  270. package/dist/commands/thread/mutate.js.map +1 -0
  271. package/dist/commands/thread/mute.d.ts +8 -0
  272. package/dist/commands/thread/mute.d.ts.map +1 -0
  273. package/dist/commands/thread/mute.js +63 -0
  274. package/dist/commands/thread/mute.js.map +1 -0
  275. package/dist/commands/thread/rename.d.ts +3 -0
  276. package/dist/commands/thread/rename.d.ts.map +1 -0
  277. package/dist/commands/thread/rename.js +29 -0
  278. package/dist/commands/thread/rename.js.map +1 -0
  279. package/dist/commands/thread/reply.d.ts +9 -0
  280. package/dist/commands/thread/reply.d.ts.map +1 -0
  281. package/dist/commands/thread/reply.js +85 -0
  282. package/dist/commands/thread/reply.js.map +1 -0
  283. package/dist/commands/thread/update.d.ts +5 -0
  284. package/dist/commands/thread/update.d.ts.map +1 -0
  285. package/dist/commands/thread/update.js +45 -0
  286. package/dist/commands/thread/update.js.map +1 -0
  287. package/dist/commands/thread/view.d.ts +9 -0
  288. package/dist/commands/thread/view.d.ts.map +1 -0
  289. package/dist/commands/thread/view.js +171 -0
  290. package/dist/commands/thread/view.js.map +1 -0
  291. package/dist/commands/update/index.d.ts +3 -0
  292. package/dist/commands/update/index.d.ts.map +1 -0
  293. package/dist/commands/update/index.js +14 -0
  294. package/dist/commands/update/index.js.map +1 -0
  295. package/dist/commands/user.d.ts +3 -0
  296. package/dist/commands/user.d.ts.map +1 -0
  297. package/dist/commands/user.js +90 -0
  298. package/dist/commands/user.js.map +1 -0
  299. package/dist/commands/view.d.ts +3 -0
  300. package/dist/commands/view.d.ts.map +1 -0
  301. package/dist/commands/view.js +68 -0
  302. package/dist/commands/view.js.map +1 -0
  303. package/dist/commands/workspace.d.ts +3 -0
  304. package/dist/commands/workspace.d.ts.map +1 -0
  305. package/dist/commands/workspace.js +56 -0
  306. package/dist/commands/workspace.js.map +1 -0
  307. package/dist/index.d.ts +3 -0
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/index.js +190 -0
  310. package/dist/index.js.map +1 -0
  311. package/dist/lib/api.d.ts +37 -0
  312. package/dist/lib/api.d.ts.map +1 -0
  313. package/dist/lib/api.js +316 -0
  314. package/dist/lib/api.js.map +1 -0
  315. package/dist/lib/auth-constants.d.ts +3 -0
  316. package/dist/lib/auth-constants.d.ts.map +1 -0
  317. package/dist/lib/auth-constants.js +3 -0
  318. package/dist/lib/auth-constants.js.map +1 -0
  319. package/dist/lib/auth-pages.d.ts +3 -0
  320. package/dist/lib/auth-pages.d.ts.map +1 -0
  321. package/dist/lib/auth-pages.js +707 -0
  322. package/dist/lib/auth-pages.js.map +1 -0
  323. package/dist/lib/auth-provider.d.ts +74 -0
  324. package/dist/lib/auth-provider.d.ts.map +1 -0
  325. package/dist/lib/auth-provider.js +240 -0
  326. package/dist/lib/auth-provider.js.map +1 -0
  327. package/dist/lib/auth.d.ts +39 -0
  328. package/dist/lib/auth.d.ts.map +1 -0
  329. package/dist/lib/auth.js +57 -0
  330. package/dist/lib/auth.js.map +1 -0
  331. package/dist/lib/comms-account.d.ts +22 -0
  332. package/dist/lib/comms-account.d.ts.map +1 -0
  333. package/dist/lib/comms-account.js +23 -0
  334. package/dist/lib/comms-account.js.map +1 -0
  335. package/dist/lib/completion.d.ts +31 -0
  336. package/dist/lib/completion.d.ts.map +1 -0
  337. package/dist/lib/completion.js +173 -0
  338. package/dist/lib/completion.js.map +1 -0
  339. package/dist/lib/config.d.ts +61 -0
  340. package/dist/lib/config.d.ts.map +1 -0
  341. package/dist/lib/config.js +184 -0
  342. package/dist/lib/config.js.map +1 -0
  343. package/dist/lib/dates.d.ts +3 -0
  344. package/dist/lib/dates.d.ts.map +1 -0
  345. package/dist/lib/dates.js +44 -0
  346. package/dist/lib/dates.js.map +1 -0
  347. package/dist/lib/errors.d.ts +28 -0
  348. package/dist/lib/errors.d.ts.map +1 -0
  349. package/dist/lib/errors.js +34 -0
  350. package/dist/lib/errors.js.map +1 -0
  351. package/dist/lib/global-args.d.ts +52 -0
  352. package/dist/lib/global-args.d.ts.map +1 -0
  353. package/dist/lib/global-args.js +124 -0
  354. package/dist/lib/global-args.js.map +1 -0
  355. package/dist/lib/input.d.ts +3 -0
  356. package/dist/lib/input.d.ts.map +1 -0
  357. package/dist/lib/input.js +80 -0
  358. package/dist/lib/input.js.map +1 -0
  359. package/dist/lib/markdown.d.ts +3 -0
  360. package/dist/lib/markdown.d.ts.map +1 -0
  361. package/dist/lib/markdown.js +15 -0
  362. package/dist/lib/markdown.js.map +1 -0
  363. package/dist/lib/options.d.ts +16 -0
  364. package/dist/lib/options.d.ts.map +1 -0
  365. package/dist/lib/options.js +2 -0
  366. package/dist/lib/options.js.map +1 -0
  367. package/dist/lib/output.d.ts +41 -0
  368. package/dist/lib/output.d.ts.map +1 -0
  369. package/dist/lib/output.js +184 -0
  370. package/dist/lib/output.js.map +1 -0
  371. package/dist/lib/permissions.d.ts +4 -0
  372. package/dist/lib/permissions.d.ts.map +1 -0
  373. package/dist/lib/permissions.js +41 -0
  374. package/dist/lib/permissions.js.map +1 -0
  375. package/dist/lib/progress.d.ts +29 -0
  376. package/dist/lib/progress.d.ts.map +1 -0
  377. package/dist/lib/progress.js +86 -0
  378. package/dist/lib/progress.js.map +1 -0
  379. package/dist/lib/public-channels.d.ts +4 -0
  380. package/dist/lib/public-channels.d.ts.map +1 -0
  381. package/dist/lib/public-channels.js +32 -0
  382. package/dist/lib/public-channels.js.map +1 -0
  383. package/dist/lib/refs.d.ts +82 -0
  384. package/dist/lib/refs.d.ts.map +1 -0
  385. package/dist/lib/refs.js +468 -0
  386. package/dist/lib/refs.js.map +1 -0
  387. package/dist/lib/search-api.d.ts +25 -0
  388. package/dist/lib/search-api.d.ts.map +1 -0
  389. package/dist/lib/search-api.js +93 -0
  390. package/dist/lib/search-api.js.map +1 -0
  391. package/dist/lib/search-helpers.d.ts +32 -0
  392. package/dist/lib/search-helpers.d.ts.map +1 -0
  393. package/dist/lib/search-helpers.js +183 -0
  394. package/dist/lib/search-helpers.js.map +1 -0
  395. package/dist/lib/skills/content.d.ts +8 -0
  396. package/dist/lib/skills/content.d.ts.map +1 -0
  397. package/dist/lib/skills/content.js +419 -0
  398. package/dist/lib/skills/content.js.map +1 -0
  399. package/dist/lib/skills/create-installer.d.ts +9 -0
  400. package/dist/lib/skills/create-installer.d.ts.map +1 -0
  401. package/dist/lib/skills/create-installer.js +65 -0
  402. package/dist/lib/skills/create-installer.js.map +1 -0
  403. package/dist/lib/skills/index.d.ts +7 -0
  404. package/dist/lib/skills/index.d.ts.map +1 -0
  405. package/dist/lib/skills/index.js +54 -0
  406. package/dist/lib/skills/index.js.map +1 -0
  407. package/dist/lib/skills/types.d.ts +30 -0
  408. package/dist/lib/skills/types.d.ts.map +1 -0
  409. package/dist/lib/skills/types.js +2 -0
  410. package/dist/lib/skills/types.js.map +1 -0
  411. package/dist/lib/skills/update-installed.d.ts +9 -0
  412. package/dist/lib/skills/update-installed.d.ts.map +1 -0
  413. package/dist/lib/skills/update-installed.js +20 -0
  414. package/dist/lib/skills/update-installed.js.map +1 -0
  415. package/dist/lib/spinner.d.ts +3 -0
  416. package/dist/lib/spinner.d.ts.map +1 -0
  417. package/dist/lib/spinner.js +10 -0
  418. package/dist/lib/spinner.js.map +1 -0
  419. package/dist/lib/threads.d.ts +4 -0
  420. package/dist/lib/threads.d.ts.map +1 -0
  421. package/dist/lib/threads.js +6 -0
  422. package/dist/lib/threads.js.map +1 -0
  423. package/dist/lib/update.d.ts +13 -0
  424. package/dist/lib/update.d.ts.map +1 -0
  425. package/dist/lib/update.js +23 -0
  426. package/dist/lib/update.js.map +1 -0
  427. package/dist/lib/user-records.d.ts +15 -0
  428. package/dist/lib/user-records.d.ts.map +1 -0
  429. package/dist/lib/user-records.js +84 -0
  430. package/dist/lib/user-records.js.map +1 -0
  431. package/dist/lib/validation.d.ts +2 -0
  432. package/dist/lib/validation.d.ts.map +1 -0
  433. package/dist/lib/validation.js +7 -0
  434. package/dist/lib/validation.js.map +1 -0
  435. package/dist/postinstall.d.ts +2 -0
  436. package/dist/postinstall.d.ts.map +1 -0
  437. package/dist/postinstall.js +4 -0
  438. package/dist/postinstall.js.map +1 -0
  439. package/package.json +77 -8
  440. package/scripts/check-skill-sync.js +40 -0
  441. package/scripts/postinstall.js +12 -0
  442. package/scripts/sync-skill.js +29 -0
@@ -0,0 +1,419 @@
1
+ import packageJson from '../../../package.json' with { type: 'json' };
2
+ export const SKILL_NAME = 'comms-cli';
3
+ export const SKILL_DESCRIPTION = 'Comms messaging CLI. View and respond to inbox threads, channel threads, direct messages, mentions, and group conversations; search, react, archive, mute, and manage workspaces. Use when the user mentions Comms, asks about their inbox, mentions, threads, DMs, channels, or wants to read or send Comms messages.';
4
+ export const SKILL_AUTHOR = 'Doist';
5
+ export const SKILL_LICENSE = 'MIT';
6
+ export const SKILL_VERSION = packageJson.version;
7
+ export const SKILL_CONTENT = `# Comms CLI (tdc)
8
+
9
+ Access Comms messaging via the \`tdc\` CLI. Use when the user asks about their Comms workspaces, threads, messages, or wants to interact with Comms in any way.
10
+
11
+ ## Setup
12
+
13
+ \`\`\`bash
14
+ tdc auth login # OAuth login (opens browser, read-write)
15
+ tdc auth login --read-only # OAuth login with read-only scope
16
+ tdc auth login --callback-port <n># Override the local OAuth callback port (default 8766)
17
+ tdc auth login --json # Emit a JSON envelope for scripted / agent use
18
+ tdc auth login --ndjson # Emit an NDJSON envelope for scripted / agent use
19
+ tdc auth token # Save API token manually (prompts securely; scope unknown, assumed write-capable)
20
+ tdc auth status # Verify authentication + show mode
21
+ tdc auth status --json # Full status payload as JSON (--ndjson also supported)
22
+ tdc auth status --user <ref> # Target a specific stored account (id, id:<n>, or display name)
23
+ tdc --user <ref> auth <status|logout|token view> # Equivalent to passing --user after the subcommand; other commands accept the flag but ignore it
24
+ tdc auth logout # Remove saved token and auth metadata
25
+ tdc auth logout --json # Emits \`{"ok": true}\` (--ndjson is silent)
26
+ tdc auth logout --user <ref> # Target a specific stored account; mismatched ref errors with ACCOUNT_NOT_FOUND
27
+ tdc auth token view # Print the saved token to stdout (pipe-safe; refuses if COMMS_API_TOKEN is set)
28
+ tdc auth token view --user <ref> # Print the saved token for a specific stored account
29
+ tdc account [list|current|use <ref>|remove <ref>] # Manage stored accounts; all support --json/--ndjson
30
+ # current's payload is {id, label, authMode, authScope, source:"config"} | {source:"env"} | {source:"token-only"}
31
+ tdc auth login # Re-running auth login with a different OAuth grant adds a NEW account; default stays pinned unless none was set
32
+ tdc workspaces # List available workspaces
33
+ tdc workspace use <ref> # Set current workspace
34
+ tdc completion install # Install shell completions
35
+ tdc config view # Show the current CLI configuration file (token masked)
36
+ tdc config set <key> <value> # Set a user preference (e.g. unarchive-new-threads true)
37
+ tdc doctor # Diagnose CLI setup and environment issues
38
+ tdc update # Update CLI to latest version
39
+ tdc changelog # Show recent changelog entries
40
+ \`\`\`
41
+
42
+ Stored auth uses the system credential manager when available. If secure storage is unavailable, \`tdc\` warns and falls back to \`~/.config/comms-cli/config.json\`. \`COMMS_API_TOKEN\` always takes priority over the stored token.
43
+
44
+ In read-only mode (\`tdc auth login --read-only\`), commands that modify Comms data (reply, archive, react, delete, etc.) are blocked by the CLI. Externally provided tokens (\`COMMS_API_TOKEN\` or \`tdc auth token\`) are treated as unknown scope and assumed write-capable.
45
+
46
+ ## View by URL
47
+
48
+ \`\`\`bash
49
+ tdc view <url> # View any Comms entity by URL
50
+ \`\`\`
51
+
52
+ Routes automatically based on URL structure:
53
+ - Message URL → \`tdc msg view\`
54
+ - Conversation URL → \`tdc conversation view\`
55
+ - Thread+comment URL → \`tdc thread view\` (comment ID extracted from URL)
56
+ - Thread URL → \`tdc thread view\`
57
+
58
+ All target command flags pass through (e.g. \`--json\`, \`--raw\`, \`--full\`).
59
+
60
+ ## Inbox
61
+
62
+ \`\`\`bash
63
+ tdc inbox # Show inbox threads
64
+ tdc inbox --unread # Only unread threads
65
+ tdc inbox --archive-filter all # Show active + done threads
66
+ tdc inbox --archive-filter archived # Show only done threads
67
+ tdc inbox --channel <filter> # Filter by channel name (fuzzy)
68
+ tdc inbox --since <date> # Filter by date (ISO format)
69
+ tdc inbox --limit <n> # Max items (default: 50)
70
+ \`\`\`
71
+
72
+ ## Threads
73
+
74
+ \`\`\`bash
75
+ tdc thread <thread-ref> # View thread (shorthand for view)
76
+ tdc thread view <thread-ref> # View thread with comments
77
+ tdc thread view <ref> --comment <id> # View a specific comment
78
+ tdc thread view <url-with-/c/id> # Comment ID extracted from URL
79
+ tdc thread view <ref> --unread # Show only unread comments
80
+ tdc thread view <ref> --context 3 # Include 3 read comments before unread
81
+ tdc thread view <ref> --limit 20 # Limit number of comments
82
+ tdc thread view <ref> --since <date> # Comments newer than date
83
+ tdc thread view <ref> --raw # Show raw markdown
84
+ tdc thread create <channel-ref> "Title" "content" # Create a new thread
85
+ tdc thread create <channel-ref> "Title" "content" --json # Create and return as JSON
86
+ tdc thread create <channel-ref> "Title" "content" --json --full # Include all thread fields
87
+ tdc thread create <channel-ref> "Title" "content" --notify 123,456 # Notify specific users
88
+ tdc thread create <channel-ref> "Title" "content" --unarchive # Land thread in author's Inbox (overrides default Comms auto-archive)
89
+ tdc thread create <channel-ref> "Title" "content" --no-unarchive # Force archive even when userSettings.unarchiveNewThreads=true
90
+ tdc thread create <channel-ref> "Title" "content" --dry-run # Preview without posting
91
+ tdc thread reply <ref> "content" # Post a comment (notifies EVERYONE_IN_THREAD by default)
92
+ tdc thread reply <ref> "content" --notify EVERYONE # Notify all workspace members
93
+ tdc thread reply <ref> "content" --notify 123,id:456 # Notify specific user IDs
94
+ tdc thread reply <ref> "content" --json # Post and return comment as JSON
95
+ tdc thread reply <ref> "content" --json --full # Include all comment fields
96
+ tdc thread reply <ref> "content" --close # Reply and close the thread
97
+ tdc thread reply <ref> "content" --reopen # Reply and reopen a closed thread
98
+ tdc thread done <ref> # Archive thread (mark done)
99
+ tdc thread done <ref> --json # Archive and return status as JSON
100
+ tdc thread mute <ref> # Mute thread for 60 minutes (default)
101
+ tdc thread mute <ref> --minutes 480 # Mute for custom duration
102
+ tdc thread mute <ref> --json # Mute and return { id, mutedUntil } as JSON
103
+ tdc thread mute <ref> --json --full # Mute and return full thread as JSON
104
+ tdc thread unmute <ref> # Unmute a muted thread
105
+ tdc thread unmute <ref> --json # Unmute and return { id, mutedUntil } as JSON
106
+ tdc thread delete <ref> # Preview thread deletion (requires --yes to execute)
107
+ tdc thread delete <ref> --yes # Permanently delete a thread
108
+ tdc thread delete <ref> --yes --json # Delete and return status as JSON
109
+ tdc thread rename <ref> "New title" # Rename a thread (change its title)
110
+ tdc thread rename <ref> "New title" --json # Rename and return { id, title } as JSON
111
+ tdc thread rename <ref> "New title" --json --full # Rename and return full thread as JSON
112
+ tdc thread update <ref> "New body" # Update a thread's body (the first post)
113
+ echo "New body" | tdc thread update <ref> # Update body from stdin
114
+ tdc thread update <ref> "New body" --dry-run # Preview without updating
115
+ tdc thread update <ref> "New body" --json # Update and return { id, content } as JSON
116
+ tdc thread update <ref> "New body" --json --full # Update and return full thread as JSON
117
+ \`\`\`
118
+
119
+ Default \`--notify\` for reply is EVERYONE_IN_THREAD, which may notify more people than intended. Before posting, confirm with the user whether specific people should be notified instead (via \`--notify <user-ids>\`). Options: EVERYONE, EVERYONE_IN_THREAD, or comma-separated ID refs.
120
+
121
+ \`--notify\` automatically resolves IDs: group IDs are routed to the \`groups\` API field, user IDs to \`recipients\`. No special syntax needed.
122
+
123
+ ## Thread Comments
124
+
125
+ \`\`\`bash
126
+ tdc comment <comment-ref> # View a comment (shorthand for view)
127
+ tdc comment view <comment-ref> # View a single thread comment
128
+ tdc comment view <comment-ref> --raw # Show raw markdown
129
+ tdc comment view <comment-ref> --json # Output as JSON
130
+ tdc comment view <comment-ref> --ndjson # Output as newline-delimited JSON
131
+ tdc comment view <comment-ref> --json --full # Include all fields in JSON output
132
+ tdc comment update <comment-ref> "new content" # Update a thread comment
133
+ tdc comment update <comment-ref> "content" --json # Update and return updated comment as JSON
134
+ tdc comment update <comment-ref> "content" --json --full # Include all comment fields
135
+ tdc comment delete <comment-ref> # Delete a thread comment
136
+ tdc comment delete <comment-ref> --json # Delete and return status as JSON
137
+ \`\`\`
138
+
139
+ ## Conversations (DMs/Groups)
140
+
141
+ \`\`\`bash
142
+ tdc conversation unread # List unread conversations
143
+ tdc conversation <conversation-ref> # View conversation (shorthand for view)
144
+ tdc conversation view <conversation-ref> # View conversation messages
145
+ tdc conversation with <user-ref> # Find your 1:1 DM with a user
146
+ tdc conversation with <user-ref> --snippet # Include the latest message preview
147
+ tdc conversation with <user-ref> --include-groups # List any conversations with that user
148
+ tdc conversation reply <ref> "content" # Send a message
149
+ tdc conversation reply <ref> "content" --json # Send and return message as JSON
150
+ tdc conversation reply <ref> "content" --json --full # Include all message fields
151
+ tdc conversation done <ref> # Archive conversation
152
+ tdc conversation done <ref> --json # Archive and return status as JSON
153
+ tdc conversation mute <ref> # Mute conversation for 60 minutes (default)
154
+ tdc conversation mute <ref> --minutes 480 # Mute for custom duration
155
+ tdc conversation mute <ref> --json # Mute and return { id, mutedUntil } as JSON
156
+ tdc conversation mute <ref> --json --full # Mute and return full conversation as JSON
157
+ tdc conversation unmute <ref> # Unmute a muted conversation
158
+ tdc conversation unmute <ref> --json # Unmute and return { id, mutedUntil } as JSON
159
+ \`\`\`
160
+
161
+ Alias: \`tdc convo\` works the same as \`tdc conversation\`.
162
+
163
+ ## Conversation Messages
164
+
165
+ \`\`\`bash
166
+ tdc msg <message-ref> # View a message (shorthand for view)
167
+ tdc msg view <message-ref> # View a single conversation message
168
+ tdc msg update <ref> "content" # Edit a conversation message
169
+ tdc msg update <ref> "content" --json # Edit and return updated message as JSON
170
+ tdc msg update <ref> "content" --json --full # Include all message fields
171
+ tdc msg delete <ref> # Delete a conversation message
172
+ tdc msg delete <ref> --json # Delete and return status as JSON
173
+ \`\`\`
174
+
175
+ Alias: \`tdc message\` works the same as \`tdc msg\`.
176
+
177
+ ## Search
178
+
179
+ \`\`\`bash
180
+ tdc mentions # Show content mentioning current user
181
+ tdc mentions --since 2026-04-01 --all # Fetch every mention since a date
182
+ tdc mentions --type threads --json # Limit mentions to threads
183
+ tdc search "query" # Search content
184
+ tdc search "query" --type threads # Filter: threads, messages, or all
185
+ tdc search "query" --author <ref> # Filter by author
186
+ tdc search "query" --to <ref> # Messages sent to user
187
+ tdc search "query" --title-only # Search thread titles only
188
+ tdc search "query" --mention-me # Results mentioning current user
189
+ tdc search "query" --conversation <refs> # Limit to conversations (comma-separated refs)
190
+ tdc search "query" --since <date> # Content from date
191
+ tdc search "query" --until <date> # Content until date
192
+ tdc search "query" --channel <refs> # Filter by channel refs (comma-separated)
193
+ tdc search "query" --limit <n> # Max results (default: 50)
194
+ tdc search "query" --cursor <cur> # Pagination cursor
195
+ tdc search "query" --all # Fetch all result pages
196
+ \`\`\`
197
+
198
+ ## Users, Channels & Groups
199
+
200
+ \`\`\`bash
201
+ tdc user # Show current user info
202
+ tdc user --json # JSON output
203
+ tdc user --json --full # Include all fields in JSON output
204
+ tdc users # List workspace users
205
+ tdc users --search <text> # Filter by name/email
206
+ tdc channels # List active joined workspace channels (alias of: tdc channel list)
207
+ tdc channels --state all # Include archived joined channels too
208
+ tdc channels --scope discoverable # Active public channels you can see but have not joined
209
+ tdc channels --scope public --state all --json # All visible public channels, with joined status
210
+ tdc channel create "Engineering" # Create a channel in the current workspace
211
+ tdc channel create "Leadership Team" --private --users id:10,id:20 # Create private channel with initial members
212
+ tdc channel create "Product" --workspace "Doist" --description "Product discussions" --json # Create and return channel as JSON
213
+ tdc channel update <channel-ref> "New name" # Rename a channel
214
+ tdc channel update <ref> --name "New name" # Rename with an explicit flag
215
+ tdc channel update <ref> --description "Team discussions" # Update channel description
216
+ tdc channel update <ref> --clear-description # Clear channel description
217
+ tdc channel update <ref> --public # Make a channel public (--private makes it private)
218
+ tdc channel update <ref> --description "Team discussions" --json --full # Update and return all channel fields
219
+ tdc channel threads <channel-ref> # List threads in a channel (fuzzy name, id:, numeric ID, or URL)
220
+ tdc channel threads "general" --unread # Only unread threads
221
+ tdc channel threads <ref> --archive-filter all # Include archived threads (active|archived|all)
222
+ tdc channel threads <ref> --since 2026-01-01 # Filter by last-updated date (ISO)
223
+ tdc channel threads <ref> --limit 20 # Max threads per page (default: 50)
224
+ tdc channel threads <ref> --limit 20 --cursor <cursor-from-prev> # Paginate
225
+ tdc channel threads <ref> --json # { results, nextCursor } with isUnread + url
226
+ tdc channel members <channel-ref> # List a channel's members + groups fully in the channel
227
+ tdc channel members <ref> --json # JSON with id, name, workspaceId, members
228
+ tdc channel members add <ref> alice group:Design # Add users and/or expand group:<ref> members
229
+ tdc channel members add <ref> a@d.com id:789 --json # Add refs, output result as JSON
230
+ tdc channel members remove <ref> alice group:Frontend # Remove users and/or group members
231
+ tdc channel members set <ref> group:Squad --apply # Replace membership with the resolved set
232
+ tdc channel members set <ref> alice bob # Dry-run by default; refuses to remove you (--include-self to override)
233
+ tdc groups # List workspace groups
234
+ tdc groups --search "frontend" # Filter groups by name (case-insensitive)
235
+ tdc groups --json # JSON output
236
+ tdc groups --json --full # Include all fields in JSON output
237
+ tdc groups view <group-ref> # Show group with member details
238
+ tdc groups view <ref> --json # JSON output with id, name, workspaceId, members
239
+ tdc groups view <ref> --json --full # Include all fields in JSON output
240
+ tdc groups create "Name" # Create a new group
241
+ tdc groups create "Name" --users alice@doist.com,bob@doist.com # Create with members
242
+ tdc groups create "Name" --json # Output created group as JSON
243
+ tdc groups rename <group-ref> "New name" # Rename a group
244
+ tdc groups rename <ref> "Name" --json # Output renamed group as JSON
245
+ tdc groups delete <group-ref> --yes # Delete a group (requires --yes)
246
+ tdc groups delete <ref> --dry-run # Preview deletion
247
+ tdc groups add-user <group-ref> user1 user2 # Add users to a group
248
+ tdc groups add-user <ref> a@d.com,b@d.com # Comma-separated refs
249
+ tdc groups add-user <ref> id:123 --json # Output result as JSON
250
+ tdc groups remove-user <group-ref> user1 user2 # Remove users from a group
251
+ tdc groups remove-user <ref> id:123,id:456 # Comma-separated ID refs
252
+ \`\`\`
253
+
254
+ If a channel is not found in \`tdc channels\`, widen with broader listings such as \`tdc channels --scope public\`, then \`tdc channels --scope public --state all\`. Check \`tdc channels --help\` for other available filters.
255
+
256
+ \`tdc channel threads\` returns every thread in the channel; pagination filters (\`--limit\`, \`--cursor\`, \`--since\`, \`--until\`, \`--unread\`) are applied client-side after fetch. \`--archive-filter\` is applied server-side. Results are sorted newest-first by last activity. In \`--json\` / \`--ndjson\`, the response includes a \`nextCursor\` string (opaque) you can pass via \`--cursor\` to fetch the next page; NDJSON emits the cursor as a final \`{ "_meta": true, "nextCursor": "..." }\` line.
257
+
258
+ For \`tdc channel members add/remove/set\`, refs accept user identifiers (\`id:N\`, email, name) or \`group:<ref>\`, which expands to the group's current members. Group expansion is one-shot — it is not a persistent link, so users added to the group later will not auto-join the channel. \`set\` replaces membership with the resolved set and is dry-run by default (pass \`--apply\` to mutate); it refuses to remove the acting user unless \`--include-self\` is passed.
259
+
260
+ ## Reactions
261
+
262
+ \`\`\`bash
263
+ tdc react thread <ref> 👍 # Add reaction to thread
264
+ tdc react comment <ref> +1 # Add reaction (shortcode)
265
+ tdc react message <ref> heart # Add reaction to DM message
266
+ tdc react thread <ref> 👍 --json # Output result as JSON
267
+ tdc unreact thread <ref> 👍 # Remove reaction
268
+ tdc unreact thread <ref> 👍 --json # Output result as JSON
269
+ \`\`\`
270
+
271
+ Supported shortcodes: +1, -1, heart, tada, smile, laughing, thinking, fire, check, x, eyes, pray, clap, rocket, wave
272
+
273
+ ## Shell Completions
274
+
275
+ \`\`\`bash
276
+ tdc completion install # Install tab completions (prompts for shell)
277
+ tdc completion install bash # Install for specific shell
278
+ tdc completion install zsh
279
+ tdc completion install fish
280
+ tdc completion uninstall # Remove completions
281
+ \`\`\`
282
+
283
+ ### Diagnostics
284
+
285
+ \`\`\`bash
286
+ tdc doctor # Run local + network diagnostics
287
+ tdc doctor --offline # Skip Comms and npm network checks
288
+ tdc doctor --json # JSON output with per-check results
289
+ \`\`\`
290
+
291
+ ### Configuration
292
+
293
+ \`\`\`bash
294
+ tdc config view # Pretty-printed config, token masked, labels actual token source
295
+ tdc config view --json # Raw JSON, token masked
296
+ tdc config view --show-token # Include the full token
297
+ tdc config set unarchive-new-threads true # Persist: always unarchive new threads so they land in your Inbox
298
+ tdc config set unarchive-new-threads false # Persist: keep Comms's default (thread auto-archived for author)
299
+ \`\`\`
300
+
301
+ User preferences are stored under \`userSettings\` in the config file. Currently supported keys: \`unarchive-new-threads\`. The flag on \`tdc thread create\` (\`--unarchive\` / \`--no-unarchive\`) overrides this default per-invocation.
302
+
303
+ ### Update
304
+
305
+ \`\`\`bash
306
+ tdc update # Update CLI to latest version
307
+ tdc update --check # Check for updates without installing, show channel
308
+ tdc update --check --json # Same, JSON envelope
309
+ tdc update --check --ndjson # Same, newline-delimited JSON envelope
310
+ tdc update --channel # Show current update channel
311
+ tdc update switch --stable # Switch to stable release channel
312
+ tdc update switch --pre-release # Switch to pre-release (next) channel
313
+ tdc update switch --pre-release --json # Same, JSON envelope
314
+ tdc update switch --pre-release --ndjson # Same, newline-delimited JSON envelope
315
+ \`\`\`
316
+
317
+ ### Changelog
318
+ \`\`\`bash
319
+ tdc changelog # Show last 5 versions
320
+ tdc changelog -n 3 # Show last 3 versions
321
+ tdc changelog --count 10 # Show last 10 versions
322
+ \`\`\`
323
+
324
+ ## Global Options
325
+
326
+ \`\`\`bash
327
+ --no-spinner # Disable loading animations
328
+ --progress-jsonl # Machine-readable progress events (JSONL to stderr)
329
+ --progress-jsonl=<path> # Same, but write events to <path> instead of stderr
330
+ --progress-jsonl <path> # Same as above (space-separated form also accepted)
331
+ --accessible # Add text labels to color-coded output (also: TDC_ACCESSIBLE=1)
332
+ --non-interactive # Disable interactive prompts (auto-detected when stdin is not a TTY)
333
+ --interactive # Force interactive mode even when stdin is not a TTY
334
+ \`\`\`
335
+
336
+ ## Output Formats
337
+
338
+ All list/view commands support:
339
+
340
+ \`\`\`bash
341
+ --json # Output as JSON
342
+ --ndjson # Output as newline-delimited JSON (for streaming)
343
+ --full # Include all fields (default shows essential fields only)
344
+ \`\`\`
345
+
346
+ ## Dry Run
347
+
348
+ Mutating commands accept \`--dry-run\` to preview the operation without making the change. Where a command performs pre-flight validation (e.g. fetching the target thread to check channel access or ownership), those checks still run in dry-run — only the mutating write is skipped. Commands that have no pre-flight validation parse the reference and print the preview without hitting the API. The preview is structured:
349
+
350
+ \`\`\`
351
+ [dry-run] Would <action>:
352
+ <Key>: <resolved value>
353
+ ...
354
+ Run without --dry-run to execute.
355
+ \`\`\`
356
+
357
+ ## Reference System
358
+
359
+ Commands accept flexible references:
360
+ - **Numeric IDs**: \`123\` or \`id:123\`
361
+ - **Comms URLs**: Full \`https://comms.todoist.com/...\` URLs (parsed automatically)
362
+ - **Fuzzy names**: For workspaces/users - \`"My Workspace"\` or partial matches
363
+
364
+ ## Piping Content
365
+
366
+ Commands that accept content (\`thread create\`, \`thread reply\`, \`comment update\`, \`conversation reply\`, \`msg update\`) auto-detect piped stdin:
367
+
368
+ \`\`\`bash
369
+ cat notes.md | tdc thread reply <ref>
370
+ tdc thread create <channel-ref> "Title" < body.md
371
+ echo "Quick reply" | tdc conversation reply <ref>
372
+ \`\`\`
373
+
374
+ If no content argument is provided and no stdin is piped, the CLI opens \`$EDITOR\` for interactive input. In non-TTY environments (e.g. when called by an agent or in a pipeline), the editor is automatically skipped and the command fails fast with an actionable error message. Use \`--non-interactive\` to force this behavior even in a TTY, or \`--interactive\` to override auto-detection.
375
+
376
+ ## Common Workflows
377
+
378
+ **View by URL (auto-routes to the right command):**
379
+ \`\`\`bash
380
+ tdc view https://comms.todoist.com/a/1585/ch/100/t/200 # View thread
381
+ tdc view https://comms.todoist.com/a/1585/ch/100/t/200/c/300 # View comment
382
+ tdc view https://comms.todoist.com/a/1585/msg/400 # View conversation
383
+ tdc view https://comms.todoist.com/a/1585/msg/400/m/500 --json # View message as JSON
384
+ \`\`\`
385
+
386
+ **Check inbox and respond:**
387
+ \`\`\`bash
388
+ tdc inbox --unread --json
389
+ tdc thread view <id> --unread
390
+ tdc thread reply <id> "Thanks, I'll look into this."
391
+ tdc thread done <id>
392
+ \`\`\`
393
+
394
+ **Search and review:**
395
+ \`\`\`bash
396
+ tdc mentions --since 2026-04-01 --all --json
397
+ tdc search "deployment" --type threads --json
398
+ tdc thread view <thread-id>
399
+ \`\`\`
400
+
401
+ **Check DMs:**
402
+ \`\`\`bash
403
+ tdc conversation unread --json
404
+ tdc conversation view <conversation-id>
405
+ tdc conversation with "Alice Example"
406
+ tdc conversation reply <id> "Got it, thanks!"
407
+ \`\`\`
408
+ `;
409
+ export const SKILL_FILE_CONTENT = `---
410
+ name: ${SKILL_NAME}
411
+ description: ${JSON.stringify(SKILL_DESCRIPTION)}
412
+ license: ${SKILL_LICENSE}
413
+ metadata:
414
+ author: ${SKILL_AUTHOR}
415
+ version: ${JSON.stringify(SKILL_VERSION)}
416
+ ---
417
+
418
+ ${SKILL_CONTENT}`;
419
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAErE,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,wTAAwT,CAAA;AAE5T,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAA;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAA;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiZ5B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;QAC1B,UAAU;eACH,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;WACrC,aAAa;;YAEZ,YAAY;aACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;;EAGxC,aAAa,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { SkillInstaller } from './types.js';
2
+ interface InstallerConfig {
3
+ name: string;
4
+ description: string;
5
+ dirName: string;
6
+ }
7
+ export declare function createInstaller(config: InstallerConfig): SkillInstaller;
8
+ export {};
9
+ //# sourceMappingURL=create-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-installer.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAkB,cAAc,EAAmC,MAAM,YAAY,CAAA;AAEjG,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CA2EvE"}
@@ -0,0 +1,65 @@
1
+ import { mkdir, rm, stat, writeFile } from 'node:fs/promises';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, join } from 'node:path';
4
+ import { CliError } from '../errors.js';
5
+ import { SKILL_FILE_CONTENT, SKILL_NAME } from './content.js';
6
+ export function createInstaller(config) {
7
+ function getInstallPath(options) {
8
+ const base = options.local ? process.cwd() : homedir();
9
+ return join(base, config.dirName, 'skills', SKILL_NAME, 'SKILL.md');
10
+ }
11
+ return {
12
+ name: config.name,
13
+ description: config.description,
14
+ getInstallPath,
15
+ async isInstalled(options) {
16
+ try {
17
+ await stat(getInstallPath(options));
18
+ return true;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ },
24
+ async install(options) {
25
+ if (!options.local && config.dirName !== '.agents') {
26
+ const agentDir = join(homedir(), config.dirName);
27
+ try {
28
+ await stat(agentDir);
29
+ }
30
+ catch {
31
+ throw new CliError('NOT_INSTALLED', `${config.name} does not appear to be installed (${agentDir} not found)`);
32
+ }
33
+ }
34
+ const skillPath = getInstallPath(options);
35
+ const exists = await this.isInstalled(options);
36
+ if (exists && !options.force) {
37
+ throw new CliError('ALREADY_INSTALLED', `Skill already installed at ${skillPath}. Use --force to overwrite.`);
38
+ }
39
+ await mkdir(dirname(skillPath), { recursive: true });
40
+ await writeFile(skillPath, SKILL_FILE_CONTENT);
41
+ },
42
+ async update(options) {
43
+ const skillPath = getInstallPath(options);
44
+ const exists = await this.isInstalled(options);
45
+ if (!exists) {
46
+ throw new CliError('NOT_INSTALLED', `Skill not installed at ${skillPath}`, [
47
+ `Run: tdc skill install ${config.name}`,
48
+ ]);
49
+ }
50
+ await writeFile(skillPath, SKILL_FILE_CONTENT);
51
+ },
52
+ async uninstall(options) {
53
+ const skillPath = getInstallPath(options);
54
+ const exists = await this.isInstalled(options);
55
+ if (!exists) {
56
+ throw new CliError('NOT_INSTALLED', `Skill not installed at ${skillPath}`, [
57
+ `Run: tdc skill install ${config.name}`,
58
+ ]);
59
+ }
60
+ const skillDir = dirname(skillPath);
61
+ await rm(skillDir, { recursive: true });
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=create-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAS7D,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,SAAS,cAAc,CAAC,OAA4B;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACtD,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IACvE,CAAC;IAED,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAE/B,cAAc;QAEd,KAAK,CAAC,WAAW,CAAC,OAA4B;YAC1C,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnC,OAAO,IAAI,CAAA;YACf,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,OAAuB;YACjC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;gBAChD,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,IAAI,QAAQ,CACd,eAAe,EACf,GAAG,MAAM,CAAC,IAAI,qCAAqC,QAAQ,aAAa,CAC3E,CAAA;gBACL,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAE9C,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,QAAQ,CACd,mBAAmB,EACnB,8BAA8B,SAAS,6BAA6B,CACvE,CAAA;YACL,CAAC;YAED,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACpD,MAAM,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QAClD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAsB;YAC/B,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,0BAA0B,SAAS,EAAE,EAAE;oBACvE,0BAA0B,MAAM,CAAC,IAAI,EAAE;iBAC1C,CAAC,CAAA;YACN,CAAC;YAED,MAAM,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QAClD,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,OAAyB;YACrC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,0BAA0B,SAAS,EAAE,EAAE;oBACvE,0BAA0B,MAAM,CAAC,IAAI,EAAE;iBAC1C,CAAC,CAAA;YACN,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;YACnC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AgentInfo, SkillInstaller } from './types.js';
2
+ export declare const skillInstallers: Record<string, SkillInstaller>;
3
+ export declare function getInstaller(name: string): SkillInstaller | null;
4
+ export declare function listAgentNames(): string[];
5
+ export declare function listAgents(local: boolean): Promise<AgentInfo[]>;
6
+ export type { AgentInfo, InstallOptions, SkillInstaller, UninstallOptions, UpdateOptions, } from './types.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA+B1D,CAAA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAEhE;AAED,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAerE;AAED,YAAY,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,GAChB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { createInstaller } from './create-installer.js';
2
+ export const skillInstallers = {
3
+ 'claude-code': createInstaller({
4
+ name: 'claude-code',
5
+ description: 'Claude Code skill for Comms CLI',
6
+ dirName: '.claude',
7
+ }),
8
+ codex: createInstaller({
9
+ name: 'codex',
10
+ description: 'Codex skill for Comms CLI',
11
+ dirName: '.codex',
12
+ }),
13
+ cursor: createInstaller({
14
+ name: 'cursor',
15
+ description: 'Cursor skill for Comms CLI',
16
+ dirName: '.cursor',
17
+ }),
18
+ gemini: createInstaller({
19
+ name: 'gemini',
20
+ description: 'Gemini CLI skill for Comms CLI',
21
+ dirName: '.gemini',
22
+ }),
23
+ pi: createInstaller({
24
+ name: 'pi',
25
+ description: 'Pi skill for Comms CLI',
26
+ dirName: '.pi',
27
+ }),
28
+ universal: createInstaller({
29
+ name: 'universal',
30
+ description: 'Universal agent skill for Comms CLI',
31
+ dirName: '.agents',
32
+ }),
33
+ };
34
+ export function getInstaller(name) {
35
+ return skillInstallers[name] ?? null;
36
+ }
37
+ export function listAgentNames() {
38
+ return Object.keys(skillInstallers);
39
+ }
40
+ export async function listAgents(local) {
41
+ const agents = [];
42
+ for (const name of listAgentNames()) {
43
+ const installer = skillInstallers[name];
44
+ const installed = await installer.isInstalled({ local });
45
+ agents.push({
46
+ name,
47
+ description: installer.description,
48
+ installed,
49
+ path: installed ? installer.getInstallPath({ local }) : null,
50
+ });
51
+ }
52
+ return agents;
53
+ }
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC3D,aAAa,EAAE,eAAe,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,KAAK,EAAE,eAAe,CAAC;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,QAAQ;KACpB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,EAAE,EAAE,eAAe,CAAC;QAChB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,KAAK;KACjB,CAAC;IACF,SAAS,EAAE,eAAe,CAAC;QACvB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,SAAS;KACrB,CAAC;CACL,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,cAAc;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,SAAS;YACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/D,CAAC,CAAA;IACN,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC"}
@@ -0,0 +1,30 @@
1
+ export interface InstallOptions {
2
+ local?: boolean;
3
+ force?: boolean;
4
+ }
5
+ export interface UninstallOptions {
6
+ local?: boolean;
7
+ }
8
+ export interface UpdateOptions {
9
+ local?: boolean;
10
+ }
11
+ export interface SkillInstaller {
12
+ name: string;
13
+ description: string;
14
+ install(options: InstallOptions): Promise<void>;
15
+ update(options: UpdateOptions): Promise<void>;
16
+ uninstall(options: UninstallOptions): Promise<void>;
17
+ isInstalled(options: {
18
+ local?: boolean;
19
+ }): Promise<boolean>;
20
+ getInstallPath(options: {
21
+ local?: boolean;
22
+ }): string;
23
+ }
24
+ export interface AgentInfo {
25
+ name: string;
26
+ description: string;
27
+ installed: boolean;
28
+ path: string | null;
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3D,cAAc,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAA;CACvD;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/skills/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface UpdateAllResult {
2
+ updated: string[];
3
+ skipped: string[];
4
+ errors: string[];
5
+ }
6
+ export declare function updateAllInstalledSkills(options: {
7
+ local?: boolean;
8
+ }): Promise<UpdateAllResult>;
9
+ //# sourceMappingURL=update-installed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-installed.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/update-installed.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkB3B"}