@contextium/cli 1.0.65 → 1.3.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.
@@ -39,7 +39,20 @@ async function resolveWorkspaceMember(client, workspaceId, memberName) {
39
39
  }
40
40
  return match;
41
41
  }
42
- function formatStatus(status) {
42
+ async function getWorkflowPlan(client, workspaceId, workflowId) {
43
+ const { data } = await client.get(`/workspaces/${workspaceId}/workflows/${workflowId}/plan`);
44
+ return data.data || data;
45
+ }
46
+ function formatPhaseStatus(status) {
47
+ switch (status) {
48
+ case 'done': return chalk.green('done');
49
+ case 'in_progress': return chalk.yellow('in progress');
50
+ case 'pending': return chalk.dim('pending');
51
+ case 'blocked': return chalk.red('blocked');
52
+ default: return chalk.dim(status);
53
+ }
54
+ }
55
+ function formatTaskStatus(status) {
43
56
  switch (status) {
44
57
  case 'done': return chalk.green('done');
45
58
  case 'in_progress': return chalk.yellow('in progress');
@@ -48,11 +61,42 @@ function formatStatus(status) {
48
61
  default: return chalk.dim(status);
49
62
  }
50
63
  }
64
+ function formatPriority(priority) {
65
+ if (!priority)
66
+ return '';
67
+ switch (priority.toLowerCase()) {
68
+ case 'high': return ' \x1b[1m\x1b[31m[high]\x1b[0m';
69
+ case 'medium': return ' ' + chalk.yellow('[medium]');
70
+ case 'low': return ' ' + chalk.dim('[low]');
71
+ default: return ' ' + chalk.dim(`[${priority}]`);
72
+ }
73
+ }
74
+ const VALID_PRIORITIES = ['high', 'medium', 'low'];
75
+ function validatePriority(priority) {
76
+ if (!priority)
77
+ return undefined;
78
+ const normalized = priority.toLowerCase();
79
+ if (!VALID_PRIORITIES.includes(normalized)) {
80
+ throw new Error(`Invalid priority '${priority}'. Must be one of: ${VALID_PRIORITIES.join(', ')}`);
81
+ }
82
+ return normalized;
83
+ }
84
+ function printPhase(phase, indent = ' ') {
85
+ const agent = phase.assignedAgentName ? chalk.dim(` · ${phase.assignedAgentName}`) : '';
86
+ const icon = phase.status === 'done' ? '✓' : phase.status === 'in_progress' ? '◌' : phase.status === 'blocked' ? '✗' : '○';
87
+ console.log(`${indent}${chalk.cyan(`${icon} ${phase.title}`)}${agent}`);
88
+ if (phase.description) {
89
+ console.log(`${indent} ${chalk.dim(phase.description.split('\n')[0].slice(0, 80))}`);
90
+ }
91
+ console.log(`${indent} ${formatPhaseStatus(phase.status)} ${chalk.gray('id: ' + phase.id)}`);
92
+ console.log();
93
+ }
51
94
  function printTask(task, indent = ' ') {
52
95
  const dueLabel = task.dueDate ? chalk.dim(` · due ${new Date(task.dueDate).toLocaleDateString()}`) : '';
53
96
  const assignee = task.assignedTo?.name ? chalk.dim(` · ${task.assignedTo.name}`) : '';
54
- console.log(`${indent}${chalk.cyan(task.title)}`);
55
- console.log(`${indent} ${formatStatus(task.status)}${assignee}${dueLabel}`);
97
+ const priorityBadge = task.priority ? formatPriority(task.priority) : '';
98
+ console.log(`${indent}${chalk.cyan(task.title)}${priorityBadge}`);
99
+ console.log(`${indent} ${formatTaskStatus(task.status)}${assignee}${dueLabel}`);
56
100
  if (task.description) {
57
101
  console.log(`${indent} ${chalk.dim(task.description)}`);
58
102
  }
@@ -60,59 +104,65 @@ function printTask(task, indent = ' ') {
60
104
  console.log();
61
105
  }
62
106
  export const tasksCommand = new Command('tasks')
63
- .description('Manage tasks for workflows and workspaces. For project workflows, tasks are stored as phase files in the Project Library — no separate "tasks DB" — so they are always visible alongside build phases.');
107
+ .description('Manage tasks and project phases for workflows and workspaces');
64
108
  // ── tasks list ────────────────────────────────────────────────────────────────
65
109
  tasksCommand
66
110
  .command('list')
67
- .description('List tasks assigned to you (and unassigned) for a workflow or workspace')
111
+ .description('List phases for a workflow project, or workspace-level tasks')
68
112
  .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
69
113
  .option('--workflow <workflow>', 'Workflow name or ID (omit for workspace-level tasks)')
70
- .option('--status <status>', 'Filter by status: not_started, in_progress, done, dismissed')
71
- .option('--all', 'Show all tasks, not just yours (admin/owner view)')
114
+ .option('--status <status>', 'Filter by status: pending, in_progress, done, blocked (workflow) or not_started, in_progress, done (workspace)')
115
+ .option('--all', 'Show all tasks, not just yours (workspace tasks only)')
116
+ .option('--priority <level>', 'Filter by priority: high, medium, or low')
72
117
  .option('--format <format>', 'Output format (text|json)', 'text')
73
118
  .action(async (options) => {
74
- const spinner = ora('Loading tasks...').start();
119
+ const spinner = ora('Loading...').start();
75
120
  try {
76
121
  const config = await loadConfig();
77
122
  const client = new ApiClient(config.api_key, config.api_url);
78
123
  const workspace = await resolveWorkspace(client, options.workspace);
124
+ // Validate priority filter if provided
125
+ const priorityFilter = validatePriority(options.priority);
79
126
  if (options.workflow) {
80
- // Workflow tasks
81
127
  const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
82
- const params = new URLSearchParams();
83
- if (options.status)
84
- params.set('status', options.status);
85
- if (!options.all)
86
- params.set('scope', 'mine');
87
- const { data } = await client.get(`/workspaces/${workspace.id}/workflows/${workflow.id}/tasks${params.toString() ? `?${params}` : ''}`);
88
- const tasks = data.data || data || [];
128
+ const plan = await getWorkflowPlan(client, workspace.id, workflow.id);
129
+ const { data } = await client.get(`/workspaces/${workspace.id}/plans/${plan.id}/phases`);
130
+ let phases = data.data || data || [];
131
+ if (options.status) {
132
+ phases = phases.filter((p) => p.status === options.status);
133
+ }
89
134
  spinner.stop();
90
135
  if (options.format === 'json') {
91
- console.log(JSON.stringify({ workflow: workflow.name, tasks }, null, 2));
136
+ console.log(JSON.stringify({ workflow: workflow.name, plan: plan.name, phases }, null, 2));
92
137
  return;
93
138
  }
139
+ const doneCount = phases.filter((p) => p.status === 'done').length;
140
+ const openCount = phases.filter((p) => p.status !== 'done').length;
94
141
  console.log();
95
- const scopeLabel = options.all ? '' : chalk.dim(' (yours + unassigned)');
96
- console.log(chalk.bold(`Tasks for workflow: ${chalk.cyan(workflow.name)}`) + scopeLabel);
142
+ console.log(chalk.bold(`Project: ${chalk.cyan(plan.name)}`));
143
+ console.log(chalk.dim(` ${openCount} open · ${doneCount} done`));
144
+ if (plan.lastSummarizedAt) {
145
+ const days = Math.floor((Date.now() - new Date(plan.lastSummarizedAt).getTime()) / 86400000);
146
+ console.log(chalk.dim(` Last summarized: ${days === 0 ? 'today' : `${days} days ago`}`));
147
+ }
97
148
  console.log();
98
- if (tasks.length === 0) {
99
- console.log(chalk.dim(' No tasks found.'));
100
- if (!options.all)
101
- console.log(chalk.dim(' Use --all to see all tasks.'));
149
+ if (phases.length === 0) {
150
+ console.log(chalk.dim(' No phases found.'));
102
151
  console.log();
103
152
  return;
104
153
  }
105
- for (const task of tasks) {
106
- printTask(task);
154
+ for (const phase of phases) {
155
+ printPhase(phase);
107
156
  }
108
- console.log(chalk.dim(`${tasks.length} task(s) · contextium tasks add -w ${options.workspace} --workflow "${workflow.name}" -t "New task"`));
157
+ console.log(chalk.dim(`${phases.length} phase(s) · contextium tasks add -w ${options.workspace} --workflow "${workflow.name}" -t "New phase"`));
109
158
  console.log();
110
159
  }
111
160
  else {
112
- // Workspace-level tasks
113
161
  const params = new URLSearchParams();
114
162
  if (options.status)
115
163
  params.set('status', options.status);
164
+ if (priorityFilter)
165
+ params.set('priority', priorityFilter);
116
166
  if (!options.all)
117
167
  params.set('scope', 'mine');
118
168
  const { data } = await client.get(`/workspaces/${workspace.id}/workspace-tasks${params.toString() ? `?${params}` : ''}`);
@@ -122,8 +172,8 @@ tasksCommand
122
172
  console.log(JSON.stringify({ workspace: workspace.name, tasks }, null, 2));
123
173
  return;
124
174
  }
125
- console.log();
126
175
  const scopeLabel = options.all ? '' : chalk.dim(' (yours + unassigned)');
176
+ console.log();
127
177
  console.log(chalk.bold(`Workspace tasks: ${chalk.cyan(workspace.name)}`) + scopeLabel);
128
178
  console.log();
129
179
  if (tasks.length === 0) {
@@ -141,14 +191,14 @@ tasksCommand
141
191
  }
142
192
  }
143
193
  catch (error) {
144
- spinner.fail(`Failed to load tasks: ${error.message}`);
194
+ spinner.fail(`Failed to load: ${error.message}`);
145
195
  process.exit(1);
146
196
  }
147
197
  });
148
198
  // ── tasks mine ────────────────────────────────────────────────────────────────
149
199
  tasksCommand
150
200
  .command('mine')
151
- .description('List tasks assigned to you across all workflows')
201
+ .description('List workspace-level tasks assigned to you')
152
202
  .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
153
203
  .option('--status <status>', 'Filter by status: not_started, in_progress, done')
154
204
  .option('--format <format>', 'Output format (text|json)', 'text')
@@ -190,129 +240,145 @@ tasksCommand
190
240
  // ── tasks add ─────────────────────────────────────────────────────────────────
191
241
  tasksCommand
192
242
  .command('add')
193
- .description('Add a task to a workflow or workspace. For project workflows, the task is stored as a phase file tagged "task" in the Project Library.')
243
+ .description('Add a phase to a workflow project, or a task to the workspace')
194
244
  .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
195
- .requiredOption('-t, --title <title>', 'Task title')
196
- .option('--workflow <workflow>', 'Workflow name or ID (omit for workspace-level task)')
197
- .option('-d, --description <text>', 'Task description')
198
- .option('--due <date>', 'Due date (ISO format: YYYY-MM-DD)')
199
- .option('--assign <member>', 'Assign to a workspace member (name or email)')
245
+ .requiredOption('-t, --title <title>', 'Phase or task title')
246
+ .option('--workflow <workflow>', 'Workflow name or ID (adds a phase to the workflow project)')
247
+ .option('-d, --description <text>', 'Description or acceptance criteria')
248
+ .option('--due <date>', 'Due date ISO format: YYYY-MM-DD (workspace tasks only)')
249
+ .option('--assign <member>', 'Assign to a workspace member (workspace tasks) or agent name (phases)')
250
+ .option('--priority <level>', 'Task priority: high, medium, or low (workspace tasks only)')
200
251
  .option('--format <format>', 'Output format (text|json)', 'text')
201
252
  .action(async (options) => {
202
- const spinner = ora('Creating task...').start();
253
+ const spinner = ora('Creating...').start();
203
254
  try {
204
255
  const config = await loadConfig();
205
256
  const client = new ApiClient(config.api_key, config.api_url);
206
257
  const workspace = await resolveWorkspace(client, options.workspace);
207
- const body = { title: options.title, source: 'cli' };
208
- if (options.description)
209
- body.description = options.description;
210
- if (options.due)
211
- body.dueDate = options.due;
212
- if (options.assign) {
213
- const member = await resolveWorkspaceMember(client, workspace.id, options.assign);
214
- body.assignedTo = member.id;
215
- }
216
- let task;
258
+ // Validate priority if provided
259
+ const priority = validatePriority(options.priority);
217
260
  if (options.workflow) {
218
261
  const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
219
- const { data } = await client.post(`/workspaces/${workspace.id}/workflows/${workflow.id}/tasks`, body);
220
- task = data.data || data;
262
+ const plan = await getWorkflowPlan(client, workspace.id, workflow.id);
263
+ const body = { title: options.title, source: 'cli' };
264
+ if (options.description)
265
+ body.description = options.description;
266
+ const { data } = await client.post(`/workspaces/${workspace.id}/plans/${plan.id}/phases`, body);
267
+ const phase = data.data || data;
268
+ spinner.stop();
269
+ if (options.format === 'json') {
270
+ console.log(JSON.stringify(phase, null, 2));
271
+ return;
272
+ }
273
+ console.log(chalk.green('\n✓ Phase added'));
274
+ console.log(` ${chalk.cyan(phase.title)}`);
275
+ console.log(` ${chalk.gray('id: ' + phase.id)}`);
276
+ console.log();
221
277
  }
222
278
  else {
279
+ const body = { title: options.title, source: 'cli' };
280
+ if (options.description)
281
+ body.description = options.description;
282
+ if (options.due)
283
+ body.dueDate = options.due;
284
+ if (priority)
285
+ body.priority = priority;
286
+ if (options.assign) {
287
+ const member = await resolveWorkspaceMember(client, workspace.id, options.assign);
288
+ body.assignedTo = member.id;
289
+ }
223
290
  const { data } = await client.post(`/workspaces/${workspace.id}/workspace-tasks`, body);
224
- task = data.data || data;
225
- }
226
- spinner.stop();
227
- if (options.format === 'json') {
228
- console.log(JSON.stringify(task, null, 2));
229
- return;
230
- }
231
- console.log(chalk.green('\n✓ Task created'));
232
- console.log(` ${chalk.cyan(task.title)}`);
233
- console.log(` ${chalk.gray('id: ' + task.id)}`);
234
- if (task.assignedTo?.name)
235
- console.log(` Assigned to: ${task.assignedTo.name}`);
236
- if (options.workflow) {
237
- console.log(chalk.dim(` Stored as a phase file in the Project Library`));
291
+ const task = data.data || data;
292
+ spinner.stop();
293
+ if (options.format === 'json') {
294
+ console.log(JSON.stringify(task, null, 2));
295
+ return;
296
+ }
297
+ console.log(chalk.green('\n✓ Task created'));
298
+ console.log(` ${chalk.cyan(task.title)}${priority ? formatPriority(priority) : ''}`);
299
+ console.log(` ${chalk.gray('id: ' + task.id)}`);
300
+ if (task.assignedTo?.name)
301
+ console.log(` Assigned to: ${task.assignedTo.name}`);
302
+ console.log();
238
303
  }
239
- console.log();
240
304
  }
241
305
  catch (error) {
242
- spinner.fail(`Failed to create task: ${error.message}`);
306
+ spinner.fail(`Failed to create: ${error.message}`);
243
307
  process.exit(1);
244
308
  }
245
309
  });
246
310
  // ── tasks status ──────────────────────────────────────────────────────────────
247
311
  tasksCommand
248
312
  .command('status')
249
- .description('Update task status')
313
+ .description('Update a phase or task status')
250
314
  .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
251
- .requiredOption('--id <taskId>', 'Task ID')
252
- .requiredOption('--set <status>', 'New status: not_started, in_progress, done, dismissed')
253
- .option('--workflow <workflow>', 'Workflow name or ID (required for workflow tasks)')
315
+ .requiredOption('--id <id>', 'Phase or task ID')
316
+ .requiredOption('--set <status>', 'New status. Phases: pending, in_progress, done, blocked. Workspace tasks: not_started, in_progress, done, dismissed')
317
+ .option('--workflow <workflow>', 'Workflow name or ID (required for workflow phases)')
254
318
  .action(async (options) => {
255
- const validStatuses = ['not_started', 'in_progress', 'done', 'dismissed'];
256
- if (!validStatuses.includes(options.set)) {
257
- console.log(chalk.red(`\nInvalid status '${options.set}'. Valid values: ${validStatuses.join(', ')}\n`));
258
- process.exit(1);
259
- }
260
- const spinner = ora('Updating task...').start();
319
+ const spinner = ora('Updating...').start();
261
320
  try {
262
321
  const config = await loadConfig();
263
322
  const client = new ApiClient(config.api_key, config.api_url);
264
323
  const workspace = await resolveWorkspace(client, options.workspace);
265
324
  if (options.workflow) {
266
- const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
267
- await client.patch(`/workspaces/${workspace.id}/workflows/${workflow.id}/tasks/${options.id}/status`, { status: options.set });
325
+ const validStatuses = ['pending', 'in_progress', 'done', 'blocked'];
326
+ if (!validStatuses.includes(options.set)) {
327
+ spinner.fail(`Invalid status '${options.set}'. For phases use: ${validStatuses.join(', ')}`);
328
+ process.exit(1);
329
+ }
330
+ await client.patch(`/workspaces/${workspace.id}/phases/${options.id}/status`, { status: options.set });
268
331
  }
269
332
  else {
333
+ const validStatuses = ['not_started', 'in_progress', 'done', 'dismissed'];
334
+ if (!validStatuses.includes(options.set)) {
335
+ spinner.fail(`Invalid status '${options.set}'. For workspace tasks use: ${validStatuses.join(', ')}`);
336
+ process.exit(1);
337
+ }
270
338
  await client.patch(`/workspaces/${workspace.id}/workspace-tasks/${options.id}/status`, { status: options.set });
271
339
  }
272
340
  spinner.stop();
273
- console.log(chalk.green(`\n✓ Task marked ${options.set}\n`));
341
+ console.log(chalk.green(`\n✓ Marked ${options.set}\n`));
274
342
  }
275
343
  catch (error) {
276
- spinner.fail(`Failed to update task: ${error.message}`);
344
+ spinner.fail(`Failed to update: ${error.message}`);
277
345
  process.exit(1);
278
346
  }
279
347
  });
280
348
  // ── tasks done ────────────────────────────────────────────────────────────────
281
349
  tasksCommand
282
350
  .command('done')
283
- .description('Mark a task as done')
351
+ .description('Mark a phase or task as done')
284
352
  .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
285
- .requiredOption('--id <taskId>', 'Task ID')
286
- .option('--workflow <workflow>', 'Workflow name or ID (required for workflow tasks)')
353
+ .requiredOption('--id <id>', 'Phase or task ID')
354
+ .option('--workflow <workflow>', 'Workflow name or ID (required for workflow phases)')
287
355
  .action(async (options) => {
288
- const spinner = ora('Marking task done...').start();
356
+ const spinner = ora('Marking done...').start();
289
357
  try {
290
358
  const config = await loadConfig();
291
359
  const client = new ApiClient(config.api_key, config.api_url);
292
360
  const workspace = await resolveWorkspace(client, options.workspace);
293
361
  if (options.workflow) {
294
- const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
295
- await client.patch(`/workspaces/${workspace.id}/workflows/${workflow.id}/tasks/${options.id}/status`, { status: 'done' });
362
+ await client.patch(`/workspaces/${workspace.id}/phases/${options.id}/status`, { status: 'done' });
296
363
  }
297
364
  else {
298
365
  await client.patch(`/workspaces/${workspace.id}/workspace-tasks/${options.id}/status`, { status: 'done' });
299
366
  }
300
367
  spinner.stop();
301
- console.log(chalk.green('\n✓ Task marked done\n'));
368
+ console.log(chalk.green('\n✓ Marked done\n'));
302
369
  }
303
370
  catch (error) {
304
- spinner.fail(`Failed to update task: ${error.message}`);
371
+ spinner.fail(`Failed to update: ${error.message}`);
305
372
  process.exit(1);
306
373
  }
307
374
  });
308
375
  // ── tasks assign ──────────────────────────────────────────────────────────────
309
376
  tasksCommand
310
377
  .command('assign')
311
- .description('Assign a task to a workspace member')
378
+ .description('Assign a workspace task to a member')
312
379
  .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
313
380
  .requiredOption('--id <taskId>', 'Task ID')
314
381
  .requiredOption('--to <member>', 'Member name or email (use "none" to unassign)')
315
- .option('--workflow <workflow>', 'Workflow name or ID (required for workflow tasks)')
316
382
  .action(async (options) => {
317
383
  const spinner = ora('Assigning task...').start();
318
384
  try {
@@ -324,13 +390,7 @@ tasksCommand
324
390
  const member = await resolveWorkspaceMember(client, workspace.id, options.to);
325
391
  assignedTo = member.id;
326
392
  }
327
- if (options.workflow) {
328
- const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
329
- await client.patch(`/workspaces/${workspace.id}/workflows/${workflow.id}/tasks/${options.id}/assign`, { assignedTo });
330
- }
331
- else {
332
- await client.patch(`/workspaces/${workspace.id}/workspace-tasks/${options.id}/assign`, { assignedTo });
333
- }
393
+ await client.patch(`/workspaces/${workspace.id}/workspace-tasks/${options.id}/assign`, { assignedTo });
334
394
  spinner.stop();
335
395
  const msg = assignedTo ? `Task assigned to ${options.to}` : 'Task unassigned';
336
396
  console.log(chalk.green(`\n✓ ${msg}\n`));
@@ -340,4 +400,63 @@ tasksCommand
340
400
  process.exit(1);
341
401
  }
342
402
  });
403
+ // ── tasks delete-done ─────────────────────────────────────────────────────────
404
+ tasksCommand
405
+ .command('delete-done')
406
+ .description('Delete all done phases from a workflow project')
407
+ .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
408
+ .requiredOption('--workflow <workflow>', 'Workflow name or ID')
409
+ .action(async (options) => {
410
+ const spinner = ora('Deleting done phases...').start();
411
+ try {
412
+ const config = await loadConfig();
413
+ const client = new ApiClient(config.api_key, config.api_url);
414
+ const workspace = await resolveWorkspace(client, options.workspace);
415
+ const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
416
+ const plan = await getWorkflowPlan(client, workspace.id, workflow.id);
417
+ const { data } = await client.delete(`/workspaces/${workspace.id}/plans/${plan.id}/phases/done`);
418
+ const result = data.data || data;
419
+ spinner.stop();
420
+ if (result.deletedCount === 0) {
421
+ console.log(chalk.dim('\n No done phases to delete.\n'));
422
+ }
423
+ else {
424
+ console.log(chalk.green(`\n✓ Deleted ${result.deletedCount} done phase(s) from "${plan.name}"\n`));
425
+ }
426
+ }
427
+ catch (error) {
428
+ spinner.fail(`Failed to delete done phases: ${error.message}`);
429
+ process.exit(1);
430
+ }
431
+ });
432
+ // ── tasks summarize ───────────────────────────────────────────────────────────
433
+ tasksCommand
434
+ .command('summarize')
435
+ .description('Generate an AI summary of all done phases, save to a library, then delete the source phases')
436
+ .requiredOption('-w, --workspace <workspace>', 'Workspace name or slug')
437
+ .requiredOption('--workflow <workflow>', 'Workflow name or ID')
438
+ .requiredOption('--library <libraryId>', 'Library ID to save the summary file into')
439
+ .requiredOption('--title <title>', 'Title for the summary file, e.g. "Auth Rewrite — June 2026"')
440
+ .action(async (options) => {
441
+ const spinner = ora('Generating summary...').start();
442
+ try {
443
+ const config = await loadConfig();
444
+ const client = new ApiClient(config.api_key, config.api_url);
445
+ const workspace = await resolveWorkspace(client, options.workspace);
446
+ const workflow = await resolveWorkflow(client, workspace.id, options.workflow);
447
+ const plan = await getWorkflowPlan(client, workspace.id, workflow.id);
448
+ const { data } = await client.post(`/workspaces/${workspace.id}/plans/${plan.id}/phases/summarize`, { libraryId: options.library, summaryTitle: options.title });
449
+ const result = data.data || data;
450
+ spinner.stop();
451
+ console.log(chalk.green('\n✓ Summary complete'));
452
+ console.log(` File: ${chalk.cyan(result.fileTitle)}`);
453
+ console.log(` ${chalk.gray('id: ' + result.fileId)}`);
454
+ console.log(` Phases summarized and deleted: ${result.deletedCount}`);
455
+ console.log();
456
+ }
457
+ catch (error) {
458
+ spinner.fail(`Failed to summarize: ${error.message}`);
459
+ process.exit(1);
460
+ }
461
+ });
343
462
  //# sourceMappingURL=tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/commands/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/commands/tasks.ts"],"names":[],"mappings":"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"}
@@ -95,14 +95,26 @@ workflowsCommand
95
95
  const data = { name: options.name };
96
96
  if (options.description)
97
97
  data.description = options.description;
98
- // Auto-create/reuse standard workflow agents (Planner/Builder/Reviewer) when no --agents provided
98
+ // Auto-create/reuse standard harness agents (Initializer/Coder/Evaluator) when no --agents provided
99
99
  if (!options.agents) {
100
100
  const { data: agentsData } = await client.get(`/workspaces/${workspace.id}/agents`);
101
101
  const existingAgents = agentsData.data || agentsData || [];
102
102
  const projectAgentDefs = [
103
- { name: 'Planner', description: 'Plans the project — breaks the goal into discrete phases and writes each as an individual file in the project library.' },
104
- { name: 'Builder', description: 'Executes one phase per session — reads the next pending phase and completes it.' },
105
- { name: 'Reviewer', description: 'Reviews each completed phase before it is marked done checks quality, correctness, and completeness.' },
103
+ {
104
+ name: 'Harness Initializer',
105
+ description: 'Generic harness initializer runs once at the start of a workflow; reads the existing reference material, writes the spec, and breaks it into individual tagged phase files in the workflow\'s project library. Reused across every workflow in this workspace.',
106
+ systemPrompt: 'You are a project initializer. Your job is to run once at the start of a new workflow: read the provided reference material and goal, write a concise spec, then break the work into discrete phases. Create each phase as an individual tagged file in the workflow\'s project library. Mark each phase file with status: pending. Hand off to the Coder when done.',
107
+ },
108
+ {
109
+ name: 'Harness Coder',
110
+ description: 'Generic harness coder — implements ONE phase per session. Calls get_next_phase, marks it in_progress, writes the code, then hands off to the Evaluator. Reused across every workflow in this workspace.',
111
+ systemPrompt: 'You are a focused implementer. Each session you implement exactly ONE phase. Call get_next_phase to find your work, mark it in_progress, implement it completely, then hand off to the Evaluator. Do not start a second phase until the first is reviewed and marked complete.',
112
+ },
113
+ {
114
+ name: 'Harness Evaluator',
115
+ description: 'Generic harness evaluator — independently grades each Coder implementation against its phase file\'s acceptance criteria before it can be marked complete. Reused across every workflow in this workspace.',
116
+ systemPrompt: 'You are an independent reviewer. For each phase handed to you by the Coder, read the phase file\'s acceptance criteria and verify the implementation meets every criterion. Either approve (mark the phase complete) or return it to the Coder with specific, actionable feedback. Never skip or rubber-stamp a review.',
117
+ },
106
118
  ];
107
119
  const projectAgentIds = [];
108
120
  for (const def of projectAgentDefs) {
@@ -111,7 +123,7 @@ workflowsCommand
111
123
  projectAgentIds.push(existing.id);
112
124
  }
113
125
  else {
114
- const { data: created } = await client.post(`/workspaces/${workspace.id}/agents`, { name: def.name, description: def.description });
126
+ const { data: created } = await client.post(`/workspaces/${workspace.id}/agents`, { name: def.name, description: def.description, systemPrompt: def.systemPrompt });
115
127
  projectAgentIds.push((created.data || created).id);
116
128
  }
117
129
  }