@skillcdn/console 0.1.9 → 0.1.11

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 (162) hide show
  1. package/README.md +6 -6
  2. package/dist/api.d.ts +6 -5
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +5 -4
  5. package/dist/api.js.map +1 -1
  6. package/dist/cli/cli.d.ts.map +1 -1
  7. package/dist/cli/cli.js +303 -18
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/format.d.ts +11 -1
  10. package/dist/cli/format.d.ts.map +1 -1
  11. package/dist/cli/format.js +87 -6
  12. package/dist/cli/format.js.map +1 -1
  13. package/dist/cli/help.d.ts.map +1 -1
  14. package/dist/cli/help.js +70 -14
  15. package/dist/cli/help.js.map +1 -1
  16. package/dist/client.d.ts +44 -8
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +32 -4
  19. package/dist/client.js.map +1 -1
  20. package/dist/components/board.d.ts +24 -1
  21. package/dist/components/board.d.ts.map +1 -1
  22. package/dist/components/board.js +66 -5
  23. package/dist/components/board.js.map +1 -1
  24. package/dist/components/calendar.d.ts +54 -0
  25. package/dist/components/calendar.d.ts.map +1 -0
  26. package/dist/components/calendar.js +156 -0
  27. package/dist/components/calendar.js.map +1 -0
  28. package/dist/components/categories.d.ts +13 -0
  29. package/dist/components/categories.d.ts.map +1 -0
  30. package/dist/components/categories.js +52 -0
  31. package/dist/components/categories.js.map +1 -0
  32. package/dist/components/decision-list.d.ts +10 -0
  33. package/dist/components/decision-list.d.ts.map +1 -1
  34. package/dist/components/decision-list.js +16 -1
  35. package/dist/components/decision-list.js.map +1 -1
  36. package/dist/components/event-feed.d.ts.map +1 -1
  37. package/dist/components/event-feed.js +23 -7
  38. package/dist/components/event-feed.js.map +1 -1
  39. package/dist/components/goals.d.ts +35 -0
  40. package/dist/components/goals.d.ts.map +1 -0
  41. package/dist/components/goals.js +45 -0
  42. package/dist/components/goals.js.map +1 -0
  43. package/dist/components/paged.d.ts +14 -0
  44. package/dist/components/paged.d.ts.map +1 -0
  45. package/dist/components/paged.js +28 -0
  46. package/dist/components/paged.js.map +1 -0
  47. package/dist/components/projects.d.ts +22 -2
  48. package/dist/components/projects.d.ts.map +1 -1
  49. package/dist/components/projects.js +35 -7
  50. package/dist/components/projects.js.map +1 -1
  51. package/dist/components/runs.d.ts.map +1 -1
  52. package/dist/components/runs.js +2 -2
  53. package/dist/components/runs.js.map +1 -1
  54. package/dist/components/shell.d.ts +2 -1
  55. package/dist/components/shell.d.ts.map +1 -1
  56. package/dist/components/shell.js +1 -1
  57. package/dist/components/shell.js.map +1 -1
  58. package/dist/components/task-form.d.ts +5 -1
  59. package/dist/components/task-form.d.ts.map +1 -1
  60. package/dist/components/task-form.js +13 -1
  61. package/dist/components/task-form.js.map +1 -1
  62. package/dist/components/task-list.d.ts +16 -0
  63. package/dist/components/task-list.d.ts.map +1 -0
  64. package/dist/components/task-list.js +16 -0
  65. package/dist/components/task-list.js.map +1 -0
  66. package/dist/components/task-view.d.ts +9 -1
  67. package/dist/components/task-view.d.ts.map +1 -1
  68. package/dist/components/task-view.js +10 -4
  69. package/dist/components/task-view.js.map +1 -1
  70. package/dist/components/ui.d.ts +30 -1
  71. package/dist/components/ui.d.ts.map +1 -1
  72. package/dist/components/ui.js +60 -0
  73. package/dist/components/ui.js.map +1 -1
  74. package/dist/components/work.d.ts +10 -0
  75. package/dist/components/work.d.ts.map +1 -0
  76. package/dist/components/work.js +33 -0
  77. package/dist/components/work.js.map +1 -0
  78. package/dist/console.css +658 -0
  79. package/dist/console.d.ts +8 -0
  80. package/dist/console.d.ts.map +1 -1
  81. package/dist/console.js +145 -13
  82. package/dist/console.js.map +1 -1
  83. package/dist/data.d.ts +19 -3
  84. package/dist/data.d.ts.map +1 -1
  85. package/dist/data.js +51 -4
  86. package/dist/data.js.map +1 -1
  87. package/dist/dates.d.ts +39 -0
  88. package/dist/dates.d.ts.map +1 -0
  89. package/dist/dates.js +120 -0
  90. package/dist/dates.js.map +1 -0
  91. package/dist/i18n/en.d.ts +172 -5
  92. package/dist/i18n/en.d.ts.map +1 -1
  93. package/dist/i18n/en.js +183 -6
  94. package/dist/i18n/en.js.map +1 -1
  95. package/dist/i18n/ko.d.ts.map +1 -1
  96. package/dist/i18n/ko.js +178 -6
  97. package/dist/i18n/ko.js.map +1 -1
  98. package/dist/index.d.ts +12 -5
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +12 -5
  101. package/dist/index.js.map +1 -1
  102. package/dist/limits.d.ts +11 -0
  103. package/dist/limits.d.ts.map +1 -1
  104. package/dist/limits.js +11 -0
  105. package/dist/limits.js.map +1 -1
  106. package/dist/marks.d.ts +12 -0
  107. package/dist/marks.d.ts.map +1 -0
  108. package/dist/marks.js +31 -0
  109. package/dist/marks.js.map +1 -0
  110. package/dist/router.d.ts +51 -1
  111. package/dist/router.d.ts.map +1 -1
  112. package/dist/router.js +80 -1
  113. package/dist/router.js.map +1 -1
  114. package/dist/routes.d.ts +14 -1
  115. package/dist/routes.d.ts.map +1 -1
  116. package/dist/routes.js +17 -0
  117. package/dist/routes.js.map +1 -1
  118. package/dist/schemas.d.ts +489 -3
  119. package/dist/schemas.d.ts.map +1 -1
  120. package/dist/schemas.js +150 -9
  121. package/dist/schemas.js.map +1 -1
  122. package/dist/vocabulary.d.ts +21 -1
  123. package/dist/vocabulary.d.ts.map +1 -1
  124. package/dist/vocabulary.js +31 -0
  125. package/dist/vocabulary.js.map +1 -1
  126. package/docs/specs/cli.md +17 -8
  127. package/docs/specs/rest.md +48 -17
  128. package/package.json +1 -1
  129. package/skills/working-the-board/SKILL.md +7 -6
  130. package/src/api.ts +42 -0
  131. package/src/cli/cli.ts +362 -18
  132. package/src/cli/format.ts +96 -6
  133. package/src/cli/help.ts +77 -15
  134. package/src/client.ts +98 -7
  135. package/src/components/board.tsx +173 -13
  136. package/src/components/calendar.tsx +367 -0
  137. package/src/components/categories.tsx +209 -0
  138. package/src/components/decision-list.tsx +67 -5
  139. package/src/components/event-feed.tsx +46 -27
  140. package/src/components/goals.tsx +264 -0
  141. package/src/components/paged.tsx +39 -0
  142. package/src/components/projects.tsx +128 -10
  143. package/src/components/runs.tsx +7 -1
  144. package/src/components/shell.tsx +5 -2
  145. package/src/components/task-form.tsx +78 -1
  146. package/src/components/task-list.tsx +64 -0
  147. package/src/components/task-view.tsx +75 -4
  148. package/src/components/ui.tsx +116 -1
  149. package/src/components/work.tsx +93 -0
  150. package/src/console.tsx +376 -9
  151. package/src/data.ts +83 -12
  152. package/src/dates.ts +143 -0
  153. package/src/i18n/en.ts +193 -6
  154. package/src/i18n/ko.ts +184 -6
  155. package/src/index.ts +62 -1
  156. package/src/limits.ts +11 -0
  157. package/src/marks.ts +40 -0
  158. package/src/router.ts +131 -6
  159. package/src/routes.ts +19 -0
  160. package/src/schemas.ts +187 -7
  161. package/src/styles/console.css +658 -0
  162. package/src/vocabulary.ts +43 -0
package/dist/schemas.d.ts CHANGED
@@ -81,6 +81,17 @@ export type RestPersonPatch = z.infer<typeof restPersonPatchSchema>;
81
81
  /** The words under `/projects/` that are the pages' own, which no project may be called. */
82
82
  export declare const RESERVED_PROJECT_KEYS: readonly string[];
83
83
  /** A project of the workspace, as the asker sees it: with what they are in it. */
84
+ /** A project's own image for its mark: the hash it is kept by, which `projectIconPath` reads it with, and its kind. */
85
+ export declare const restProjectIconSchema: z.ZodMiniObject<{
86
+ sha256: z.ZodMiniString<string>;
87
+ contentType: z.ZodMiniEnum<{
88
+ "image/gif": "image/gif";
89
+ "image/jpeg": "image/jpeg";
90
+ "image/png": "image/png";
91
+ "image/webp": "image/webp";
92
+ }>;
93
+ }, z.core.$strip>;
94
+ export type RestProjectIcon = z.infer<typeof restProjectIconSchema>;
84
95
  export declare const restProjectSchema: z.ZodMiniObject<{
85
96
  id: z.ZodMiniUUID;
86
97
  key: z.ZodMiniString<string>;
@@ -91,6 +102,26 @@ export declare const restProjectSchema: z.ZodMiniObject<{
91
102
  workspace: "workspace";
92
103
  }>;
93
104
  skillsAddress: z.ZodMiniNullable<z.ZodMiniString<string>>;
105
+ color: z.ZodMiniNullable<z.ZodMiniEnum<{
106
+ blue: "blue";
107
+ gray: "gray";
108
+ green: "green";
109
+ orange: "orange";
110
+ pink: "pink";
111
+ purple: "purple";
112
+ teal: "teal";
113
+ yellow: "yellow";
114
+ }>>;
115
+ symbol: z.ZodMiniNullable<z.ZodMiniString<string>>;
116
+ icon: z.ZodMiniNullable<z.ZodMiniObject<{
117
+ sha256: z.ZodMiniString<string>;
118
+ contentType: z.ZodMiniEnum<{
119
+ "image/gif": "image/gif";
120
+ "image/jpeg": "image/jpeg";
121
+ "image/png": "image/png";
122
+ "image/webp": "image/webp";
123
+ }>;
124
+ }, z.core.$strip>>;
94
125
  role: z.ZodMiniEnum<{
95
126
  member: "member";
96
127
  owner: "owner";
@@ -113,6 +144,26 @@ export declare const restProjectsSchema: z.ZodMiniObject<{
113
144
  workspace: "workspace";
114
145
  }>;
115
146
  skillsAddress: z.ZodMiniNullable<z.ZodMiniString<string>>;
147
+ color: z.ZodMiniNullable<z.ZodMiniEnum<{
148
+ blue: "blue";
149
+ gray: "gray";
150
+ green: "green";
151
+ orange: "orange";
152
+ pink: "pink";
153
+ purple: "purple";
154
+ teal: "teal";
155
+ yellow: "yellow";
156
+ }>>;
157
+ symbol: z.ZodMiniNullable<z.ZodMiniString<string>>;
158
+ icon: z.ZodMiniNullable<z.ZodMiniObject<{
159
+ sha256: z.ZodMiniString<string>;
160
+ contentType: z.ZodMiniEnum<{
161
+ "image/gif": "image/gif";
162
+ "image/jpeg": "image/jpeg";
163
+ "image/png": "image/png";
164
+ "image/webp": "image/webp";
165
+ }>;
166
+ }, z.core.$strip>>;
116
167
  role: z.ZodMiniEnum<{
117
168
  member: "member";
118
169
  owner: "owner";
@@ -134,6 +185,17 @@ export declare const restProjectInputSchema: z.ZodMiniObject<{
134
185
  workspace: "workspace";
135
186
  }>>;
136
187
  skillsAddress: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
188
+ color: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniEnum<{
189
+ blue: "blue";
190
+ gray: "gray";
191
+ green: "green";
192
+ orange: "orange";
193
+ pink: "pink";
194
+ purple: "purple";
195
+ teal: "teal";
196
+ yellow: "yellow";
197
+ }>>>;
198
+ symbol: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
137
199
  }, z.core.$strip>;
138
200
  export type RestProjectInput = z.infer<typeof restProjectInputSchema>;
139
201
  /** What `PATCH /api/v1/projects/<key>` is sent: only what changes; the key does not. */
@@ -145,6 +207,17 @@ export declare const restProjectPatchSchema: z.ZodMiniObject<{
145
207
  workspace: "workspace";
146
208
  }>>;
147
209
  skillsAddress: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
210
+ color: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniEnum<{
211
+ blue: "blue";
212
+ gray: "gray";
213
+ green: "green";
214
+ orange: "orange";
215
+ pink: "pink";
216
+ purple: "purple";
217
+ teal: "teal";
218
+ yellow: "yellow";
219
+ }>>>;
220
+ symbol: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
148
221
  }, z.core.$strip>;
149
222
  export type RestProjectPatch = z.infer<typeof restProjectPatchSchema>;
150
223
  /** A person listed in a project, with what they are in it. */
@@ -209,6 +282,75 @@ export declare const restTaskLinkSchema: z.ZodMiniObject<{
209
282
  label: z.ZodMiniNullable<z.ZodMiniString<string>>;
210
283
  }, z.core.$strip>;
211
284
  export type RestTaskLink = z.infer<typeof restTaskLinkSchema>;
285
+ /** A category tasks are sorted into (ADR-0019): the workspace's own word for a kind of work. */
286
+ export declare const restCategorySchema: z.ZodMiniObject<{
287
+ key: z.ZodMiniString<string>;
288
+ name: z.ZodMiniString<string>;
289
+ color: z.ZodMiniEnum<{
290
+ blue: "blue";
291
+ gray: "gray";
292
+ green: "green";
293
+ orange: "orange";
294
+ pink: "pink";
295
+ purple: "purple";
296
+ teal: "teal";
297
+ yellow: "yellow";
298
+ }>;
299
+ createdAt: z.ZodMiniISODateTime;
300
+ updatedAt: z.ZodMiniISODateTime;
301
+ }, z.core.$strip>;
302
+ export type RestCategory = z.infer<typeof restCategorySchema>;
303
+ /** `GET /api/v1/categories`: the workspace's categories, by name. */
304
+ export declare const restCategoriesSchema: z.ZodMiniObject<{
305
+ items: z.ZodMiniArray<z.ZodMiniObject<{
306
+ key: z.ZodMiniString<string>;
307
+ name: z.ZodMiniString<string>;
308
+ color: z.ZodMiniEnum<{
309
+ blue: "blue";
310
+ gray: "gray";
311
+ green: "green";
312
+ orange: "orange";
313
+ pink: "pink";
314
+ purple: "purple";
315
+ teal: "teal";
316
+ yellow: "yellow";
317
+ }>;
318
+ createdAt: z.ZodMiniISODateTime;
319
+ updatedAt: z.ZodMiniISODateTime;
320
+ }, z.core.$strip>>;
321
+ }, z.core.$strip>;
322
+ export type RestCategories = z.infer<typeof restCategoriesSchema>;
323
+ /** What `POST /api/v1/categories` is sent, by an administrator: the key, the name, and a colour or the plain one. */
324
+ export declare const restCategoryInputSchema: z.ZodMiniObject<{
325
+ key: z.ZodMiniString<string>;
326
+ name: z.ZodMiniString<string>;
327
+ color: z.ZodMiniOptional<z.ZodMiniEnum<{
328
+ blue: "blue";
329
+ gray: "gray";
330
+ green: "green";
331
+ orange: "orange";
332
+ pink: "pink";
333
+ purple: "purple";
334
+ teal: "teal";
335
+ yellow: "yellow";
336
+ }>>;
337
+ }, z.core.$strip>;
338
+ export type RestCategoryInput = z.infer<typeof restCategoryInputSchema>;
339
+ /** What `PATCH /api/v1/categories/<key>` is sent: only what changes; the key does not. */
340
+ export declare const restCategoryPatchSchema: z.ZodMiniObject<{
341
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
342
+ color: z.ZodMiniOptional<z.ZodMiniEnum<{
343
+ blue: "blue";
344
+ gray: "gray";
345
+ green: "green";
346
+ orange: "orange";
347
+ pink: "pink";
348
+ purple: "purple";
349
+ teal: "teal";
350
+ yellow: "yellow";
351
+ }>>;
352
+ }, z.core.$strip>;
353
+ export type RestCategoryPatch = z.infer<typeof restCategoryPatchSchema>;
212
354
  export declare const restTaskSchema: z.ZodMiniObject<{
213
355
  id: z.ZodMiniUUID;
214
356
  number: z.ZodMiniInt;
@@ -249,6 +391,25 @@ export declare const restTaskSchema: z.ZodMiniObject<{
249
391
  }>;
250
392
  }, z.core.$strip>>;
251
393
  parentId: z.ZodMiniNullable<z.ZodMiniUUID>;
394
+ category: z.ZodMiniNullable<z.ZodMiniObject<{
395
+ key: z.ZodMiniString<string>;
396
+ name: z.ZodMiniString<string>;
397
+ color: z.ZodMiniEnum<{
398
+ blue: "blue";
399
+ gray: "gray";
400
+ green: "green";
401
+ orange: "orange";
402
+ pink: "pink";
403
+ purple: "purple";
404
+ teal: "teal";
405
+ yellow: "yellow";
406
+ }>;
407
+ }, z.core.$strip>>;
408
+ goalId: z.ZodMiniNullable<z.ZodMiniUUID>;
409
+ startsOn: z.ZodMiniNullable<z.ZodMiniISODate>;
410
+ dueOn: z.ZodMiniNullable<z.ZodMiniISODate>;
411
+ startedAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
412
+ doneAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
252
413
  links: z.ZodMiniArray<z.ZodMiniObject<{
253
414
  url: z.ZodMiniString<string>;
254
415
  label: z.ZodMiniNullable<z.ZodMiniString<string>>;
@@ -259,7 +420,7 @@ export declare const restTaskSchema: z.ZodMiniObject<{
259
420
  updatedAt: z.ZodMiniISODateTime;
260
421
  }, z.core.$strip>;
261
422
  export type RestTask = z.infer<typeof restTaskSchema>;
262
- /** `GET /api/v1/projects/<key>/tasks`: the board, newest first. */
423
+ /** `GET /api/v1/projects/<key>/tasks`: a page of the board, newest first, and whether there is more after it. */
263
424
  export declare const restTasksSchema: z.ZodMiniObject<{
264
425
  items: z.ZodMiniArray<z.ZodMiniObject<{
265
426
  id: z.ZodMiniUUID;
@@ -301,6 +462,25 @@ export declare const restTasksSchema: z.ZodMiniObject<{
301
462
  }>;
302
463
  }, z.core.$strip>>;
303
464
  parentId: z.ZodMiniNullable<z.ZodMiniUUID>;
465
+ category: z.ZodMiniNullable<z.ZodMiniObject<{
466
+ key: z.ZodMiniString<string>;
467
+ name: z.ZodMiniString<string>;
468
+ color: z.ZodMiniEnum<{
469
+ blue: "blue";
470
+ gray: "gray";
471
+ green: "green";
472
+ orange: "orange";
473
+ pink: "pink";
474
+ purple: "purple";
475
+ teal: "teal";
476
+ yellow: "yellow";
477
+ }>;
478
+ }, z.core.$strip>>;
479
+ goalId: z.ZodMiniNullable<z.ZodMiniUUID>;
480
+ startsOn: z.ZodMiniNullable<z.ZodMiniISODate>;
481
+ dueOn: z.ZodMiniNullable<z.ZodMiniISODate>;
482
+ startedAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
483
+ doneAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
304
484
  links: z.ZodMiniArray<z.ZodMiniObject<{
305
485
  url: z.ZodMiniString<string>;
306
486
  label: z.ZodMiniNullable<z.ZodMiniString<string>>;
@@ -310,6 +490,7 @@ export declare const restTasksSchema: z.ZodMiniObject<{
310
490
  createdAt: z.ZodMiniISODateTime;
311
491
  updatedAt: z.ZodMiniISODateTime;
312
492
  }, z.core.$strip>>;
493
+ more: z.ZodMiniBoolean<boolean>;
313
494
  }, z.core.$strip>;
314
495
  export type RestTasks = z.infer<typeof restTasksSchema>;
315
496
  /** What `POST /api/v1/projects/<key>/tasks` is sent. Everything but the title has a default. */
@@ -332,6 +513,10 @@ export declare const restTaskInputSchema: z.ZodMiniObject<{
332
513
  }>>;
333
514
  assigneeId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniUUID>>;
334
515
  parentId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniUUID>>;
516
+ category: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
517
+ goalId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniUUID>>;
518
+ startsOn: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniISODate>>;
519
+ dueOn: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniISODate>>;
335
520
  links: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
336
521
  url: z.ZodMiniString<string>;
337
522
  label: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
@@ -358,12 +543,125 @@ export declare const restTaskPatchSchema: z.ZodMiniObject<{
358
543
  }>>;
359
544
  assigneeId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniUUID>>;
360
545
  parentId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniUUID>>;
546
+ category: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
547
+ goalId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniUUID>>;
548
+ startsOn: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniISODate>>;
549
+ dueOn: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniISODate>>;
361
550
  links: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
362
551
  url: z.ZodMiniString<string>;
363
552
  label: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
364
553
  }, z.core.$strip>>>;
365
554
  }, z.core.$strip>;
366
555
  export type RestTaskPatch = z.infer<typeof restTaskPatchSchema>;
556
+ /** How many tasks a goal has in each state: what its progress is read from, live. */
557
+ export declare const restTaskCountsSchema: z.ZodMiniObject<{
558
+ idea: z.ZodMiniInt;
559
+ ready: z.ZodMiniInt;
560
+ in_progress: z.ZodMiniInt;
561
+ in_review: z.ZodMiniInt;
562
+ done: z.ZodMiniInt;
563
+ dropped: z.ZodMiniInt;
564
+ }, z.core.$strip>;
565
+ export type RestTaskCounts = z.infer<typeof restTaskCountsSchema>;
566
+ /**
567
+ * A goal of a project's roadmap (ADR-0019): what the project works towards, with the day it is
568
+ * meant to be reached by, and how far the tasks under it are.
569
+ */
570
+ export declare const restGoalSchema: z.ZodMiniObject<{
571
+ id: z.ZodMiniUUID;
572
+ title: z.ZodMiniString<string>;
573
+ body: z.ZodMiniString<string>;
574
+ state: z.ZodMiniEnum<{
575
+ active: "active";
576
+ done: "done";
577
+ dropped: "dropped";
578
+ planned: "planned";
579
+ }>;
580
+ dueOn: z.ZodMiniNullable<z.ZodMiniISODate>;
581
+ createdBy: z.ZodMiniObject<{
582
+ id: z.ZodMiniUUID;
583
+ login: z.ZodMiniString<string>;
584
+ name: z.ZodMiniNullable<z.ZodMiniString<string>>;
585
+ avatar: z.ZodMiniNullable<z.ZodMiniString<string>>;
586
+ role: z.ZodMiniEnum<{
587
+ admin: "admin";
588
+ member: "member";
589
+ }>;
590
+ }, z.core.$strip>;
591
+ taskCounts: z.ZodMiniObject<{
592
+ idea: z.ZodMiniInt;
593
+ ready: z.ZodMiniInt;
594
+ in_progress: z.ZodMiniInt;
595
+ in_review: z.ZodMiniInt;
596
+ done: z.ZodMiniInt;
597
+ dropped: z.ZodMiniInt;
598
+ }, z.core.$strip>;
599
+ createdAt: z.ZodMiniISODateTime;
600
+ updatedAt: z.ZodMiniISODateTime;
601
+ }, z.core.$strip>;
602
+ export type RestGoal = z.infer<typeof restGoalSchema>;
603
+ /** `GET /api/v1/projects/<key>/goals`: the roadmap, the active goals first. */
604
+ export declare const restGoalsSchema: z.ZodMiniObject<{
605
+ items: z.ZodMiniArray<z.ZodMiniObject<{
606
+ id: z.ZodMiniUUID;
607
+ title: z.ZodMiniString<string>;
608
+ body: z.ZodMiniString<string>;
609
+ state: z.ZodMiniEnum<{
610
+ active: "active";
611
+ done: "done";
612
+ dropped: "dropped";
613
+ planned: "planned";
614
+ }>;
615
+ dueOn: z.ZodMiniNullable<z.ZodMiniISODate>;
616
+ createdBy: z.ZodMiniObject<{
617
+ id: z.ZodMiniUUID;
618
+ login: z.ZodMiniString<string>;
619
+ name: z.ZodMiniNullable<z.ZodMiniString<string>>;
620
+ avatar: z.ZodMiniNullable<z.ZodMiniString<string>>;
621
+ role: z.ZodMiniEnum<{
622
+ admin: "admin";
623
+ member: "member";
624
+ }>;
625
+ }, z.core.$strip>;
626
+ taskCounts: z.ZodMiniObject<{
627
+ idea: z.ZodMiniInt;
628
+ ready: z.ZodMiniInt;
629
+ in_progress: z.ZodMiniInt;
630
+ in_review: z.ZodMiniInt;
631
+ done: z.ZodMiniInt;
632
+ dropped: z.ZodMiniInt;
633
+ }, z.core.$strip>;
634
+ createdAt: z.ZodMiniISODateTime;
635
+ updatedAt: z.ZodMiniISODateTime;
636
+ }, z.core.$strip>>;
637
+ }, z.core.$strip>;
638
+ export type RestGoals = z.infer<typeof restGoalsSchema>;
639
+ /** What `POST /api/v1/projects/<key>/goals` is sent: the title, and the rest with defaults. */
640
+ export declare const restGoalInputSchema: z.ZodMiniObject<{
641
+ title: z.ZodMiniString<string>;
642
+ body: z.ZodMiniOptional<z.ZodMiniString<string>>;
643
+ state: z.ZodMiniOptional<z.ZodMiniEnum<{
644
+ active: "active";
645
+ done: "done";
646
+ dropped: "dropped";
647
+ planned: "planned";
648
+ }>>;
649
+ dueOn: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniISODate>>;
650
+ }, z.core.$strip>;
651
+ export type RestGoalInput = z.infer<typeof restGoalInputSchema>;
652
+ /** What `PATCH /api/v1/projects/<key>/goals/<id>` is sent: only what changes. */
653
+ export declare const restGoalPatchSchema: z.ZodMiniObject<{
654
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
655
+ body: z.ZodMiniOptional<z.ZodMiniString<string>>;
656
+ state: z.ZodMiniOptional<z.ZodMiniEnum<{
657
+ active: "active";
658
+ done: "done";
659
+ dropped: "dropped";
660
+ planned: "planned";
661
+ }>>;
662
+ dueOn: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniISODate>>;
663
+ }, z.core.$strip>;
664
+ export type RestGoalPatch = z.infer<typeof restGoalPatchSchema>;
367
665
  export declare const restDecisionOptionSchema: z.ZodMiniObject<{
368
666
  id: z.ZodMiniString<string>;
369
667
  label: z.ZodMiniString<string>;
@@ -413,7 +711,7 @@ export declare const restDecisionSchema: z.ZodMiniObject<{
413
711
  updatedAt: z.ZodMiniISODateTime;
414
712
  }, z.core.$strip>;
415
713
  export type RestDecision = z.infer<typeof restDecisionSchema>;
416
- /** `GET /api/v1/projects/<key>/decisions`: the ones that wait first, newest first within each. */
714
+ /** `GET /api/v1/projects/<key>/decisions`: a page, the ones that wait first, newest first within each, and whether there is more. */
417
715
  export declare const restDecisionsSchema: z.ZodMiniObject<{
418
716
  items: z.ZodMiniArray<z.ZodMiniObject<{
419
717
  id: z.ZodMiniUUID;
@@ -458,8 +756,179 @@ export declare const restDecisionsSchema: z.ZodMiniObject<{
458
756
  createdAt: z.ZodMiniISODateTime;
459
757
  updatedAt: z.ZodMiniISODateTime;
460
758
  }, z.core.$strip>>;
759
+ more: z.ZodMiniBoolean<boolean>;
461
760
  }, z.core.$strip>;
462
761
  export type RestDecisions = z.infer<typeof restDecisionsSchema>;
762
+ /**
763
+ * `GET /api/v1/work`: what is on the asker's plate across the projects they may see (ADR-0019):
764
+ * the open tasks assigned to them, and the decisions that wait for a person, each with its project.
765
+ */
766
+ export declare const restWorkSchema: z.ZodMiniObject<{
767
+ tasks: z.ZodMiniArray<z.ZodMiniObject<{
768
+ project: z.ZodMiniObject<{
769
+ key: z.ZodMiniString<string>;
770
+ name: z.ZodMiniString<string>;
771
+ color: z.ZodMiniNullable<z.ZodMiniEnum<{
772
+ blue: "blue";
773
+ gray: "gray";
774
+ green: "green";
775
+ orange: "orange";
776
+ pink: "pink";
777
+ purple: "purple";
778
+ teal: "teal";
779
+ yellow: "yellow";
780
+ }>>;
781
+ symbol: z.ZodMiniNullable<z.ZodMiniString<string>>;
782
+ icon: z.ZodMiniNullable<z.ZodMiniObject<{
783
+ sha256: z.ZodMiniString<string>;
784
+ contentType: z.ZodMiniEnum<{
785
+ "image/gif": "image/gif";
786
+ "image/jpeg": "image/jpeg";
787
+ "image/png": "image/png";
788
+ "image/webp": "image/webp";
789
+ }>;
790
+ }, z.core.$strip>>;
791
+ }, z.core.$strip>;
792
+ task: z.ZodMiniObject<{
793
+ id: z.ZodMiniUUID;
794
+ number: z.ZodMiniInt;
795
+ title: z.ZodMiniString<string>;
796
+ body: z.ZodMiniString<string>;
797
+ state: z.ZodMiniEnum<{
798
+ done: "done";
799
+ dropped: "dropped";
800
+ idea: "idea";
801
+ in_progress: "in_progress";
802
+ in_review: "in_review";
803
+ ready: "ready";
804
+ }>;
805
+ priority: z.ZodMiniEnum<{
806
+ high: "high";
807
+ low: "low";
808
+ normal: "normal";
809
+ urgent: "urgent";
810
+ }>;
811
+ owner: z.ZodMiniObject<{
812
+ id: z.ZodMiniUUID;
813
+ login: z.ZodMiniString<string>;
814
+ name: z.ZodMiniNullable<z.ZodMiniString<string>>;
815
+ avatar: z.ZodMiniNullable<z.ZodMiniString<string>>;
816
+ role: z.ZodMiniEnum<{
817
+ admin: "admin";
818
+ member: "member";
819
+ }>;
820
+ }, z.core.$strip>;
821
+ assignee: z.ZodMiniNullable<z.ZodMiniObject<{
822
+ id: z.ZodMiniUUID;
823
+ login: z.ZodMiniString<string>;
824
+ name: z.ZodMiniNullable<z.ZodMiniString<string>>;
825
+ avatar: z.ZodMiniNullable<z.ZodMiniString<string>>;
826
+ role: z.ZodMiniEnum<{
827
+ admin: "admin";
828
+ member: "member";
829
+ }>;
830
+ }, z.core.$strip>>;
831
+ parentId: z.ZodMiniNullable<z.ZodMiniUUID>;
832
+ category: z.ZodMiniNullable<z.ZodMiniObject<{
833
+ key: z.ZodMiniString<string>;
834
+ name: z.ZodMiniString<string>;
835
+ color: z.ZodMiniEnum<{
836
+ blue: "blue";
837
+ gray: "gray";
838
+ green: "green";
839
+ orange: "orange";
840
+ pink: "pink";
841
+ purple: "purple";
842
+ teal: "teal";
843
+ yellow: "yellow";
844
+ }>;
845
+ }, z.core.$strip>>;
846
+ goalId: z.ZodMiniNullable<z.ZodMiniUUID>;
847
+ startsOn: z.ZodMiniNullable<z.ZodMiniISODate>;
848
+ dueOn: z.ZodMiniNullable<z.ZodMiniISODate>;
849
+ startedAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
850
+ doneAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
851
+ links: z.ZodMiniArray<z.ZodMiniObject<{
852
+ url: z.ZodMiniString<string>;
853
+ label: z.ZodMiniNullable<z.ZodMiniString<string>>;
854
+ }, z.core.$strip>>;
855
+ openDecisions: z.ZodMiniInt;
856
+ openRuns: z.ZodMiniInt;
857
+ createdAt: z.ZodMiniISODateTime;
858
+ updatedAt: z.ZodMiniISODateTime;
859
+ }, z.core.$strip>;
860
+ }, z.core.$strip>>;
861
+ decisions: z.ZodMiniArray<z.ZodMiniObject<{
862
+ project: z.ZodMiniObject<{
863
+ key: z.ZodMiniString<string>;
864
+ name: z.ZodMiniString<string>;
865
+ color: z.ZodMiniNullable<z.ZodMiniEnum<{
866
+ blue: "blue";
867
+ gray: "gray";
868
+ green: "green";
869
+ orange: "orange";
870
+ pink: "pink";
871
+ purple: "purple";
872
+ teal: "teal";
873
+ yellow: "yellow";
874
+ }>>;
875
+ symbol: z.ZodMiniNullable<z.ZodMiniString<string>>;
876
+ icon: z.ZodMiniNullable<z.ZodMiniObject<{
877
+ sha256: z.ZodMiniString<string>;
878
+ contentType: z.ZodMiniEnum<{
879
+ "image/gif": "image/gif";
880
+ "image/jpeg": "image/jpeg";
881
+ "image/png": "image/png";
882
+ "image/webp": "image/webp";
883
+ }>;
884
+ }, z.core.$strip>>;
885
+ }, z.core.$strip>;
886
+ decision: z.ZodMiniObject<{
887
+ id: z.ZodMiniUUID;
888
+ question: z.ZodMiniString<string>;
889
+ body: z.ZodMiniString<string>;
890
+ options: z.ZodMiniArray<z.ZodMiniObject<{
891
+ id: z.ZodMiniString<string>;
892
+ label: z.ZodMiniString<string>;
893
+ }, z.core.$strip>>;
894
+ taskId: z.ZodMiniNullable<z.ZodMiniUUID>;
895
+ taskNumber: z.ZodMiniNullable<z.ZodMiniInt>;
896
+ raisedBy: z.ZodMiniObject<{
897
+ id: z.ZodMiniUUID;
898
+ login: z.ZodMiniString<string>;
899
+ name: z.ZodMiniNullable<z.ZodMiniString<string>>;
900
+ avatar: z.ZodMiniNullable<z.ZodMiniString<string>>;
901
+ role: z.ZodMiniEnum<{
902
+ admin: "admin";
903
+ member: "member";
904
+ }>;
905
+ }, z.core.$strip>;
906
+ run: z.ZodMiniNullable<z.ZodMiniObject<{
907
+ id: z.ZodMiniUUID;
908
+ agent: z.ZodMiniString<string>;
909
+ }, z.core.$strip>>;
910
+ answer: z.ZodMiniNullable<z.ZodMiniObject<{
911
+ option: z.ZodMiniString<string>;
912
+ note: z.ZodMiniNullable<z.ZodMiniString<string>>;
913
+ by: z.ZodMiniObject<{
914
+ id: z.ZodMiniUUID;
915
+ login: z.ZodMiniString<string>;
916
+ name: z.ZodMiniNullable<z.ZodMiniString<string>>;
917
+ avatar: z.ZodMiniNullable<z.ZodMiniString<string>>;
918
+ role: z.ZodMiniEnum<{
919
+ admin: "admin";
920
+ member: "member";
921
+ }>;
922
+ }, z.core.$strip>;
923
+ at: z.ZodMiniISODateTime;
924
+ }, z.core.$strip>>;
925
+ outcome: z.ZodMiniNullable<z.ZodMiniString<string>>;
926
+ createdAt: z.ZodMiniISODateTime;
927
+ updatedAt: z.ZodMiniISODateTime;
928
+ }, z.core.$strip>;
929
+ }, z.core.$strip>>;
930
+ }, z.core.$strip>;
931
+ export type RestWork = z.infer<typeof restWorkSchema>;
463
932
  /** What `POST /api/v1/projects/<key>/decisions` is sent: the question, its context, and the options. */
464
933
  export declare const restDecisionInputSchema: z.ZodMiniObject<{
465
934
  question: z.ZodMiniString<string>;
@@ -530,6 +999,9 @@ export type RestEventData = z.infer<typeof restEventDataSchema>;
530
999
  export declare const restEventSchema: z.ZodMiniObject<{
531
1000
  id: z.ZodMiniInt;
532
1001
  kind: z.ZodMiniEnum<{
1002
+ "category.created": "category.created";
1003
+ "category.removed": "category.removed";
1004
+ "category.updated": "category.updated";
533
1005
  "decision.answered": "decision.answered";
534
1006
  "decision.raised": "decision.raised";
535
1007
  "decision.updated": "decision.updated";
@@ -537,6 +1009,8 @@ export declare const restEventSchema: z.ZodMiniObject<{
537
1009
  "document.file_attached": "document.file_attached";
538
1010
  "document.restored": "document.restored";
539
1011
  "document.written": "document.written";
1012
+ "goal.created": "goal.created";
1013
+ "goal.updated": "goal.updated";
540
1014
  "person.joined": "person.joined";
541
1015
  "person.role_changed": "person.role_changed";
542
1016
  "project.created": "project.created";
@@ -548,6 +1022,7 @@ export declare const restEventSchema: z.ZodMiniObject<{
548
1022
  "run.handed_in": "run.handed_in";
549
1023
  "run.reported": "run.reported";
550
1024
  "run.started": "run.started";
1025
+ "run.taken_over": "run.taken_over";
551
1026
  "task.created": "task.created";
552
1027
  "task.moved": "task.moved";
553
1028
  "task.updated": "task.updated";
@@ -568,6 +1043,7 @@ export declare const restEventSchema: z.ZodMiniObject<{
568
1043
  decisionId: z.ZodMiniNullable<z.ZodMiniUUID>;
569
1044
  runId: z.ZodMiniNullable<z.ZodMiniUUID>;
570
1045
  documentId: z.ZodMiniNullable<z.ZodMiniUUID>;
1046
+ goalId: z.ZodMiniNullable<z.ZodMiniUUID>;
571
1047
  data: z.ZodMiniObject<{
572
1048
  number: z.ZodMiniOptional<z.ZodMiniInt>;
573
1049
  title: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -668,6 +1144,7 @@ export declare const restRunSchema: z.ZodMiniObject<{
668
1144
  }>;
669
1145
  startedAt: z.ZodMiniISODateTime;
670
1146
  endedAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
1147
+ lastHeardAt: z.ZodMiniISODateTime;
671
1148
  summary: z.ZodMiniNullable<z.ZodMiniString<string>>;
672
1149
  reports: z.ZodMiniArray<z.ZodMiniObject<{
673
1150
  id: z.ZodMiniUUID;
@@ -693,7 +1170,7 @@ export declare const restRunSchema: z.ZodMiniObject<{
693
1170
  waitingFor: z.ZodMiniNullable<z.ZodMiniUUID>;
694
1171
  }, z.core.$strip>;
695
1172
  export type RestRun = z.infer<typeof restRunSchema>;
696
- /** `GET /api/v1/projects/<key>/runs`: the runs, newest first. */
1173
+ /** `GET /api/v1/projects/<key>/runs`: a page of the runs, newest first, and whether there is more. */
697
1174
  export declare const restRunsSchema: z.ZodMiniObject<{
698
1175
  items: z.ZodMiniArray<z.ZodMiniObject<{
699
1176
  id: z.ZodMiniUUID;
@@ -719,6 +1196,7 @@ export declare const restRunsSchema: z.ZodMiniObject<{
719
1196
  }>;
720
1197
  startedAt: z.ZodMiniISODateTime;
721
1198
  endedAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
1199
+ lastHeardAt: z.ZodMiniISODateTime;
722
1200
  summary: z.ZodMiniNullable<z.ZodMiniString<string>>;
723
1201
  reports: z.ZodMiniArray<z.ZodMiniObject<{
724
1202
  id: z.ZodMiniUUID;
@@ -743,6 +1221,7 @@ export declare const restRunsSchema: z.ZodMiniObject<{
743
1221
  }, z.core.$strip>>;
744
1222
  waitingFor: z.ZodMiniNullable<z.ZodMiniUUID>;
745
1223
  }, z.core.$strip>>;
1224
+ more: z.ZodMiniBoolean<boolean>;
746
1225
  }, z.core.$strip>;
747
1226
  export type RestRuns = z.infer<typeof restRunsSchema>;
748
1227
  /** `GET .../events?after=`: what happened after that number, oldest first. */
@@ -750,6 +1229,9 @@ export declare const restEventsSchema: z.ZodMiniObject<{
750
1229
  items: z.ZodMiniArray<z.ZodMiniObject<{
751
1230
  id: z.ZodMiniInt;
752
1231
  kind: z.ZodMiniEnum<{
1232
+ "category.created": "category.created";
1233
+ "category.removed": "category.removed";
1234
+ "category.updated": "category.updated";
753
1235
  "decision.answered": "decision.answered";
754
1236
  "decision.raised": "decision.raised";
755
1237
  "decision.updated": "decision.updated";
@@ -757,6 +1239,8 @@ export declare const restEventsSchema: z.ZodMiniObject<{
757
1239
  "document.file_attached": "document.file_attached";
758
1240
  "document.restored": "document.restored";
759
1241
  "document.written": "document.written";
1242
+ "goal.created": "goal.created";
1243
+ "goal.updated": "goal.updated";
760
1244
  "person.joined": "person.joined";
761
1245
  "person.role_changed": "person.role_changed";
762
1246
  "project.created": "project.created";
@@ -768,6 +1252,7 @@ export declare const restEventsSchema: z.ZodMiniObject<{
768
1252
  "run.handed_in": "run.handed_in";
769
1253
  "run.reported": "run.reported";
770
1254
  "run.started": "run.started";
1255
+ "run.taken_over": "run.taken_over";
771
1256
  "task.created": "task.created";
772
1257
  "task.moved": "task.moved";
773
1258
  "task.updated": "task.updated";
@@ -788,6 +1273,7 @@ export declare const restEventsSchema: z.ZodMiniObject<{
788
1273
  decisionId: z.ZodMiniNullable<z.ZodMiniUUID>;
789
1274
  runId: z.ZodMiniNullable<z.ZodMiniUUID>;
790
1275
  documentId: z.ZodMiniNullable<z.ZodMiniUUID>;
1276
+ goalId: z.ZodMiniNullable<z.ZodMiniUUID>;
791
1277
  data: z.ZodMiniObject<{
792
1278
  number: z.ZodMiniOptional<z.ZodMiniInt>;
793
1279
  title: z.ZodMiniOptional<z.ZodMiniString<string>>;