@critical-path/client 0.13.1 → 0.14.1

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,5 +1,19 @@
1
1
  # @critical-path/client
2
2
 
3
+ ## 0.14.1
4
+
5
+ ### Patch Changes
6
+
7
+ - f816145: Preserve real actor identity and metadata in `updateTask`, activity logs, and domain events, preventing status changes and updates from erroneously attributing the task's assignee as the initiating actor.
8
+ - Updated dependencies [f816145]
9
+ - @critical-path/core@0.19.1
10
+
11
+ ## 0.14.0
12
+
13
+ ### Minor Changes
14
+
15
+ - f539a11: Add subtask and checklist CLI commands (`critical-path subtask`, `critical-path checklist`) and CriticalPathClient helpers (`createSubtask`, `addTodo`, `toggleTodo`).
16
+
3
17
  ## 0.13.1
4
18
 
5
19
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAoGA,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwNtE;AAGD,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,MAAwB,EACnC,KAAK,GAAE,MAAM,GAAG,SAA2B,GAC1C,OAAO,CAQT"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAyGA,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqYtE;AAGD,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,MAAwB,EACnC,KAAK,GAAE,MAAM,GAAG,SAA2B,GAC1C,OAAO,CAQT"}
package/dist/bin/cli.js CHANGED
@@ -9,19 +9,20 @@ function parseCliArgs(args) {
9
9
  const arg = args[i];
10
10
  if (arg.startsWith('--')) {
11
11
  const key = arg.slice(2);
12
- if (key === 'help' || key === 'disengaged') {
13
- flags[key] = true;
14
- }
15
- else if (i + 1 < args.length && !args[i + 1].startsWith('--')) {
16
- const val = args[++i];
17
- if (key === 'question') {
18
- if (!Array.isArray(flags.question))
19
- flags.question = [];
20
- flags.question.push(val);
12
+ const nextArg = args[i + 1];
13
+ if (nextArg && !nextArg.startsWith('--')) {
14
+ if (flags[key]) {
15
+ if (Array.isArray(flags[key])) {
16
+ flags[key].push(nextArg);
17
+ }
18
+ else {
19
+ flags[key] = [flags[key], nextArg];
20
+ }
21
21
  }
22
22
  else {
23
- flags[key] = val;
23
+ flags[key] = nextArg;
24
24
  }
25
+ i++;
25
26
  }
26
27
  else {
27
28
  flags[key] = true;
@@ -29,15 +30,7 @@ function parseCliArgs(args) {
29
30
  }
30
31
  else if (arg.startsWith('-')) {
31
32
  const key = arg.slice(1);
32
- if (key === 'h') {
33
- flags.help = true;
34
- }
35
- else if (i + 1 < args.length && !args[i + 1].startsWith('-')) {
36
- flags[key] = args[++i];
37
- }
38
- else {
39
- flags[key] = true;
40
- }
33
+ flags[key] = true;
41
34
  }
42
35
  else {
43
36
  positionals.push(arg);
@@ -50,7 +43,8 @@ function getContext(flags) {
50
43
  const apiKey = flags.key || process.env.CRITICAL_PATH_KEY;
51
44
  const taskId = flags.task || process.env.CRITICAL_PATH_TASK_ID;
52
45
  const projectId = flags.project || process.env.CRITICAL_PATH_PROJECT_ID;
53
- const authorId = flags.author || process.env.CRITICAL_PATH_AUTHOR_ID || 'agent';
46
+ const authorId = flags.author || flags['actor-id'] || process.env.CRITICAL_PATH_AUTHOR_ID || process.env.CRITICAL_PATH_ACTOR_ID || 'agent';
47
+ const agentName = flags['actor-name'] || flags['agent-name'] || process.env.CRITICAL_PATH_AGENT_NAME || undefined;
54
48
  if (!apiUrl) {
55
49
  console.error('[critical-path] Error: Base API URL is required. Provide --api or set CRITICAL_PATH_API.');
56
50
  process.exit(1);
@@ -60,7 +54,7 @@ function getContext(flags) {
60
54
  headers['Authorization'] = `Bearer ${apiKey}`;
61
55
  }
62
56
  const client = new CriticalPathClient({ baseUrl: apiUrl, headers });
63
- return { client, taskId, projectId, authorId };
57
+ return { client, taskId, projectId, authorId, agentName };
64
58
  }
65
59
  function printHelp() {
66
60
  console.log(`
@@ -73,6 +67,13 @@ Commands:
73
67
  status <message> Update live execution activity / status
74
68
  block --reason <reason> [--pr <url>] Mark current task as blocked with explanation
75
69
  clarify --reason <reason> [--question <q>...] Post clarification request on task
70
+ subtask <title> [--description <desc>] Create active child subtask under task
71
+ subtask list List subtasks under current or specified task
72
+ checklist add <title> Add a checklist item to current task
73
+ checklist check <item> Mark a checklist item completed by title or ID
74
+ checklist uncheck <item> Mark a checklist item incomplete
75
+ checklist list List all checklist items on current task
76
+ checklist set <item1> <item2>... Replace/initialize full checklist for task
76
77
  propose --title <title> [--description <desc>] Stage follow-up draft task on board
77
78
  deliverable --title <title> --url <url> Record output artifact or PR link
78
79
  comment <content> Post progress comment to task
@@ -133,8 +134,12 @@ export async function main(argv = process.argv.slice(2)) {
133
134
  content: commentContent,
134
135
  authorType: 'agent'
135
136
  });
137
+ const { authorId: blockAuthorId, agentName: blockAgentName } = getContext(flags);
136
138
  await client.updateTask(taskId, {
137
139
  isBlocked: true,
140
+ actorId: blockAuthorId,
141
+ actorName: blockAgentName,
142
+ actorType: 'agent',
138
143
  customFields: {
139
144
  blockerReason: reason,
140
145
  ...(prUrl ? { prUrl } : {})
@@ -153,7 +158,7 @@ export async function main(argv = process.argv.slice(2)) {
153
158
  console.error('[critical-path] Error: --reason is required when requesting clarification.');
154
159
  process.exit(1);
155
160
  }
156
- const { client, taskId, authorId } = getContext(flags);
161
+ const { client, taskId, authorId, agentName } = getContext(flags);
157
162
  if (!taskId) {
158
163
  console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
159
164
  process.exit(1);
@@ -175,6 +180,9 @@ export async function main(argv = process.argv.slice(2)) {
175
180
  });
176
181
  await client.updateTask(taskId, {
177
182
  isBlocked: true,
183
+ actorId: authorId,
184
+ actorName: agentName,
185
+ actorType: 'agent',
178
186
  customFields: {
179
187
  needsClarification: true,
180
188
  clarificationReason: reason
@@ -220,7 +228,7 @@ export async function main(argv = process.argv.slice(2)) {
220
228
  console.error('[critical-path] Error: Both --title and --url are required for deliverable.');
221
229
  process.exit(1);
222
230
  }
223
- const { client, taskId, projectId, authorId } = getContext(flags);
231
+ const { client, taskId, projectId, authorId, agentName } = getContext(flags);
224
232
  if (projectId) {
225
233
  try {
226
234
  await client.createDeliverable({
@@ -242,6 +250,9 @@ export async function main(argv = process.argv.slice(2)) {
242
250
  authorType: 'agent'
243
251
  });
244
252
  await client.updateTask(taskId, {
253
+ actorId: authorId,
254
+ actorName: agentName,
255
+ actorType: 'agent',
245
256
  customFields: {
246
257
  deliverableUrl: url,
247
258
  deliverableTitle: title
@@ -271,6 +282,149 @@ export async function main(argv = process.argv.slice(2)) {
271
282
  console.log(`[critical-path] Added comment to task ${taskId}.`);
272
283
  break;
273
284
  }
285
+ case 'subtask': {
286
+ const subAction = positionals[1];
287
+ const { client, taskId, projectId } = getContext(flags);
288
+ const targetParentId = flags.parent || taskId;
289
+ if (subAction === 'list') {
290
+ const targetProj = flags.project || projectId;
291
+ if (!targetParentId) {
292
+ console.error('[critical-path] Error: Parent task ID is required (--task, --parent, or CRITICAL_PATH_TASK_ID).');
293
+ process.exit(1);
294
+ }
295
+ const tasks = await client.getTasks(targetProj);
296
+ const subtasks = tasks.filter((t) => t.parentId === targetParentId);
297
+ if (subtasks.length === 0) {
298
+ console.log(`[critical-path] No subtasks found for parent task ${targetParentId}.`);
299
+ }
300
+ else {
301
+ console.log(`[critical-path] Subtasks for parent task ${targetParentId} (${subtasks.length}):`);
302
+ for (const st of subtasks) {
303
+ console.log(` - [${st.id}] (${st.status}): ${st.title}`);
304
+ }
305
+ }
306
+ break;
307
+ }
308
+ const title = subAction === 'create'
309
+ ? positionals.slice(2).join(' ') || flags.title
310
+ : positionals.slice(1).join(' ') || flags.title;
311
+ if (!title) {
312
+ console.error('[critical-path] Error: Subtask title is required. Example: critical-path subtask "Implement unit tests"');
313
+ process.exit(1);
314
+ }
315
+ if (!targetParentId) {
316
+ console.error('[critical-path] Error: Parent task ID is required (--task, --parent, or CRITICAL_PATH_TASK_ID).');
317
+ process.exit(1);
318
+ }
319
+ let targetProj = flags.project || projectId;
320
+ if (!targetProj) {
321
+ const parentTask = await client.getTask(targetParentId);
322
+ targetProj = parentTask.projectId;
323
+ }
324
+ const created = await client.createTask({
325
+ projectId: targetProj,
326
+ title,
327
+ description: flags.description || '',
328
+ parentId: targetParentId,
329
+ status: flags.status || 'todo',
330
+ priority: flags.priority || 'medium',
331
+ assigneeId: flags.assignee || undefined,
332
+ customFields: {
333
+ createdByAgent: true
334
+ }
335
+ });
336
+ console.log(`[critical-path] Created subtask "${created.title}" (ID: ${created.id}) under parent task ${targetParentId}.`);
337
+ break;
338
+ }
339
+ case 'checklist':
340
+ case 'todo': {
341
+ const subAction = positionals[1];
342
+ const { client, taskId, authorId, agentName } = getContext(flags);
343
+ if (!taskId) {
344
+ console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
345
+ process.exit(1);
346
+ }
347
+ if (!subAction || subAction === 'list') {
348
+ const task = await client.getTask(taskId);
349
+ if (!task.todos || task.todos.length === 0) {
350
+ console.log(`[critical-path] Task ${taskId} has no checklist items.`);
351
+ }
352
+ else {
353
+ console.log(`[critical-path] Checklist for task ${taskId} (${task.todos.length}):`);
354
+ for (const item of task.todos) {
355
+ console.log(` ${item.completed ? '[x]' : '[ ]'} ${item.title} (${item.id})`);
356
+ }
357
+ }
358
+ break;
359
+ }
360
+ if (subAction === 'check' || subAction === 'done' || subAction === 'complete') {
361
+ const query = positionals.slice(2).join(' ') || flags.item || flags.title || flags.id;
362
+ if (!query) {
363
+ console.error('[critical-path] Error: Checklist item ID or title is required. Example: critical-path checklist check "Write unit tests"');
364
+ process.exit(1);
365
+ }
366
+ const updated = await client.toggleTodo(taskId, query, true, {
367
+ actorId: authorId,
368
+ actorName: agentName,
369
+ actorType: 'agent'
370
+ });
371
+ const item = updated.todos?.find((t) => t.id === query || t.title.toLowerCase().includes(query.toLowerCase()));
372
+ console.log(`[critical-path] Marked checklist item "${item?.title || query}" as completed on task ${taskId}.`);
373
+ break;
374
+ }
375
+ if (subAction === 'uncheck') {
376
+ const query = positionals.slice(2).join(' ') || flags.item || flags.title || flags.id;
377
+ if (!query) {
378
+ console.error('[critical-path] Error: Checklist item ID or title is required.');
379
+ process.exit(1);
380
+ }
381
+ const updated = await client.toggleTodo(taskId, query, false, {
382
+ actorId: authorId,
383
+ actorName: agentName,
384
+ actorType: 'agent'
385
+ });
386
+ const item = updated.todos?.find((t) => t.id === query || t.title.toLowerCase().includes(query.toLowerCase()));
387
+ console.log(`[critical-path] Marked checklist item "${item?.title || query}" as incomplete on task ${taskId}.`);
388
+ break;
389
+ }
390
+ if (subAction === 'set') {
391
+ const rawItems = positionals.slice(2);
392
+ const items = rawItems.length > 0 ? rawItems : flags.items || [];
393
+ if (items.length === 0) {
394
+ console.error('[critical-path] Error: Items are required when using checklist set.');
395
+ process.exit(1);
396
+ }
397
+ const newTodos = items.map((title, i) => ({
398
+ id: `todo_${Date.now()}_${i}_${Math.random().toString(36).substring(2, 6)}`,
399
+ title,
400
+ completed: false,
401
+ createdAt: new Date().toISOString()
402
+ }));
403
+ await client.updateTask(taskId, {
404
+ todos: newTodos,
405
+ actorId: authorId,
406
+ actorName: agentName,
407
+ actorType: 'agent'
408
+ });
409
+ console.log(`[critical-path] Set ${newTodos.length} checklist item(s) on task ${taskId}.`);
410
+ break;
411
+ }
412
+ // Default or 'add'
413
+ const title = subAction === 'add'
414
+ ? positionals.slice(2).join(' ') || flags.title || flags.item
415
+ : positionals.slice(1).join(' ') || flags.title || flags.item;
416
+ if (!title) {
417
+ console.error('[critical-path] Error: Item title is required. Example: critical-path checklist add "Write unit tests"');
418
+ process.exit(1);
419
+ }
420
+ const item = await client.addTodo(taskId, title, {
421
+ actorId: authorId,
422
+ actorName: agentName,
423
+ actorType: 'agent'
424
+ });
425
+ console.log(`[critical-path] Added checklist item "${item.title}" (${item.id}) to task ${taskId}.`);
426
+ break;
427
+ }
274
428
  default:
275
429
  console.error(`[critical-path] Unknown command: "${command}". Run "critical-path --help" for usage.`);
276
430
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.test.js CHANGED
@@ -25,9 +25,26 @@ describe('critical-path CLI Subcommands', () => {
25
25
  return new Response(JSON.stringify({ comment: { id: 'c1', ...body } }), { status: 201 });
26
26
  }
27
27
  if (urlStr.includes('/tasks/')) {
28
- return new Response(JSON.stringify({ task: { id: 'task-123', ...body } }), { status: 200 });
28
+ return new Response(JSON.stringify({
29
+ task: {
30
+ id: 'task-123',
31
+ projectId: 'proj-456',
32
+ todos: [
33
+ { id: 'todo-1', title: 'Existing checklist item', completed: false }
34
+ ],
35
+ ...body
36
+ }
37
+ }), { status: 200 });
29
38
  }
30
- if (urlStr.endsWith('/tasks')) {
39
+ if (urlStr.endsWith('/tasks') || urlStr.includes('/tasks?')) {
40
+ if (method === 'GET') {
41
+ return new Response(JSON.stringify({
42
+ tasks: [
43
+ { id: 'sub-1', title: 'Existing child subtask', parentId: 'task-123', status: 'todo' },
44
+ { id: 'sub-2', title: 'Unrelated task', parentId: 'other-task', status: 'todo' }
45
+ ]
46
+ }), { status: 200 });
47
+ }
31
48
  return new Response(JSON.stringify({ task: { id: 'task-new-1', ...body } }), { status: 201 });
32
49
  }
33
50
  if (urlStr.endsWith('/deliverables')) {
@@ -122,6 +139,62 @@ describe('critical-path CLI Subcommands', () => {
122
139
  expect(commentCall?.body.taskId).toBe('task-123');
123
140
  expect(commentCall?.body.content).toBe('Migration completed successfully, starting verification.');
124
141
  });
142
+ it('handles "subtask" command (creates active subtask)', async () => {
143
+ await main([
144
+ 'subtask',
145
+ '--title', 'Implement database migrations',
146
+ '--description', 'Run Knex migrations for users table',
147
+ '--priority', 'high'
148
+ ]);
149
+ const createTaskCall = fetchCalls.find(c => c.url.endsWith('/tasks') && c.method === 'POST');
150
+ expect(createTaskCall).toBeDefined();
151
+ expect(createTaskCall?.body.title).toBe('Implement database migrations');
152
+ expect(createTaskCall?.body.description).toBe('Run Knex migrations for users table');
153
+ expect(createTaskCall?.body.projectId).toBe('proj-456');
154
+ expect(createTaskCall?.body.parentId).toBe('task-123');
155
+ expect(createTaskCall?.body.status).toBe('todo');
156
+ expect(createTaskCall?.body.priority).toBe('high');
157
+ expect(createTaskCall?.body.customFields?.createdByAgent).toBe(true);
158
+ });
159
+ it('handles "subtask list" command', async () => {
160
+ const logSpy = vi.spyOn(console, 'log');
161
+ await main(['subtask', 'list']);
162
+ const getTasksCall = fetchCalls.find(c => (c.url.endsWith('/tasks') || c.url.includes('/tasks?')) && c.method === 'GET');
163
+ expect(getTasksCall).toBeDefined();
164
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Subtasks for parent task task-123 (1):'));
165
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Existing child subtask'));
166
+ logSpy.mockRestore();
167
+ });
168
+ it('handles "checklist add" command', async () => {
169
+ await main(['checklist', 'add', 'Write comprehensive unit tests']);
170
+ const updateTaskCall = fetchCalls.find(c => c.url.includes('/tasks/task-123') && c.method === 'PATCH');
171
+ expect(updateTaskCall).toBeDefined();
172
+ expect(updateTaskCall?.body.todos).toHaveLength(2);
173
+ expect(updateTaskCall?.body.todos[1].title).toBe('Write comprehensive unit tests');
174
+ expect(updateTaskCall?.body.todos[1].completed).toBe(false);
175
+ });
176
+ it('handles "checklist check" command', async () => {
177
+ await main(['checklist', 'check', 'Existing checklist item']);
178
+ const updateTaskCall = fetchCalls.find(c => c.url.includes('/tasks/task-123') && c.method === 'PATCH');
179
+ expect(updateTaskCall).toBeDefined();
180
+ expect(updateTaskCall?.body.todos[0].completed).toBe(true);
181
+ expect(updateTaskCall?.body.todos[0].completedAt).toBeDefined();
182
+ });
183
+ it('handles "checklist list" command', async () => {
184
+ const logSpy = vi.spyOn(console, 'log');
185
+ await main(['checklist', 'list']);
186
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Checklist for task task-123 (1):'));
187
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Existing checklist item'));
188
+ logSpy.mockRestore();
189
+ });
190
+ it('handles "checklist set" command', async () => {
191
+ await main(['checklist', 'set', 'Step 1', 'Step 2']);
192
+ const updateTaskCall = fetchCalls.find(c => c.url.includes('/tasks/task-123') && c.method === 'PATCH');
193
+ expect(updateTaskCall).toBeDefined();
194
+ expect(updateTaskCall?.body.todos).toHaveLength(2);
195
+ expect(updateTaskCall?.body.todos[0].title).toBe('Step 1');
196
+ expect(updateTaskCall?.body.todos[1].title).toBe('Step 2');
197
+ });
125
198
  describe('isDirectExecution', () => {
126
199
  it('returns false when argv1 is undefined', () => {
127
200
  expect(isDirectExecution('file:///path/to/cli.js', undefined)).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Project, Task, TaskDependencyGraph, Team, TaskContainer, Iteration, Activity, Comment, CommentReaction, Attachment, PresignedUrlOptions, PresignedUploadResult, TimeEntry, Workflow, Deliverable, DeliverableSummary, CreateDeliverableInput, SemanticStatus, StatusDefinition, TaskDerivedStatus, TaskLifecycleState, CriticalPathAnalysis, TimelineLadder, TimelineLadderOptions, TaskLadderView, MacroTimelineSummary, MacroPhaseRollup, StandardTaskTimelineItem, ConcreteTaskEvidence, RealityDelta, TaskMetrics, TaskProgressHistory, TaskProgressInference, TaskEVM, TaskInferredActuals, ProgressInferenceSource, ProgressCurveProfile, WorkloadDistribution, WorkloadBucket, WorkloadDistributionOptions, WorkloadInterval, WorkloadGroupBy, WorkloadMetric } from '@critical-path/core';
2
- export type { SemanticStatus, StatusDefinition, TaskDerivedStatus, TaskLifecycleState, CriticalPathAnalysis, TimelineLadder, TimelineLadderOptions, TaskLadderView, MacroTimelineSummary, MacroPhaseRollup, StandardTaskTimelineItem, ConcreteTaskEvidence, RealityDelta, TaskMetrics, TaskProgressHistory, TaskProgressInference, TaskEVM, TaskInferredActuals, ProgressInferenceSource, ProgressCurveProfile, WorkloadDistribution, WorkloadBucket, WorkloadDistributionOptions, WorkloadInterval, WorkloadGroupBy, WorkloadMetric };
1
+ import type { Project, Task, TaskTodoItem, TaskStatus, Priority, TaskDependencyGraph, Team, TaskContainer, Iteration, Activity, Comment, CommentReaction, Attachment, PresignedUrlOptions, PresignedUploadResult, TimeEntry, Workflow, Deliverable, DeliverableSummary, CreateDeliverableInput, SemanticStatus, StatusDefinition, TaskDerivedStatus, TaskLifecycleState, CriticalPathAnalysis, TimelineLadder, TimelineLadderOptions, TaskLadderView, MacroTimelineSummary, MacroPhaseRollup, StandardTaskTimelineItem, ConcreteTaskEvidence, RealityDelta, TaskMetrics, TaskProgressHistory, TaskProgressInference, TaskEVM, TaskInferredActuals, ProgressInferenceSource, ProgressCurveProfile, WorkloadDistribution, WorkloadBucket, WorkloadDistributionOptions, WorkloadInterval, WorkloadGroupBy, WorkloadMetric } from '@critical-path/core';
2
+ export type { TaskTodoItem, TaskStatus, Priority, SemanticStatus, StatusDefinition, TaskDerivedStatus, TaskLifecycleState, CriticalPathAnalysis, TimelineLadder, TimelineLadderOptions, TaskLadderView, MacroTimelineSummary, MacroPhaseRollup, StandardTaskTimelineItem, ConcreteTaskEvidence, RealityDelta, TaskMetrics, TaskProgressHistory, TaskProgressInference, TaskEVM, TaskInferredActuals, ProgressInferenceSource, ProgressCurveProfile, WorkloadDistribution, WorkloadBucket, WorkloadDistributionOptions, WorkloadInterval, WorkloadGroupBy, WorkloadMetric };
3
3
  export interface UpdateStatusOptions {
4
4
  taskId?: string;
5
5
  projectId?: string;
@@ -39,7 +39,35 @@ export declare class CriticalPathClient {
39
39
  getTaskMetrics(taskId: string): Promise<TaskMetrics>;
40
40
  getTaskProgressHistory(taskId: string): Promise<TaskProgressHistory>;
41
41
  createTask(data: Omit<Task, 'id' | 'createdAt' | 'updatedAt'>): Promise<Task>;
42
- updateTask(id: string, updates: Partial<Task>): Promise<Task>;
42
+ updateTask(id: string, updates: Partial<Task> & {
43
+ actorId?: string;
44
+ actorName?: string;
45
+ actorType?: string;
46
+ actor?: {
47
+ userId: string;
48
+ username?: string;
49
+ actorType?: string;
50
+ };
51
+ }): Promise<Task>;
52
+ createSubtask(parentTaskId: string, data: {
53
+ title: string;
54
+ description?: string;
55
+ status?: TaskStatus;
56
+ priority?: Priority;
57
+ projectId?: string;
58
+ assigneeId?: string;
59
+ customFields?: Record<string, unknown>;
60
+ }): Promise<Task>;
61
+ addTodo(taskId: string, title: string, options?: {
62
+ actorId?: string;
63
+ actorName?: string;
64
+ actorType?: string;
65
+ }): Promise<TaskTodoItem>;
66
+ toggleTodo(taskId: string, todoIdOrTitle: string, completed?: boolean, options?: {
67
+ actorId?: string;
68
+ actorName?: string;
69
+ actorType?: string;
70
+ }): Promise<Task>;
43
71
  deleteTask(id: string): Promise<boolean>;
44
72
  getTaskDependencies(taskId: string): Promise<TaskDependencyGraph>;
45
73
  getTaskLifecycleState(taskId: string): Promise<TaskDerivedStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -152,6 +152,48 @@ export class CriticalPathClient {
152
152
  });
153
153
  return res.task;
154
154
  }
155
+ async createSubtask(parentTaskId, data) {
156
+ let projectId = data.projectId;
157
+ if (!projectId) {
158
+ const parentTask = await this.getTask(parentTaskId);
159
+ projectId = parentTask.projectId;
160
+ }
161
+ return this.createTask({
162
+ projectId,
163
+ title: data.title,
164
+ description: data.description,
165
+ parentId: parentTaskId,
166
+ status: data.status || 'todo',
167
+ priority: data.priority || 'medium',
168
+ assigneeId: data.assigneeId,
169
+ customFields: data.customFields
170
+ });
171
+ }
172
+ async addTodo(taskId, title, options) {
173
+ const task = await this.getTask(taskId);
174
+ const item = {
175
+ id: `todo_${Date.now()}_${Math.random().toString(36).substring(2, 7)}`,
176
+ title,
177
+ completed: false,
178
+ createdAt: new Date().toISOString()
179
+ };
180
+ const todos = [...(task.todos || []), item];
181
+ await this.updateTask(taskId, { todos, ...options });
182
+ return item;
183
+ }
184
+ async toggleTodo(taskId, todoIdOrTitle, completed, options) {
185
+ const task = await this.getTask(taskId);
186
+ if (!task.todos || task.todos.length === 0) {
187
+ throw new Error(`Task ${taskId} has no checklist items.`);
188
+ }
189
+ const item = task.todos.find((t) => t.id === todoIdOrTitle || t.title.toLowerCase() === todoIdOrTitle.toLowerCase());
190
+ if (!item) {
191
+ throw new Error(`Checklist item "${todoIdOrTitle}" not found on task ${taskId}.`);
192
+ }
193
+ item.completed = completed !== undefined ? completed : !item.completed;
194
+ item.completedAt = item.completed ? new Date().toISOString() : undefined;
195
+ return this.updateTask(taskId, { todos: task.todos, ...options });
196
+ }
155
197
  async deleteTask(id) {
156
198
  const res = await this.request(`/tasks/${id}`, {
157
199
  method: 'DELETE'
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@critical-path/client",
3
- "version": "0.13.1",
3
+ "version": "0.14.1",
4
4
  "description": "Type-safe JavaScript/TypeScript client SDK for consuming Critical Path API endpoints",
5
5
  "author": "Jack James",
6
6
  "license": "MIT",
@@ -21,7 +21,7 @@
21
21
  }
22
22
  },
23
23
  "dependencies": {
24
- "@critical-path/core": "0.19.0"
24
+ "@critical-path/core": "0.19.1"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^24.0.0",
package/src/bin/cli.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import fs from 'node:fs';
4
- import { CriticalPathClient } from '../index.js';
4
+ import { CriticalPathClient, type TaskTodoItem } from '../index.js';
5
5
 
6
6
  interface CliContext {
7
7
  apiUrl?: string;
@@ -18,28 +18,24 @@ function parseCliArgs(args: string[]) {
18
18
  const arg = args[i];
19
19
  if (arg.startsWith('--')) {
20
20
  const key = arg.slice(2);
21
- if (key === 'help' || key === 'disengaged') {
22
- flags[key] = true;
23
- } else if (i + 1 < args.length && !args[i + 1].startsWith('--')) {
24
- const val = args[++i];
25
- if (key === 'question') {
26
- if (!Array.isArray(flags.question)) flags.question = [];
27
- (flags.question as string[]).push(val);
21
+ const nextArg = args[i + 1];
22
+ if (nextArg && !nextArg.startsWith('--')) {
23
+ if (flags[key]) {
24
+ if (Array.isArray(flags[key])) {
25
+ (flags[key] as string[]).push(nextArg);
26
+ } else {
27
+ flags[key] = [flags[key] as string, nextArg];
28
+ }
28
29
  } else {
29
- flags[key] = val;
30
+ flags[key] = nextArg;
30
31
  }
32
+ i++;
31
33
  } else {
32
34
  flags[key] = true;
33
35
  }
34
36
  } else if (arg.startsWith('-')) {
35
37
  const key = arg.slice(1);
36
- if (key === 'h') {
37
- flags.help = true;
38
- } else if (i + 1 < args.length && !args[i + 1].startsWith('-')) {
39
- flags[key] = args[++i];
40
- } else {
41
- flags[key] = true;
42
- }
38
+ flags[key] = true;
43
39
  } else {
44
40
  positionals.push(arg);
45
41
  }
@@ -53,12 +49,14 @@ function getContext(flags: Record<string, any>): {
53
49
  taskId?: string;
54
50
  projectId?: string;
55
51
  authorId: string;
52
+ agentName?: string;
56
53
  } {
57
54
  const apiUrl = (flags.api as string) || process.env.CRITICAL_PATH_API;
58
55
  const apiKey = (flags.key as string) || process.env.CRITICAL_PATH_KEY;
59
56
  const taskId = (flags.task as string) || process.env.CRITICAL_PATH_TASK_ID;
60
57
  const projectId = (flags.project as string) || process.env.CRITICAL_PATH_PROJECT_ID;
61
- const authorId = (flags.author as string) || process.env.CRITICAL_PATH_AUTHOR_ID || 'agent';
58
+ const authorId = (flags.author as string) || (flags['actor-id'] as string) || process.env.CRITICAL_PATH_AUTHOR_ID || process.env.CRITICAL_PATH_ACTOR_ID || 'agent';
59
+ const agentName = (flags['actor-name'] as string) || (flags['agent-name'] as string) || process.env.CRITICAL_PATH_AGENT_NAME || undefined;
62
60
 
63
61
  if (!apiUrl) {
64
62
  console.error('[critical-path] Error: Base API URL is required. Provide --api or set CRITICAL_PATH_API.');
@@ -71,7 +69,7 @@ function getContext(flags: Record<string, any>): {
71
69
  }
72
70
 
73
71
  const client = new CriticalPathClient({ baseUrl: apiUrl, headers });
74
- return { client, taskId, projectId, authorId };
72
+ return { client, taskId, projectId, authorId, agentName };
75
73
  }
76
74
 
77
75
  function printHelp() {
@@ -85,6 +83,13 @@ Commands:
85
83
  status <message> Update live execution activity / status
86
84
  block --reason <reason> [--pr <url>] Mark current task as blocked with explanation
87
85
  clarify --reason <reason> [--question <q>...] Post clarification request on task
86
+ subtask <title> [--description <desc>] Create active child subtask under task
87
+ subtask list List subtasks under current or specified task
88
+ checklist add <title> Add a checklist item to current task
89
+ checklist check <item> Mark a checklist item completed by title or ID
90
+ checklist uncheck <item> Mark a checklist item incomplete
91
+ checklist list List all checklist items on current task
92
+ checklist set <item1> <item2>... Replace/initialize full checklist for task
88
93
  propose --title <title> [--description <desc>] Stage follow-up draft task on board
89
94
  deliverable --title <title> --url <url> Record output artifact or PR link
90
95
  comment <content> Post progress comment to task
@@ -153,8 +158,12 @@ export async function main(argv = process.argv.slice(2)): Promise<void> {
153
158
  authorType: 'agent'
154
159
  });
155
160
 
161
+ const { authorId: blockAuthorId, agentName: blockAgentName } = getContext(flags);
156
162
  await client.updateTask(taskId, {
157
163
  isBlocked: true,
164
+ actorId: blockAuthorId,
165
+ actorName: blockAgentName,
166
+ actorType: 'agent',
158
167
  customFields: {
159
168
  blockerReason: reason,
160
169
  ...(prUrl ? { prUrl } : {})
@@ -176,7 +185,7 @@ export async function main(argv = process.argv.slice(2)): Promise<void> {
176
185
  console.error('[critical-path] Error: --reason is required when requesting clarification.');
177
186
  process.exit(1);
178
187
  }
179
- const { client, taskId, authorId } = getContext(flags);
188
+ const { client, taskId, authorId, agentName } = getContext(flags);
180
189
  if (!taskId) {
181
190
  console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
182
191
  process.exit(1);
@@ -202,6 +211,9 @@ export async function main(argv = process.argv.slice(2)): Promise<void> {
202
211
 
203
212
  await client.updateTask(taskId, {
204
213
  isBlocked: true,
214
+ actorId: authorId,
215
+ actorName: agentName,
216
+ actorType: 'agent',
205
217
  customFields: {
206
218
  needsClarification: true,
207
219
  clarificationReason: reason
@@ -254,7 +266,7 @@ export async function main(argv = process.argv.slice(2)): Promise<void> {
254
266
  console.error('[critical-path] Error: Both --title and --url are required for deliverable.');
255
267
  process.exit(1);
256
268
  }
257
- const { client, taskId, projectId, authorId } = getContext(flags);
269
+ const { client, taskId, projectId, authorId, agentName } = getContext(flags);
258
270
 
259
271
  if (projectId) {
260
272
  try {
@@ -277,6 +289,9 @@ export async function main(argv = process.argv.slice(2)): Promise<void> {
277
289
  authorType: 'agent'
278
290
  });
279
291
  await client.updateTask(taskId, {
292
+ actorId: authorId,
293
+ actorName: agentName,
294
+ actorType: 'agent',
280
295
  customFields: {
281
296
  deliverableUrl: url,
282
297
  deliverableTitle: title
@@ -310,6 +325,169 @@ export async function main(argv = process.argv.slice(2)): Promise<void> {
310
325
  break;
311
326
  }
312
327
 
328
+ case 'subtask': {
329
+ const subAction = positionals[1];
330
+ const { client, taskId, projectId } = getContext(flags);
331
+ const targetParentId = (flags.parent as string) || taskId;
332
+
333
+ if (subAction === 'list') {
334
+ const targetProj = (flags.project as string) || projectId;
335
+ if (!targetParentId) {
336
+ console.error('[critical-path] Error: Parent task ID is required (--task, --parent, or CRITICAL_PATH_TASK_ID).');
337
+ process.exit(1);
338
+ }
339
+ const tasks = await client.getTasks(targetProj);
340
+ const subtasks = tasks.filter((t) => t.parentId === targetParentId);
341
+ if (subtasks.length === 0) {
342
+ console.log(`[critical-path] No subtasks found for parent task ${targetParentId}.`);
343
+ } else {
344
+ console.log(`[critical-path] Subtasks for parent task ${targetParentId} (${subtasks.length}):`);
345
+ for (const st of subtasks) {
346
+ console.log(` - [${st.id}] (${st.status}): ${st.title}`);
347
+ }
348
+ }
349
+ break;
350
+ }
351
+
352
+ const title =
353
+ subAction === 'create'
354
+ ? positionals.slice(2).join(' ') || (flags.title as string)
355
+ : positionals.slice(1).join(' ') || (flags.title as string);
356
+
357
+ if (!title) {
358
+ console.error('[critical-path] Error: Subtask title is required. Example: critical-path subtask "Implement unit tests"');
359
+ process.exit(1);
360
+ }
361
+
362
+ if (!targetParentId) {
363
+ console.error('[critical-path] Error: Parent task ID is required (--task, --parent, or CRITICAL_PATH_TASK_ID).');
364
+ process.exit(1);
365
+ }
366
+
367
+ let targetProj = (flags.project as string) || projectId;
368
+ if (!targetProj) {
369
+ const parentTask = await client.getTask(targetParentId);
370
+ targetProj = parentTask.projectId;
371
+ }
372
+
373
+ const created = await client.createTask({
374
+ projectId: targetProj,
375
+ title,
376
+ description: (flags.description as string) || '',
377
+ parentId: targetParentId,
378
+ status: (flags.status as any) || 'todo',
379
+ priority: (flags.priority as any) || 'medium',
380
+ assigneeId: (flags.assignee as string) || undefined,
381
+ customFields: {
382
+ createdByAgent: true
383
+ }
384
+ });
385
+
386
+ console.log(`[critical-path] Created subtask "${created.title}" (ID: ${created.id}) under parent task ${targetParentId}.`);
387
+ break;
388
+ }
389
+
390
+ case 'checklist':
391
+ case 'todo': {
392
+ const subAction = positionals[1];
393
+ const { client, taskId, authorId, agentName } = getContext(flags);
394
+ if (!taskId) {
395
+ console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
396
+ process.exit(1);
397
+ }
398
+
399
+ if (!subAction || subAction === 'list') {
400
+ const task = await client.getTask(taskId);
401
+ if (!task.todos || task.todos.length === 0) {
402
+ console.log(`[critical-path] Task ${taskId} has no checklist items.`);
403
+ } else {
404
+ console.log(`[critical-path] Checklist for task ${taskId} (${task.todos.length}):`);
405
+ for (const item of task.todos) {
406
+ console.log(` ${item.completed ? '[x]' : '[ ]'} ${item.title} (${item.id})`);
407
+ }
408
+ }
409
+ break;
410
+ }
411
+
412
+ if (subAction === 'check' || subAction === 'done' || subAction === 'complete') {
413
+ const query = positionals.slice(2).join(' ') || (flags.item as string) || (flags.title as string) || (flags.id as string);
414
+ if (!query) {
415
+ console.error('[critical-path] Error: Checklist item ID or title is required. Example: critical-path checklist check "Write unit tests"');
416
+ process.exit(1);
417
+ }
418
+ const updated = await client.toggleTodo(taskId, query, true, {
419
+ actorId: authorId,
420
+ actorName: agentName,
421
+ actorType: 'agent'
422
+ });
423
+ const item = updated.todos?.find(
424
+ (t) => t.id === query || t.title.toLowerCase().includes(query.toLowerCase())
425
+ );
426
+ console.log(`[critical-path] Marked checklist item "${item?.title || query}" as completed on task ${taskId}.`);
427
+ break;
428
+ }
429
+
430
+ if (subAction === 'uncheck') {
431
+ const query = positionals.slice(2).join(' ') || (flags.item as string) || (flags.title as string) || (flags.id as string);
432
+ if (!query) {
433
+ console.error('[critical-path] Error: Checklist item ID or title is required.');
434
+ process.exit(1);
435
+ }
436
+ const updated = await client.toggleTodo(taskId, query, false, {
437
+ actorId: authorId,
438
+ actorName: agentName,
439
+ actorType: 'agent'
440
+ });
441
+ const item = updated.todos?.find(
442
+ (t) => t.id === query || t.title.toLowerCase().includes(query.toLowerCase())
443
+ );
444
+ console.log(`[critical-path] Marked checklist item "${item?.title || query}" as incomplete on task ${taskId}.`);
445
+ break;
446
+ }
447
+
448
+ if (subAction === 'set') {
449
+ const rawItems = positionals.slice(2);
450
+ const items = rawItems.length > 0 ? rawItems : (flags.items as string[]) || [];
451
+ if (items.length === 0) {
452
+ console.error('[critical-path] Error: Items are required when using checklist set.');
453
+ process.exit(1);
454
+ }
455
+ const newTodos: TaskTodoItem[] = items.map((title, i) => ({
456
+ id: `todo_${Date.now()}_${i}_${Math.random().toString(36).substring(2, 6)}`,
457
+ title,
458
+ completed: false,
459
+ createdAt: new Date().toISOString()
460
+ }));
461
+ await client.updateTask(taskId, {
462
+ todos: newTodos,
463
+ actorId: authorId,
464
+ actorName: agentName,
465
+ actorType: 'agent'
466
+ });
467
+ console.log(`[critical-path] Set ${newTodos.length} checklist item(s) on task ${taskId}.`);
468
+ break;
469
+ }
470
+
471
+ // Default or 'add'
472
+ const title =
473
+ subAction === 'add'
474
+ ? positionals.slice(2).join(' ') || (flags.title as string) || (flags.item as string)
475
+ : positionals.slice(1).join(' ') || (flags.title as string) || (flags.item as string);
476
+
477
+ if (!title) {
478
+ console.error('[critical-path] Error: Item title is required. Example: critical-path checklist add "Write unit tests"');
479
+ process.exit(1);
480
+ }
481
+
482
+ const item = await client.addTodo(taskId, title, {
483
+ actorId: authorId,
484
+ actorName: agentName,
485
+ actorType: 'agent'
486
+ });
487
+ console.log(`[critical-path] Added checklist item "${item.title}" (${item.id}) to task ${taskId}.`);
488
+ break;
489
+ }
490
+
313
491
  default:
314
492
  console.error(`[critical-path] Unknown command: "${command}". Run "critical-path --help" for usage.`);
315
493
  process.exit(1);
package/src/cli.test.ts CHANGED
@@ -30,9 +30,26 @@ describe('critical-path CLI Subcommands', () => {
30
30
  return new Response(JSON.stringify({ comment: { id: 'c1', ...body } }), { status: 201 });
31
31
  }
32
32
  if (urlStr.includes('/tasks/')) {
33
- return new Response(JSON.stringify({ task: { id: 'task-123', ...body } }), { status: 200 });
33
+ return new Response(JSON.stringify({
34
+ task: {
35
+ id: 'task-123',
36
+ projectId: 'proj-456',
37
+ todos: [
38
+ { id: 'todo-1', title: 'Existing checklist item', completed: false }
39
+ ],
40
+ ...body
41
+ }
42
+ }), { status: 200 });
34
43
  }
35
- if (urlStr.endsWith('/tasks')) {
44
+ if (urlStr.endsWith('/tasks') || urlStr.includes('/tasks?')) {
45
+ if (method === 'GET') {
46
+ return new Response(JSON.stringify({
47
+ tasks: [
48
+ { id: 'sub-1', title: 'Existing child subtask', parentId: 'task-123', status: 'todo' },
49
+ { id: 'sub-2', title: 'Unrelated task', parentId: 'other-task', status: 'todo' }
50
+ ]
51
+ }), { status: 200 });
52
+ }
36
53
  return new Response(JSON.stringify({ task: { id: 'task-new-1', ...body } }), { status: 201 });
37
54
  }
38
55
  if (urlStr.endsWith('/deliverables')) {
@@ -148,6 +165,74 @@ describe('critical-path CLI Subcommands', () => {
148
165
  expect(commentCall?.body.content).toBe('Migration completed successfully, starting verification.');
149
166
  });
150
167
 
168
+ it('handles "subtask" command (creates active subtask)', async () => {
169
+ await main([
170
+ 'subtask',
171
+ '--title', 'Implement database migrations',
172
+ '--description', 'Run Knex migrations for users table',
173
+ '--priority', 'high'
174
+ ]);
175
+
176
+ const createTaskCall = fetchCalls.find(c => c.url.endsWith('/tasks') && c.method === 'POST');
177
+ expect(createTaskCall).toBeDefined();
178
+ expect(createTaskCall?.body.title).toBe('Implement database migrations');
179
+ expect(createTaskCall?.body.description).toBe('Run Knex migrations for users table');
180
+ expect(createTaskCall?.body.projectId).toBe('proj-456');
181
+ expect(createTaskCall?.body.parentId).toBe('task-123');
182
+ expect(createTaskCall?.body.status).toBe('todo');
183
+ expect(createTaskCall?.body.priority).toBe('high');
184
+ expect(createTaskCall?.body.customFields?.createdByAgent).toBe(true);
185
+ });
186
+
187
+ it('handles "subtask list" command', async () => {
188
+ const logSpy = vi.spyOn(console, 'log');
189
+ await main(['subtask', 'list']);
190
+
191
+ const getTasksCall = fetchCalls.find(c => (c.url.endsWith('/tasks') || c.url.includes('/tasks?')) && c.method === 'GET');
192
+ expect(getTasksCall).toBeDefined();
193
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Subtasks for parent task task-123 (1):'));
194
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Existing child subtask'));
195
+ logSpy.mockRestore();
196
+ });
197
+
198
+ it('handles "checklist add" command', async () => {
199
+ await main(['checklist', 'add', 'Write comprehensive unit tests']);
200
+
201
+ const updateTaskCall = fetchCalls.find(c => c.url.includes('/tasks/task-123') && c.method === 'PATCH');
202
+ expect(updateTaskCall).toBeDefined();
203
+ expect(updateTaskCall?.body.todos).toHaveLength(2);
204
+ expect(updateTaskCall?.body.todos[1].title).toBe('Write comprehensive unit tests');
205
+ expect(updateTaskCall?.body.todos[1].completed).toBe(false);
206
+ });
207
+
208
+ it('handles "checklist check" command', async () => {
209
+ await main(['checklist', 'check', 'Existing checklist item']);
210
+
211
+ const updateTaskCall = fetchCalls.find(c => c.url.includes('/tasks/task-123') && c.method === 'PATCH');
212
+ expect(updateTaskCall).toBeDefined();
213
+ expect(updateTaskCall?.body.todos[0].completed).toBe(true);
214
+ expect(updateTaskCall?.body.todos[0].completedAt).toBeDefined();
215
+ });
216
+
217
+ it('handles "checklist list" command', async () => {
218
+ const logSpy = vi.spyOn(console, 'log');
219
+ await main(['checklist', 'list']);
220
+
221
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Checklist for task task-123 (1):'));
222
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Existing checklist item'));
223
+ logSpy.mockRestore();
224
+ });
225
+
226
+ it('handles "checklist set" command', async () => {
227
+ await main(['checklist', 'set', 'Step 1', 'Step 2']);
228
+
229
+ const updateTaskCall = fetchCalls.find(c => c.url.includes('/tasks/task-123') && c.method === 'PATCH');
230
+ expect(updateTaskCall).toBeDefined();
231
+ expect(updateTaskCall?.body.todos).toHaveLength(2);
232
+ expect(updateTaskCall?.body.todos[0].title).toBe('Step 1');
233
+ expect(updateTaskCall?.body.todos[1].title).toBe('Step 2');
234
+ });
235
+
151
236
  describe('isDirectExecution', () => {
152
237
  it('returns false when argv1 is undefined', () => {
153
238
  expect(isDirectExecution('file:///path/to/cli.js', undefined)).toBe(false);
package/src/index.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import type {
2
2
  Project,
3
3
  Task,
4
+ TaskTodoItem,
5
+ TaskStatus,
6
+ Priority,
4
7
  TaskDependencyGraph,
5
8
  Team,
6
9
  TaskContainer,
@@ -45,6 +48,9 @@ import type {
45
48
  } from '@critical-path/core';
46
49
 
47
50
  export type {
51
+ TaskTodoItem,
52
+ TaskStatus,
53
+ Priority,
48
54
  SemanticStatus,
49
55
  StatusDefinition,
50
56
  TaskDerivedStatus,
@@ -269,7 +275,15 @@ export class CriticalPathClient {
269
275
  return res.task;
270
276
  }
271
277
 
272
- async updateTask(id: string, updates: Partial<Task>): Promise<Task> {
278
+ async updateTask(
279
+ id: string,
280
+ updates: Partial<Task> & {
281
+ actorId?: string;
282
+ actorName?: string;
283
+ actorType?: string;
284
+ actor?: { userId: string; username?: string; actorType?: string };
285
+ }
286
+ ): Promise<Task> {
273
287
  const res = await this.request<{ task: Task }>(`/tasks/${id}`, {
274
288
  method: 'PATCH',
275
289
  body: JSON.stringify(updates)
@@ -277,6 +291,73 @@ export class CriticalPathClient {
277
291
  return res.task;
278
292
  }
279
293
 
294
+ async createSubtask(
295
+ parentTaskId: string,
296
+ data: {
297
+ title: string;
298
+ description?: string;
299
+ status?: TaskStatus;
300
+ priority?: Priority;
301
+ projectId?: string;
302
+ assigneeId?: string;
303
+ customFields?: Record<string, unknown>;
304
+ }
305
+ ): Promise<Task> {
306
+ let projectId = data.projectId;
307
+ if (!projectId) {
308
+ const parentTask = await this.getTask(parentTaskId);
309
+ projectId = parentTask.projectId;
310
+ }
311
+ return this.createTask({
312
+ projectId,
313
+ title: data.title,
314
+ description: data.description,
315
+ parentId: parentTaskId,
316
+ status: data.status || 'todo',
317
+ priority: data.priority || 'medium',
318
+ assigneeId: data.assigneeId,
319
+ customFields: data.customFields
320
+ });
321
+ }
322
+
323
+ async addTodo(
324
+ taskId: string,
325
+ title: string,
326
+ options?: { actorId?: string; actorName?: string; actorType?: string }
327
+ ): Promise<TaskTodoItem> {
328
+ const task = await this.getTask(taskId);
329
+ const item: TaskTodoItem = {
330
+ id: `todo_${Date.now()}_${Math.random().toString(36).substring(2, 7)}`,
331
+ title,
332
+ completed: false,
333
+ createdAt: new Date().toISOString()
334
+ };
335
+ const todos = [...(task.todos || []), item];
336
+ await this.updateTask(taskId, { todos, ...options });
337
+ return item;
338
+ }
339
+
340
+ async toggleTodo(
341
+ taskId: string,
342
+ todoIdOrTitle: string,
343
+ completed?: boolean,
344
+ options?: { actorId?: string; actorName?: string; actorType?: string }
345
+ ): Promise<Task> {
346
+ const task = await this.getTask(taskId);
347
+ if (!task.todos || task.todos.length === 0) {
348
+ throw new Error(`Task ${taskId} has no checklist items.`);
349
+ }
350
+ const item = task.todos.find(
351
+ (t) => t.id === todoIdOrTitle || t.title.toLowerCase() === todoIdOrTitle.toLowerCase()
352
+ );
353
+ if (!item) {
354
+ throw new Error(`Checklist item "${todoIdOrTitle}" not found on task ${taskId}.`);
355
+ }
356
+ item.completed = completed !== undefined ? completed : !item.completed;
357
+ item.completedAt = item.completed ? new Date().toISOString() : undefined;
358
+ return this.updateTask(taskId, { todos: task.todos, ...options });
359
+ }
360
+
280
361
  async deleteTask(id: string): Promise<boolean> {
281
362
  const res = await this.request<{ success: boolean }>(`/tasks/${id}`, {
282
363
  method: 'DELETE'