@doist/todoist-cli 1.29.2 → 1.29.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +11 -4
  3. package/scripts/check-skill-sync.js +40 -0
  4. package/scripts/sync-skill.js +28 -0
  5. package/dist/__mocks__/chalk.d.ts +0 -3
  6. package/dist/__mocks__/chalk.d.ts.map +0 -1
  7. package/dist/__mocks__/chalk.js +0 -8
  8. package/dist/__mocks__/chalk.js.map +0 -1
  9. package/dist/commands/activity.d.ts +0 -3
  10. package/dist/commands/activity.d.ts.map +0 -1
  11. package/dist/commands/activity.js +0 -267
  12. package/dist/commands/activity.js.map +0 -1
  13. package/dist/commands/add.d.ts +0 -3
  14. package/dist/commands/add.d.ts.map +0 -1
  15. package/dist/commands/add.js +0 -36
  16. package/dist/commands/add.js.map +0 -1
  17. package/dist/commands/attachment.d.ts +0 -3
  18. package/dist/commands/attachment.d.ts.map +0 -1
  19. package/dist/commands/attachment.js +0 -156
  20. package/dist/commands/attachment.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -3
  22. package/dist/commands/auth.d.ts.map +0 -1
  23. package/dist/commands/auth.js +0 -124
  24. package/dist/commands/auth.js.map +0 -1
  25. package/dist/commands/changelog.d.ts +0 -8
  26. package/dist/commands/changelog.d.ts.map +0 -1
  27. package/dist/commands/changelog.js +0 -92
  28. package/dist/commands/changelog.js.map +0 -1
  29. package/dist/commands/comment.d.ts +0 -3
  30. package/dist/commands/comment.d.ts.map +0 -1
  31. package/dist/commands/comment.js +0 -301
  32. package/dist/commands/comment.js.map +0 -1
  33. package/dist/commands/completed.d.ts +0 -3
  34. package/dist/commands/completed.d.ts.map +0 -1
  35. package/dist/commands/completed.js +0 -107
  36. package/dist/commands/completed.js.map +0 -1
  37. package/dist/commands/completion.d.ts +0 -3
  38. package/dist/commands/completion.d.ts.map +0 -1
  39. package/dist/commands/completion.js +0 -107
  40. package/dist/commands/completion.js.map +0 -1
  41. package/dist/commands/filter.d.ts +0 -5
  42. package/dist/commands/filter.d.ts.map +0 -1
  43. package/dist/commands/filter.js +0 -287
  44. package/dist/commands/filter.js.map +0 -1
  45. package/dist/commands/inbox.d.ts +0 -3
  46. package/dist/commands/inbox.d.ts.map +0 -1
  47. package/dist/commands/inbox.js +0 -25
  48. package/dist/commands/inbox.js.map +0 -1
  49. package/dist/commands/label.d.ts +0 -5
  50. package/dist/commands/label.d.ts.map +0 -1
  51. package/dist/commands/label.js +0 -328
  52. package/dist/commands/label.js.map +0 -1
  53. package/dist/commands/notification.d.ts +0 -3
  54. package/dist/commands/notification.d.ts.map +0 -1
  55. package/dist/commands/notification.js +0 -274
  56. package/dist/commands/notification.js.map +0 -1
  57. package/dist/commands/project.d.ts +0 -5
  58. package/dist/commands/project.d.ts.map +0 -1
  59. package/dist/commands/project.js +0 -528
  60. package/dist/commands/project.js.map +0 -1
  61. package/dist/commands/reminder.d.ts +0 -3
  62. package/dist/commands/reminder.d.ts.map +0 -1
  63. package/dist/commands/reminder.js +0 -271
  64. package/dist/commands/reminder.js.map +0 -1
  65. package/dist/commands/section.d.ts +0 -3
  66. package/dist/commands/section.d.ts.map +0 -1
  67. package/dist/commands/section.js +0 -172
  68. package/dist/commands/section.js.map +0 -1
  69. package/dist/commands/settings.d.ts +0 -12
  70. package/dist/commands/settings.d.ts.map +0 -1
  71. package/dist/commands/settings.js +0 -312
  72. package/dist/commands/settings.js.map +0 -1
  73. package/dist/commands/skill.d.ts +0 -3
  74. package/dist/commands/skill.d.ts.map +0 -1
  75. package/dist/commands/skill.js +0 -127
  76. package/dist/commands/skill.js.map +0 -1
  77. package/dist/commands/stats.d.ts +0 -3
  78. package/dist/commands/stats.d.ts.map +0 -1
  79. package/dist/commands/stats.js +0 -151
  80. package/dist/commands/stats.js.map +0 -1
  81. package/dist/commands/task.d.ts +0 -5
  82. package/dist/commands/task.d.ts.map +0 -1
  83. package/dist/commands/task.js +0 -559
  84. package/dist/commands/task.js.map +0 -1
  85. package/dist/commands/today.d.ts +0 -18
  86. package/dist/commands/today.d.ts.map +0 -1
  87. package/dist/commands/today.js +0 -108
  88. package/dist/commands/today.js.map +0 -1
  89. package/dist/commands/upcoming.d.ts +0 -17
  90. package/dist/commands/upcoming.d.ts.map +0 -1
  91. package/dist/commands/upcoming.js +0 -129
  92. package/dist/commands/upcoming.js.map +0 -1
  93. package/dist/commands/update.d.ts +0 -6
  94. package/dist/commands/update.d.ts.map +0 -1
  95. package/dist/commands/update.js +0 -90
  96. package/dist/commands/update.js.map +0 -1
  97. package/dist/commands/view.d.ts +0 -3
  98. package/dist/commands/view.d.ts.map +0 -1
  99. package/dist/commands/view.js +0 -79
  100. package/dist/commands/view.js.map +0 -1
  101. package/dist/commands/workspace.d.ts +0 -3
  102. package/dist/commands/workspace.d.ts.map +0 -1
  103. package/dist/commands/workspace.js +0 -309
  104. package/dist/commands/workspace.js.map +0 -1
  105. package/dist/index.d.ts +0 -3
  106. package/dist/index.d.ts.map +0 -1
  107. package/dist/index.js +0 -176
  108. package/dist/index.js.map +0 -1
  109. package/dist/lib/api/core.d.ts +0 -13
  110. package/dist/lib/api/core.d.ts.map +0 -1
  111. package/dist/lib/api/core.js +0 -170
  112. package/dist/lib/api/core.js.map +0 -1
  113. package/dist/lib/api/filters.d.ts +0 -19
  114. package/dist/lib/api/filters.d.ts.map +0 -1
  115. package/dist/lib/api/filters.js +0 -60
  116. package/dist/lib/api/filters.js.map +0 -1
  117. package/dist/lib/api/notifications.d.ts +0 -33
  118. package/dist/lib/api/notifications.d.ts.map +0 -1
  119. package/dist/lib/api/notifications.js +0 -94
  120. package/dist/lib/api/notifications.js.map +0 -1
  121. package/dist/lib/api/reminders.d.ts +0 -30
  122. package/dist/lib/api/reminders.d.ts.map +0 -1
  123. package/dist/lib/api/reminders.js +0 -65
  124. package/dist/lib/api/reminders.js.map +0 -1
  125. package/dist/lib/api/stats.d.ts +0 -41
  126. package/dist/lib/api/stats.d.ts.map +0 -1
  127. package/dist/lib/api/stats.js +0 -74
  128. package/dist/lib/api/stats.js.map +0 -1
  129. package/dist/lib/api/uploads.d.ts +0 -10
  130. package/dist/lib/api/uploads.d.ts.map +0 -1
  131. package/dist/lib/api/uploads.js +0 -31
  132. package/dist/lib/api/uploads.js.map +0 -1
  133. package/dist/lib/api/user-settings.d.ts +0 -34
  134. package/dist/lib/api/user-settings.d.ts.map +0 -1
  135. package/dist/lib/api/user-settings.js +0 -58
  136. package/dist/lib/api/user-settings.js.map +0 -1
  137. package/dist/lib/api/workspaces.d.ts +0 -23
  138. package/dist/lib/api/workspaces.d.ts.map +0 -1
  139. package/dist/lib/api/workspaces.js +0 -61
  140. package/dist/lib/api/workspaces.js.map +0 -1
  141. package/dist/lib/auth.d.ts +0 -14
  142. package/dist/lib/auth.d.ts.map +0 -1
  143. package/dist/lib/auth.js +0 -182
  144. package/dist/lib/auth.js.map +0 -1
  145. package/dist/lib/browser.d.ts +0 -2
  146. package/dist/lib/browser.d.ts.map +0 -1
  147. package/dist/lib/browser.js +0 -6
  148. package/dist/lib/browser.js.map +0 -1
  149. package/dist/lib/collaborators.d.ts +0 -29
  150. package/dist/lib/collaborators.d.ts.map +0 -1
  151. package/dist/lib/collaborators.js +0 -184
  152. package/dist/lib/collaborators.js.map +0 -1
  153. package/dist/lib/completion.d.ts +0 -41
  154. package/dist/lib/completion.d.ts.map +0 -1
  155. package/dist/lib/completion.js +0 -191
  156. package/dist/lib/completion.js.map +0 -1
  157. package/dist/lib/dates.d.ts +0 -16
  158. package/dist/lib/dates.d.ts.map +0 -1
  159. package/dist/lib/dates.js +0 -45
  160. package/dist/lib/dates.js.map +0 -1
  161. package/dist/lib/duration.d.ts +0 -14
  162. package/dist/lib/duration.d.ts.map +0 -1
  163. package/dist/lib/duration.js +0 -58
  164. package/dist/lib/duration.js.map +0 -1
  165. package/dist/lib/logger.d.ts +0 -42
  166. package/dist/lib/logger.d.ts.map +0 -1
  167. package/dist/lib/logger.js +0 -227
  168. package/dist/lib/logger.js.map +0 -1
  169. package/dist/lib/markdown.d.ts +0 -3
  170. package/dist/lib/markdown.d.ts.map +0 -1
  171. package/dist/lib/markdown.js +0 -22
  172. package/dist/lib/markdown.js.map +0 -1
  173. package/dist/lib/oauth-server.d.ts +0 -6
  174. package/dist/lib/oauth-server.d.ts.map +0 -1
  175. package/dist/lib/oauth-server.js +0 -773
  176. package/dist/lib/oauth-server.js.map +0 -1
  177. package/dist/lib/oauth.d.ts +0 -3
  178. package/dist/lib/oauth.d.ts.map +0 -1
  179. package/dist/lib/oauth.js +0 -38
  180. package/dist/lib/oauth.js.map +0 -1
  181. package/dist/lib/options.d.ts +0 -16
  182. package/dist/lib/options.d.ts.map +0 -1
  183. package/dist/lib/options.js +0 -2
  184. package/dist/lib/options.js.map +0 -1
  185. package/dist/lib/output.d.ts +0 -39
  186. package/dist/lib/output.d.ts.map +0 -1
  187. package/dist/lib/output.js +0 -311
  188. package/dist/lib/output.js.map +0 -1
  189. package/dist/lib/pagination.d.ts +0 -23
  190. package/dist/lib/pagination.d.ts.map +0 -1
  191. package/dist/lib/pagination.js +0 -26
  192. package/dist/lib/pagination.js.map +0 -1
  193. package/dist/lib/pkce.d.ts +0 -4
  194. package/dist/lib/pkce.d.ts.map +0 -1
  195. package/dist/lib/pkce.js +0 -19
  196. package/dist/lib/pkce.js.map +0 -1
  197. package/dist/lib/progress.d.ts +0 -29
  198. package/dist/lib/progress.d.ts.map +0 -1
  199. package/dist/lib/progress.js +0 -101
  200. package/dist/lib/progress.js.map +0 -1
  201. package/dist/lib/refs.d.ts +0 -52
  202. package/dist/lib/refs.d.ts.map +0 -1
  203. package/dist/lib/refs.js +0 -225
  204. package/dist/lib/refs.js.map +0 -1
  205. package/dist/lib/secure-store.d.ts +0 -11
  206. package/dist/lib/secure-store.d.ts.map +0 -1
  207. package/dist/lib/secure-store.js +0 -57
  208. package/dist/lib/secure-store.js.map +0 -1
  209. package/dist/lib/skills/content.d.ts +0 -4
  210. package/dist/lib/skills/content.d.ts.map +0 -1
  211. package/dist/lib/skills/content.js +0 -415
  212. package/dist/lib/skills/content.js.map +0 -1
  213. package/dist/lib/skills/create-installer.d.ts +0 -9
  214. package/dist/lib/skills/create-installer.d.ts.map +0 -1
  215. package/dist/lib/skills/create-installer.js +0 -77
  216. package/dist/lib/skills/create-installer.js.map +0 -1
  217. package/dist/lib/skills/index.d.ts +0 -6
  218. package/dist/lib/skills/index.d.ts.map +0 -1
  219. package/dist/lib/skills/index.js +0 -40
  220. package/dist/lib/skills/index.js.map +0 -1
  221. package/dist/lib/skills/types.d.ts +0 -11
  222. package/dist/lib/skills/types.d.ts.map +0 -1
  223. package/dist/lib/skills/types.js +0 -2
  224. package/dist/lib/skills/types.js.map +0 -1
  225. package/dist/lib/skills/update-installed.d.ts +0 -7
  226. package/dist/lib/skills/update-installed.d.ts.map +0 -1
  227. package/dist/lib/skills/update-installed.js +0 -23
  228. package/dist/lib/skills/update-installed.js.map +0 -1
  229. package/dist/lib/spinner.d.ts +0 -23
  230. package/dist/lib/spinner.d.ts.map +0 -1
  231. package/dist/lib/spinner.js +0 -138
  232. package/dist/lib/spinner.js.map +0 -1
  233. package/dist/lib/stdin.d.ts +0 -2
  234. package/dist/lib/stdin.d.ts.map +0 -1
  235. package/dist/lib/stdin.js +0 -12
  236. package/dist/lib/stdin.js.map +0 -1
  237. package/dist/lib/task-list.d.ts +0 -31
  238. package/dist/lib/task-list.d.ts.map +0 -1
  239. package/dist/lib/task-list.js +0 -271
  240. package/dist/lib/task-list.js.map +0 -1
  241. package/dist/lib/urls.d.ts +0 -8
  242. package/dist/lib/urls.d.ts.map +0 -1
  243. package/dist/lib/urls.js +0 -26
  244. package/dist/lib/urls.js.map +0 -1
  245. package/dist/postinstall.d.ts +0 -2
  246. package/dist/postinstall.d.ts.map +0 -1
  247. package/dist/postinstall.js +0 -3
  248. package/dist/postinstall.js.map +0 -1
@@ -1,227 +0,0 @@
1
- /**
2
- * Verbose logging module for debugging API latency and CLI behavior.
3
- *
4
- * Verbosity levels (stackable -v flags):
5
- * -v (1) INFO : commands invoked, API endpoints hit, response status + total timing
6
- * -vv (2) DETAIL : request parameters, response metadata, pagination progress
7
- * -vvv (3) DEBUG : reference resolution steps, HTTP headers, rate-limit info
8
- * -vvvv (4) TRACE : full request/response headers, body sizes, connection details
9
- *
10
- * All output goes to stderr with prefixed tags so it never pollutes stdout data.
11
- * Can also be activated via TD_VERBOSE=1..4 environment variable.
12
- */
13
- export const Verbosity = {
14
- SILENT: 0,
15
- INFO: 1,
16
- DETAIL: 2,
17
- DEBUG: 3,
18
- TRACE: 4,
19
- };
20
- const LEVEL_TAG = {
21
- [Verbosity.INFO]: 'info',
22
- [Verbosity.DETAIL]: 'detail',
23
- [Verbosity.DEBUG]: 'debug',
24
- [Verbosity.TRACE]: 'trace',
25
- };
26
- class Logger {
27
- level = Verbosity.SILENT;
28
- /** Set verbosity from parsed CLI flags or environment. */
29
- initialize() {
30
- // Environment variable takes precedence if set
31
- const envLevel = process.env.TD_VERBOSE;
32
- if (envLevel) {
33
- const parsed = parseInt(envLevel, 10);
34
- if (parsed >= Verbosity.INFO && parsed <= Verbosity.TRACE) {
35
- this.level = parsed;
36
- }
37
- }
38
- // Count -v flags in argv (supports -v, -vv, -vvv, -vvvv, and repeated --verbose)
39
- const args = process.argv.slice(2);
40
- let cliLevel = 0;
41
- for (const arg of args) {
42
- if (arg === '--verbose') {
43
- cliLevel += 1;
44
- }
45
- else if (/^-v+$/.test(arg)) {
46
- // -v = 1, -vv = 2, -vvv = 3, -vvvv = 4
47
- cliLevel += arg.length - 1;
48
- }
49
- }
50
- // CLI flags override env var if higher
51
- if (cliLevel > 0) {
52
- this.level = Math.min(cliLevel, Verbosity.TRACE);
53
- }
54
- if (this.level >= Verbosity.INFO) {
55
- this.log(Verbosity.INFO, `verbose logging enabled (level=${this.level})`);
56
- }
57
- }
58
- getLevel() {
59
- return this.level;
60
- }
61
- isEnabled(level = Verbosity.INFO) {
62
- return this.level >= level;
63
- }
64
- /** Core log method. Only emits if current verbosity >= requested level. */
65
- log(level, message, data) {
66
- if (this.level < level)
67
- return;
68
- const tag = LEVEL_TAG[level] ?? 'log';
69
- const ts = new Date().toISOString();
70
- let line = `[td:${tag}] ${ts} ${message}`;
71
- if (data && Object.keys(data).length > 0) {
72
- const parts = [];
73
- for (const [key, value] of Object.entries(data)) {
74
- if (value === undefined || value === null)
75
- continue;
76
- parts.push(`${key}=${typeof value === 'object' ? JSON.stringify(value) : value}`);
77
- }
78
- if (parts.length > 0) {
79
- line += ` | ${parts.join(' ')}`;
80
- }
81
- }
82
- process.stderr.write(`${line}\n`);
83
- }
84
- /** Level-specific convenience methods. */
85
- info(message, data) {
86
- this.log(Verbosity.INFO, message, data);
87
- }
88
- detail(message, data) {
89
- this.log(Verbosity.DETAIL, message, data);
90
- }
91
- debug(message, data) {
92
- this.log(Verbosity.DEBUG, message, data);
93
- }
94
- trace(message, data) {
95
- this.log(Verbosity.TRACE, message, data);
96
- }
97
- /** Log timing of an async operation. Returns the operation result. */
98
- async timed(level, label, operation, extraData) {
99
- if (this.level < level) {
100
- return operation();
101
- }
102
- const start = performance.now();
103
- this.log(level, `${label} ...started`, extraData);
104
- try {
105
- const result = await operation();
106
- const durationMs = performance.now() - start;
107
- this.log(level, `${label} ...done`, {
108
- ...extraData,
109
- duration_ms: Math.round(durationMs),
110
- });
111
- return result;
112
- }
113
- catch (error) {
114
- const durationMs = performance.now() - start;
115
- this.log(level, `${label} ...FAILED`, {
116
- ...extraData,
117
- duration_ms: Math.round(durationMs),
118
- error: error instanceof Error ? error.message : String(error),
119
- });
120
- throw error;
121
- }
122
- }
123
- }
124
- // Global singleton
125
- let logger = null;
126
- export function getLogger() {
127
- if (!logger) {
128
- logger = new Logger();
129
- }
130
- return logger;
131
- }
132
- export function initializeLogger() {
133
- const log = getLogger();
134
- log.initialize();
135
- // When verbose, patch globalThis.fetch so SDK-internal HTTP calls are also logged.
136
- // This is the only way to get HTTP-level visibility for @doist/todoist-api-typescript
137
- // since it uses fetch() internally and doesn't expose hooks.
138
- if (log.isEnabled()) {
139
- patchGlobalFetch();
140
- }
141
- }
142
- /** Save original fetch and replace with logging wrapper. */
143
- function patchGlobalFetch() {
144
- const originalFetch = globalThis.fetch;
145
- globalThis.fetch = async (input, init) => {
146
- const log = getLogger();
147
- const urlStr = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url;
148
- const method = init?.method ?? (typeof input === 'object' && 'method' in input ? input.method : 'GET');
149
- const urlObj = new URL(urlStr);
150
- log.info(`fetch ${method} ${urlObj.pathname}`);
151
- log.detail(`fetch ${method} ${urlStr}`);
152
- // Log request body size at DETAIL
153
- if (init?.body) {
154
- const bodyStr = typeof init.body === 'string'
155
- ? init.body
156
- : init.body instanceof URLSearchParams
157
- ? init.body.toString()
158
- : null;
159
- if (bodyStr) {
160
- log.detail('request body', { size_bytes: bodyStr.length });
161
- if (init.body instanceof URLSearchParams) {
162
- log.trace('request body keys', { keys: Array.from(init.body.keys()) });
163
- }
164
- }
165
- }
166
- // Log request headers at TRACE (redact Authorization)
167
- if (log.isEnabled(Verbosity.TRACE) && init?.headers) {
168
- const hdrs = {};
169
- if (init.headers instanceof Headers) {
170
- init.headers.forEach((v, k) => {
171
- hdrs[k] = k.toLowerCase() === 'authorization' ? '[REDACTED]' : v;
172
- });
173
- }
174
- else if (typeof init.headers === 'object') {
175
- for (const [k, v] of Object.entries(init.headers)) {
176
- hdrs[k] = k.toLowerCase() === 'authorization' ? '[REDACTED]' : String(v);
177
- }
178
- }
179
- log.trace('request headers', hdrs);
180
- }
181
- const startTime = performance.now();
182
- const response = await originalFetch(input, init);
183
- const durationMs = Math.round(performance.now() - startTime);
184
- // INFO: status + timing
185
- log.info(`fetch ${method} ${urlObj.pathname} => ${response.status}`, {
186
- duration_ms: durationMs,
187
- });
188
- // DETAIL: content-length
189
- const contentLength = response.headers.get('content-length');
190
- if (contentLength) {
191
- log.detail('response', { content_length: contentLength });
192
- }
193
- // DEBUG: rate-limit and diagnostic headers
194
- const diagHeaders = {};
195
- for (const name of [
196
- 'x-request-id',
197
- 'x-ratelimit-limit',
198
- 'x-ratelimit-remaining',
199
- 'x-ratelimit-reset',
200
- 'retry-after',
201
- 'cf-ray',
202
- ]) {
203
- const val = response.headers.get(name);
204
- if (val)
205
- diagHeaders[name] = val;
206
- }
207
- if (Object.keys(diagHeaders).length > 0) {
208
- log.debug('response headers', diagHeaders);
209
- }
210
- // TRACE: all response headers
211
- if (log.isEnabled(Verbosity.TRACE)) {
212
- const allHeaders = {};
213
- response.headers.forEach((value, name) => {
214
- if (!name.toLowerCase().includes('set-cookie')) {
215
- allHeaders[name] = value;
216
- }
217
- });
218
- log.trace('all response headers', allHeaders);
219
- }
220
- return response;
221
- };
222
- }
223
- /** Reset for testing. */
224
- export function resetLogger() {
225
- logger = null;
226
- }
227
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function preloadMarkdown(): Promise<void>;
2
- export declare function renderMarkdown(text: string): string;
3
- //# sourceMappingURL=markdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/lib/markdown.ts"],"names":[],"mappings":"AAIA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAUrD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD"}
@@ -1,22 +0,0 @@
1
- let markedInstance = null;
2
- export async function preloadMarkdown() {
3
- if (markedInstance)
4
- return;
5
- const [{ Marked }, { markedTerminal }] = await Promise.all([
6
- import('marked'),
7
- import('marked-terminal'),
8
- ]);
9
- const instance = new Marked();
10
- // Types are outdated - markedTerminal returns MarkedExtension at runtime
11
- instance.use(markedTerminal());
12
- markedInstance = instance;
13
- }
14
- export function renderMarkdown(text) {
15
- if (!markedInstance)
16
- return text;
17
- // Handle uncompletable task prefix: escape leading "* " so it's not a bullet
18
- const escaped = text.startsWith('* ') ? `\\* ${text.slice(2)}` : text;
19
- const rendered = markedInstance.parse(escaped);
20
- return typeof rendered === 'string' ? rendered.trimEnd() : text;
21
- }
22
- //# sourceMappingURL=markdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/lib/markdown.ts"],"names":[],"mappings":"AAEA,IAAI,cAAc,GAAkB,IAAI,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,IAAI,cAAc;QAAE,OAAM;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,MAAM,CAAC,QAAQ,CAAC;QAChB,MAAM,CAAC,iBAAiB,CAAC;KAC5B,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAA;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAgC,CAAC,CAAA;IAC5D,cAAc,GAAG,QAAQ,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAA;IAChC,6EAA6E;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACnE,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare function startCallbackServer(expectedState: string): {
2
- promise: Promise<string>;
3
- cleanup: () => void;
4
- };
5
- export declare const OAUTH_REDIRECT_URI = "http://localhost:8765/callback";
6
- //# sourceMappingURL=oauth-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server.d.ts","sourceRoot":"","sources":["../../src/lib/oauth-server.ts"],"names":[],"mappings":"AAusBA,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG;IACxD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,OAAO,EAAE,MAAM,IAAI,CAAA;CACtB,CA2EA;AAED,eAAO,MAAM,kBAAkB,mCAAsC,CAAA"}