@doist/comms-cli 3.6.4 → 3.6.6

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [3.6.6](https://github.com/Doist/comms-cli/compare/v3.6.5...v3.6.6) (2026-10-20)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **thread:** show how many comments a view leaves out ([#87](https://github.com/Doist/comms-cli/issues/87)) ([38ec2ec](https://github.com/Doist/comms-cli/commit/38ec2ec2bb61bf180b64b03a978e2b2d0b2ddc75))
6
+
7
+ ## [3.6.5](https://github.com/Doist/comms-cli/compare/v3.6.4...v3.6.5) (2026-10-20)
8
+
9
+ ### Bug Fixes
10
+
11
+ - show the current icon on the auth result pages ([#84](https://github.com/Doist/comms-cli/issues/84)) ([4800ad6](https://github.com/Doist/comms-cli/commit/4800ad63bbbc36f8a3ae68be700a79a5dd4da9fa))
12
+
1
13
  ## [3.6.4](https://github.com/Doist/comms-cli/compare/v3.6.3...v3.6.4) (2026-10-20)
2
14
 
3
15
  ### Bug Fixes
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="icons/comms-cli_512px.png" alt="Comms CLI" width="150" height="150" />
2
+ <img src="icons/comms-cli.png" alt="Comms CLI" width="150" height="150" />
3
3
  </p>
4
4
 
5
5
  # Comms CLI
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/thread/view.ts"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAMxE,KAAK,WAAW,GAAG,oBAAoB,GAAG;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AA8CD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJjF"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/thread/view.ts"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAMxE,KAAK,WAAW,GAAG,oBAAoB,GAAG;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAgED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+JjF"}
@@ -7,6 +7,18 @@ import { colors, formatJson, pluralize } from '../../lib/output.js';
7
7
  import { assertChannelIsPublic } from '../../lib/public-channels.js';
8
8
  import { extractId, parseRef, resolveThreadId } from '../../lib/refs.js';
9
9
  import { printComment, printSeparator } from './helpers.js';
10
+ // getComments stops at the limit, so say when that left comments out. A date filter makes the
11
+ // thread's own count meaningless, so all that's left to report then is hitting the limit.
12
+ function formatCommentsHeader(shown, total, limit, isDateFiltered) {
13
+ const label = `${shown} ${pluralize(shown, 'comment')}`;
14
+ if (!isDateFiltered && total > shown) {
15
+ return `--- ${shown} of ${total} comments (use --limit for more) ---`;
16
+ }
17
+ if (isDateFiltered && shown >= limit) {
18
+ return `--- ${label} (limit reached, use --limit for more) ---`;
19
+ }
20
+ return `--- ${label} ---`;
21
+ }
10
22
  async function viewSingleComment(client, threadId, commentId, options) {
11
23
  const [thread, comment] = await Promise.all([
12
24
  client.threads.getThread(threadId),
@@ -162,7 +174,8 @@ export async function viewThread(ref, options) {
162
174
  console.log(options.raw ? thread.content : await renderMarkdown(thread.content));
163
175
  console.log('');
164
176
  if (comments.length > 0) {
165
- console.log(chalk.dim(`--- ${comments.length} ${pluralize(comments.length, 'comment')} ---`));
177
+ const isDateFiltered = options.since !== undefined || options.until !== undefined;
178
+ console.log(chalk.dim(formatCommentsHeader(comments.length, thread.commentCount, limit, isDateFiltered)));
166
179
  console.log('');
167
180
  for (const comment of comments) {
168
181
  await printComment(comment, userMap, options.raw ?? false);
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/thread/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/thread/view.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  /** OS keyring `service` identifier for every comms-cli secret. */
2
2
  export declare const SECURE_STORE_SERVICE = "comms-cli";
3
+ /**
4
+ * Icon sent as `logo_uri` when registering an OAuth client, and shown on the
5
+ * local auth result pages. Todoist keeps the URL each client registered with,
6
+ * so never rename or delete the file behind it. (3.6.1 to 3.6.3 registered
7
+ * `icons/comms-cli_512px.png`, since removed, so those clients show Todoist's
8
+ * fallback icon.)
9
+ */
10
+ export declare const LOGO_URI = "https://raw.githubusercontent.com/doist/comms-cli/main/icons/comms-cli.png";
3
11
  //# sourceMappingURL=auth-constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-constants.d.ts","sourceRoot":"","sources":["../../src/lib/auth-constants.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,cAAc,CAAA"}
1
+ {"version":3,"file":"auth-constants.d.ts","sourceRoot":"","sources":["../../src/lib/auth-constants.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,cAAc,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,+EAA+E,CAAA"}
@@ -1,3 +1,11 @@
1
1
  /** OS keyring `service` identifier for every comms-cli secret. */
2
2
  export const SECURE_STORE_SERVICE = 'comms-cli';
3
+ /**
4
+ * Icon sent as `logo_uri` when registering an OAuth client, and shown on the
5
+ * local auth result pages. Todoist keeps the URL each client registered with,
6
+ * so never rename or delete the file behind it. (3.6.1 to 3.6.3 registered
7
+ * `icons/comms-cli_512px.png`, since removed, so those clients show Todoist's
8
+ * fallback icon.)
9
+ */
10
+ export const LOGO_URI = 'https://raw.githubusercontent.com/doist/comms-cli/main/icons/comms-cli.png';
3
11
  //# sourceMappingURL=auth-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-constants.js","sourceRoot":"","sources":["../../src/lib/auth-constants.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"auth-constants.js","sourceRoot":"","sources":["../../src/lib/auth-constants.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,4EAA4E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-pages.d.ts","sourceRoot":"","sources":["../../src/lib/auth-pages.ts"],"names":[],"mappings":"AA6JA,wBAAgB,aAAa,IAAI,MAAM,CAqTtC;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA8GxD"}
1
+ {"version":3,"file":"auth-pages.d.ts","sourceRoot":"","sources":["../../src/lib/auth-pages.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,IAAI,MAAM,CAsTtC;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA+GxD"}
@@ -1,159 +1,6 @@
1
- const COMMS_CLI_ICON_SVG = `
2
- <svg width="72" height="72" viewBox="0 0 72 72" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <g id="Size=72, Style=Color">
4
- <g id="COMMS CLI">
5
- <rect x="3" y="3" width="66" height="66" rx="12" fill="#858585"/>
6
- <g id="Terminal" filter="url(#filter0_iiiiiiii_7325_21856)">
7
- <rect x="4.83337" y="4.83337" width="62.3333" height="62.3333" rx="11" fill="#4E4F60"/>
8
- <rect x="4.83337" y="4.83337" width="62.3333" height="62.3333" rx="11" fill="url(#paint0_radial_7325_21856)" fill-opacity="0.8"/>
9
- <g id="Comms">
10
- <g id="Comms Base" filter="url(#filter1_ddii_7325_21856)">
11
- <path d="M29.1254 11.6726C31.6564 11.6728 33.7082 13.7246 33.7084 16.2556V29.0896C33.7082 31.6206 31.6564 33.6724 29.1254 33.6726H16.2914C13.7603 33.6724 11.7086 31.6206 11.7084 29.0896V28.8699C11.8126 29.0073 11.9269 29.1379 12.0551 29.2585L12.0814 29.2839C14.3414 31.3626 19.4232 29.9877 23.5023 26.2019L23.599 26.1111C27.6942 22.2567 29.1962 17.4151 26.9701 15.2712L26.9437 15.2468C24.6795 13.1158 19.5111 14.5248 15.3998 18.3943C13.6883 20.0051 12.4311 21.7887 11.7084 23.4753V16.2556C11.7086 13.7246 13.7603 11.6728 16.2914 11.6726H29.1254ZM22.2523 15.8308C24.1298 15.3189 25.3504 15.6032 25.9574 16.1746C26.4514 16.6395 26.744 17.487 26.5424 18.739C26.4859 18.6662 26.423 18.5981 26.3549 18.5339C24.9062 17.1706 21.3249 18.3265 18.3256 21.115L18.2552 21.1814C15.2416 24.0178 13.9817 27.4313 15.4418 28.8054C15.4798 28.8412 15.52 28.8747 15.5609 28.907C14.3429 29.0414 13.5096 28.7714 13.0414 28.3308C12.4344 27.7595 12.1322 26.6105 12.6761 24.8435C13.2043 23.1279 14.4645 21.1306 16.3861 19.322C18.3077 17.5135 20.4296 16.3278 22.2523 15.8308ZM23.3451 19.5183C24.6731 19.0843 25.2305 19.3309 25.3695 19.4617C25.5085 19.5927 25.77 20.1175 25.309 21.3669C25.2903 21.4175 25.271 21.4688 25.2504 21.5203C24.3807 21.1257 22.5742 21.8894 20.9633 23.3738L20.8793 23.4519C19.1809 25.0504 18.3331 26.8755 18.8861 27.6628C18.7387 27.7216 18.5936 27.7739 18.4525 27.8201C17.1245 28.2541 16.5671 28.0075 16.4281 27.8767C16.2891 27.7459 16.0268 27.2218 16.4877 25.9724C16.9137 24.8178 17.8495 23.4184 19.2406 22.1091C20.6317 20.7999 22.1183 19.9193 23.3451 19.5183ZM24.2015 22.9744C23.9454 23.5618 23.406 24.3276 22.6078 25.0789C21.8095 25.8301 20.9956 26.3378 20.3715 26.5789C20.314 26.601 20.2602 26.6201 20.2103 26.6365C20.2278 26.5894 20.2482 26.5383 20.2719 26.4841C20.528 25.8967 21.0674 25.1309 21.8656 24.3796C22.6638 23.6285 23.4769 23.1206 24.101 22.8796C24.1584 22.8575 24.2122 22.8384 24.2621 22.822C24.2447 22.8691 24.2252 22.9202 24.2015 22.9744Z" fill="#A5B1FF"/>
12
- <path d="M29.1254 11.6726C31.6564 11.6728 33.7082 13.7246 33.7084 16.2556V29.0896C33.7082 31.6206 31.6564 33.6724 29.1254 33.6726H16.2914C13.7603 33.6724 11.7086 31.6206 11.7084 29.0896V28.8699C11.8126 29.0073 11.9269 29.1379 12.0551 29.2585L12.0814 29.2839C14.3414 31.3626 19.4232 29.9877 23.5023 26.2019L23.599 26.1111C27.6942 22.2567 29.1962 17.4151 26.9701 15.2712L26.9437 15.2468C24.6795 13.1158 19.5111 14.5248 15.3998 18.3943C13.6883 20.0051 12.4311 21.7887 11.7084 23.4753V16.2556C11.7086 13.7246 13.7603 11.6728 16.2914 11.6726H29.1254ZM22.2523 15.8308C24.1298 15.3189 25.3504 15.6032 25.9574 16.1746C26.4514 16.6395 26.744 17.487 26.5424 18.739C26.4859 18.6662 26.423 18.5981 26.3549 18.5339C24.9062 17.1706 21.3249 18.3265 18.3256 21.115L18.2552 21.1814C15.2416 24.0178 13.9817 27.4313 15.4418 28.8054C15.4798 28.8412 15.52 28.8747 15.5609 28.907C14.3429 29.0414 13.5096 28.7714 13.0414 28.3308C12.4344 27.7595 12.1322 26.6105 12.6761 24.8435C13.2043 23.1279 14.4645 21.1306 16.3861 19.322C18.3077 17.5135 20.4296 16.3278 22.2523 15.8308ZM23.3451 19.5183C24.6731 19.0843 25.2305 19.3309 25.3695 19.4617C25.5085 19.5927 25.77 20.1175 25.309 21.3669C25.2903 21.4175 25.271 21.4688 25.2504 21.5203C24.3807 21.1257 22.5742 21.8894 20.9633 23.3738L20.8793 23.4519C19.1809 25.0504 18.3331 26.8755 18.8861 27.6628C18.7387 27.7216 18.5936 27.7739 18.4525 27.8201C17.1245 28.2541 16.5671 28.0075 16.4281 27.8767C16.2891 27.7459 16.0268 27.2218 16.4877 25.9724C16.9137 24.8178 17.8495 23.4184 19.2406 22.1091C20.6317 20.7999 22.1183 19.9193 23.3451 19.5183ZM24.2015 22.9744C23.9454 23.5618 23.406 24.3276 22.6078 25.0789C21.8095 25.8301 20.9956 26.3378 20.3715 26.5789C20.314 26.601 20.2602 26.6201 20.2103 26.6365C20.2278 26.5894 20.2482 26.5383 20.2719 26.4841C20.528 25.8967 21.0674 25.1309 21.8656 24.3796C22.6638 23.6285 23.4769 23.1206 24.101 22.8796C24.1584 22.8575 24.2122 22.8384 24.2621 22.822C24.2447 22.8691 24.2252 22.9202 24.2015 22.9744Z" fill="url(#paint1_linear_7325_21856)" fill-opacity="0.3" style="mix-blend-mode:color-burn"/>
13
- </g>
14
- <g id="Comms Glyph">
15
- <mask id="mask0_7325_21856" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="14" width="18" height="17">
16
- <path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M15.3997 18.3942C19.511 14.5247 24.6794 13.1154 26.9436 15.2464L26.9699 15.2715C29.196 17.4154 27.6943 22.2569 23.5991 26.1112L23.5025 26.2015C19.4233 29.9875 14.3419 31.3625 12.0819 29.2838L12.0552 29.259C9.79102 27.128 11.2884 22.2636 15.3997 18.3942ZM25.9576 16.1744C25.3506 15.603 24.1298 15.3187 22.2523 15.8306C20.4295 16.3276 18.3074 17.5134 16.3857 19.3221C14.4639 21.1308 13.204 23.128 12.6759 24.8437C12.1319 26.6107 12.4341 27.7597 13.0412 28.331C13.5093 28.7716 14.3426 29.0415 15.5606 28.9071C15.5196 28.8748 15.48 28.8408 15.442 28.805C13.9819 27.4308 15.2414 24.0175 18.255 21.1812L18.3258 21.115C21.3252 18.3264 24.9066 17.1702 26.3553 18.5336C26.4234 18.5978 26.4857 18.6664 26.5421 18.7392C26.7437 17.487 26.4517 16.6394 25.9576 16.1744ZM25.3693 19.4615C25.2303 19.3307 24.6732 19.0841 23.3452 19.5181C22.1184 19.9191 20.6321 20.7998 19.2409 22.1091C17.8498 23.4184 16.9141 24.8173 16.488 25.9719C16.0269 27.2218 16.2889 27.7462 16.4279 27.877C16.5669 28.0078 17.1241 28.2545 18.4521 27.8204C18.5934 27.7743 18.7381 27.7216 18.8857 27.6628C18.3326 26.8754 19.1809 25.0503 20.8793 23.4518L20.9635 23.3734C22.5745 21.889 24.3803 21.1257 25.25 21.5203C25.2707 21.4687 25.2905 21.4174 25.3092 21.3666C25.7704 20.1167 25.5083 19.5923 25.3693 19.4615ZM24.2625 22.8222C24.2125 22.8386 24.1587 22.8577 24.1011 22.88C23.477 23.121 22.6635 23.6285 21.8652 24.3798C21.067 25.1311 20.5277 25.8968 20.2716 26.4842C20.248 26.5384 20.2277 26.589 20.2103 26.6361C20.2603 26.6197 20.3141 26.6006 20.3717 26.5784C20.9958 26.3374 21.8094 25.8298 22.6076 25.0785C23.4059 24.3272 23.9451 23.5615 24.2012 22.9741C24.2248 22.9199 24.2451 22.8693 24.2625 22.8222Z" fill="#344168"/>
17
- </mask>
18
- <g mask="url(#mask0_7325_21856)">
19
- <rect id="Base" x="11.7084" y="11.6726" width="22" height="22" rx="4.58333" fill="#344168"/>
20
- </g>
21
- </g>
22
- </g>
23
- <g id="Underscore" filter="url(#filter2_ddii_7325_21856)">
24
- <rect x="38.0052" y="30.0417" width="17.4167" height="3.66667" rx="1.83333" fill="#A5B1FF"/>
25
- <rect x="38.0052" y="30.0417" width="17.4167" height="3.66667" rx="1.83333" fill="url(#paint2_linear_7325_21856)" fill-opacity="0.3" style="mix-blend-mode:color-burn"/>
26
- </g>
27
- </g>
28
- </g>
29
- </g>
30
- <defs>
31
- <filter id="filter0_iiiiiiii_7325_21856" x="4.83337" y="4.83337" width="62.3333" height="62.3334" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
32
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
33
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
34
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
35
- <feOffset/>
36
- <feGaussianBlur stdDeviation="6.63667"/>
37
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
38
- <feColorMatrix type="matrix" values="0 0 0 0 0.94902 0 0 0 0 0.94902 0 0 0 0 0.94902 0 0 0 1 0"/>
39
- <feBlend mode="plus-darker" in2="shape" result="effect1_innerShadow_7325_21856"/>
40
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
41
- <feOffset/>
42
- <feGaussianBlur stdDeviation="1.30167"/>
43
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
44
- <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0"/>
45
- <feBlend mode="overlay" in2="effect1_innerShadow_7325_21856" result="effect2_innerShadow_7325_21856"/>
46
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
47
- <feMorphology radius="0.88" operator="dilate" in="SourceAlpha" result="effect3_innerShadow_7325_21856"/>
48
- <feOffset dx="-0.88" dy="-0.88"/>
49
- <feGaussianBlur stdDeviation="0.22"/>
50
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
51
- <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
52
- <feBlend mode="overlay" in2="effect2_innerShadow_7325_21856" result="effect3_innerShadow_7325_21856"/>
53
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
54
- <feMorphology radius="0.88" operator="dilate" in="SourceAlpha" result="effect4_innerShadow_7325_21856"/>
55
- <feOffset dx="-1.68667" dy="-1.68667"/>
56
- <feGaussianBlur stdDeviation="0.22"/>
57
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
58
- <feColorMatrix type="matrix" values="0 0 0 0 0.14902 0 0 0 0 0.14902 0 0 0 0 0.14902 0 0 0 1 0"/>
59
- <feBlend mode="plus-lighter" in2="effect3_innerShadow_7325_21856" result="effect4_innerShadow_7325_21856"/>
60
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
61
- <feOffset dx="-0.22" dy="-0.22"/>
62
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
63
- <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.45 0"/>
64
- <feBlend mode="normal" in2="effect4_innerShadow_7325_21856" result="effect5_innerShadow_7325_21856"/>
65
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
66
- <feMorphology radius="0.88" operator="dilate" in="SourceAlpha" result="effect6_innerShadow_7325_21856"/>
67
- <feOffset dx="0.88" dy="0.88"/>
68
- <feGaussianBlur stdDeviation="0.22"/>
69
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
70
- <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
71
- <feBlend mode="overlay" in2="effect5_innerShadow_7325_21856" result="effect6_innerShadow_7325_21856"/>
72
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
73
- <feMorphology radius="0.88" operator="dilate" in="SourceAlpha" result="effect7_innerShadow_7325_21856"/>
74
- <feOffset dx="1.68667" dy="1.68667"/>
75
- <feGaussianBlur stdDeviation="0.22"/>
76
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
77
- <feColorMatrix type="matrix" values="0 0 0 0 0.2 0 0 0 0 0.2 0 0 0 0 0.2 0 0 0 1 0"/>
78
- <feBlend mode="plus-lighter" in2="effect6_innerShadow_7325_21856" result="effect7_innerShadow_7325_21856"/>
79
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
80
- <feOffset dx="0.22" dy="0.22"/>
81
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
82
- <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.35 0"/>
83
- <feBlend mode="normal" in2="effect7_innerShadow_7325_21856" result="effect8_innerShadow_7325_21856"/>
84
- </filter>
85
- <filter id="filter1_ddii_7325_21856" x="7.12504" y="7.08927" width="31.1667" height="31.1667" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
86
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
87
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
88
- <feOffset/>
89
- <feGaussianBlur stdDeviation="2.29167"/>
90
- <feComposite in2="hardAlpha" operator="out"/>
91
- <feColorMatrix type="matrix" values="0 0 0 0 0.311464 0 0 0 0 0.396281 0 0 0 0 0.950421 0 0 0 0.7 0"/>
92
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7325_21856"/>
93
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
94
- <feOffset/>
95
- <feGaussianBlur stdDeviation="0.916667"/>
96
- <feComposite in2="hardAlpha" operator="out"/>
97
- <feColorMatrix type="matrix" values="0 0 0 0 0.309804 0 0 0 0 0.396078 0 0 0 0 0.94902 0 0 0 0.8 0"/>
98
- <feBlend mode="normal" in2="effect1_dropShadow_7325_21856" result="effect2_dropShadow_7325_21856"/>
99
- <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_7325_21856" result="shape"/>
100
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
101
- <feOffset dy="0.458333"/>
102
- <feGaussianBlur stdDeviation="0.229167"/>
103
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
104
- <feColorMatrix type="matrix" values="0 0 0 0 0.637432 0 0 0 0 0.685561 0 0 0 0 1 0 0 0 1 0"/>
105
- <feBlend mode="normal" in2="shape" result="effect3_innerShadow_7325_21856"/>
106
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
107
- <feOffset dy="-0.458333"/>
108
- <feGaussianBlur stdDeviation="0.229167"/>
109
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
110
- <feColorMatrix type="matrix" values="0 0 0 0 0.556863 0 0 0 0 0.615686 0 0 0 0 1 0 0 0 1 0"/>
111
- <feBlend mode="normal" in2="effect3_innerShadow_7325_21856" result="effect4_innerShadow_7325_21856"/>
112
- </filter>
113
- <filter id="filter2_ddii_7325_21856" x="33.4219" y="25.4584" width="26.5834" height="12.8333" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
114
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
115
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
116
- <feOffset/>
117
- <feGaussianBlur stdDeviation="2.29167"/>
118
- <feComposite in2="hardAlpha" operator="out"/>
119
- <feColorMatrix type="matrix" values="0 0 0 0 0.311464 0 0 0 0 0.396281 0 0 0 0 0.950421 0 0 0 0.7 0"/>
120
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7325_21856"/>
121
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
122
- <feOffset/>
123
- <feGaussianBlur stdDeviation="0.916667"/>
124
- <feComposite in2="hardAlpha" operator="out"/>
125
- <feColorMatrix type="matrix" values="0 0 0 0 0.309804 0 0 0 0 0.396078 0 0 0 0 0.94902 0 0 0 0.8 0"/>
126
- <feBlend mode="normal" in2="effect1_dropShadow_7325_21856" result="effect2_dropShadow_7325_21856"/>
127
- <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_7325_21856" result="shape"/>
128
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
129
- <feOffset dy="0.458333"/>
130
- <feGaussianBlur stdDeviation="0.229167"/>
131
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
132
- <feColorMatrix type="matrix" values="0 0 0 0 0.637432 0 0 0 0 0.685561 0 0 0 0 1 0 0 0 1 0"/>
133
- <feBlend mode="normal" in2="shape" result="effect3_innerShadow_7325_21856"/>
134
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
135
- <feOffset dy="-0.458333"/>
136
- <feGaussianBlur stdDeviation="0.229167"/>
137
- <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
138
- <feColorMatrix type="matrix" values="0 0 0 0 0.556863 0 0 0 0 0.615686 0 0 0 0 1 0 0 0 1 0"/>
139
- <feBlend mode="normal" in2="effect3_innerShadow_7325_21856" result="effect4_innerShadow_7325_21856"/>
140
- </filter>
141
- <radialGradient id="paint0_radial_7325_21856" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(36 24.9085) rotate(90) scale(44.8021 44.9389)">
142
- <stop stop-opacity="0"/>
143
- <stop offset="1"/>
144
- </radialGradient>
145
- <linearGradient id="paint1_linear_7325_21856" x1="31.1875" y1="13.0835" x2="12.5429" y2="33.7019" gradientUnits="userSpaceOnUse">
146
- <stop stop-color="white"/>
147
- <stop offset="0.3125" stop-color="#7D7F97"/>
148
- <stop offset="1" stop-color="#000333"/>
149
- </linearGradient>
150
- <linearGradient id="paint2_linear_7325_21856" x1="53.4263" y1="30.2769" x2="52.2787" y2="36.3048" gradientUnits="userSpaceOnUse">
151
- <stop stop-color="white"/>
152
- <stop offset="1" stop-color="#000333"/>
153
- </linearGradient>
154
- </defs>
155
- </svg>
156
- `;
1
+ import { LOGO_URI } from './auth-constants.js';
2
+ // The same PNG the OAuth consent screen shows, so the icon lives in one file.
3
+ const COMMS_CLI_ICON = `<img src="${LOGO_URI}" width="72" height="72" alt="" referrerpolicy="no-referrer">`;
157
4
  export function renderSuccess() {
158
5
  return `
159
6
  <!DOCTYPE html>
@@ -228,6 +75,7 @@ export function renderSuccess() {
228
75
  position: relative;
229
76
  isolation: isolate;
230
77
  }
78
+ .logo-wrap img,
231
79
  .logo-wrap svg {
232
80
  width: 100%;
233
81
  height: 100%;
@@ -389,7 +237,7 @@ export function renderSuccess() {
389
237
  <div class="container">
390
238
  <header class="header">
391
239
  <div class="logo-wrap">
392
- ${COMMS_CLI_ICON_SVG}
240
+ ${COMMS_CLI_ICON}
393
241
  <div class="badge">
394
242
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
395
243
  <polyline points="20 6 9 17 4 12"/>
@@ -511,6 +359,7 @@ export function renderError(errorMessage) {
511
359
  position: relative;
512
360
  isolation: isolate;
513
361
  }
362
+ .logo img,
514
363
  .logo svg {
515
364
  width: 100%;
516
365
  height: 100%;
@@ -560,7 +409,7 @@ export function renderError(errorMessage) {
560
409
  <body>
561
410
  <div class="container">
562
411
  <div class="logo">
563
- ${COMMS_CLI_ICON_SVG}
412
+ ${COMMS_CLI_ICON}
564
413
  <div class="badge">
565
414
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round">
566
415
  <line x1="18" y1="6" x2="6" y2="18"/>
@@ -1 +1 @@
1
- {"version":3,"file":"auth-pages.js","sourceRoot":"","sources":["../../src/lib/auth-pages.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2J1B,CAAA;AAED,MAAM,UAAU,aAAa;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0OO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyE5B,CAAA;AACR,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+FO,kBAAkB;;;;;;;;;aASvB,YAAY;;;;QAIjB,CAAA;AACR,CAAC"}
1
+ {"version":3,"file":"auth-pages.js","sourceRoot":"","sources":["../../src/lib/auth-pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,8EAA8E;AAC9E,MAAM,cAAc,GAAG,aAAa,QAAQ,+DAA+D,CAAA;AAE3G,MAAM,UAAU,aAAa;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2OO,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyExB,CAAA;AACR,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgGO,cAAc;;;;;;;;;aASnB,YAAY;;;;QAIjB,CAAA;AACR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-provider.d.ts","sourceRoot":"","sources":["../../src/lib/auth-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EAMpB,KAAK,iBAAiB,EAKzB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EACH,KAAK,QAAQ,EAKhB,MAAM,aAAa,CAAA;AAWpB,eAAO,MAAM,gBAAgB,UAM5B,CAAA;AAaD,eAAO,MAAM,iBAAiB,UAAiD,CAAA;AAE/E,eAAO,MAAM,kBAAkB,UAAsD,CAAA;AAOrF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACtB,QAAQ,EACR,UAAkB,GACrB,EAAE;IACC,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,MAAM,EAAE,CAGX;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAA;AAClD,eAAO,MAAM,iBAAiB,8CAA+C,CAAA;AAE7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAWxE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAKlC,CAAA;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,OAAO,CAEzF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACnC,SAAS,GAAE,OAAO,KAAa,GAChC,YAAY,CAAC,YAAY,CAAC,CAgD5B;AAmED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB5F;AA+OD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAUjF;AAmBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,UAAU,GAChB,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,GAAE;IACL,eAAe,CAAC,EAAE,oBAAoB,GAAG,CAAC,MAAM,oBAAoB,CAAC,CAAA;CACnE,GACP,eAAe,CAoDjB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,GAAG,cAAc,GAAG,aAAa,CAAC,CAM5F"}
1
+ {"version":3,"file":"auth-provider.d.ts","sourceRoot":"","sources":["../../src/lib/auth-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EAMpB,KAAK,iBAAiB,EAKzB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EACH,KAAK,QAAQ,EAKhB,MAAM,aAAa,CAAA;AASpB,eAAO,MAAM,gBAAgB,UAM5B,CAAA;AAaD,eAAO,MAAM,iBAAiB,UAAiD,CAAA;AAE/E,eAAO,MAAM,kBAAkB,UAAsD,CAAA;AAOrF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACtB,QAAQ,EACR,UAAkB,GACrB,EAAE;IACC,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,MAAM,EAAE,CAGX;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAA;AAClD,eAAO,MAAM,iBAAiB,8CAA+C,CAAA;AAE7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAWxE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAKlC,CAAA;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,OAAO,CAEzF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACnC,SAAS,GAAE,OAAO,KAAa,GAChC,YAAY,CAAC,YAAY,CAAC,CAgD5B;AAmED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB5F;AA+OD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAUjF;AAmBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,UAAU,GAChB,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,GAAE;IACL,eAAe,CAAC,EAAE,oBAAoB,GAAG,CAAC,MAAM,oBAAoB,CAAC,CAAA;CACnE,GACP,eAAe,CAoDjB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,GAAG,cAAc,GAAG,aAAa,CAAC,CAM5F"}
@@ -1,6 +1,6 @@
1
1
  import { createDcrProvider, createKeyringTokenStore, } from '@doist/cli-core/auth';
2
2
  import { createWrappedCommsClient } from './api.js';
3
- import { SECURE_STORE_SERVICE } from './auth-constants.js';
3
+ import { LOGO_URI, SECURE_STORE_SERVICE } from './auth-constants.js';
4
4
  import { makeCommsAccount, toCommsAccount } from './comms-account.js';
5
5
  import { getConfig, getConfigPath, updateConfig, } from './config.js';
6
6
  import { CliError } from './errors.js';
@@ -9,7 +9,6 @@ import { splitScopeString } from './scopes.js';
9
9
  import { createCommsUserRecordStore, getDefaultUserRecord } from './user-records.js';
10
10
  const DEFAULT_TODOIST_AUTH_BASE_URL = 'https://todoist.com';
11
11
  const DEFAULT_COMMS_OAUTH_RESOURCE = 'https://comms.todoist.com';
12
- const LOGO_URI = 'https://raw.githubusercontent.com/doist/comms-cli/main/icons/comms-cli_512px.png';
13
12
  export const READ_ONLY_SCOPES = [
14
13
  'user:read',
15
14
  'workspaces:read',
@@ -1 +1 @@
1
- {"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/lib/auth-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/lib/auth-provider.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,8 @@ export function addSharedSearchOptions(command, config = {}) {
31
31
  config.addUniqueFilters?.(command);
32
32
  return command
33
33
  .option('--conversation <refs>', 'Limit to conversations (comma-separated refs)')
34
- .option('--since <date>', 'Content from date')
35
- .option('--until <date>', 'Content until date')
34
+ .option('--since <date>', 'Content posted since date')
35
+ .option('--until <date>', 'Content posted until date')
36
36
  .option('--limit <n>', limitDescription)
37
37
  .option('--cursor <cursor>', 'Pagination cursor')
38
38
  .option('--all', 'Fetch all pages of results')
@@ -1 +1 @@
1
- {"version":3,"file":"search-helpers.js","sourceRoot":"","sources":["../../src/lib/search-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-helpers.js","sourceRoot":"","sources":["../../src/lib/search-helpers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export declare const SKILL_DESCRIPTION = "Comms messaging CLI. View and respond
3
3
  export declare const SKILL_AUTHOR = "Doist";
4
4
  export declare const SKILL_LICENSE = "MIT";
5
5
  export declare const SKILL_VERSION: string;
6
- export declare const SKILL_CONTENT = "# Comms CLI (tdc)\n\nAccess 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.\n\n## Setup\n\n```bash\ntdc auth login # OAuth login (standard write scopes)\ntdc auth login --read-only # OAuth login with read-only scope\ntdc auth login --full-access # OAuth login with delete/admin scopes\ntdc auth login --credential-store system # Require the system credential manager\ntdc auth login --credential-store plaintext # Explicitly allow plaintext config storage\ntdc auth login --callback-port <n># Override the local OAuth callback port (default 8766)\ntdc auth login --json # Emit a JSON envelope for scripted / agent use\ntdc auth login --ndjson # Emit an NDJSON envelope for scripted / agent use\ntdc auth token # Save API token manually (prompts securely; scope unknown, assumed write-capable)\ntdc auth token --credential-store system # Require the system credential manager\ntdc auth status # Verify authentication + show mode\ntdc auth status --json # Full status payload as JSON (--ndjson also supported)\ntdc auth status --user <ref> # Target a specific stored account (id, id:<n>, or display name)\ntdc --user <ref> auth <status|logout|token view|refresh-token view> # Equivalent to passing --user after the subcommand; other commands accept the flag but ignore it\ntdc auth logout # Remove saved token and auth metadata\ntdc auth logout --json # Emits `{\"ok\": true}` (--ndjson is silent)\ntdc auth logout --user <ref> # Target a specific stored account; mismatched ref errors with ACCOUNT_NOT_FOUND\ntdc auth token view # Print the saved token to stdout (pipe-safe; refreshes an expiring OAuth token first; refuses if COMMS_API_TOKEN is set)\ntdc auth token view --user <ref> # Print the saved token for a specific stored account\ntdc auth refresh-token view # Print the saved OAuth refresh token to stdout (pipe-safe; OAuth logins only)\ntdc auth refresh-token view --user <ref> # Print the saved OAuth refresh token for a specific stored account\ntdc account [list|current|use <ref>|remove <ref>] # Manage stored accounts; all support --json/--ndjson\n # current's payload is {id, label, authMode, authScope, source:\"config\"} | {source:\"env\"} | {source:\"token-only\"}\ntdc auth login # Re-running auth login with a different OAuth grant adds a NEW account; default stays pinned unless none was set\ntdc workspaces # List available workspaces\ntdc workspaces --ids-only # Output only workspace IDs\ntdc workspace use <ref> # Set current workspace\ntdc completion install # Install shell completions\ntdc config view # Show the current CLI configuration file (token masked)\ntdc config set <key> <value> # Set a user preference (e.g. unarchive-new-threads true)\ntdc doctor # Diagnose CLI setup and environment issues\ntdc update # Update CLI to latest version\ntdc changelog # Show recent changelog entries\ntdc migrate urls <urls> # Translate old twist.com URLs to Comms URLs (needs a Twist token)\n```\n\nOAuth login uses Todoist OAuth for Comms access. The default grant can read Comms data and create/update content or messages. It does not include delete, channel management, or user/workspace write scopes; use `tdc auth login --full-access` only when needed (all `tdc groups` writes and `tdc status set|clear` require it). Credential storage defaults to `fallback`: use the system credential manager when available, otherwise warn and save to `~/.config/comms-cli/config.json`. Pass `--credential-store system` to fail instead of writing plaintext, or `--credential-store plaintext` to choose config-file storage explicitly. `COMMS_API_TOKEN` always takes priority over the stored token.\n\nIn 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.\n\n## View by URL\n\n```bash\ntdc view <url> # View any Comms entity by URL\n```\n\nRoutes automatically based on URL structure:\n- Message URL \u2192 `tdc msg view`\n- Conversation URL \u2192 `tdc conversation view`\n- Thread+comment URL \u2192 `tdc thread view` (comment ID extracted from URL)\n- Thread URL \u2192 `tdc thread view`\n\nURLs may use either `https://comms.todoist.com/{workspaceId}/...` or `https://comms.todoist.com/a/{workspaceId}/...`.\n\nAll target command flags pass through (e.g. `--json`, `--raw`, `--full`).\n\n## Inbox\n\n```bash\ntdc inbox # Show inbox threads\ntdc inbox --unread # Only unread threads\ntdc inbox --mentions # Only unread threads where you were mentioned (implies --unread)\ntdc inbox --archive-filter all # Show active + done threads\ntdc inbox --archive-filter archived # Show only done threads\ntdc inbox --channel <filter> # Filter by channel name (fuzzy)\ntdc inbox --since <date> # Filter by date (ISO format)\ntdc inbox --limit <n> # Max items (default: 50)\ntdc inbox --ids-only # Output only thread IDs, one per line\n```\n\n## Threads\n\n```bash\ntdc thread <thread-ref> # View thread (shorthand for view)\ntdc thread view <thread-ref> # View thread with comments\ntdc thread view <ref> --comment <id> # View a specific comment\ntdc thread view <url-with-/c/id> # Comment ID extracted from URL\ntdc thread view <ref> --unread # Show only unread comments\ntdc thread view <ref> --context 3 # Include 3 read comments before unread\ntdc thread view <ref> --limit 20 # Limit number of comments\ntdc thread view <ref> --since <date> # Comments newer than date\ntdc thread view <ref> --raw # Show raw markdown\ntdc thread create <channel-ref> \"Title\" \"content\" # Create a new thread\ntdc thread create <channel-ref> \"Title\" \"content\" --json # Create and return as JSON\ntdc thread create <channel-ref> \"Title\" \"content\" --json --full # Include all thread fields\ntdc thread create <channel-ref> \"Title\" \"content\" --notify 123,Cbzzm11ZeYZoJYD4a6rti # Notify user and/or group IDs\ntdc thread create <channel-ref> \"Title\" \"content\" --unarchive # Land thread in author's Inbox (overrides default Comms auto-archive)\ntdc thread create <channel-ref> \"Title\" \"content\" --no-unarchive # Force archive even when userSettings.unarchiveNewThreads=true\ntdc thread create <channel-ref> \"Title\" \"content\" --dry-run # Preview without posting\ntdc thread create <channel-ref> \"Title\" --file ./a.png # Attach a file (repeatable; content optional)\ntdc thread reply <ref> \"content\" # Post a comment (notifies EVERYONE_IN_THREAD by default)\ntdc thread reply <ref> \"content\" --notify NONE # Post without notifying anyone\ntdc thread reply <ref> \"content\" --notify NONE --dry-run # Preview without posting\ntdc thread reply <ref> \"content\" --notify EVERYONE # Notify all workspace members\ntdc thread reply <ref> \"content\" --notify 123,id:456 # Notify specific users by ID\ntdc thread reply <ref> \"content\" --notify 123,Cbzzm11ZeYZoJYD4a6rti # Notify a user and a group (group IDs are base58, not numeric)\ntdc thread reply <ref> \"content\" --json # Post and return comment as JSON\ntdc thread reply <ref> \"content\" --json --full # Include all comment fields\ntdc thread reply <ref> \"content\" --close # Reply and close the thread\ntdc thread reply <ref> \"content\" --reopen # Reply and reopen a closed thread\ntdc thread reply <ref> \"content\" --close --notify NONE # Reply and close without notifying anyone\ntdc thread reply <ref> \"content\" --file ./a.png # Attach a file (repeatable; content optional)\ntdc thread done <ref> # Preview thread archive (requires --yes to execute)\ntdc thread done <ref> --yes # Archive thread (mark done)\ntdc thread done <ref> --yes --json # Archive and return status as JSON\ntdc thread undone <ref> --yes # Unarchive thread (move it back to your inbox); inverse of done\ntdc thread undone <ref> --yes --json # Unarchive and return status as JSON\ntdc thread mark-read <ref> # Mark a thread read\ntdc thread mark-read <ref> <ref> --yes # Mark multiple threads read\nprintf \"id:CbT8n2Kp4Qx6Rz9Lm3Va\\nid:CbT9m4Qr7Vz2Nx8Lp5Sa\\n\" | tdc thread mark-read --dry-run # Preview bulk mark-read from stdin\ntdc thread mark-unread <ref> # Mark a whole thread unread; inverse of mark-read\ntdc thread mark-unread <ref> --from <comment-ref> # Mark unread from that comment onward (single thread only)\ntdc thread mark-unread <ref> <ref> --yes # Mark multiple threads unread (also accepts refs on stdin)\ntdc thread mute <ref> # Mute thread for 60 minutes (default)\ntdc thread mute <ref> --minutes 480 # Mute for custom duration\ntdc thread mute <ref> --json # Mute and return { id, mutedUntil } as JSON\ntdc thread mute <ref> --json --full # Mute and return full thread as JSON\ntdc thread unmute <ref> # Unmute a muted thread\ntdc thread unmute <ref> --json # Unmute and return { id, mutedUntil } as JSON\ntdc thread delete <ref> # Preview thread deletion (requires --yes to execute)\ntdc thread delete <ref> --yes # Permanently delete a thread\ntdc thread delete <ref> --yes --json # Delete and return status as JSON\ntdc thread rename <ref> \"New title\" # Rename a thread (change its title)\ntdc thread rename <ref> \"New title\" --json # Rename and return { id, title } as JSON\ntdc thread rename <ref> \"New title\" --json --full # Rename and return full thread as JSON\ntdc thread update <ref> \"New body\" # Update a thread's body (the first post)\necho \"New body\" | tdc thread update <ref> # Update body from stdin\ntdc thread update <ref> \"New body\" --dry-run # Preview without updating\ntdc thread update <ref> \"New body\" --json # Update and return { id, content } as JSON\ntdc thread update <ref> \"New body\" --json --full # Update and return full thread as JSON\n```\n\nDefault `--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 <ids>`) or nobody (via `--notify NONE`). Options: NONE, EVERYONE, EVERYONE_IN_THREAD, or comma-separated user and/or group IDs.\n\n`--notify NONE` sends empty user, group, and direct-mention recipient lists without adding a notification audience. It also works with `--close` and `--reopen`. The `--dry-run` preview displays `Notify: NONE`.\n\n`--notify` automatically resolves IDs: group IDs are routed to the `groups` API field, user IDs to `recipients`. No special syntax needed.\n\n## Thread Comments\n\n```bash\ntdc comment <comment-ref> # View a comment (shorthand for view)\ntdc comment view <comment-ref> # View a single thread comment\ntdc comment view <comment-ref> --raw # Show raw markdown\ntdc comment view <comment-ref> --json # Output as JSON\ntdc comment view <comment-ref> --ndjson # Output as newline-delimited JSON\ntdc comment view <comment-ref> --json --full # Include all fields in JSON output\ntdc comment update <comment-ref> \"new content\" # Update a thread comment\ntdc comment update <comment-ref> \"content\" --json # Update and return updated comment as JSON\ntdc comment update <comment-ref> \"content\" --json --full # Include all comment fields\ntdc comment delete <comment-ref> # Preview comment deletion (requires --yes to execute)\ntdc comment delete <comment-ref> --yes # Delete a thread comment\ntdc comment delete <comment-ref> --yes --json # Delete and return status as JSON\n```\n\n## Conversations (DMs/Groups)\n\n```bash\ntdc conversation unread # List unread conversations\ntdc conversation list # List active conversations (DMs and groups)\ntdc conversation list --kind group # Only group conversations (3+ people)\ntdc conversation list --kind direct # Only 1:1 conversations (and your self-DM)\ntdc conversation list --participant \"Jane\" # Only conversations including these users (comma-separated)\ntdc conversation list --name \"release\" # Filter by title substring (case-insensitive)\ntdc conversation list --state archived # Archived conversations only (active|all|archived; default active)\ntdc conversation list --snippet # Include the latest message snippet\ntdc conversation list --limit 20 --json # Cap rows and output as JSON\ntdc conversation list --ids-only # Output only conversation IDs\ntdc conversation unread --ids-only # Output only unread conversation IDs\ntdc conversation <conversation-ref> # View conversation (shorthand for view)\ntdc conversation view <conversation-ref> # View conversation messages\ntdc conversation with <user-ref> # Find your 1:1 DM with a user\ntdc conversation with <user-ref> --snippet # Include the latest message preview\ntdc conversation with <user-ref> --include-groups # List any conversations with that user\ntdc conversation reply <ref> \"content\" # Send a message\ntdc conversation reply <ref> \"content\" --json # Send and return message as JSON\ntdc conversation reply <ref> \"content\" --json --full # Include all message fields\ntdc conversation reply <ref> \"content\" --file ./a.png # Attach a file (repeatable; content optional)\ntdc conversation done <ref> # Preview conversation archive (requires --yes to execute)\ntdc conversation done <ref> --yes # Archive conversation\ntdc conversation done <ref> --yes --json # Archive and return status as JSON\ntdc conversation undone <ref> --yes # Unarchive conversation; inverse of done\ntdc conversation undone <ref> --yes --json # Unarchive and return status as JSON\ntdc conversation mute <ref> # Mute conversation for 60 minutes (default)\ntdc conversation mute <ref> --minutes 480 # Mute for custom duration\ntdc conversation mute <ref> --json # Mute and return { id, mutedUntil } as JSON\ntdc conversation mute <ref> --json --full # Mute and return full conversation as JSON\ntdc conversation unmute <ref> # Unmute a muted conversation\ntdc conversation unmute <ref> --json # Unmute and return { id, mutedUntil } as JSON\n```\n\nAlias: `tdc convo` works the same as `tdc conversation`.\n\n## Conversation Messages\n\n```bash\ntdc msg <message-ref> # View a message (shorthand for view)\ntdc msg view <message-ref> # View a single conversation message\ntdc msg update <ref> \"content\" # Edit a conversation message\ntdc msg update <ref> \"content\" --json # Edit and return updated message as JSON\ntdc msg update <ref> \"content\" --json --full # Include all message fields\ntdc msg delete <ref> # Preview message deletion (requires --yes to execute)\ntdc msg delete <ref> --yes # Delete a conversation message\ntdc msg delete <ref> --yes --json # Delete and return status as JSON\n```\n\nAlias: `tdc message` works the same as `tdc msg`.\n\n## Search\n\n```bash\ntdc mentions # Show content mentioning current user\ntdc mentions --since 2026-04-01 --all # Fetch every mention since a date\ntdc mentions --type threads --json # Limit mentions to threads\ntdc search \"query\" # Search content\ntdc search \"query\" --type threads # Filter: threads, messages, or all\ntdc search \"query\" --author <ref> # Filter by author\ntdc search \"query\" --to <ref> # Messages sent to user\ntdc search \"query\" --title-only # Search thread titles only\ntdc search \"query\" --mention-me # Results mentioning current user\ntdc search \"query\" --conversation <refs> # Limit to conversations (comma-separated refs)\ntdc search \"query\" --since <date> # Content from date\ntdc search \"query\" --until <date> # Content until date\ntdc search \"query\" --channel <refs> # Filter by channel refs (comma-separated)\ntdc search \"query\" --limit <n> # Max results (default: 50)\ntdc search \"query\" --cursor <cur> # Pagination cursor\ntdc search \"query\" --all # Fetch all result pages\n```\n\n## Users, Channels & Groups\n\n```bash\ntdc user # Show current user info\ntdc user --json # JSON output\ntdc user --json --full # All fields, except session credentials\ntdc users # List active workspace users\ntdc users --search <text> # Filter by name/email\ntdc users --include-removed # Include users removed from the workspace\ntdc users --ids-only # Output only user IDs\ntdc status # Show your status (default login is enough)\ntdc status --json # Show it as { status } JSON (null when unset; --full for the whole user)\ntdc status set \"Deep work\" --emoji \uD83C\uDFAF --for 2h --pause-notifications # Set it (replaces any current status; needs --full-access)\ntdc status set \"On holiday\" --until 2026-10-20T09:00 # End at a date (YYYY-MM-DD, YYYY-MM-DDTHH:MM or a full ISO 8601 timestamp; local time unless it has Z or an offset)\ntdc status set \"Away\" --dry-run # Preview without setting\ntdc status set \"Away\" --json # Set and return { status } as JSON\ntdc status clear # Clear your status (--dry-run, --json supported)\ntdc channels # List active joined workspace channels (alias of: tdc channel list)\ntdc channels --state all # Include archived joined channels too\ntdc channels --scope discoverable # Active public channels you can see but have not joined\ntdc channels --scope public --state all --json # All visible public channels, with joined status\ntdc channels --ids-only # Output only channel IDs\ntdc channel create \"Engineering\" # Create a channel in the current workspace\ntdc channel create \"Leadership Team\" --private --users id:10,id:20 # Create private channel with initial members\ntdc channel create \"Product\" --workspace \"Doist\" --description \"Product discussions\" --json # Create and return channel as JSON\ntdc channel update <channel-ref> \"New name\" # Rename a channel\ntdc channel update <ref> --name \"New name\" # Rename with an explicit flag\ntdc channel update <ref> --description \"Team discussions\" # Update channel description\ntdc channel update <ref> --clear-description # Clear channel description\ntdc channel update <ref> --public # Make a channel public (--private makes it private)\ntdc channel update <ref> --description \"Team discussions\" --json --full # Update and return all channel fields\ntdc channel delete <channel-ref> --yes # Permanently delete a channel (requires --yes; usually admin-only)\ntdc channel delete <ref> --dry-run # Preview deletion\ntdc channel archive <channel-ref> # Archive a channel (no-op if already archived)\ntdc channel unarchive id:<id> # Unarchive a channel (pass id: for archived channels)\ntdc channel threads <channel-ref> # List threads in a channel (fuzzy name, id:, or URL)\ntdc channel threads \"general\" --unread # Only unread threads\ntdc channel threads <ref> --archive-filter all # Include archived threads (active|archived|all)\ntdc channel threads <ref> --since 2026-01-01 # Filter by last-updated date (ISO)\ntdc channel threads <ref> --limit 20 # Max threads per page (default: 50)\ntdc channel threads <ref> --limit 20 --cursor <cursor-from-prev> # Paginate\ntdc channel threads <ref> --json # { results, nextCursor } with isUnread + url\ntdc channel threads <ref> --ids-only # Output only thread IDs; pagination notice goes to stderr\ntdc channel members <channel-ref> # List a channel's members + groups fully in the channel\ntdc channel members <ref> --json # JSON with id, name, workspaceId, members\ntdc channel members <ref> --ids-only # Output only member user IDs\ntdc channel members add <ref> alice group:Design # Add users and/or expand group:<ref> members\ntdc channel members add <ref> a@d.com id:789 --json # Add refs, output result as JSON\ntdc channel members remove <ref> alice group:Frontend # Remove users and/or group members\ntdc channel members set <ref> group:Squad --apply # Replace membership with the resolved set\ntdc channel members set <ref> alice bob # Dry-run by default; refuses to remove you (--include-self to override)\ntdc groups # List workspace groups\ntdc groups --search \"frontend\" # Filter groups by name (case-insensitive)\ntdc groups --json # JSON output\ntdc groups --ids-only # Output only group IDs\ntdc groups --json --full # Include all fields in JSON output\ntdc groups view <group-ref> # Show group with member details\ntdc groups view <ref> --json # JSON output with id, name, workspaceId, members\ntdc groups view <ref> --json --full # Include all fields in JSON output\ntdc groups create \"Name\" # Create a new group\ntdc groups create \"Name\" --users alice@doist.com,bob@doist.com # Create with members\ntdc groups create \"Name\" --json # Output created group as JSON\ntdc groups rename <group-ref> \"New name\" # Rename a group\ntdc groups rename <ref> \"Name\" --json # Output renamed group as JSON\ntdc groups delete <group-ref> --yes # Delete a group (requires --yes)\ntdc groups delete <ref> --dry-run # Preview deletion\ntdc groups add-user <group-ref> user1 user2 # Add users to a group\ntdc groups add-user <ref> a@d.com,b@d.com # Comma-separated refs\ntdc groups add-user <ref> id:123 --json # Output result as JSON\ntdc groups remove-user <group-ref> user1 user2 # Remove users from a group\ntdc groups remove-user <ref> id:123,id:456 # Comma-separated ID refs\n```\n\nAll group *writes* (`groups create`, `rename`, `delete`, `add-user`, `remove-user`) need the `workspaces:write` scope, which only `tdc auth login --full-access` grants. Group *reads* (`groups`, `groups view`) work on a default login.\n\n`tdc status set` and `tdc status clear` need the `user:write` scope, which only `tdc auth login --full-access` grants. `tdc status` (show) works on a default login.\n\nOnly pass `--pause-notifications` when the user asks for it. It holds back Comms notifications only for now: each app has to read the status and hold its own notifications back, and Todoist does not yet. Held notifications are not sent later.\n\nIf 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.\n\n`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.\n\nFor `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 \u2014 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.\n\n## Reactions\n\n```bash\ntdc react thread <ref> \uD83D\uDC4D # Add reaction to thread\ntdc react comment <ref> +1 # Add reaction (shortcode)\ntdc react message <ref> heart # Add reaction to DM message\ntdc react thread <ref> \uD83D\uDC4D --json # Output result as JSON\ntdc unreact thread <ref> \uD83D\uDC4D # Remove reaction\ntdc unreact thread <ref> \uD83D\uDC4D --json # Output result as JSON\n```\n\nSupported shortcodes: +1, -1, heart, tada, smile, laughing, thinking, fire, check, x, eyes, pray, clap, rocket, wave\n\n## Shell Completions\n\n```bash\ntdc completion install # Install tab completions (prompts for shell)\ntdc completion install bash # Install for specific shell\ntdc completion install zsh\ntdc completion install fish\ntdc completion uninstall # Remove completions\n```\n\n### Diagnostics\n\n```bash\ntdc doctor # Run local + network diagnostics\ntdc doctor --offline # Skip Comms and npm network checks\ntdc doctor --json # JSON output with per-check results\n```\n\n### Configuration\n\n```bash\ntdc config view # Pretty-printed config, token masked, labels actual token source\ntdc config view --json # Raw JSON, token masked\ntdc config view --show-token # Include the full token\ntdc config set unarchive-new-threads true # Persist: always unarchive new threads so they land in your Inbox\ntdc config set unarchive-new-threads false # Persist: keep Comms's default (thread auto-archived for author)\n```\n\nUser 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.\n\n### Update\n\n```bash\ntdc update # Update CLI to latest version\ntdc update --check # Check for updates without installing, show channel\ntdc update --check --json # Same, JSON envelope\ntdc update --check --ndjson # Same, newline-delimited JSON envelope\ntdc update --channel # Show current update channel\ntdc update switch --stable # Switch to stable release channel\ntdc update switch --pre-release # Switch to pre-release (next) channel\ntdc update switch --pre-release --json # Same, JSON envelope\ntdc update switch --pre-release --ndjson # Same, newline-delimited JSON envelope\n```\n\n### Changelog\n```bash\ntdc changelog # Show last 5 versions\ntdc changelog -n 3 # Show last 3 versions\ntdc changelog --count 10 # Show last 10 versions\n```\n\n## Migration\n\nTranslate old `twist.com` URLs to their Comms equivalents (e.g. for rewriting bookmarks or history). The migration endpoint authenticates with a **Twist** token (not a Comms one). Prefer the `TWIST_AUTH_TOKEN` environment variable \u2014 a CLI flag exposes the token in process listings. `--twist-token` is supported for ad-hoc use and overrides the env var. If the Twist CLI (`tw`) is installed, populate the env var inline with `TWIST_AUTH_TOKEN=\"$(tw auth token view)\"`.\n\n```bash\n# Comma-separated list as an argument (token from the environment)\nTWIST_AUTH_TOKEN=\"$(tw auth token view)\" tdc migrate urls \"https://twist.com/a/1/ch/2/t/3,https://twist.com/a/1/ch/2/t/4\"\n\n# Or pipe URLs via stdin (comma- or newline-separated)\ncat old-urls.txt | TWIST_AUTH_TOKEN=\"$(tw auth token view)\" tdc migrate urls\n\n# --twist-token overrides the env var (visible in process lists \u2014 prefer the env var)\ntdc migrate urls \"https://twist.com/a/1/ch/2/t/3\" --twist-token <token>\n\ntdc migrate urls \"<urls>\" --json # Structured output ({ oldUrl, newUrl } / { oldUrl, error })\ntdc migrate urls \"<urls>\" --ndjson # Newline-delimited JSON\n```\n\nOutput is one line per URL in input order: `old -> new` on success, `old \u2717 <code>` on failure (`invalid_url` / `not_imported`, or `API_ERROR` when the endpoint gives no code). Per-URL failures don't abort the run; the command exits non-zero if any URL fails to migrate.\n\n## Global Options\n\n```bash\n--no-spinner # Disable loading animations\n--progress-jsonl # Machine-readable progress events (JSONL to stderr)\n--progress-jsonl=<path> # Same, but write events to <path> instead of stderr\n--progress-jsonl <path> # Same as above (space-separated form also accepted)\n--accessible # Add text labels to color-coded output (also: TDC_ACCESSIBLE=1)\n--non-interactive # Disable interactive prompts (auto-detected when stdin is not a TTY)\n--interactive # Force interactive mode even when stdin is not a TTY\n```\n\n## Output Formats\n\nList and view commands commonly support `--json`, `--ndjson`, and `--full`. List commands with one clear entity ID also support `--ids-only`; check command help for the exact surface.\n\n```bash\n--json # Output as JSON\n--ndjson # Output as newline-delimited JSON (for streaming)\n--ids-only # Output one stable ID per line; mutually exclusive with JSON/NDJSON\n--full # Include all fields (default shows essential fields only)\n```\n\n## Dry Run\n\nMutating 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 \u2014 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:\n\n```\n[dry-run] Would <action>:\n <Key>: <resolved value>\n ...\nRun without --dry-run to execute.\n```\n\n## Reference System\n\nCommands accept flexible references:\n- **IDs**: `id:<id>` (or a bare ID when unambiguous). Workspace/user IDs are numeric; most Comms entity IDs are opaque strings.\n- **Comms URLs**: Full `https://comms.todoist.com/...` URLs (parsed automatically)\n- **Fuzzy names**: For workspaces/users/channels/groups - `\"My Workspace\"` or partial matches\n\n## Piping Input\n\nCommands that accept content (`thread create`, `thread reply`, `comment update`, `conversation reply`, `msg update`) auto-detect piped stdin:\n\n```bash\ncat notes.md | tdc thread reply <ref>\ntdc thread create <channel-ref> \"Title\" < body.md\necho \"Quick reply\" | tdc conversation reply <ref>\n```\n\nIf 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.\n\n`tdc thread mark-read` and `tdc thread mark-unread` also accept thread refs from stdin, one per line:\n\n```bash\nprintf \"id:CbT8n2Kp4Qx6Rz9Lm3Va\\nid:CbT9m4Qr7Vz2Nx8Lp5Sa\\n\" | tdc thread mark-read --yes\n```\n\n## Common Workflows\n\n**View by URL (auto-routes to the right command):**\n```bash\ntdc view https://comms.todoist.com/1585/ch/CbC8n2Kp4Qx6Rz9Lm3Va/t/CbT8n2Kp4Qx6Rz9Lm3Va # View thread\ntdc view https://comms.todoist.com/a/1585/ch/CbC8n2Kp4Qx6Rz9Lm3Va/t/CbT8n2Kp4Qx6Rz9Lm3Va # View thread\ntdc view https://comms.todoist.com/a/1585/ch/CbC8n2Kp4Qx6Rz9Lm3Va/t/CbT8n2Kp4Qx6Rz9Lm3Va/c/CbM8n2Kp4Qx6Rz9Lm3Va # View comment\ntdc view https://comms.todoist.com/a/1585/msg/CbV8n2Kp4Qx6Rz9Lm3Va # View conversation\ntdc view https://comms.todoist.com/a/1585/msg/CbV8n2Kp4Qx6Rz9Lm3Va/m/CbS8n2Kp4Qx6Rz9Lm3Va --json # View message as JSON\n```\n\n**Check inbox and respond:**\n```bash\ntdc inbox --unread --json\ntdc inbox --mentions --json # Unread threads with an unread @mention of you\ntdc thread view <thread-ref> --unread\ntdc thread reply <thread-ref> \"Thanks, I'll look into this.\"\ntdc thread done <thread-ref> --yes\ntdc thread undone <thread-ref> --yes # Changed your mind: back to the inbox\n```\n\n**Search and review:**\n```bash\ntdc mentions --since 2026-04-01 --all --json\ntdc search \"deployment\" --type threads --json\ntdc thread view <thread-id>\n```\n\n**Check DMs:**\n```bash\ntdc conversation unread --json\ntdc conversation list --kind group --json # find a group DM by participants/name\ntdc conversation view <conversation-id>\ntdc conversation with \"Alice Example\"\ntdc conversation reply <conversation-ref> \"Got it, thanks!\"\n```\n";
6
+ export declare const SKILL_CONTENT = "# Comms CLI (tdc)\n\nAccess 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.\n\n## Setup\n\n```bash\ntdc auth login # OAuth login (standard write scopes)\ntdc auth login --read-only # OAuth login with read-only scope\ntdc auth login --full-access # OAuth login with delete/admin scopes\ntdc auth login --credential-store system # Require the system credential manager\ntdc auth login --credential-store plaintext # Explicitly allow plaintext config storage\ntdc auth login --callback-port <n># Override the local OAuth callback port (default 8766)\ntdc auth login --json # Emit a JSON envelope for scripted / agent use\ntdc auth login --ndjson # Emit an NDJSON envelope for scripted / agent use\ntdc auth token # Save API token manually (prompts securely; scope unknown, assumed write-capable)\ntdc auth token --credential-store system # Require the system credential manager\ntdc auth status # Verify authentication + show mode\ntdc auth status --json # Full status payload as JSON (--ndjson also supported)\ntdc auth status --user <ref> # Target a specific stored account (id, id:<n>, or display name)\ntdc --user <ref> auth <status|logout|token view|refresh-token view> # Equivalent to passing --user after the subcommand; other commands accept the flag but ignore it\ntdc auth logout # Remove saved token and auth metadata\ntdc auth logout --json # Emits `{\"ok\": true}` (--ndjson is silent)\ntdc auth logout --user <ref> # Target a specific stored account; mismatched ref errors with ACCOUNT_NOT_FOUND\ntdc auth token view # Print the saved token to stdout (pipe-safe; refreshes an expiring OAuth token first; refuses if COMMS_API_TOKEN is set)\ntdc auth token view --user <ref> # Print the saved token for a specific stored account\ntdc auth refresh-token view # Print the saved OAuth refresh token to stdout (pipe-safe; OAuth logins only)\ntdc auth refresh-token view --user <ref> # Print the saved OAuth refresh token for a specific stored account\ntdc account [list|current|use <ref>|remove <ref>] # Manage stored accounts; all support --json/--ndjson\n # current's payload is {id, label, authMode, authScope, source:\"config\"} | {source:\"env\"} | {source:\"token-only\"}\ntdc auth login # Re-running auth login with a different OAuth grant adds a NEW account; default stays pinned unless none was set\ntdc workspaces # List available workspaces\ntdc workspaces --ids-only # Output only workspace IDs\ntdc workspace use <ref> # Set current workspace\ntdc completion install # Install shell completions\ntdc config view # Show the current CLI configuration file (token masked)\ntdc config set <key> <value> # Set a user preference (e.g. unarchive-new-threads true)\ntdc doctor # Diagnose CLI setup and environment issues\ntdc update # Update CLI to latest version\ntdc changelog # Show recent changelog entries\ntdc migrate urls <urls> # Translate old twist.com URLs to Comms URLs (needs a Twist token)\n```\n\nOAuth login uses Todoist OAuth for Comms access. The default grant can read Comms data and create/update content or messages. It does not include delete, channel management, or user/workspace write scopes; use `tdc auth login --full-access` only when needed (all `tdc groups` writes and `tdc status set|clear` require it). Credential storage defaults to `fallback`: use the system credential manager when available, otherwise warn and save to `~/.config/comms-cli/config.json`. Pass `--credential-store system` to fail instead of writing plaintext, or `--credential-store plaintext` to choose config-file storage explicitly. `COMMS_API_TOKEN` always takes priority over the stored token.\n\nIn 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.\n\n## View by URL\n\n```bash\ntdc view <url> # View any Comms entity by URL\n```\n\nRoutes automatically based on URL structure:\n- Message URL \u2192 `tdc msg view`\n- Conversation URL \u2192 `tdc conversation view`\n- Thread+comment URL \u2192 `tdc thread view` (comment ID extracted from URL)\n- Thread URL \u2192 `tdc thread view`\n\nURLs may use either `https://comms.todoist.com/{workspaceId}/...` or `https://comms.todoist.com/a/{workspaceId}/...`.\n\nAll target command flags pass through (e.g. `--json`, `--raw`, `--full`).\n\n## Inbox\n\n```bash\ntdc inbox # Show inbox threads\ntdc inbox --unread # Only unread threads\ntdc inbox --mentions # Only unread threads where you were mentioned (implies --unread)\ntdc inbox --archive-filter all # Show active + done threads\ntdc inbox --archive-filter archived # Show only done threads\ntdc inbox --channel <filter> # Filter by channel name (fuzzy)\ntdc inbox --since <date> # Filter by date (ISO format)\ntdc inbox --limit <n> # Max items (default: 50)\ntdc inbox --ids-only # Output only thread IDs, one per line\n```\n\n## Threads\n\n```bash\ntdc thread <thread-ref> # View thread (shorthand for view)\ntdc thread view <thread-ref> # View thread with comments\ntdc thread view <ref> --comment <id> # View a specific comment\ntdc thread view <url-with-/c/id> # Comment ID extracted from URL\ntdc thread view <ref> --unread # Show only unread comments\ntdc thread view <ref> --context 3 # Include 3 read comments before unread\ntdc thread view <ref> --limit 20 # Max comments to show (default: 50; the header says when it left some out)\ntdc thread view <ref> --since <date> # Comments newer than date\ntdc thread view <ref> --raw # Show raw markdown\ntdc thread create <channel-ref> \"Title\" \"content\" # Create a new thread\ntdc thread create <channel-ref> \"Title\" \"content\" --json # Create and return as JSON\ntdc thread create <channel-ref> \"Title\" \"content\" --json --full # Include all thread fields\ntdc thread create <channel-ref> \"Title\" \"content\" --notify 123,Cbzzm11ZeYZoJYD4a6rti # Notify user and/or group IDs\ntdc thread create <channel-ref> \"Title\" \"content\" --unarchive # Land thread in author's Inbox (overrides default Comms auto-archive)\ntdc thread create <channel-ref> \"Title\" \"content\" --no-unarchive # Force archive even when userSettings.unarchiveNewThreads=true\ntdc thread create <channel-ref> \"Title\" \"content\" --dry-run # Preview without posting\ntdc thread create <channel-ref> \"Title\" --file ./a.png # Attach a file (repeatable; content optional)\ntdc thread reply <ref> \"content\" # Post a comment (notifies EVERYONE_IN_THREAD by default)\ntdc thread reply <ref> \"content\" --notify NONE # Post without notifying anyone\ntdc thread reply <ref> \"content\" --notify NONE --dry-run # Preview without posting\ntdc thread reply <ref> \"content\" --notify EVERYONE # Notify all workspace members\ntdc thread reply <ref> \"content\" --notify 123,id:456 # Notify specific users by ID\ntdc thread reply <ref> \"content\" --notify 123,Cbzzm11ZeYZoJYD4a6rti # Notify a user and a group (group IDs are base58, not numeric)\ntdc thread reply <ref> \"content\" --json # Post and return comment as JSON\ntdc thread reply <ref> \"content\" --json --full # Include all comment fields\ntdc thread reply <ref> \"content\" --close # Reply and close the thread\ntdc thread reply <ref> \"content\" --reopen # Reply and reopen a closed thread\ntdc thread reply <ref> \"content\" --close --notify NONE # Reply and close without notifying anyone\ntdc thread reply <ref> \"content\" --file ./a.png # Attach a file (repeatable; content optional)\ntdc thread done <ref> # Preview thread archive (requires --yes to execute)\ntdc thread done <ref> --yes # Archive thread (mark done)\ntdc thread done <ref> --yes --json # Archive and return status as JSON\ntdc thread undone <ref> --yes # Unarchive thread (move it back to your inbox); inverse of done\ntdc thread undone <ref> --yes --json # Unarchive and return status as JSON\ntdc thread mark-read <ref> # Mark a thread read\ntdc thread mark-read <ref> <ref> --yes # Mark multiple threads read\nprintf \"id:CbT8n2Kp4Qx6Rz9Lm3Va\\nid:CbT9m4Qr7Vz2Nx8Lp5Sa\\n\" | tdc thread mark-read --dry-run # Preview bulk mark-read from stdin\ntdc thread mark-unread <ref> # Mark a whole thread unread; inverse of mark-read\ntdc thread mark-unread <ref> --from <comment-ref> # Mark unread from that comment onward (single thread only)\ntdc thread mark-unread <ref> <ref> --yes # Mark multiple threads unread (also accepts refs on stdin)\ntdc thread mute <ref> # Mute thread for 60 minutes (default)\ntdc thread mute <ref> --minutes 480 # Mute for custom duration\ntdc thread mute <ref> --json # Mute and return { id, mutedUntil } as JSON\ntdc thread mute <ref> --json --full # Mute and return full thread as JSON\ntdc thread unmute <ref> # Unmute a muted thread\ntdc thread unmute <ref> --json # Unmute and return { id, mutedUntil } as JSON\ntdc thread delete <ref> # Preview thread deletion (requires --yes to execute)\ntdc thread delete <ref> --yes # Permanently delete a thread\ntdc thread delete <ref> --yes --json # Delete and return status as JSON\ntdc thread rename <ref> \"New title\" # Rename a thread (change its title)\ntdc thread rename <ref> \"New title\" --json # Rename and return { id, title } as JSON\ntdc thread rename <ref> \"New title\" --json --full # Rename and return full thread as JSON\ntdc thread update <ref> \"New body\" # Update a thread's body (the first post)\necho \"New body\" | tdc thread update <ref> # Update body from stdin\ntdc thread update <ref> \"New body\" --dry-run # Preview without updating\ntdc thread update <ref> \"New body\" --json # Update and return { id, content } as JSON\ntdc thread update <ref> \"New body\" --json --full # Update and return full thread as JSON\n```\n\nDefault `--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 <ids>`) or nobody (via `--notify NONE`). Options: NONE, EVERYONE, EVERYONE_IN_THREAD, or comma-separated user and/or group IDs.\n\n`--notify NONE` sends empty user, group, and direct-mention recipient lists without adding a notification audience. It also works with `--close` and `--reopen`. The `--dry-run` preview displays `Notify: NONE`.\n\n`--notify` automatically resolves IDs: group IDs are routed to the `groups` API field, user IDs to `recipients`. No special syntax needed.\n\n## Thread Comments\n\n```bash\ntdc comment <comment-ref> # View a comment (shorthand for view)\ntdc comment view <comment-ref> # View a single thread comment\ntdc comment view <comment-ref> --raw # Show raw markdown\ntdc comment view <comment-ref> --json # Output as JSON\ntdc comment view <comment-ref> --ndjson # Output as newline-delimited JSON\ntdc comment view <comment-ref> --json --full # Include all fields in JSON output\ntdc comment update <comment-ref> \"new content\" # Update a thread comment\ntdc comment update <comment-ref> \"content\" --json # Update and return updated comment as JSON\ntdc comment update <comment-ref> \"content\" --json --full # Include all comment fields\ntdc comment delete <comment-ref> # Preview comment deletion (requires --yes to execute)\ntdc comment delete <comment-ref> --yes # Delete a thread comment\ntdc comment delete <comment-ref> --yes --json # Delete and return status as JSON\n```\n\n## Conversations (DMs/Groups)\n\n```bash\ntdc conversation unread # List unread conversations\ntdc conversation list # List active conversations (DMs and groups)\ntdc conversation list --kind group # Only group conversations (3+ people)\ntdc conversation list --kind direct # Only 1:1 conversations (and your self-DM)\ntdc conversation list --participant \"Jane\" # Only conversations including these users (comma-separated)\ntdc conversation list --name \"release\" # Filter by title substring (case-insensitive)\ntdc conversation list --state archived # Archived conversations only (active|all|archived; default active)\ntdc conversation list --snippet # Include the latest message snippet\ntdc conversation list --limit 20 --json # Cap rows and output as JSON\ntdc conversation list --ids-only # Output only conversation IDs\ntdc conversation unread --ids-only # Output only unread conversation IDs\ntdc conversation <conversation-ref> # View conversation (shorthand for view)\ntdc conversation view <conversation-ref> # View conversation messages\ntdc conversation with <user-ref> # Find your 1:1 DM with a user\ntdc conversation with <user-ref> --snippet # Include the latest message preview\ntdc conversation with <user-ref> --include-groups # List any conversations with that user\ntdc conversation reply <ref> \"content\" # Send a message\ntdc conversation reply <ref> \"content\" --json # Send and return message as JSON\ntdc conversation reply <ref> \"content\" --json --full # Include all message fields\ntdc conversation reply <ref> \"content\" --file ./a.png # Attach a file (repeatable; content optional)\ntdc conversation done <ref> # Preview conversation archive (requires --yes to execute)\ntdc conversation done <ref> --yes # Archive conversation\ntdc conversation done <ref> --yes --json # Archive and return status as JSON\ntdc conversation undone <ref> --yes # Unarchive conversation; inverse of done\ntdc conversation undone <ref> --yes --json # Unarchive and return status as JSON\ntdc conversation mute <ref> # Mute conversation for 60 minutes (default)\ntdc conversation mute <ref> --minutes 480 # Mute for custom duration\ntdc conversation mute <ref> --json # Mute and return { id, mutedUntil } as JSON\ntdc conversation mute <ref> --json --full # Mute and return full conversation as JSON\ntdc conversation unmute <ref> # Unmute a muted conversation\ntdc conversation unmute <ref> --json # Unmute and return { id, mutedUntil } as JSON\n```\n\nAlias: `tdc convo` works the same as `tdc conversation`.\n\n## Conversation Messages\n\n```bash\ntdc msg <message-ref> # View a message (shorthand for view)\ntdc msg view <message-ref> # View a single conversation message\ntdc msg update <ref> \"content\" # Edit a conversation message\ntdc msg update <ref> \"content\" --json # Edit and return updated message as JSON\ntdc msg update <ref> \"content\" --json --full # Include all message fields\ntdc msg delete <ref> # Preview message deletion (requires --yes to execute)\ntdc msg delete <ref> --yes # Delete a conversation message\ntdc msg delete <ref> --yes --json # Delete and return status as JSON\n```\n\nAlias: `tdc message` works the same as `tdc msg`.\n\n## Search\n\n```bash\ntdc mentions # Show content mentioning current user\ntdc mentions --since 2026-04-01 --all # Fetch every mention since a date\ntdc mentions --type threads --json # Limit mentions to threads\ntdc search \"query\" # Search content\ntdc search \"query\" --type threads # Filter: threads, messages, or all\ntdc search \"query\" --author <ref> # Filter by author\ntdc search \"query\" --to <ref> # Messages sent to user\ntdc search \"query\" --title-only # Search thread titles only\ntdc search \"query\" --mention-me # Results mentioning current user\ntdc search \"query\" --conversation <refs> # Limit to conversations (comma-separated refs)\ntdc search \"query\" --since <date> # Content posted since date\ntdc search \"query\" --until <date> # Content posted until date\ntdc search \"query\" --channel <refs> # Filter by channel refs (comma-separated)\ntdc search \"query\" --limit <n> # Max results (default: 50)\ntdc search \"query\" --cursor <cur> # Pagination cursor\ntdc search \"query\" --all # Fetch all result pages\n```\n\n`--since` and `--until` filter by when the matching content was posted, not when a thread was last active, so a thread found by its title (`--title-only`) counts from when it was created.\n\n## Users, Channels & Groups\n\n```bash\ntdc user # Show current user info\ntdc user --json # JSON output\ntdc user --json --full # All fields, except session credentials\ntdc users # List active workspace users\ntdc users --search <text> # Filter by name/email\ntdc users --include-removed # Include users removed from the workspace\ntdc users --ids-only # Output only user IDs\ntdc status # Show your status (default login is enough)\ntdc status --json # Show it as { status } JSON (null when unset; --full for the whole user)\ntdc status set \"Deep work\" --emoji \uD83C\uDFAF --for 2h --pause-notifications # Set it (replaces any current status; needs --full-access)\ntdc status set \"On holiday\" --until 2026-10-20T09:00 # End at a date (YYYY-MM-DD, YYYY-MM-DDTHH:MM or a full ISO 8601 timestamp; local time unless it has Z or an offset)\ntdc status set \"Away\" --dry-run # Preview without setting\ntdc status set \"Away\" --json # Set and return { status } as JSON\ntdc status clear # Clear your status (--dry-run, --json supported)\ntdc channels # List active joined workspace channels (alias of: tdc channel list)\ntdc channels --state all # Include archived joined channels too\ntdc channels --scope discoverable # Active public channels you can see but have not joined\ntdc channels --scope public --state all --json # All visible public channels, with joined status\ntdc channels --ids-only # Output only channel IDs\ntdc channel create \"Engineering\" # Create a channel in the current workspace\ntdc channel create \"Leadership Team\" --private --users id:10,id:20 # Create private channel with initial members\ntdc channel create \"Product\" --workspace \"Doist\" --description \"Product discussions\" --json # Create and return channel as JSON\ntdc channel update <channel-ref> \"New name\" # Rename a channel\ntdc channel update <ref> --name \"New name\" # Rename with an explicit flag\ntdc channel update <ref> --description \"Team discussions\" # Update channel description\ntdc channel update <ref> --clear-description # Clear channel description\ntdc channel update <ref> --public # Make a channel public (--private makes it private)\ntdc channel update <ref> --description \"Team discussions\" --json --full # Update and return all channel fields\ntdc channel delete <channel-ref> --yes # Permanently delete a channel (requires --yes; usually admin-only)\ntdc channel delete <ref> --dry-run # Preview deletion\ntdc channel archive <channel-ref> # Archive a channel (no-op if already archived)\ntdc channel unarchive id:<id> # Unarchive a channel (pass id: for archived channels)\ntdc channel threads <channel-ref> # List threads in a channel (fuzzy name, id:, or URL)\ntdc channel threads \"general\" --unread # Only unread threads\ntdc channel threads <ref> --archive-filter all # Include archived threads (active|archived|all)\ntdc channel threads <ref> --since 2026-01-01 # Filter by last-updated date (ISO)\ntdc channel threads <ref> --limit 20 # Max threads per page (default: 50)\ntdc channel threads <ref> --limit 20 --cursor <cursor-from-prev> # Paginate\ntdc channel threads <ref> --json # { results, nextCursor } with isUnread + url\ntdc channel threads <ref> --ids-only # Output only thread IDs; pagination notice goes to stderr\ntdc channel members <channel-ref> # List a channel's members + groups fully in the channel\ntdc channel members <ref> --json # JSON with id, name, workspaceId, members\ntdc channel members <ref> --ids-only # Output only member user IDs\ntdc channel members add <ref> alice group:Design # Add users and/or expand group:<ref> members\ntdc channel members add <ref> a@d.com id:789 --json # Add refs, output result as JSON\ntdc channel members remove <ref> alice group:Frontend # Remove users and/or group members\ntdc channel members set <ref> group:Squad --apply # Replace membership with the resolved set\ntdc channel members set <ref> alice bob # Dry-run by default; refuses to remove you (--include-self to override)\ntdc groups # List workspace groups\ntdc groups --search \"frontend\" # Filter groups by name (case-insensitive)\ntdc groups --json # JSON output\ntdc groups --ids-only # Output only group IDs\ntdc groups --json --full # Include all fields in JSON output\ntdc groups view <group-ref> # Show group with member details\ntdc groups view <ref> --json # JSON output with id, name, workspaceId, members\ntdc groups view <ref> --json --full # Include all fields in JSON output\ntdc groups create \"Name\" # Create a new group\ntdc groups create \"Name\" --users alice@doist.com,bob@doist.com # Create with members\ntdc groups create \"Name\" --json # Output created group as JSON\ntdc groups rename <group-ref> \"New name\" # Rename a group\ntdc groups rename <ref> \"Name\" --json # Output renamed group as JSON\ntdc groups delete <group-ref> --yes # Delete a group (requires --yes)\ntdc groups delete <ref> --dry-run # Preview deletion\ntdc groups add-user <group-ref> user1 user2 # Add users to a group\ntdc groups add-user <ref> a@d.com,b@d.com # Comma-separated refs\ntdc groups add-user <ref> id:123 --json # Output result as JSON\ntdc groups remove-user <group-ref> user1 user2 # Remove users from a group\ntdc groups remove-user <ref> id:123,id:456 # Comma-separated ID refs\n```\n\nAll group *writes* (`groups create`, `rename`, `delete`, `add-user`, `remove-user`) need the `workspaces:write` scope, which only `tdc auth login --full-access` grants. Group *reads* (`groups`, `groups view`) work on a default login.\n\n`tdc status set` and `tdc status clear` need the `user:write` scope, which only `tdc auth login --full-access` grants. `tdc status` (show) works on a default login.\n\nOnly pass `--pause-notifications` when the user asks for it. It holds back Comms notifications only for now: each app has to read the status and hold its own notifications back, and Todoist does not yet. Held notifications are not sent later.\n\nIf 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.\n\n`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.\n\nFor `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 \u2014 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.\n\n## Reactions\n\n```bash\ntdc react thread <ref> \uD83D\uDC4D # Add reaction to thread\ntdc react comment <ref> +1 # Add reaction (shortcode)\ntdc react message <ref> heart # Add reaction to DM message\ntdc react thread <ref> \uD83D\uDC4D --json # Output result as JSON\ntdc unreact thread <ref> \uD83D\uDC4D # Remove reaction\ntdc unreact thread <ref> \uD83D\uDC4D --json # Output result as JSON\n```\n\nSupported shortcodes: +1, -1, heart, tada, smile, laughing, thinking, fire, check, x, eyes, pray, clap, rocket, wave\n\n## Shell Completions\n\n```bash\ntdc completion install # Install tab completions (prompts for shell)\ntdc completion install bash # Install for specific shell\ntdc completion install zsh\ntdc completion install fish\ntdc completion uninstall # Remove completions\n```\n\n### Diagnostics\n\n```bash\ntdc doctor # Run local + network diagnostics\ntdc doctor --offline # Skip Comms and npm network checks\ntdc doctor --json # JSON output with per-check results\n```\n\n### Configuration\n\n```bash\ntdc config view # Pretty-printed config, token masked, labels actual token source\ntdc config view --json # Raw JSON, token masked\ntdc config view --show-token # Include the full token\ntdc config set unarchive-new-threads true # Persist: always unarchive new threads so they land in your Inbox\ntdc config set unarchive-new-threads false # Persist: keep Comms's default (thread auto-archived for author)\n```\n\nUser 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.\n\n### Update\n\n```bash\ntdc update # Update CLI to latest version\ntdc update --check # Check for updates without installing, show channel\ntdc update --check --json # Same, JSON envelope\ntdc update --check --ndjson # Same, newline-delimited JSON envelope\ntdc update --channel # Show current update channel\ntdc update switch --stable # Switch to stable release channel\ntdc update switch --pre-release # Switch to pre-release (next) channel\ntdc update switch --pre-release --json # Same, JSON envelope\ntdc update switch --pre-release --ndjson # Same, newline-delimited JSON envelope\n```\n\n### Changelog\n```bash\ntdc changelog # Show last 5 versions\ntdc changelog -n 3 # Show last 3 versions\ntdc changelog --count 10 # Show last 10 versions\n```\n\n## Migration\n\nTranslate old `twist.com` URLs to their Comms equivalents (e.g. for rewriting bookmarks or history). The migration endpoint authenticates with a **Twist** token (not a Comms one). Prefer the `TWIST_AUTH_TOKEN` environment variable \u2014 a CLI flag exposes the token in process listings. `--twist-token` is supported for ad-hoc use and overrides the env var. If the Twist CLI (`tw`) is installed, populate the env var inline with `TWIST_AUTH_TOKEN=\"$(tw auth token view)\"`.\n\n```bash\n# Comma-separated list as an argument (token from the environment)\nTWIST_AUTH_TOKEN=\"$(tw auth token view)\" tdc migrate urls \"https://twist.com/a/1/ch/2/t/3,https://twist.com/a/1/ch/2/t/4\"\n\n# Or pipe URLs via stdin (comma- or newline-separated)\ncat old-urls.txt | TWIST_AUTH_TOKEN=\"$(tw auth token view)\" tdc migrate urls\n\n# --twist-token overrides the env var (visible in process lists \u2014 prefer the env var)\ntdc migrate urls \"https://twist.com/a/1/ch/2/t/3\" --twist-token <token>\n\ntdc migrate urls \"<urls>\" --json # Structured output ({ oldUrl, newUrl } / { oldUrl, error })\ntdc migrate urls \"<urls>\" --ndjson # Newline-delimited JSON\n```\n\nOutput is one line per URL in input order: `old -> new` on success, `old \u2717 <code>` on failure (`invalid_url` / `not_imported`, or `API_ERROR` when the endpoint gives no code). Per-URL failures don't abort the run; the command exits non-zero if any URL fails to migrate.\n\n## Global Options\n\n```bash\n--no-spinner # Disable loading animations\n--progress-jsonl # Machine-readable progress events (JSONL to stderr)\n--progress-jsonl=<path> # Same, but write events to <path> instead of stderr\n--progress-jsonl <path> # Same as above (space-separated form also accepted)\n--accessible # Add text labels to color-coded output (also: TDC_ACCESSIBLE=1)\n--non-interactive # Disable interactive prompts (auto-detected when stdin is not a TTY)\n--interactive # Force interactive mode even when stdin is not a TTY\n```\n\n## Output Formats\n\nList and view commands commonly support `--json`, `--ndjson`, and `--full`. List commands with one clear entity ID also support `--ids-only`; check command help for the exact surface.\n\n```bash\n--json # Output as JSON\n--ndjson # Output as newline-delimited JSON (for streaming)\n--ids-only # Output one stable ID per line; mutually exclusive with JSON/NDJSON\n--full # Include all fields (default shows essential fields only)\n```\n\n## Dry Run\n\nMutating 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 \u2014 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:\n\n```\n[dry-run] Would <action>:\n <Key>: <resolved value>\n ...\nRun without --dry-run to execute.\n```\n\n## Reference System\n\nCommands accept flexible references:\n- **IDs**: `id:<id>` (or a bare ID when unambiguous). Workspace/user IDs are numeric; most Comms entity IDs are opaque strings.\n- **Comms URLs**: Full `https://comms.todoist.com/...` URLs (parsed automatically)\n- **Fuzzy names**: For workspaces/users/channels/groups - `\"My Workspace\"` or partial matches\n\n## Piping Input\n\nCommands that accept content (`thread create`, `thread reply`, `comment update`, `conversation reply`, `msg update`) auto-detect piped stdin:\n\n```bash\ncat notes.md | tdc thread reply <ref>\ntdc thread create <channel-ref> \"Title\" < body.md\necho \"Quick reply\" | tdc conversation reply <ref>\n```\n\nIf 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.\n\n`tdc thread mark-read` and `tdc thread mark-unread` also accept thread refs from stdin, one per line:\n\n```bash\nprintf \"id:CbT8n2Kp4Qx6Rz9Lm3Va\\nid:CbT9m4Qr7Vz2Nx8Lp5Sa\\n\" | tdc thread mark-read --yes\n```\n\n## Common Workflows\n\n**View by URL (auto-routes to the right command):**\n```bash\ntdc view https://comms.todoist.com/1585/ch/CbC8n2Kp4Qx6Rz9Lm3Va/t/CbT8n2Kp4Qx6Rz9Lm3Va # View thread\ntdc view https://comms.todoist.com/a/1585/ch/CbC8n2Kp4Qx6Rz9Lm3Va/t/CbT8n2Kp4Qx6Rz9Lm3Va # View thread\ntdc view https://comms.todoist.com/a/1585/ch/CbC8n2Kp4Qx6Rz9Lm3Va/t/CbT8n2Kp4Qx6Rz9Lm3Va/c/CbM8n2Kp4Qx6Rz9Lm3Va # View comment\ntdc view https://comms.todoist.com/a/1585/msg/CbV8n2Kp4Qx6Rz9Lm3Va # View conversation\ntdc view https://comms.todoist.com/a/1585/msg/CbV8n2Kp4Qx6Rz9Lm3Va/m/CbS8n2Kp4Qx6Rz9Lm3Va --json # View message as JSON\n```\n\n**Check inbox and respond:**\n```bash\ntdc inbox --unread --json\ntdc inbox --mentions --json # Unread threads with an unread @mention of you\ntdc thread view <thread-ref> --unread\ntdc thread reply <thread-ref> \"Thanks, I'll look into this.\"\ntdc thread done <thread-ref> --yes\ntdc thread undone <thread-ref> --yes # Changed your mind: back to the inbox\n```\n\n**Search and review:**\n```bash\ntdc mentions --since 2026-04-01 --all --json\ntdc search \"deployment\" --type threads --json\ntdc thread view <thread-id>\n```\n\n**Check DMs:**\n```bash\ntdc conversation unread --json\ntdc conversation list --kind group --json # find a group DM by participants/name\ntdc conversation view <conversation-id>\ntdc conversation with \"Alice Example\"\ntdc conversation reply <conversation-ref> \"Got it, thanks!\"\n```\n";
7
7
  export declare const SKILL_FILE_CONTENT: string;
8
8
  //# sourceMappingURL=content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,cAAc,CAAA;AAErC,eAAO,MAAM,iBAAiB,2TAC8R,CAAA;AAE5T,eAAO,MAAM,YAAY,UAAU,CAAA;AAEnC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAElC,eAAO,MAAM,aAAa,QAAsB,CAAA;AAEhD,eAAO,MAAM,aAAa,q+/BAofzB,CAAA;AAED,eAAO,MAAM,kBAAkB,QASd,CAAA"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,cAAc,CAAA;AAErC,eAAO,MAAM,iBAAiB,2TAC8R,CAAA;AAE5T,eAAO,MAAM,YAAY,UAAU,CAAA;AAEnC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAElC,eAAO,MAAM,aAAa,QAAsB,CAAA;AAEhD,eAAO,MAAM,aAAa,ougCAsfzB,CAAA;AAED,eAAO,MAAM,kBAAkB,QASd,CAAA"}
@@ -90,7 +90,7 @@ tdc thread view <ref> --comment <id> # View a specific comment
90
90
  tdc thread view <url-with-/c/id> # Comment ID extracted from URL
91
91
  tdc thread view <ref> --unread # Show only unread comments
92
92
  tdc thread view <ref> --context 3 # Include 3 read comments before unread
93
- tdc thread view <ref> --limit 20 # Limit number of comments
93
+ tdc thread view <ref> --limit 20 # Max comments to show (default: 50; the header says when it left some out)
94
94
  tdc thread view <ref> --since <date> # Comments newer than date
95
95
  tdc thread view <ref> --raw # Show raw markdown
96
96
  tdc thread create <channel-ref> "Title" "content" # Create a new thread
@@ -232,14 +232,16 @@ tdc search "query" --to <ref> # Messages sent to user
232
232
  tdc search "query" --title-only # Search thread titles only
233
233
  tdc search "query" --mention-me # Results mentioning current user
234
234
  tdc search "query" --conversation <refs> # Limit to conversations (comma-separated refs)
235
- tdc search "query" --since <date> # Content from date
236
- tdc search "query" --until <date> # Content until date
235
+ tdc search "query" --since <date> # Content posted since date
236
+ tdc search "query" --until <date> # Content posted until date
237
237
  tdc search "query" --channel <refs> # Filter by channel refs (comma-separated)
238
238
  tdc search "query" --limit <n> # Max results (default: 50)
239
239
  tdc search "query" --cursor <cur> # Pagination cursor
240
240
  tdc search "query" --all # Fetch all result pages
241
241
  \`\`\`
242
242
 
243
+ \`--since\` and \`--until\` filter by when the matching content was posted, not when a thread was last active, so a thread found by its title (\`--title-only\`) counts from when it was created.
244
+
243
245
  ## Users, Channels & Groups
244
246
 
245
247
  \`\`\`bash
@@ -1 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAof5B,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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsf5B,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/comms-cli",
3
- "version": "3.6.4",
3
+ "version": "3.6.6",
4
4
  "description": "TypeScript CLI for Comms",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",