@basementuniverse/kanbn 0.9.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/commands/burndown.txt +7 -1
- package/docs/commands/gantt.txt +36 -0
- package/docs/commands/help.txt +1 -0
- package/docs/index-structure.md +20 -1
- package/docs/quick-start.md +1 -1
- package/docs/task-structure.md +47 -0
- package/example/.kanbn/index.md +63 -0
- package/example/.kanbn/tasks/add-basic-activity-feed.md +53 -0
- package/example/.kanbn/tasks/add-passwordless-login-option.md +34 -0
- package/example/.kanbn/tasks/add-usage-alert-email-thresholds.md +35 -0
- package/example/.kanbn/tasks/build-email-template-system.md +30 -0
- package/example/.kanbn/tasks/build-invoice-download-endpoint.md +43 -0
- package/example/.kanbn/tasks/build-tenant-settings-page.md +48 -0
- package/example/.kanbn/tasks/create-organization-switcher.md +53 -0
- package/example/.kanbn/tasks/create-sandbox-environment-provisioner.md +36 -0
- package/example/.kanbn/tasks/create-self-serve-cancellation-flow.md +38 -0
- package/example/.kanbn/tasks/define-product-pricing-strategy.md +37 -0
- package/example/.kanbn/tasks/design-onboarding-checklist.md +30 -0
- package/example/.kanbn/tasks/design-team-invite-expiry-flow.md +33 -0
- package/example/.kanbn/tasks/implement-data-retention-policy-jobs.md +30 -0
- package/example/.kanbn/tasks/implement-feature-flags-foundation.md +36 -0
- package/example/.kanbn/tasks/implement-project-creation-wizard.md +44 -0
- package/example/.kanbn/tasks/implement-stripe-webhook-signature-check.md +54 -0
- package/example/.kanbn/tasks/implement-team-permissions-ui.md +57 -0
- package/example/.kanbn/tasks/implement-user-signup-and-login.md +62 -0
- package/example/.kanbn/tasks/integrate-crm-lead-sync.md +35 -0
- package/example/.kanbn/tasks/legal-review-terms-and-privacy.md +30 -0
- package/example/.kanbn/tasks/migrate-legacy-events-to-new-schema.md +48 -0
- package/example/.kanbn/tasks/optimize-dashboard-first-load.md +52 -0
- package/example/.kanbn/tasks/prototype-report-export-scheduler.md +34 -0
- package/example/.kanbn/tasks/publish-internal-qa-checklist.md +53 -0
- package/example/.kanbn/tasks/setup-ci-pipeline.md +53 -0
- package/package.json +3 -2
- package/routes/gantt.json +27 -0
- package/skills/kanbn-plan/SKILL.md +0 -0
- package/src/board.js +21 -2
- package/src/controller/add.js +33 -1
- package/src/controller/burndown.js +72 -5
- package/src/controller/edit.js +68 -1
- package/src/controller/find.js +5 -0
- package/src/controller/gantt.js +375 -0
- package/src/controller/init.js +2 -1
- package/src/controller/sort.js +8 -0
- package/src/main.d.ts +295 -340
- package/src/main.js +2591 -2050
- package/src/parse-task.js +211 -3
package/src/main.d.ts
CHANGED
|
@@ -58,343 +58,298 @@ declare type sprint = {
|
|
|
58
58
|
description?: string
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
* @return {Promise<object>} Burndown chart data as an object
|
|
357
|
-
*/
|
|
358
|
-
export function burndown(
|
|
359
|
-
sprints?: string[]|null,
|
|
360
|
-
dates?: Date[]|null,
|
|
361
|
-
assigned?: string|null,
|
|
362
|
-
columns?: string[]|null,
|
|
363
|
-
normalise?: string|null
|
|
364
|
-
): Promise<object>;
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* Add a comment to a task
|
|
368
|
-
* @param {string} taskId The task id
|
|
369
|
-
* @param {string} text The comment text
|
|
370
|
-
* @param {string} author The comment author
|
|
371
|
-
* @return {Promise<string>} The task id
|
|
372
|
-
*/
|
|
373
|
-
export function comment(taskId: string, text: string, author: string): Promise<string>;
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* Return a list of archived tasks
|
|
377
|
-
* @return {Promise<string[]>} A list of archived task ids
|
|
378
|
-
*/
|
|
379
|
-
export function listArchivedTasks(): Promise<string[]>;
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Move a task to the archive
|
|
383
|
-
* @param {string} taskId The task id
|
|
384
|
-
* @return {Promise<string>} The task id
|
|
385
|
-
*/
|
|
386
|
-
export function archiveTask(taskId: string): Promise<string>;
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* Restore a task from the archive
|
|
390
|
-
* @param {string} taskId The task id
|
|
391
|
-
* @param {?string} [columnName=null] The column to restore the task to
|
|
392
|
-
* @return {Promise<string>} The task id
|
|
393
|
-
*/
|
|
394
|
-
export function restoreTask(taskId: string, columnName?: string|null): Promise<string>;
|
|
395
|
-
|
|
396
|
-
/**
|
|
397
|
-
* Nuke it from orbit, it's the only way to be sure
|
|
398
|
-
* @return {Promise<void>}
|
|
399
|
-
*/
|
|
400
|
-
export function removeAll(): Promise<void>;
|
|
61
|
+
export class Kanbn {
|
|
62
|
+
constructor(root?: any);
|
|
63
|
+
ROOT: string;
|
|
64
|
+
CONFIG_YAML: string;
|
|
65
|
+
CONFIG_JSON: string;
|
|
66
|
+
configMemo: any;
|
|
67
|
+
/**
|
|
68
|
+
* Check if a separate config file exists
|
|
69
|
+
* @returns {Promise<boolean>} True if a config file exists
|
|
70
|
+
*/
|
|
71
|
+
configExists(): Promise<boolean>;
|
|
72
|
+
/**
|
|
73
|
+
* Save configuration data to a separate config file
|
|
74
|
+
*/
|
|
75
|
+
saveConfig(config: any): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Get configuration settings from the config file if it exists, otherwise return null
|
|
78
|
+
* @return {Promise<Object|null>} Configuration settings or null if there is no separate config file
|
|
79
|
+
*/
|
|
80
|
+
getConfig(): Promise<any | null>;
|
|
81
|
+
/**
|
|
82
|
+
* Clear cached config
|
|
83
|
+
*/
|
|
84
|
+
clearConfigCache(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Get the name of the folder where the index and tasks are stored
|
|
87
|
+
* @return {Promise<string>} The kanbn folder name
|
|
88
|
+
*/
|
|
89
|
+
getFolderName(): Promise<string>;
|
|
90
|
+
/**
|
|
91
|
+
* Get the index filename
|
|
92
|
+
* @return {Promise<string>} The index filename
|
|
93
|
+
*/
|
|
94
|
+
getIndexFileName(): Promise<string>;
|
|
95
|
+
/**
|
|
96
|
+
* Get the name of the folder where tasks are stored
|
|
97
|
+
* @return {Promise<string>} The task folder name
|
|
98
|
+
*/
|
|
99
|
+
getTaskFolderName(): Promise<string>;
|
|
100
|
+
/**
|
|
101
|
+
* Get the name of the archive folder
|
|
102
|
+
* @return {Promise<string>} The archive folder name
|
|
103
|
+
*/
|
|
104
|
+
getArchiveFolderName(): Promise<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Get the kanbn folder location for the current working directory
|
|
107
|
+
* @return {Promise<string>} The kanbn folder path
|
|
108
|
+
*/
|
|
109
|
+
getMainFolder(): Promise<string>;
|
|
110
|
+
/**
|
|
111
|
+
* Get the index path
|
|
112
|
+
* @return {Promise<string>} The kanbn index path
|
|
113
|
+
*/
|
|
114
|
+
getIndexPath(): Promise<string>;
|
|
115
|
+
/**
|
|
116
|
+
* Get the task folder path
|
|
117
|
+
* @return {Promise<string>} The kanbn task folder path
|
|
118
|
+
*/
|
|
119
|
+
getTaskFolderPath(): Promise<string>;
|
|
120
|
+
/**
|
|
121
|
+
* Get the archive folder path
|
|
122
|
+
* @return {Promise<string>} The kanbn archive folder path
|
|
123
|
+
*/
|
|
124
|
+
getArchiveFolderPath(): Promise<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Get the index as an object
|
|
127
|
+
* @return {Promise<index>} The index
|
|
128
|
+
*/
|
|
129
|
+
getIndex(): Promise<index>;
|
|
130
|
+
/**
|
|
131
|
+
* Get a task as an object
|
|
132
|
+
* @param {string} taskId The task id to get
|
|
133
|
+
* @return {Promise<task>} The task
|
|
134
|
+
*/
|
|
135
|
+
getTask(taskId: string): Promise<task>;
|
|
136
|
+
/**
|
|
137
|
+
* Add additional index-based information to a task
|
|
138
|
+
* @param {index} index The index object
|
|
139
|
+
* @param {task} task The task object
|
|
140
|
+
* @return {task} The hydrated task
|
|
141
|
+
*/
|
|
142
|
+
hydrateTask(index: any, task: any): any;
|
|
143
|
+
/**
|
|
144
|
+
* Return a filtered and sorted list of tasks
|
|
145
|
+
* @param {index} index The index object
|
|
146
|
+
* @param {task[]} tasks A list of task objects
|
|
147
|
+
* @param {object} filters A list of task filters
|
|
148
|
+
* @param {object[]} sorters A list of task sorters
|
|
149
|
+
* @return {object[]} A filtered and sorted list of tasks
|
|
150
|
+
*/
|
|
151
|
+
filterAndSortTasks(index: any, tasks: task[], filters: object, sorters: object[]): object[];
|
|
152
|
+
/**
|
|
153
|
+
* Overwrite the index file with the specified data
|
|
154
|
+
* @param {object} indexData Index data to save
|
|
155
|
+
*/
|
|
156
|
+
saveIndex(indexData: object): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Load the index file and parse it to an object
|
|
159
|
+
* @return {Promise<object>} The index object
|
|
160
|
+
*/
|
|
161
|
+
loadIndex(): Promise<object>;
|
|
162
|
+
/**
|
|
163
|
+
* Overwrite a task file with the specified data
|
|
164
|
+
* @param {string} path The task path
|
|
165
|
+
* @param {object} taskData The task data
|
|
166
|
+
*/
|
|
167
|
+
saveTask(path: string, taskData: object): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Load a task file and parse it to an object
|
|
170
|
+
* @param {string} taskId The task id
|
|
171
|
+
* @return {Promise<object>} The task object
|
|
172
|
+
*/
|
|
173
|
+
loadTask(taskId: string): Promise<object>;
|
|
174
|
+
/**
|
|
175
|
+
* Load all tracked tasks and return an array of task objects
|
|
176
|
+
* @param {object} index The index object
|
|
177
|
+
* @param {?string} [columnName=null] The optional column name to filter tasks by
|
|
178
|
+
* @return {Promise<object[]>} All tracked tasks
|
|
179
|
+
*/
|
|
180
|
+
loadAllTrackedTasks(index: object, columnName?: string | null): Promise<object[]>;
|
|
181
|
+
/**
|
|
182
|
+
* Load a task file from the archive and parse it to an object
|
|
183
|
+
* @param {string} taskId The task id
|
|
184
|
+
* @return {Promise<object>} The task object
|
|
185
|
+
*/
|
|
186
|
+
loadArchivedTask(taskId: string): Promise<object>;
|
|
187
|
+
/**
|
|
188
|
+
* Get the date format defined in the index, or the default date format
|
|
189
|
+
* @param {object} index The index object
|
|
190
|
+
* @return {string} The date format
|
|
191
|
+
*/
|
|
192
|
+
getDateFormat(index: object): string;
|
|
193
|
+
/**
|
|
194
|
+
* Get the task template for displaying tasks on the kanbn board from the index, or the default task template
|
|
195
|
+
* @param {object} index The index object
|
|
196
|
+
* @return {string} The task template
|
|
197
|
+
*/
|
|
198
|
+
getTaskTemplate(index: object): string;
|
|
199
|
+
/**
|
|
200
|
+
* Check if the current working directory has been initialised
|
|
201
|
+
* @return {Promise<boolean>} True if the current working directory has been initialised, otherwise false
|
|
202
|
+
*/
|
|
203
|
+
initialised(): Promise<boolean>;
|
|
204
|
+
/**
|
|
205
|
+
* Initialise a kanbn board in the current working directory
|
|
206
|
+
* @param {object} [options={}] Initial columns and other config options
|
|
207
|
+
*/
|
|
208
|
+
initialise(options?: object): Promise<void>;
|
|
209
|
+
/**
|
|
210
|
+
* Check if a task file exists and is in the index, otherwise throw an error
|
|
211
|
+
* @param {string} taskId The task id to check
|
|
212
|
+
*/
|
|
213
|
+
taskExists(taskId: string): Promise<void>;
|
|
214
|
+
/**
|
|
215
|
+
* Get the column that a task is in or throw an error if the task doesn't exist or isn't indexed
|
|
216
|
+
* @param {string} taskId The task id to find
|
|
217
|
+
* @return {Promise<string>} The name of the column the task is in
|
|
218
|
+
*/
|
|
219
|
+
findTaskColumn(taskId: string): Promise<string>;
|
|
220
|
+
/**
|
|
221
|
+
* Create a task file and add the task to the index
|
|
222
|
+
* @param {object} taskData The task object
|
|
223
|
+
* @param {string} columnName The name of the column to add the task to
|
|
224
|
+
* @return {Promise<string>} The id of the task that was created
|
|
225
|
+
*/
|
|
226
|
+
createTask(taskData: object, columnName: string): Promise<string>;
|
|
227
|
+
/**
|
|
228
|
+
* Add an untracked task to the specified column in the index
|
|
229
|
+
* @param {string} taskId The untracked task id
|
|
230
|
+
* @param {string} columnName The column to add the task to
|
|
231
|
+
* @return {Promise<string>} The id of the task that was added
|
|
232
|
+
*/
|
|
233
|
+
addUntrackedTaskToIndex(taskId: string, columnName: string): Promise<string>;
|
|
234
|
+
/**
|
|
235
|
+
* Get a list of tracked tasks (i.e. tasks that are listed in the index)
|
|
236
|
+
* @param {?string} [columnName=null] The optional column name to filter tasks by
|
|
237
|
+
* @return {Promise<Set>} A set of task ids
|
|
238
|
+
*/
|
|
239
|
+
findTrackedTasks(columnName?: string | null): Promise<Set<any>>;
|
|
240
|
+
/**
|
|
241
|
+
* Get a list of untracked tasks (i.e. markdown files in the tasks folder that aren't listed in the index)
|
|
242
|
+
* @return {Promise<Set>} A set of untracked task ids
|
|
243
|
+
*/
|
|
244
|
+
findUntrackedTasks(): Promise<Set<any>>;
|
|
245
|
+
/**
|
|
246
|
+
* Update an existing task
|
|
247
|
+
* @param {string} taskId The id of the task to update
|
|
248
|
+
* @param {object} taskData The new task data
|
|
249
|
+
* @param {?string} [columnName=null] The column name to move this task to, or null if not moving this task
|
|
250
|
+
* @return {Promise<string>} The id of the task that was updated
|
|
251
|
+
*/
|
|
252
|
+
updateTask(taskId: string, taskData: object, columnName?: string | null): Promise<string>;
|
|
253
|
+
/**
|
|
254
|
+
* Change a task name, rename the task file and update the task id in the index
|
|
255
|
+
* @param {string} taskId The id of the task to rename
|
|
256
|
+
* @param {string} newTaskName The new task name
|
|
257
|
+
* @return {Promise<string>} The new id of the task that was renamed
|
|
258
|
+
*/
|
|
259
|
+
renameTask(taskId: string, newTaskName: string): Promise<string>;
|
|
260
|
+
/**
|
|
261
|
+
* Move a task from one column to another column
|
|
262
|
+
* @param {string} taskId The task id to move
|
|
263
|
+
* @param {string} columnName The name of the column that the task will be moved to
|
|
264
|
+
* @param {?number} [position=null] The position to move the task to within the target column
|
|
265
|
+
* @param {boolean} [relative=false] Treat the position argument as relative instead of absolute
|
|
266
|
+
* @return {Promise<string>} The id of the task that was moved
|
|
267
|
+
*/
|
|
268
|
+
moveTask(taskId: string, columnName: string, position?: number | null, relative?: boolean): Promise<string>;
|
|
269
|
+
/**
|
|
270
|
+
* Remove a task from the index and optionally delete the task file as well
|
|
271
|
+
* @param {string} taskId The id of the task to remove
|
|
272
|
+
* @param {boolean} [removeFile=false] True if the task file should be removed
|
|
273
|
+
* @return {Promise<string>} The id of the task that was deleted
|
|
274
|
+
*/
|
|
275
|
+
deleteTask(taskId: string, removeFile?: boolean): Promise<string>;
|
|
276
|
+
/**
|
|
277
|
+
* Search for indexed tasks
|
|
278
|
+
* @param {object} [filters={}] The filters to apply
|
|
279
|
+
* @param {boolean} [quiet=false] Only return task ids if true, otherwise return full task details
|
|
280
|
+
* @return {Promise<object[]>} A list of tasks that match the filters
|
|
281
|
+
*/
|
|
282
|
+
search(filters?: object, quiet?: boolean): Promise<object[]>;
|
|
283
|
+
/**
|
|
284
|
+
* Output project status information
|
|
285
|
+
* @param {boolean} [quiet=false] Output full or partial status information
|
|
286
|
+
* @param {boolean} [untracked=false] Show a list of untracked tasks
|
|
287
|
+
* @param {boolean} [due=false] Show information about overdue tasks and time remaining
|
|
288
|
+
* @param {?string|?number} [sprint=null] The sprint name or number to show stats for, or null for current sprint
|
|
289
|
+
* @param {?Date[]} [dates=null] The date(s) to show stats for, or null for no date filter
|
|
290
|
+
* @return {Promise<object|string[]>} Project status information as an object, or an array of untracked task filenames
|
|
291
|
+
*/
|
|
292
|
+
status(quiet?: boolean, untracked?: boolean, due?: boolean, sprint?: (string | (number | null)) | null, dates?: Date[] | null): Promise<object | string[]>;
|
|
293
|
+
/**
|
|
294
|
+
* Validate the index and task files
|
|
295
|
+
* @param {boolean} [save=false] Re-save all files
|
|
296
|
+
* @return {Promise<boolean>} True if everything validated, otherwise an array of parsing errors
|
|
297
|
+
*/
|
|
298
|
+
validate(save?: boolean): Promise<boolean>;
|
|
299
|
+
/**
|
|
300
|
+
* Sort a column in the index
|
|
301
|
+
* @param {string} columnName The column name to sort
|
|
302
|
+
* @param {object[]} sorters A list of objects containing the field to sort by, filters and sort order
|
|
303
|
+
* @param {boolean} [save=false] True if the settings should be saved in index
|
|
304
|
+
*/
|
|
305
|
+
sort(columnName: string, sorters: object[], save?: boolean): Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* Start a sprint
|
|
308
|
+
* @param {string} name Sprint name
|
|
309
|
+
* @param {string} description Sprint description
|
|
310
|
+
* @param {Date} start Sprint start date
|
|
311
|
+
* @return {Promise<object>} The sprint object
|
|
312
|
+
*/
|
|
313
|
+
sprint(name: string, description: string, start: Date): Promise<object>;
|
|
314
|
+
/**
|
|
315
|
+
* Output burndown chart data
|
|
316
|
+
* @param {?string[]} [sprints=null] The sprint names or numbers to show a chart for, or null for
|
|
317
|
+
* the current sprint
|
|
318
|
+
* @param {?Date[]} [dates=null] The dates to show a chart for, or null for no date filter
|
|
319
|
+
* @param {?string} [assigned=null] The assigned user to filter for, or null for no assigned filter
|
|
320
|
+
* @param {?string[]} [columns=null] The columns to filter for, or null for no column filter
|
|
321
|
+
* @param {?string} [normalise=null] The date normalisation mode
|
|
322
|
+
* @return {Promise<object>} Burndown chart data as an object
|
|
323
|
+
*/
|
|
324
|
+
burndown(sprints?: string[] | null, dates?: Date[] | null, assigned?: string | null, columns?: string[] | null, normalise?: string | null): Promise<object>;
|
|
325
|
+
/**
|
|
326
|
+
* Add a comment to a task
|
|
327
|
+
* @param {string} taskId The task id
|
|
328
|
+
* @param {string} text The comment text
|
|
329
|
+
* @param {string} author The comment author
|
|
330
|
+
* @return {Promise<string>} The task id
|
|
331
|
+
*/
|
|
332
|
+
comment(taskId: string, text: string, author: string): Promise<string>;
|
|
333
|
+
/**
|
|
334
|
+
* Return a list of archived tasks
|
|
335
|
+
* @return {Promise<string[]>} A list of archived task ids
|
|
336
|
+
*/
|
|
337
|
+
listArchivedTasks(): Promise<string[]>;
|
|
338
|
+
/**
|
|
339
|
+
* Move a task to the archive
|
|
340
|
+
* @param {string} taskId The task id
|
|
341
|
+
* @return {Promise<string>} The task id
|
|
342
|
+
*/
|
|
343
|
+
archiveTask(taskId: string): Promise<string>;
|
|
344
|
+
/**
|
|
345
|
+
* Restore a task from the archive
|
|
346
|
+
* @param {string} taskId The task id
|
|
347
|
+
* @param {?string} [columnName=null] The column to restore the task to
|
|
348
|
+
* @return {Promise<string>} The task id
|
|
349
|
+
*/
|
|
350
|
+
restoreTask(taskId: string, columnName?: string | null): Promise<string>;
|
|
351
|
+
/**
|
|
352
|
+
* Nuke it from orbit, it's the only way to be sure
|
|
353
|
+
*/
|
|
354
|
+
removeAll(): Promise<void>;
|
|
355
|
+
}
|