@doist/comms-cli 0.0.1 → 1.0.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 (422) hide show
  1. package/CHANGELOG.md +8 -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/create.d.ts +11 -0
  40. package/dist/commands/channel/create.d.ts.map +1 -0
  41. package/dist/commands/channel/create.js +35 -0
  42. package/dist/commands/channel/create.js.map +1 -0
  43. package/dist/commands/channel/helpers.d.ts +9 -0
  44. package/dist/commands/channel/helpers.d.ts.map +1 -0
  45. package/dist/commands/channel/helpers.js +51 -0
  46. package/dist/commands/channel/helpers.js.map +1 -0
  47. package/dist/commands/channel/index.d.ts +3 -0
  48. package/dist/commands/channel/index.d.ts.map +1 -0
  49. package/dist/commands/channel/index.js +104 -0
  50. package/dist/commands/channel/index.js.map +1 -0
  51. package/dist/commands/channel/list.d.ts +8 -0
  52. package/dist/commands/channel/list.d.ts.map +1 -0
  53. package/dist/commands/channel/list.js +144 -0
  54. package/dist/commands/channel/list.js.map +1 -0
  55. package/dist/commands/channel/threads.d.ts +11 -0
  56. package/dist/commands/channel/threads.d.ts.map +1 -0
  57. package/dist/commands/channel/threads.js +100 -0
  58. package/dist/commands/channel/threads.js.map +1 -0
  59. package/dist/commands/channel/update.d.ts +12 -0
  60. package/dist/commands/channel/update.d.ts.map +1 -0
  61. package/dist/commands/channel/update.js +84 -0
  62. package/dist/commands/channel/update.js.map +1 -0
  63. package/dist/commands/comment/delete.d.ts +5 -0
  64. package/dist/commands/comment/delete.d.ts.map +1 -0
  65. package/dist/commands/comment/delete.js +33 -0
  66. package/dist/commands/comment/delete.js.map +1 -0
  67. package/dist/commands/comment/index.d.ts +3 -0
  68. package/dist/commands/comment/index.d.ts.map +1 -0
  69. package/dist/commands/comment/index.js +49 -0
  70. package/dist/commands/comment/index.js.map +1 -0
  71. package/dist/commands/comment/update.d.ts +5 -0
  72. package/dist/commands/comment/update.d.ts.map +1 -0
  73. package/dist/commands/comment/update.js +37 -0
  74. package/dist/commands/comment/update.js.map +1 -0
  75. package/dist/commands/comment/view.d.ts +3 -0
  76. package/dist/commands/comment/view.d.ts.map +1 -0
  77. package/dist/commands/comment/view.js +31 -0
  78. package/dist/commands/comment/view.js.map +1 -0
  79. package/dist/commands/completion/helpers.d.ts +14 -0
  80. package/dist/commands/completion/helpers.d.ts.map +1 -0
  81. package/dist/commands/completion/helpers.js +37 -0
  82. package/dist/commands/completion/helpers.js.map +1 -0
  83. package/dist/commands/completion/index.d.ts +3 -0
  84. package/dist/commands/completion/index.d.ts.map +1 -0
  85. package/dist/commands/completion/index.js +22 -0
  86. package/dist/commands/completion/index.js.map +1 -0
  87. package/dist/commands/completion/install.d.ts +2 -0
  88. package/dist/commands/completion/install.d.ts.map +1 -0
  89. package/dist/commands/completion/install.js +19 -0
  90. package/dist/commands/completion/install.js.map +1 -0
  91. package/dist/commands/completion/server.d.ts +3 -0
  92. package/dist/commands/completion/server.d.ts.map +1 -0
  93. package/dist/commands/completion/server.js +35 -0
  94. package/dist/commands/completion/server.js.map +1 -0
  95. package/dist/commands/completion/uninstall.d.ts +2 -0
  96. package/dist/commands/completion/uninstall.d.ts.map +1 -0
  97. package/dist/commands/completion/uninstall.js +19 -0
  98. package/dist/commands/completion/uninstall.js.map +1 -0
  99. package/dist/commands/config/index.d.ts +3 -0
  100. package/dist/commands/config/index.d.ts.map +1 -0
  101. package/dist/commands/config/index.js +29 -0
  102. package/dist/commands/config/index.js.map +1 -0
  103. package/dist/commands/config/set.d.ts +3 -0
  104. package/dist/commands/config/set.d.ts.map +1 -0
  105. package/dist/commands/config/set.js +41 -0
  106. package/dist/commands/config/set.js.map +1 -0
  107. package/dist/commands/config/view.d.ts +6 -0
  108. package/dist/commands/config/view.d.ts.map +1 -0
  109. package/dist/commands/config/view.js +121 -0
  110. package/dist/commands/config/view.js.map +1 -0
  111. package/dist/commands/conversation/done.d.ts +3 -0
  112. package/dist/commands/conversation/done.d.ts.map +1 -0
  113. package/dist/commands/conversation/done.js +23 -0
  114. package/dist/commands/conversation/done.js.map +1 -0
  115. package/dist/commands/conversation/helpers.d.ts +28 -0
  116. package/dist/commands/conversation/helpers.d.ts.map +1 -0
  117. package/dist/commands/conversation/helpers.js +119 -0
  118. package/dist/commands/conversation/helpers.js.map +1 -0
  119. package/dist/commands/conversation/index.d.ts +3 -0
  120. package/dist/commands/conversation/index.d.ts.map +1 -0
  121. package/dist/commands/conversation/index.js +107 -0
  122. package/dist/commands/conversation/index.js.map +1 -0
  123. package/dist/commands/conversation/mute.d.ts +3 -0
  124. package/dist/commands/conversation/mute.d.ts.map +1 -0
  125. package/dist/commands/conversation/mute.js +30 -0
  126. package/dist/commands/conversation/mute.js.map +1 -0
  127. package/dist/commands/conversation/reply.d.ts +3 -0
  128. package/dist/commands/conversation/reply.d.ts.map +1 -0
  129. package/dist/commands/conversation/reply.js +37 -0
  130. package/dist/commands/conversation/reply.js.map +1 -0
  131. package/dist/commands/conversation/unmute.d.ts +3 -0
  132. package/dist/commands/conversation/unmute.d.ts.map +1 -0
  133. package/dist/commands/conversation/unmute.js +28 -0
  134. package/dist/commands/conversation/unmute.js.map +1 -0
  135. package/dist/commands/conversation/unread.d.ts +3 -0
  136. package/dist/commands/conversation/unread.d.ts.map +1 -0
  137. package/dist/commands/conversation/unread.js +56 -0
  138. package/dist/commands/conversation/unread.js.map +1 -0
  139. package/dist/commands/conversation/view.d.ts +3 -0
  140. package/dist/commands/conversation/view.d.ts.map +1 -0
  141. package/dist/commands/conversation/view.js +77 -0
  142. package/dist/commands/conversation/view.js.map +1 -0
  143. package/dist/commands/conversation/with.d.ts +3 -0
  144. package/dist/commands/conversation/with.d.ts.map +1 -0
  145. package/dist/commands/conversation/with.js +48 -0
  146. package/dist/commands/conversation/with.js.map +1 -0
  147. package/dist/commands/doctor.d.ts +9 -0
  148. package/dist/commands/doctor.d.ts.map +1 -0
  149. package/dist/commands/doctor.js +325 -0
  150. package/dist/commands/doctor.js.map +1 -0
  151. package/dist/commands/groups/create.d.ts +8 -0
  152. package/dist/commands/groups/create.d.ts.map +1 -0
  153. package/dist/commands/groups/create.js +27 -0
  154. package/dist/commands/groups/create.js.map +1 -0
  155. package/dist/commands/groups/delete.d.ts +7 -0
  156. package/dist/commands/groups/delete.d.ts.map +1 -0
  157. package/dist/commands/groups/delete.js +30 -0
  158. package/dist/commands/groups/delete.js.map +1 -0
  159. package/dist/commands/groups/index.d.ts +3 -0
  160. package/dist/commands/groups/index.d.ts.map +1 -0
  161. package/dist/commands/groups/index.js +98 -0
  162. package/dist/commands/groups/index.js.map +1 -0
  163. package/dist/commands/groups/list.d.ts +7 -0
  164. package/dist/commands/groups/list.d.ts.map +1 -0
  165. package/dist/commands/groups/list.js +42 -0
  166. package/dist/commands/groups/list.js.map +1 -0
  167. package/dist/commands/groups/members.d.ts +4 -0
  168. package/dist/commands/groups/members.d.ts.map +1 -0
  169. package/dist/commands/groups/members.js +90 -0
  170. package/dist/commands/groups/members.js.map +1 -0
  171. package/dist/commands/groups/rename.d.ts +3 -0
  172. package/dist/commands/groups/rename.d.ts.map +1 -0
  173. package/dist/commands/groups/rename.js +28 -0
  174. package/dist/commands/groups/rename.js.map +1 -0
  175. package/dist/commands/groups/view.d.ts +7 -0
  176. package/dist/commands/groups/view.d.ts.map +1 -0
  177. package/dist/commands/groups/view.js +52 -0
  178. package/dist/commands/groups/view.js.map +1 -0
  179. package/dist/commands/inbox.d.ts +3 -0
  180. package/dist/commands/inbox.d.ts.map +1 -0
  181. package/dist/commands/inbox.js +147 -0
  182. package/dist/commands/inbox.js.map +1 -0
  183. package/dist/commands/mentions.d.ts +3 -0
  184. package/dist/commands/mentions.d.ts.map +1 -0
  185. package/dist/commands/mentions.js +23 -0
  186. package/dist/commands/mentions.js.map +1 -0
  187. package/dist/commands/msg/delete.d.ts +5 -0
  188. package/dist/commands/msg/delete.d.ts.map +1 -0
  189. package/dist/commands/msg/delete.js +31 -0
  190. package/dist/commands/msg/delete.js.map +1 -0
  191. package/dist/commands/msg/index.d.ts +3 -0
  192. package/dist/commands/msg/index.d.ts.map +1 -0
  193. package/dist/commands/msg/index.js +47 -0
  194. package/dist/commands/msg/index.js.map +1 -0
  195. package/dist/commands/msg/update.d.ts +5 -0
  196. package/dist/commands/msg/update.d.ts.map +1 -0
  197. package/dist/commands/msg/update.js +37 -0
  198. package/dist/commands/msg/update.js.map +1 -0
  199. package/dist/commands/msg/view.d.ts +3 -0
  200. package/dist/commands/msg/view.d.ts.map +1 -0
  201. package/dist/commands/msg/view.js +31 -0
  202. package/dist/commands/msg/view.js.map +1 -0
  203. package/dist/commands/react.d.ts +3 -0
  204. package/dist/commands/react.d.ts.map +1 -0
  205. package/dist/commands/react.js +149 -0
  206. package/dist/commands/react.js.map +1 -0
  207. package/dist/commands/search.d.ts +3 -0
  208. package/dist/commands/search.d.ts.map +1 -0
  209. package/dist/commands/search.js +30 -0
  210. package/dist/commands/search.js.map +1 -0
  211. package/dist/commands/skill/index.d.ts +3 -0
  212. package/dist/commands/skill/index.d.ts.map +1 -0
  213. package/dist/commands/skill/index.js +29 -0
  214. package/dist/commands/skill/index.js.map +1 -0
  215. package/dist/commands/skill/install.d.ts +3 -0
  216. package/dist/commands/skill/install.d.ts.map +1 -0
  217. package/dist/commands/skill/install.js +16 -0
  218. package/dist/commands/skill/install.js.map +1 -0
  219. package/dist/commands/skill/list.d.ts +6 -0
  220. package/dist/commands/skill/list.d.ts.map +1 -0
  221. package/dist/commands/skill/list.js +22 -0
  222. package/dist/commands/skill/list.js.map +1 -0
  223. package/dist/commands/skill/uninstall.d.ts +3 -0
  224. package/dist/commands/skill/uninstall.d.ts.map +1 -0
  225. package/dist/commands/skill/uninstall.js +15 -0
  226. package/dist/commands/skill/uninstall.js.map +1 -0
  227. package/dist/commands/skill/update.d.ts +3 -0
  228. package/dist/commands/skill/update.d.ts.map +1 -0
  229. package/dist/commands/skill/update.js +37 -0
  230. package/dist/commands/skill/update.js.map +1 -0
  231. package/dist/commands/thread/create.d.ts +8 -0
  232. package/dist/commands/thread/create.d.ts.map +1 -0
  233. package/dist/commands/thread/create.js +70 -0
  234. package/dist/commands/thread/create.js.map +1 -0
  235. package/dist/commands/thread/delete.d.ts +7 -0
  236. package/dist/commands/thread/delete.d.ts.map +1 -0
  237. package/dist/commands/thread/delete.js +38 -0
  238. package/dist/commands/thread/delete.js.map +1 -0
  239. package/dist/commands/thread/helpers.d.ts +24 -0
  240. package/dist/commands/thread/helpers.d.ts.map +1 -0
  241. package/dist/commands/thread/helpers.js +45 -0
  242. package/dist/commands/thread/helpers.js.map +1 -0
  243. package/dist/commands/thread/index.d.ts +3 -0
  244. package/dist/commands/thread/index.d.ts.map +1 -0
  245. package/dist/commands/thread/index.js +134 -0
  246. package/dist/commands/thread/index.js.map +1 -0
  247. package/dist/commands/thread/mutate.d.ts +5 -0
  248. package/dist/commands/thread/mutate.d.ts.map +1 -0
  249. package/dist/commands/thread/mutate.js +23 -0
  250. package/dist/commands/thread/mutate.js.map +1 -0
  251. package/dist/commands/thread/mute.d.ts +8 -0
  252. package/dist/commands/thread/mute.d.ts.map +1 -0
  253. package/dist/commands/thread/mute.js +63 -0
  254. package/dist/commands/thread/mute.js.map +1 -0
  255. package/dist/commands/thread/rename.d.ts +3 -0
  256. package/dist/commands/thread/rename.d.ts.map +1 -0
  257. package/dist/commands/thread/rename.js +29 -0
  258. package/dist/commands/thread/rename.js.map +1 -0
  259. package/dist/commands/thread/reply.d.ts +9 -0
  260. package/dist/commands/thread/reply.d.ts.map +1 -0
  261. package/dist/commands/thread/reply.js +85 -0
  262. package/dist/commands/thread/reply.js.map +1 -0
  263. package/dist/commands/thread/update.d.ts +5 -0
  264. package/dist/commands/thread/update.d.ts.map +1 -0
  265. package/dist/commands/thread/update.js +45 -0
  266. package/dist/commands/thread/update.js.map +1 -0
  267. package/dist/commands/thread/view.d.ts +9 -0
  268. package/dist/commands/thread/view.d.ts.map +1 -0
  269. package/dist/commands/thread/view.js +171 -0
  270. package/dist/commands/thread/view.js.map +1 -0
  271. package/dist/commands/update/index.d.ts +3 -0
  272. package/dist/commands/update/index.d.ts.map +1 -0
  273. package/dist/commands/update/index.js +14 -0
  274. package/dist/commands/update/index.js.map +1 -0
  275. package/dist/commands/user.d.ts +3 -0
  276. package/dist/commands/user.d.ts.map +1 -0
  277. package/dist/commands/user.js +90 -0
  278. package/dist/commands/user.js.map +1 -0
  279. package/dist/commands/view.d.ts +3 -0
  280. package/dist/commands/view.d.ts.map +1 -0
  281. package/dist/commands/view.js +68 -0
  282. package/dist/commands/view.js.map +1 -0
  283. package/dist/commands/workspace.d.ts +3 -0
  284. package/dist/commands/workspace.d.ts.map +1 -0
  285. package/dist/commands/workspace.js +56 -0
  286. package/dist/commands/workspace.js.map +1 -0
  287. package/dist/index.d.ts +3 -0
  288. package/dist/index.d.ts.map +1 -0
  289. package/dist/index.js +190 -0
  290. package/dist/index.js.map +1 -0
  291. package/dist/lib/api.d.ts +35 -0
  292. package/dist/lib/api.d.ts.map +1 -0
  293. package/dist/lib/api.js +306 -0
  294. package/dist/lib/api.js.map +1 -0
  295. package/dist/lib/auth-constants.d.ts +3 -0
  296. package/dist/lib/auth-constants.d.ts.map +1 -0
  297. package/dist/lib/auth-constants.js +3 -0
  298. package/dist/lib/auth-constants.js.map +1 -0
  299. package/dist/lib/auth-pages.d.ts +3 -0
  300. package/dist/lib/auth-pages.d.ts.map +1 -0
  301. package/dist/lib/auth-pages.js +707 -0
  302. package/dist/lib/auth-pages.js.map +1 -0
  303. package/dist/lib/auth-provider.d.ts +74 -0
  304. package/dist/lib/auth-provider.d.ts.map +1 -0
  305. package/dist/lib/auth-provider.js +238 -0
  306. package/dist/lib/auth-provider.js.map +1 -0
  307. package/dist/lib/auth.d.ts +39 -0
  308. package/dist/lib/auth.d.ts.map +1 -0
  309. package/dist/lib/auth.js +57 -0
  310. package/dist/lib/auth.js.map +1 -0
  311. package/dist/lib/comms-account.d.ts +22 -0
  312. package/dist/lib/comms-account.d.ts.map +1 -0
  313. package/dist/lib/comms-account.js +23 -0
  314. package/dist/lib/comms-account.js.map +1 -0
  315. package/dist/lib/completion.d.ts +31 -0
  316. package/dist/lib/completion.d.ts.map +1 -0
  317. package/dist/lib/completion.js +173 -0
  318. package/dist/lib/completion.js.map +1 -0
  319. package/dist/lib/config.d.ts +61 -0
  320. package/dist/lib/config.d.ts.map +1 -0
  321. package/dist/lib/config.js +184 -0
  322. package/dist/lib/config.js.map +1 -0
  323. package/dist/lib/dates.d.ts +3 -0
  324. package/dist/lib/dates.d.ts.map +1 -0
  325. package/dist/lib/dates.js +44 -0
  326. package/dist/lib/dates.js.map +1 -0
  327. package/dist/lib/errors.d.ts +28 -0
  328. package/dist/lib/errors.d.ts.map +1 -0
  329. package/dist/lib/errors.js +34 -0
  330. package/dist/lib/errors.js.map +1 -0
  331. package/dist/lib/global-args.d.ts +52 -0
  332. package/dist/lib/global-args.d.ts.map +1 -0
  333. package/dist/lib/global-args.js +124 -0
  334. package/dist/lib/global-args.js.map +1 -0
  335. package/dist/lib/input.d.ts +3 -0
  336. package/dist/lib/input.d.ts.map +1 -0
  337. package/dist/lib/input.js +80 -0
  338. package/dist/lib/input.js.map +1 -0
  339. package/dist/lib/markdown.d.ts +3 -0
  340. package/dist/lib/markdown.d.ts.map +1 -0
  341. package/dist/lib/markdown.js +15 -0
  342. package/dist/lib/markdown.js.map +1 -0
  343. package/dist/lib/options.d.ts +16 -0
  344. package/dist/lib/options.d.ts.map +1 -0
  345. package/dist/lib/options.js +2 -0
  346. package/dist/lib/options.js.map +1 -0
  347. package/dist/lib/output.d.ts +41 -0
  348. package/dist/lib/output.d.ts.map +1 -0
  349. package/dist/lib/output.js +184 -0
  350. package/dist/lib/output.js.map +1 -0
  351. package/dist/lib/permissions.d.ts +4 -0
  352. package/dist/lib/permissions.d.ts.map +1 -0
  353. package/dist/lib/permissions.js +41 -0
  354. package/dist/lib/permissions.js.map +1 -0
  355. package/dist/lib/progress.d.ts +29 -0
  356. package/dist/lib/progress.d.ts.map +1 -0
  357. package/dist/lib/progress.js +86 -0
  358. package/dist/lib/progress.js.map +1 -0
  359. package/dist/lib/public-channels.d.ts +4 -0
  360. package/dist/lib/public-channels.d.ts.map +1 -0
  361. package/dist/lib/public-channels.js +32 -0
  362. package/dist/lib/public-channels.js.map +1 -0
  363. package/dist/lib/refs.d.ts +62 -0
  364. package/dist/lib/refs.d.ts.map +1 -0
  365. package/dist/lib/refs.js +378 -0
  366. package/dist/lib/refs.js.map +1 -0
  367. package/dist/lib/search-api.d.ts +25 -0
  368. package/dist/lib/search-api.d.ts.map +1 -0
  369. package/dist/lib/search-api.js +93 -0
  370. package/dist/lib/search-api.js.map +1 -0
  371. package/dist/lib/search-helpers.d.ts +32 -0
  372. package/dist/lib/search-helpers.d.ts.map +1 -0
  373. package/dist/lib/search-helpers.js +183 -0
  374. package/dist/lib/search-helpers.js.map +1 -0
  375. package/dist/lib/skills/content.d.ts +8 -0
  376. package/dist/lib/skills/content.d.ts.map +1 -0
  377. package/dist/lib/skills/content.js +410 -0
  378. package/dist/lib/skills/content.js.map +1 -0
  379. package/dist/lib/skills/create-installer.d.ts +9 -0
  380. package/dist/lib/skills/create-installer.d.ts.map +1 -0
  381. package/dist/lib/skills/create-installer.js +65 -0
  382. package/dist/lib/skills/create-installer.js.map +1 -0
  383. package/dist/lib/skills/index.d.ts +7 -0
  384. package/dist/lib/skills/index.d.ts.map +1 -0
  385. package/dist/lib/skills/index.js +54 -0
  386. package/dist/lib/skills/index.js.map +1 -0
  387. package/dist/lib/skills/types.d.ts +30 -0
  388. package/dist/lib/skills/types.d.ts.map +1 -0
  389. package/dist/lib/skills/types.js +2 -0
  390. package/dist/lib/skills/types.js.map +1 -0
  391. package/dist/lib/skills/update-installed.d.ts +9 -0
  392. package/dist/lib/skills/update-installed.d.ts.map +1 -0
  393. package/dist/lib/skills/update-installed.js +20 -0
  394. package/dist/lib/skills/update-installed.js.map +1 -0
  395. package/dist/lib/spinner.d.ts +3 -0
  396. package/dist/lib/spinner.d.ts.map +1 -0
  397. package/dist/lib/spinner.js +10 -0
  398. package/dist/lib/spinner.js.map +1 -0
  399. package/dist/lib/threads.d.ts +4 -0
  400. package/dist/lib/threads.d.ts.map +1 -0
  401. package/dist/lib/threads.js +6 -0
  402. package/dist/lib/threads.js.map +1 -0
  403. package/dist/lib/update.d.ts +13 -0
  404. package/dist/lib/update.d.ts.map +1 -0
  405. package/dist/lib/update.js +23 -0
  406. package/dist/lib/update.js.map +1 -0
  407. package/dist/lib/user-records.d.ts +15 -0
  408. package/dist/lib/user-records.d.ts.map +1 -0
  409. package/dist/lib/user-records.js +84 -0
  410. package/dist/lib/user-records.js.map +1 -0
  411. package/dist/lib/validation.d.ts +2 -0
  412. package/dist/lib/validation.d.ts.map +1 -0
  413. package/dist/lib/validation.js +7 -0
  414. package/dist/lib/validation.js.map +1 -0
  415. package/dist/postinstall.d.ts +2 -0
  416. package/dist/postinstall.d.ts.map +1 -0
  417. package/dist/postinstall.js +4 -0
  418. package/dist/postinstall.js.map +1 -0
  419. package/package.json +77 -8
  420. package/scripts/check-skill-sync.js +40 -0
  421. package/scripts/postinstall.js +12 -0
  422. package/scripts/sync-skill.js +29 -0
@@ -0,0 +1,37 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join, resolve } from 'node:path';
4
+ // pwsh is included because tabtab supports it — installedShells() needs to
5
+ // detect and clean up pwsh completion files even though we don't advertise it.
6
+ export const COMPLETION_EXTENSIONS = {
7
+ bash: 'bash',
8
+ zsh: 'zsh',
9
+ fish: 'fish',
10
+ pwsh: 'ps1',
11
+ };
12
+ /**
13
+ * Find which shells have tdc completions installed by checking for the
14
+ * completion script files that tabtab creates.
15
+ *
16
+ * FIXME: Workaround for https://github.com/pnpm/tabtab/issues/34 —
17
+ * tabtab.uninstall() without a shell tries all shells and throws ENOENT
18
+ * for ones that were never installed. We detect which shells are actually
19
+ * installed and uninstall only those. Remove once the upstream issue is fixed.
20
+ */
21
+ export function installedShells() {
22
+ return Object.entries(COMPLETION_EXTENSIONS)
23
+ .filter(([shell, ext]) => existsSync(join(homedir(), '.config', 'tabtab', shell, `tdc.${ext}`)))
24
+ .map(([shell]) => shell);
25
+ }
26
+ export function resolveCompleterCommand() {
27
+ const invokedScript = process.argv[1];
28
+ if (!invokedScript) {
29
+ return 'tdc';
30
+ }
31
+ const resolvedScript = resolve(invokedScript);
32
+ if (existsSync(resolvedScript)) {
33
+ return resolvedScript;
34
+ }
35
+ return 'tdc';
36
+ }
37
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/completion/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGzC,2EAA2E;AAC3E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAmC;IACjE,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,KAAK;CACd,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CACrB,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CACxE;SACA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAuB,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAC7C,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAA;IACzB,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerCompletionCommand(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/completion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBhE"}
@@ -0,0 +1,22 @@
1
+ import { installCompletion } from './install.js';
2
+ import { handleCompletionServer } from './server.js';
3
+ import { uninstallCompletion } from './uninstall.js';
4
+ export function registerCompletionCommand(program) {
5
+ const completion = program.command('completion').description('Manage shell completions');
6
+ completion
7
+ .command('install [shell]')
8
+ .description('Install shell completions (bash, zsh, fish)')
9
+ .action(installCompletion);
10
+ completion
11
+ .command('uninstall')
12
+ .description('Remove shell completions')
13
+ .action(uninstallCompletion);
14
+ // Hidden command invoked by the shell completion script at TAB time
15
+ program
16
+ .command('completion-server', { hidden: true })
17
+ .description('Completion server (internal)')
18
+ .allowUnknownOption()
19
+ .allowExcessArguments()
20
+ .action(() => handleCompletionServer(program));
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/completion/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAA;IAExF,UAAU;SACL,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAE9B,UAAU;SACL,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAEhC,oEAAoE;IACpE,OAAO;SACF,OAAO,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC9C,WAAW,CAAC,8BAA8B,CAAC;SAC3C,kBAAkB,EAAE;SACpB,oBAAoB,EAAE;SACtB,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAA;AACtD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function installCompletion(shell?: string): Promise<void>;
2
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/completion/install.ts"],"names":[],"mappings":"AAIA,wBAAsB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrE"}
@@ -0,0 +1,19 @@
1
+ import { CliError } from '../../lib/errors.js';
2
+ import { resolveCompleterCommand } from './helpers.js';
3
+ export async function installCompletion(shell) {
4
+ const tabtab = await import('@pnpm/tabtab');
5
+ const completer = resolveCompleterCommand();
6
+ if (shell && !tabtab.isShellSupported(shell)) {
7
+ throw new CliError('INVALID_TYPE', `Unsupported shell: ${shell}. Supported: ${tabtab.SUPPORTED_SHELLS.join(', ')}`);
8
+ }
9
+ await tabtab.install({
10
+ name: 'tdc',
11
+ // Use the executable path used to install completions so shell
12
+ // completion doesn't accidentally call an older `tdc` on PATH.
13
+ completer,
14
+ shell: shell,
15
+ });
16
+ console.log('Shell completions installed successfully.');
17
+ console.log('Restart your shell or source your shell config to activate.');
18
+ }
19
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/completion/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAEtD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAc;IAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAA;IAE3C,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,QAAQ,CACd,cAAc,EACd,sBAAsB,KAAK,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAA;IACL,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,KAAK;QACX,+DAA+D;QAC/D,+DAA+D;QAC/D,SAAS;QACT,KAAK,EAAE,KAAuB;KACjC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;IACxD,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;AAC9E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function handleCompletionServer(program: Command): Promise<void>;
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/commands/completion/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC5E"}
@@ -0,0 +1,35 @@
1
+ import { getCompletions, parseCompLine } from '../../lib/completion.js';
2
+ export async function handleCompletionServer(program) {
3
+ const tabtab = await import('@pnpm/tabtab');
4
+ const env = tabtab.parseEnv(process.env);
5
+ if (!env.complete) {
6
+ return;
7
+ }
8
+ const shell = tabtab.getShellFromEnv(process.env);
9
+ const words = parseCompLine(env.line);
10
+ let current = env.last;
11
+ // The fish/zsh completion templates always append a trailing space
12
+ // to COMP_LINE, making env.last empty even when the cursor is right
13
+ // after '--flag='. Use env.lastPartial (cursor-position-aware) to
14
+ // detect this case and restore the actual word being completed.
15
+ if (current === '' && env.lastPartial.includes('=')) {
16
+ if (words.at(-1) === '')
17
+ words.pop();
18
+ current = env.lastPartial;
19
+ }
20
+ const completions = getCompletions(program, words, current);
21
+ // Bash treats '=' as a word break (COMP_WORDBREAKS), so readline
22
+ // replaces only the part after '=' with COMPREPLY values. If we
23
+ // return '--flag=value', bash produces '--flag=--flag=value'.
24
+ // Strip the flag prefix so bash gets just the value part.
25
+ if (shell === 'bash' && current.includes('=')) {
26
+ const prefix = current.slice(0, current.indexOf('=') + 1);
27
+ const values = completions
28
+ .map((c) => (c.name.startsWith(prefix) ? c.name.slice(prefix.length) : c.name))
29
+ .filter(Boolean);
30
+ console.log(values.join('\n'));
31
+ return;
32
+ }
33
+ tabtab.log(completions, shell);
34
+ }
35
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/commands/completion/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAgB;IACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAExC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAM;IACV,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAErC,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;IAEtB,mEAAmE;IACnE,oEAAoE;IACpE,kEAAkE;IAClE,gEAAgE;IAChE,IAAI,OAAO,KAAK,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,EAAE,CAAA;QACpC,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;IAC7B,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAE3D,iEAAiE;IACjE,gEAAgE;IAChE,8DAA8D;IAC9D,0DAA0D;IAC1D,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,WAAW;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC9E,MAAM,CAAC,OAAO,CAAC,CAAA;QACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,OAAM;IACV,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function uninstallCompletion(): Promise<void>;
2
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/completion/uninstall.ts"],"names":[],"mappings":"AAEA,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBzD"}
@@ -0,0 +1,19 @@
1
+ import { installedShells } from './helpers.js';
2
+ export async function uninstallCompletion() {
3
+ // FIXME: Replace with plain tabtab.uninstall({ name: 'tdc' }) once
4
+ // https://github.com/pnpm/tabtab/issues/34 is fixed.
5
+ const shells = installedShells();
6
+ if (shells.length === 0) {
7
+ console.log('No shell completions installed.');
8
+ return;
9
+ }
10
+ const tabtab = await import('@pnpm/tabtab');
11
+ for (const shell of shells) {
12
+ await tabtab.uninstall({
13
+ name: 'tdc',
14
+ shell,
15
+ });
16
+ }
17
+ console.log('Shell completions removed.');
18
+ }
19
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/completion/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,mEAAmE;IACnE,qDAAqD;IACrD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAC9C,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,KAAK;YACX,KAAK;SACR,CAAC,CAAA;IACN,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerConfigCommand(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkC5D"}
@@ -0,0 +1,29 @@
1
+ import { listSettableKeys, setConfigValue } from './set.js';
2
+ import { viewConfig } from './view.js';
3
+ export function registerConfigCommand(program) {
4
+ const config = program.command('config').description('Manage CLI configuration');
5
+ config
6
+ .command('view', { isDefault: true })
7
+ .description('Show the current CLI configuration file')
8
+ .option('--json', 'Output the raw config as JSON')
9
+ .option('--show-token', 'Include the full token instead of masking it')
10
+ .action(viewConfig);
11
+ config
12
+ .command('set <key> <value>')
13
+ .description('Set a user preference in the config file')
14
+ .addHelpText('after', `
15
+ Settable keys:
16
+ ${listSettableKeys()}
17
+
18
+ Examples:
19
+ $ tdc config set unarchive-new-threads true
20
+ $ tdc config set unarchive-new-threads false`)
21
+ .action(setConfigValue);
22
+ config.addHelpText('after', `
23
+ Examples:
24
+ $ tdc config view # pretty-printed, token masked
25
+ $ tdc config view --json # raw JSON, token masked
26
+ $ tdc config view --show-token # include the full token
27
+ $ tdc config set unarchive-new-threads true # change a user preference`);
28
+ }
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAA;IAEhF,MAAM;SACD,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpC,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;SACtE,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvB,MAAM;SACD,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,0CAA0C,CAAC;SACvD,WAAW,CACR,OAAO,EACP;;EAEV,gBAAgB,EAAE;;;;+CAI2B,CACtC;SACA,MAAM,CAAC,cAAc,CAAC,CAAA;IAE3B,MAAM,CAAC,WAAW,CACd,OAAO,EACP;;;;;4EAKoE,CACvE,CAAA;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function setConfigValue(key: string, value: string): Promise<void>;
2
+ export declare function listSettableKeys(): string;
3
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/commands/config/set.ts"],"names":[],"mappings":"AA8BA,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9E;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC"}
@@ -0,0 +1,41 @@
1
+ import chalk from 'chalk';
2
+ import { readConfigStrict, setConfig } from '../../lib/config.js';
3
+ import { CliError } from '../../lib/errors.js';
4
+ const TRUE_VALUES = new Set(['true', 'on', '1', 'yes']);
5
+ const FALSE_VALUES = new Set(['false', 'off', '0', 'no']);
6
+ function parseBoolean(raw, key) {
7
+ const normalized = raw.trim().toLowerCase();
8
+ if (TRUE_VALUES.has(normalized))
9
+ return true;
10
+ if (FALSE_VALUES.has(normalized))
11
+ return false;
12
+ throw new CliError('INVALID_VALUE', `Invalid boolean value "${raw}" for ${key}. Use one of: true, false, on, off, 1, 0.`);
13
+ }
14
+ const SETTERS = {
15
+ 'unarchive-new-threads': {
16
+ description: 'Unarchive newly-created threads so they appear in your Inbox',
17
+ apply: (config, value) => {
18
+ const parsed = parseBoolean(value, 'unarchive-new-threads');
19
+ config.userSettings = { ...config.userSettings, unarchiveNewThreads: parsed };
20
+ return `userSettings.unarchiveNewThreads = ${parsed}`;
21
+ },
22
+ },
23
+ };
24
+ export async function setConfigValue(key, value) {
25
+ const setter = SETTERS[key];
26
+ if (!setter) {
27
+ const known = Object.keys(SETTERS).join(', ');
28
+ throw new CliError('UNKNOWN_KEY', `Unknown config key "${key}". Known keys: ${known}.`);
29
+ }
30
+ const read = await readConfigStrict();
31
+ const config = read.state === 'present' ? read.config : {};
32
+ const summary = setter.apply(config, value);
33
+ await setConfig(config);
34
+ console.log(chalk.green('✓'), `Set ${chalk.cyan(summary)}`);
35
+ }
36
+ export function listSettableKeys() {
37
+ return Object.entries(SETTERS)
38
+ .map(([key, { description }]) => ` ${key.padEnd(28)} ${description}`)
39
+ .join('\n');
40
+ }
41
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/config/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAe,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;AAEzD,SAAS,YAAY,CAAC,GAAW,EAAE,GAAW;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9C,MAAM,IAAI,QAAQ,CACd,eAAe,EACf,0BAA0B,GAAG,SAAS,GAAG,2CAA2C,CACvF,CAAA;AACL,CAAC;AAID,MAAM,OAAO,GAA2D;IACpE,uBAAuB,EAAE;QACrB,WAAW,EAAE,8DAA8D;QAC3E,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAA;YAC3D,MAAM,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA;YAC7E,OAAO,sCAAsC,MAAM,EAAE,CAAA;QACzD,CAAC;KACJ;CACJ,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAa;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,uBAAuB,GAAG,kBAAkB,KAAK,GAAG,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAA;IACrC,MAAM,MAAM,GAAW,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3C,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;IAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;SACrE,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface ViewConfigOptions {
2
+ json?: boolean;
3
+ showToken?: boolean;
4
+ }
5
+ export declare function viewConfig(options: ViewConfigOptions): Promise<void>;
6
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAyHD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B1E"}
@@ -0,0 +1,121 @@
1
+ import { SecureStoreUnavailableError } from '@doist/cli-core/auth';
2
+ import chalk from 'chalk';
3
+ import { NoTokenError, probeApiToken, SECURE_STORE_DESCRIPTION, TOKEN_ENV_VAR, } from '../../lib/auth.js';
4
+ import { getConfigPath, readConfigStrict } from '../../lib/config.js';
5
+ import { getDefaultUserRecord } from '../../lib/user-records.js';
6
+ function maskToken(token) {
7
+ if (token.length < 5)
8
+ return '****';
9
+ return `****…${token.slice(-4)}`;
10
+ }
11
+ function describeTokenSource(source) {
12
+ switch (source) {
13
+ case 'env':
14
+ return `environment variable ${TOKEN_ENV_VAR}`;
15
+ case 'secure-store':
16
+ return SECURE_STORE_DESCRIPTION;
17
+ case 'config-file':
18
+ return 'config file (plaintext fallback)';
19
+ }
20
+ }
21
+ async function probeTokenPresence() {
22
+ try {
23
+ const { token, metadata } = await probeApiToken();
24
+ return { state: 'present', token, metadata };
25
+ }
26
+ catch (error) {
27
+ if (error instanceof NoTokenError)
28
+ return { state: 'missing' };
29
+ if (error instanceof SecureStoreUnavailableError) {
30
+ return {
31
+ state: 'unavailable',
32
+ reason: `${SECURE_STORE_DESCRIPTION} unavailable (${error.message})`,
33
+ };
34
+ }
35
+ throw error;
36
+ }
37
+ }
38
+ function formatValue(value) {
39
+ if (value === undefined || value === null)
40
+ return chalk.dim('not set');
41
+ if (typeof value === 'boolean')
42
+ return value ? 'true' : 'false';
43
+ return String(value);
44
+ }
45
+ function renderTokenLine(token, showToken) {
46
+ switch (token.state) {
47
+ case 'present': {
48
+ const value = showToken ? token.token : maskToken(token.token);
49
+ return `${value} ${chalk.dim(`(${describeTokenSource(token.metadata.source)})`)}`;
50
+ }
51
+ case 'unavailable':
52
+ return chalk.dim(`unknown — ${token.reason}`);
53
+ case 'missing':
54
+ return formatValue(undefined);
55
+ }
56
+ }
57
+ function formatConfigView(config, token, showToken, configMissing) {
58
+ const lines = [];
59
+ const headerSuffix = configMissing ? ` ${chalk.dim('(not created yet)')}` : '';
60
+ lines.push(`${chalk.dim('Config file:')} ${getConfigPath()}${headerSuffix}`);
61
+ lines.push('');
62
+ const users = config.users ?? [];
63
+ if (users.length > 0) {
64
+ // Mirror runtime first-user fallback so the marker reflects the
65
+ // account the CLI would actually use.
66
+ const defaultId = getDefaultUserRecord(config)?.account.id;
67
+ lines.push(chalk.bold(`Authenticated accounts (${users.length})`));
68
+ for (const user of users) {
69
+ const marker = user.id === defaultId ? chalk.green('*') : ' ';
70
+ lines.push(` ${marker} ${chalk.dim(`id:${user.id}`)} ${user.name}`);
71
+ }
72
+ lines.push('');
73
+ }
74
+ // When a token is present, its metadata is the ground truth for the active
75
+ // mode/scope — this matters most for env-sourced tokens, whose scope the CLI
76
+ // does not know. For missing/unavailable tokens, fall back to the default
77
+ // user record (what the CLI would attempt once auth recovers).
78
+ const defaultRecord = getDefaultUserRecord(config);
79
+ const effectiveMode = token.state === 'present' ? token.metadata.authMode : defaultRecord?.account.authMode;
80
+ const effectiveScope = token.state === 'present' ? token.metadata.authScope : defaultRecord?.account.authScope;
81
+ // When the mode is 'unknown' and no scope is recorded, the scope is
82
+ // genuinely unintrospectable (env-sourced tokens, or tokens saved via
83
+ // `tdc auth token` without metadata). Render 'unknown' rather than
84
+ // 'not set' to avoid reading as an explicit empty scope.
85
+ const scopeDisplay = effectiveMode === 'unknown' && effectiveScope === undefined
86
+ ? 'unknown'
87
+ : formatValue(effectiveScope);
88
+ lines.push(chalk.bold('Authentication (active)'));
89
+ lines.push(` Token: ${renderTokenLine(token, showToken)}`);
90
+ lines.push(` Mode: ${formatValue(effectiveMode)}`);
91
+ lines.push(` Scope: ${scopeDisplay}`);
92
+ lines.push('');
93
+ lines.push(chalk.bold('Workspace'));
94
+ lines.push(` Current: ${formatValue(config.currentWorkspace)}`);
95
+ lines.push('');
96
+ lines.push(chalk.bold('Updates'));
97
+ lines.push(` Channel: ${formatValue(config.updateChannel)}`);
98
+ lines.push('');
99
+ lines.push(chalk.bold('User settings'));
100
+ lines.push(` Unarchive new threads: ${formatValue(config.userSettings?.unarchiveNewThreads)}`);
101
+ return lines.join('\n');
102
+ }
103
+ export async function viewConfig(options) {
104
+ const read = await readConfigStrict();
105
+ const config = read.state === 'present' ? read.config : {};
106
+ if (options.json) {
107
+ const output = { ...config };
108
+ if (output.users && !options.showToken) {
109
+ output.users = output.users.map((user) => user.token ? { ...user, token: maskToken(user.token) } : user);
110
+ }
111
+ console.log(JSON.stringify(output, null, 2));
112
+ return;
113
+ }
114
+ const token = await probeTokenPresence();
115
+ if (read.state === 'missing' && token.state === 'missing') {
116
+ console.log(`${chalk.dim('Config file:')} ${getConfigPath()} ${chalk.dim('(not created yet)')}`);
117
+ return;
118
+ }
119
+ console.log(formatConfigView(config, token, options.showToken ?? false, read.state === 'missing'));
120
+ }
121
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type DoneOptions } from './helpers.js';
2
+ export declare function markConversationDone(ref: string, options: DoneOptions): Promise<void>;
3
+ //# sourceMappingURL=done.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"done.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/done.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAElE,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3F"}
@@ -0,0 +1,23 @@
1
+ import { getCommsClient } from '../../lib/api.js';
2
+ import { formatJson, printDryRun } from '../../lib/output.js';
3
+ import { resolveConversationId } from '../../lib/refs.js';
4
+ import { conversationLabel } from './helpers.js';
5
+ export async function markConversationDone(ref, options) {
6
+ const conversationId = resolveConversationId(ref);
7
+ const client = await getCommsClient();
8
+ if (options.dryRun) {
9
+ const conversation = await client.conversations.getConversation(conversationId);
10
+ printDryRun('archive conversation', {
11
+ Conversation: conversationLabel(conversation),
12
+ Status: conversation.archived ? 'already archived' : undefined,
13
+ });
14
+ return;
15
+ }
16
+ await client.conversations.archiveConversation(conversationId);
17
+ if (options.json) {
18
+ console.log(formatJson({ id: conversationId, archived: true }));
19
+ return;
20
+ }
21
+ console.log(`Conversation ${conversationId} archived.`);
22
+ }
23
+ //# sourceMappingURL=done.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"done.js","sourceRoot":"","sources":["../../../src/commands/conversation/done.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAoB,MAAM,cAAc,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,OAAoB;IACxE,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAEjD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IAErC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAC/E,WAAW,CAAC,sBAAsB,EAAE;YAChC,YAAY,EAAE,iBAAiB,CAAC,YAAY,CAAC;YAC7C,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;SACjE,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;IAE9D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/D,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,cAAc,YAAY,CAAC,CAAA;AAC3D,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Conversation } from '@doist/comms-sdk';
2
+ import type { MutationOptions, PaginatedViewOptions, ViewOptions } from '../../lib/options.js';
3
+ export type UnreadOptions = ViewOptions & {
4
+ workspace?: string;
5
+ };
6
+ export type ConversationViewOptions = PaginatedViewOptions;
7
+ export type ConversationWithOptions = PaginatedViewOptions & {
8
+ workspace?: string;
9
+ includeGroups?: boolean;
10
+ snippet?: boolean;
11
+ };
12
+ export type ReplyOptions = MutationOptions;
13
+ export type MuteOptions = MutationOptions & {
14
+ minutes?: string;
15
+ };
16
+ export type DoneOptions = MutationOptions;
17
+ export type ConversationLookupResult = {
18
+ directConversation?: Conversation;
19
+ groupConversationCount: number;
20
+ };
21
+ export declare function buildConversationTitle(conversation: Pick<Conversation, 'title' | 'userIds'>, userMap: Map<number, string>): string;
22
+ export declare function conversationLabel(conversation: Pick<Conversation, 'id' | 'title'>): string;
23
+ export declare function sortByLastActiveDescending(a: Conversation, b: Conversation): number;
24
+ export declare function getAllConversations(workspaceId: number): Promise<Conversation[]>;
25
+ export declare function findDirectConversation(workspaceId: number, sessionUserId: number, targetUserId: number): Promise<ConversationLookupResult>;
26
+ export declare function listConversationsWithUser(conversations: Conversation[], workspaceId: number, options: ConversationWithOptions): Promise<void>;
27
+ export declare function parseMinutes(value: string | undefined): number;
28
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAOpD,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAG9F,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAE1D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG;IACzD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,eAAe,CAAA;AAE1C,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,WAAW,GAAG,eAAe,CAAA;AAEzC,MAAM,MAAM,wBAAwB,GAAG;IACnC,kBAAkB,CAAC,EAAE,YAAY,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC,EACrD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAKR;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,MAAM,CAI1F;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAEnF;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAatF;AAyBD,wBAAsB,sBAAsB,CACxC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAkBnC;AAED,wBAAsB,yBAAyB,CAC3C,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU9D"}