@execufunction/cli 0.3.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/calendar/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,SAA0B;IAE5C,MAAM,CAAC,KAAK;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAwB9B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/calendar/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,SAA0B;IAE5C,MAAM,CAAC,KAAK;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAgC9B"}
@@ -14,9 +14,15 @@ class CalendarList extends base_command_js_1.BaseCommand {
14
14
  async run() {
15
15
  const { flags } = await this.parse(CalendarList);
16
16
  const client = await this.client(flags);
17
+ // Default to today through 7 days from now
18
+ const now = new Date();
19
+ const weekFromNow = new Date(now);
20
+ weekFromNow.setDate(weekFromNow.getDate() + 7);
21
+ const startDate = flags.start ?? now.toISOString();
22
+ const endDate = flags.end ?? weekFromNow.toISOString();
17
23
  const response = await client.listCalendarEvents({
18
- startDate: flags.start,
19
- endDate: flags.end,
24
+ startDate,
25
+ endDate,
20
26
  limit: flags.limit,
21
27
  });
22
28
  this.handleApiError(response);
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/calendar/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgE;AAEhE,MAAqB,YAAa,SAAQ,6BAAW;IACnD,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;IAE5C,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,uBAAuB,EAAC,CAAC;QAC3D,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAC,CAAC;QACvD,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,MAAM,EAAE;gBAClB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,SAAmB,CAAC,EAAC;gBACtF,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,OAAiB,CAAC,EAAC;gBAChF,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAjCH,+BAkCC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/calendar/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgE;AAEhE,MAAqB,YAAa,SAAQ,6BAAW;IACnD,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;IAE5C,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,uBAAuB,EAAC,CAAC;QAC3D,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAC,CAAC;QACvD,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAExC,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC/C,SAAS;YACT,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,MAAM,EAAE;gBAClB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,SAAmB,CAAC,EAAC;gBACtF,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,OAAiB,CAAC,EAAC;gBAChF,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAzCH,+BA0CC"}
@@ -36,7 +36,7 @@ class CodebaseSearch extends base_command_js_1.BaseCommand {
36
36
  { key: 'filePath', header: 'File' },
37
37
  { key: 'symbolName', header: 'Symbol' },
38
38
  { key: 'symbolType', header: 'Type' },
39
- { key: 'score', header: 'Score', get: (r) => r.score != null ? String(Number(r.score).toFixed(2)) : '—' },
39
+ { key: 'similarity', header: 'Score', get: (r) => r.similarity != null ? String(Number(r.similarity).toFixed(2)) : '—' },
40
40
  ]);
41
41
  }
42
42
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/codebase/search.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,cAAe,SAAQ,6BAAW;IACrD,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;IAE5C,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,eAAe,EAAC,CAAC;QAClD,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;QAC3D,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;SACtE,CAAC;QACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,KAAK,CAAC,IAAI;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAA,uBAAW,EAAC,OAAO,EAAE;oBACnB,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;oBACjC,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAC;oBACrC,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAC;oBACnC,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC;iBACxG,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AA9CH,iCA+CC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/codebase/search.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,cAAe,SAAQ,6BAAW;IACrD,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;IAE5C,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,eAAe,EAAC,CAAC;QAClD,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;QAC3D,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;SACtE,CAAC;QACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,KAAK,CAAC,IAAI;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAA,uBAAW,EAAC,OAAO,EAAE;oBACnB,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;oBACjC,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAC;oBACrC,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAC;oBACnC,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC;iBACvH,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AA9CH,iCA+CC"}
@@ -8,6 +8,11 @@ export default class TasksCreate extends BaseCommand {
8
8
  priority: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
9
  due: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ phase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ effort: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'executor-agent': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'acceptance-criteria': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ scope: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
16
  token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
17
  'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
18
  'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAuB9B"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MA4BV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAgD9B"}
@@ -7,6 +7,7 @@ class TasksCreate extends base_command_js_1.BaseCommand {
7
7
  static examples = [
8
8
  '<%= config.bin %> tasks create --title "Review PR"',
9
9
  '<%= config.bin %> tasks create --title "Ship feature" --priority do_now --due 2026-03-01',
10
+ '<%= config.bin %> tasks create --title "Refactor auth" --effort medium --phase draft',
10
11
  ];
11
12
  static flags = {
12
13
  ...base_command_js_1.BaseCommand.baseFlags,
@@ -18,16 +19,58 @@ class TasksCreate extends base_command_js_1.BaseCommand {
18
19
  }),
19
20
  due: core_1.Flags.string({ description: 'Due date (ISO 8601)' }),
20
21
  project: core_1.Flags.string({ description: 'Project ID' }),
22
+ phase: core_1.Flags.string({
23
+ description: 'Lifecycle phase',
24
+ options: ['draft', 'open', 'in_flight', 'review', 'blocked', 'done', 'cancelled'],
25
+ }),
26
+ effort: core_1.Flags.string({
27
+ description: 'Effort estimate',
28
+ options: ['trivial', 'small', 'medium', 'large', 'epic', 'unknown'],
29
+ }),
30
+ 'executor-agent': core_1.Flags.string({
31
+ description: 'AI executor agent',
32
+ options: ['claude_code', 'openclaw', 'cursor', 'windsurf'],
33
+ }),
34
+ 'acceptance-criteria': core_1.Flags.string({
35
+ description: 'Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")',
36
+ }),
37
+ scope: core_1.Flags.string({
38
+ description: 'Scope boundaries (JSON object with include/exclude arrays)',
39
+ }),
21
40
  };
22
41
  async run() {
23
42
  const { flags } = await this.parse(TasksCreate);
24
43
  const client = await this.client(flags);
44
+ // Parse acceptance criteria: semicolon-separated → array of {text, met: false}
45
+ let acceptanceCriteria;
46
+ if (flags['acceptance-criteria']) {
47
+ acceptanceCriteria = flags['acceptance-criteria']
48
+ .split(';')
49
+ .map(s => s.trim())
50
+ .filter(Boolean)
51
+ .map(text => ({ text, met: false }));
52
+ }
53
+ // Parse scope as JSON
54
+ let scope;
55
+ if (flags.scope) {
56
+ try {
57
+ scope = JSON.parse(flags.scope);
58
+ }
59
+ catch {
60
+ this.error('Invalid JSON for --scope flag');
61
+ }
62
+ }
25
63
  const response = await client.createTask({
26
64
  title: flags.title,
27
65
  description: flags.description,
28
66
  priority: flags.priority,
29
67
  dueAt: flags.due,
30
68
  projectId: flags.project,
69
+ phase: flags.phase,
70
+ effort: flags.effort,
71
+ executorAgent: flags['executor-agent'],
72
+ acceptanceCriteria,
73
+ scope,
31
74
  }, this.idempotencyKey());
32
75
  this.handleApiError(response);
33
76
  const task = this.unwrapOne(response, 'task');
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/tasks/create.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AAEtD,MAAqB,WAAY,SAAQ,6BAAW;IAClD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IAErC,MAAM,CAAC,QAAQ,GAAG;QAChB,oDAAoD;QACpD,0FAA0F;KAC3F,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QAChE,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,kBAAkB,EAAC,CAAC;QAC5D,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;SACvD,CAAC;QACF,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAC,CAAC;QACvD,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAC,CAAC;KACnD,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CACtC;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAsE;YACtF,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,SAAS,EAAE,KAAK,CAAC,OAAO;SACzB,EACD,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AA1CH,8BA2CC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/tasks/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,WAAW,SAAsB;IAExC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAwB9B"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,WAAW,SAAsB;IAExC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAgD9B"}
@@ -18,11 +18,35 @@ class TasksGet extends base_command_js_1.BaseCommand {
18
18
  this.handleApiError(response);
19
19
  const task = this.unwrapOne(response, 'task');
20
20
  if (!this.jsonEnabled()) {
21
+ // Format acceptance criteria
22
+ const ac = task.acceptanceCriteria;
23
+ let acDisplay = '—';
24
+ if (ac && ac.length > 0) {
25
+ const met = ac.filter((c) => c.met).length;
26
+ acDisplay = `${met}/${ac.length} met\n` + ac.map((c) => ` ${c.met ? '[x]' : '[ ]'} ${c.text}`).join('\n');
27
+ }
28
+ // Format scope
29
+ const sc = task.scope;
30
+ let scopeDisplay = '—';
31
+ if (sc && ((sc.include?.length ?? 0) > 0 || (sc.exclude?.length ?? 0) > 0)) {
32
+ const parts = [];
33
+ if (sc.include?.length)
34
+ parts.push(...sc.include.map((s) => ` + ${s}`));
35
+ if (sc.exclude?.length)
36
+ parts.push(...sc.exclude.map((s) => ` - ${s}`));
37
+ scopeDisplay = parts.join('\n');
38
+ }
21
39
  (0, output_js_1.renderDetail)([
22
40
  ['ID', task.id],
23
41
  ['Title', task.title],
42
+ ['Phase', task.phase || 'open'],
43
+ ['Effort', task.effort || 'unknown'],
24
44
  ['Status', task.status],
25
45
  ['Priority', task.priority],
46
+ ['Executor', task.executorAgent || '—'],
47
+ ['Blocked Reason', task.blockedReason || '—'],
48
+ ['Acceptance Criteria', acDisplay],
49
+ ['Scope', scopeDisplay],
26
50
  ['Description', task.description],
27
51
  ['Due', (0, output_js_1.formatDate)(task.dueAt)],
28
52
  ['Project', task.projectId],
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/tasks/get.ts"],"names":[],"mappings":";;AAAA,sCAAiC;AACjC,+DAAsD;AACtD,mDAA6D;AAE7D,MAAqB,QAAS,SAAQ,6BAAW;IAC/C,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAExC,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,wBAAY,EAAC;gBACX,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACf,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;gBACrB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC3B,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;gBACjC,CAAC,KAAK,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,KAAe,CAAC,CAAC;gBACzC,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3B,CAAC,SAAS,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;gBACjD,CAAC,SAAS,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAlCH,2BAmCC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/tasks/get.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export default class TasksList extends BaseCommand {
6
6
  status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ phase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ effort: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'executor-agent': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
12
  token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
13
  'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
14
  'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,WAAW,SAAgB;IAElC,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAwB9B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,WAAW,SAAgB;IAElC,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAoBV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CA4B9B"}
@@ -18,6 +18,18 @@ class TasksList extends base_command_js_1.BaseCommand {
18
18
  }),
19
19
  project: core_1.Flags.string({ description: 'Filter by project ID' }),
20
20
  limit: core_1.Flags.integer({ description: 'Maximum number of results' }),
21
+ phase: core_1.Flags.string({
22
+ description: 'Filter by phase',
23
+ options: ['draft', 'open', 'in_flight', 'review', 'blocked', 'done', 'cancelled'],
24
+ }),
25
+ effort: core_1.Flags.string({
26
+ description: 'Filter by effort',
27
+ options: ['trivial', 'small', 'medium', 'large', 'epic', 'unknown'],
28
+ }),
29
+ 'executor-agent': core_1.Flags.string({
30
+ description: 'Filter by executor agent',
31
+ options: ['claude_code', 'openclaw', 'cursor', 'windsurf'],
32
+ }),
21
33
  };
22
34
  async run() {
23
35
  const { flags } = await this.parse(TasksList);
@@ -26,6 +38,9 @@ class TasksList extends base_command_js_1.BaseCommand {
26
38
  status: flags.status,
27
39
  projectId: flags.project,
28
40
  limit: flags.limit,
41
+ phase: flags.phase,
42
+ effort: flags.effort,
43
+ executorAgent: flags['executor-agent'],
29
44
  });
30
45
  this.handleApiError(response);
31
46
  const tasks = this.unwrapList(response, 'tasks');
@@ -33,8 +48,9 @@ class TasksList extends base_command_js_1.BaseCommand {
33
48
  (0, output_js_1.renderTable)(tasks, [
34
49
  { key: 'id', header: 'ID' },
35
50
  { key: 'title', header: 'Title' },
51
+ { key: 'phase', header: 'Phase', get: (r) => r.phase || 'open' },
52
+ { key: 'effort', header: 'Effort', get: (r) => r.effort || '—' },
36
53
  { key: 'status', header: 'Status' },
37
- { key: 'priority', header: 'Priority' },
38
54
  { key: 'dueAt', header: 'Due', get: (r) => r.dueAt ? new Date(r.dueAt).toLocaleDateString() : '—' },
39
55
  ]);
40
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/tasks/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,SAAU,SAAQ,6BAAW;IAChD,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;IAElC,MAAM,CAAC,QAAQ,GAAG;QAChB,8BAA8B;QAC9B,mDAAmD;QACnD,4DAA4D;KAC7D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,sBAAsB,EAAC,CAAC;QAC5D,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,KAAK,EAAE;gBACjB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;gBACjC,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;gBACrC,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAC;aAC5G,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;;AA1CH,4BA2CC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/tasks/list.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export default class TasksUpdate extends BaseCommand {
11
11
  priority: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  due: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ phase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ effort: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'executor-agent': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'blocked-reason': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'acceptance-criteria': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ scope: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
20
  token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
21
  'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
22
  'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAcV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAqB9B"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/tasks/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;MAiCV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAuC9B"}
@@ -21,6 +21,25 @@ class TasksUpdate extends base_command_js_1.BaseCommand {
21
21
  }),
22
22
  due: core_1.Flags.string({ description: 'Due date (ISO 8601)' }),
23
23
  project: core_1.Flags.string({ description: 'Project ID' }),
24
+ phase: core_1.Flags.string({
25
+ description: 'Lifecycle phase',
26
+ options: ['draft', 'open', 'in_flight', 'review', 'blocked', 'done', 'cancelled'],
27
+ }),
28
+ effort: core_1.Flags.string({
29
+ description: 'Effort estimate',
30
+ options: ['trivial', 'small', 'medium', 'large', 'epic', 'unknown'],
31
+ }),
32
+ 'executor-agent': core_1.Flags.string({
33
+ description: 'AI executor agent',
34
+ options: ['claude_code', 'openclaw', 'cursor', 'windsurf'],
35
+ }),
36
+ 'blocked-reason': core_1.Flags.string({ description: 'Reason task is blocked' }),
37
+ 'acceptance-criteria': core_1.Flags.string({
38
+ description: 'Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")',
39
+ }),
40
+ scope: core_1.Flags.string({
41
+ description: 'Scope boundaries (JSON object with include/exclude arrays)',
42
+ }),
24
43
  };
25
44
  async run() {
26
45
  const { args, flags } = await this.parse(TasksUpdate);
@@ -38,6 +57,29 @@ class TasksUpdate extends base_command_js_1.BaseCommand {
38
57
  updates.dueAt = flags.due;
39
58
  if (flags.project !== undefined)
40
59
  updates.projectId = flags.project;
60
+ if (flags.phase !== undefined)
61
+ updates.phase = flags.phase;
62
+ if (flags.effort !== undefined)
63
+ updates.effort = flags.effort;
64
+ if (flags['executor-agent'] !== undefined)
65
+ updates.executorAgent = flags['executor-agent'];
66
+ if (flags['blocked-reason'] !== undefined)
67
+ updates.blockedReason = flags['blocked-reason'];
68
+ if (flags['acceptance-criteria'] !== undefined) {
69
+ updates.acceptanceCriteria = flags['acceptance-criteria']
70
+ .split(';')
71
+ .map((s) => s.trim())
72
+ .filter(Boolean)
73
+ .map((text) => ({ text, met: false }));
74
+ }
75
+ if (flags.scope !== undefined) {
76
+ try {
77
+ updates.scope = JSON.parse(flags.scope);
78
+ }
79
+ catch {
80
+ this.error('Invalid JSON for --scope flag');
81
+ }
82
+ }
41
83
  const response = await client.updateTask(args.id, updates, this.idempotencyKey());
42
84
  this.handleApiError(response);
43
85
  if (!this.jsonEnabled()) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/tasks/update.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AAEtD,MAAqB,WAAY,SAAQ,6BAAW;IAClD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IAErC,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAC,CAAC;QAChD,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,kBAAkB,EAAC,CAAC;QAC5D,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC;SACzF,CAAC;QACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;SACvD,CAAC;QACF,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAC,CAAC;QACvD,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAC,CAAC;KACnD,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3D,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpE,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;QACvD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QAEnE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AA3CH,8BA4CC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/tasks/update.ts"],"names":[],"mappings":"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"}
@@ -1491,6 +1491,136 @@
1491
1491
  "upload.js"
1492
1492
  ]
1493
1493
  },
1494
+ "people:list": {
1495
+ "aliases": [],
1496
+ "args": {},
1497
+ "description": "List contacts",
1498
+ "flags": {
1499
+ "json": {
1500
+ "description": "Format output as json.",
1501
+ "helpGroup": "GLOBAL",
1502
+ "name": "json",
1503
+ "allowNo": false,
1504
+ "type": "boolean"
1505
+ },
1506
+ "token": {
1507
+ "description": "Personal access token",
1508
+ "env": "EXF_TOKEN",
1509
+ "helpGroup": "GLOBAL",
1510
+ "name": "token",
1511
+ "hasDynamicHelp": false,
1512
+ "multiple": false,
1513
+ "type": "option"
1514
+ },
1515
+ "api-url": {
1516
+ "description": "API base URL",
1517
+ "env": "EXF_API_URL",
1518
+ "helpGroup": "GLOBAL",
1519
+ "name": "api-url",
1520
+ "default": "https://execufunction.com",
1521
+ "hasDynamicHelp": false,
1522
+ "multiple": false,
1523
+ "type": "option"
1524
+ },
1525
+ "no-input": {
1526
+ "description": "Disable interactive prompts",
1527
+ "helpGroup": "GLOBAL",
1528
+ "name": "no-input",
1529
+ "allowNo": false,
1530
+ "type": "boolean"
1531
+ },
1532
+ "limit": {
1533
+ "description": "Maximum number of results",
1534
+ "name": "limit",
1535
+ "hasDynamicHelp": false,
1536
+ "multiple": false,
1537
+ "type": "option"
1538
+ }
1539
+ },
1540
+ "hasDynamicHelp": false,
1541
+ "hiddenAliases": [],
1542
+ "id": "people:list",
1543
+ "pluginAlias": "@execufunction/cli",
1544
+ "pluginName": "@execufunction/cli",
1545
+ "pluginType": "core",
1546
+ "strict": true,
1547
+ "enableJsonFlag": true,
1548
+ "isESM": false,
1549
+ "relativePath": [
1550
+ "dist",
1551
+ "commands",
1552
+ "people",
1553
+ "list.js"
1554
+ ]
1555
+ },
1556
+ "people:search": {
1557
+ "aliases": [],
1558
+ "args": {
1559
+ "query": {
1560
+ "description": "Search query",
1561
+ "name": "query",
1562
+ "required": true
1563
+ }
1564
+ },
1565
+ "description": "Search contacts",
1566
+ "flags": {
1567
+ "json": {
1568
+ "description": "Format output as json.",
1569
+ "helpGroup": "GLOBAL",
1570
+ "name": "json",
1571
+ "allowNo": false,
1572
+ "type": "boolean"
1573
+ },
1574
+ "token": {
1575
+ "description": "Personal access token",
1576
+ "env": "EXF_TOKEN",
1577
+ "helpGroup": "GLOBAL",
1578
+ "name": "token",
1579
+ "hasDynamicHelp": false,
1580
+ "multiple": false,
1581
+ "type": "option"
1582
+ },
1583
+ "api-url": {
1584
+ "description": "API base URL",
1585
+ "env": "EXF_API_URL",
1586
+ "helpGroup": "GLOBAL",
1587
+ "name": "api-url",
1588
+ "default": "https://execufunction.com",
1589
+ "hasDynamicHelp": false,
1590
+ "multiple": false,
1591
+ "type": "option"
1592
+ },
1593
+ "no-input": {
1594
+ "description": "Disable interactive prompts",
1595
+ "helpGroup": "GLOBAL",
1596
+ "name": "no-input",
1597
+ "allowNo": false,
1598
+ "type": "boolean"
1599
+ },
1600
+ "limit": {
1601
+ "description": "Maximum number of results",
1602
+ "name": "limit",
1603
+ "hasDynamicHelp": false,
1604
+ "multiple": false,
1605
+ "type": "option"
1606
+ }
1607
+ },
1608
+ "hasDynamicHelp": false,
1609
+ "hiddenAliases": [],
1610
+ "id": "people:search",
1611
+ "pluginAlias": "@execufunction/cli",
1612
+ "pluginName": "@execufunction/cli",
1613
+ "pluginType": "core",
1614
+ "strict": true,
1615
+ "enableJsonFlag": true,
1616
+ "isESM": false,
1617
+ "relativePath": [
1618
+ "dist",
1619
+ "commands",
1620
+ "people",
1621
+ "search.js"
1622
+ ]
1623
+ },
1494
1624
  "notes:create": {
1495
1625
  "aliases": [],
1496
1626
  "args": {},
@@ -1961,136 +2091,6 @@
1961
2091
  "update.js"
1962
2092
  ]
1963
2093
  },
1964
- "people:list": {
1965
- "aliases": [],
1966
- "args": {},
1967
- "description": "List contacts",
1968
- "flags": {
1969
- "json": {
1970
- "description": "Format output as json.",
1971
- "helpGroup": "GLOBAL",
1972
- "name": "json",
1973
- "allowNo": false,
1974
- "type": "boolean"
1975
- },
1976
- "token": {
1977
- "description": "Personal access token",
1978
- "env": "EXF_TOKEN",
1979
- "helpGroup": "GLOBAL",
1980
- "name": "token",
1981
- "hasDynamicHelp": false,
1982
- "multiple": false,
1983
- "type": "option"
1984
- },
1985
- "api-url": {
1986
- "description": "API base URL",
1987
- "env": "EXF_API_URL",
1988
- "helpGroup": "GLOBAL",
1989
- "name": "api-url",
1990
- "default": "https://execufunction.com",
1991
- "hasDynamicHelp": false,
1992
- "multiple": false,
1993
- "type": "option"
1994
- },
1995
- "no-input": {
1996
- "description": "Disable interactive prompts",
1997
- "helpGroup": "GLOBAL",
1998
- "name": "no-input",
1999
- "allowNo": false,
2000
- "type": "boolean"
2001
- },
2002
- "limit": {
2003
- "description": "Maximum number of results",
2004
- "name": "limit",
2005
- "hasDynamicHelp": false,
2006
- "multiple": false,
2007
- "type": "option"
2008
- }
2009
- },
2010
- "hasDynamicHelp": false,
2011
- "hiddenAliases": [],
2012
- "id": "people:list",
2013
- "pluginAlias": "@execufunction/cli",
2014
- "pluginName": "@execufunction/cli",
2015
- "pluginType": "core",
2016
- "strict": true,
2017
- "enableJsonFlag": true,
2018
- "isESM": false,
2019
- "relativePath": [
2020
- "dist",
2021
- "commands",
2022
- "people",
2023
- "list.js"
2024
- ]
2025
- },
2026
- "people:search": {
2027
- "aliases": [],
2028
- "args": {
2029
- "query": {
2030
- "description": "Search query",
2031
- "name": "query",
2032
- "required": true
2033
- }
2034
- },
2035
- "description": "Search contacts",
2036
- "flags": {
2037
- "json": {
2038
- "description": "Format output as json.",
2039
- "helpGroup": "GLOBAL",
2040
- "name": "json",
2041
- "allowNo": false,
2042
- "type": "boolean"
2043
- },
2044
- "token": {
2045
- "description": "Personal access token",
2046
- "env": "EXF_TOKEN",
2047
- "helpGroup": "GLOBAL",
2048
- "name": "token",
2049
- "hasDynamicHelp": false,
2050
- "multiple": false,
2051
- "type": "option"
2052
- },
2053
- "api-url": {
2054
- "description": "API base URL",
2055
- "env": "EXF_API_URL",
2056
- "helpGroup": "GLOBAL",
2057
- "name": "api-url",
2058
- "default": "https://execufunction.com",
2059
- "hasDynamicHelp": false,
2060
- "multiple": false,
2061
- "type": "option"
2062
- },
2063
- "no-input": {
2064
- "description": "Disable interactive prompts",
2065
- "helpGroup": "GLOBAL",
2066
- "name": "no-input",
2067
- "allowNo": false,
2068
- "type": "boolean"
2069
- },
2070
- "limit": {
2071
- "description": "Maximum number of results",
2072
- "name": "limit",
2073
- "hasDynamicHelp": false,
2074
- "multiple": false,
2075
- "type": "option"
2076
- }
2077
- },
2078
- "hasDynamicHelp": false,
2079
- "hiddenAliases": [],
2080
- "id": "people:search",
2081
- "pluginAlias": "@execufunction/cli",
2082
- "pluginName": "@execufunction/cli",
2083
- "pluginType": "core",
2084
- "strict": true,
2085
- "enableJsonFlag": true,
2086
- "isESM": false,
2087
- "relativePath": [
2088
- "dist",
2089
- "commands",
2090
- "people",
2091
- "search.js"
2092
- ]
2093
- },
2094
2094
  "projects:archive": {
2095
2095
  "aliases": [],
2096
2096
  "args": {
@@ -2549,7 +2549,8 @@
2549
2549
  "description": "Create a task",
2550
2550
  "examples": [
2551
2551
  "<%= config.bin %> tasks create --title \"Review PR\"",
2552
- "<%= config.bin %> tasks create --title \"Ship feature\" --priority do_now --due 2026-03-01"
2552
+ "<%= config.bin %> tasks create --title \"Ship feature\" --priority do_now --due 2026-03-01",
2553
+ "<%= config.bin %> tasks create --title \"Refactor auth\" --effort medium --phase draft"
2553
2554
  ],
2554
2555
  "flags": {
2555
2556
  "json": {
@@ -2626,6 +2627,64 @@
2626
2627
  "hasDynamicHelp": false,
2627
2628
  "multiple": false,
2628
2629
  "type": "option"
2630
+ },
2631
+ "phase": {
2632
+ "description": "Lifecycle phase",
2633
+ "name": "phase",
2634
+ "hasDynamicHelp": false,
2635
+ "multiple": false,
2636
+ "options": [
2637
+ "draft",
2638
+ "open",
2639
+ "in_flight",
2640
+ "review",
2641
+ "blocked",
2642
+ "done",
2643
+ "cancelled"
2644
+ ],
2645
+ "type": "option"
2646
+ },
2647
+ "effort": {
2648
+ "description": "Effort estimate",
2649
+ "name": "effort",
2650
+ "hasDynamicHelp": false,
2651
+ "multiple": false,
2652
+ "options": [
2653
+ "trivial",
2654
+ "small",
2655
+ "medium",
2656
+ "large",
2657
+ "epic",
2658
+ "unknown"
2659
+ ],
2660
+ "type": "option"
2661
+ },
2662
+ "executor-agent": {
2663
+ "description": "AI executor agent",
2664
+ "name": "executor-agent",
2665
+ "hasDynamicHelp": false,
2666
+ "multiple": false,
2667
+ "options": [
2668
+ "claude_code",
2669
+ "openclaw",
2670
+ "cursor",
2671
+ "windsurf"
2672
+ ],
2673
+ "type": "option"
2674
+ },
2675
+ "acceptance-criteria": {
2676
+ "description": "Acceptance criteria (semicolon-separated text, e.g. \"tests pass; docs updated\")",
2677
+ "name": "acceptance-criteria",
2678
+ "hasDynamicHelp": false,
2679
+ "multiple": false,
2680
+ "type": "option"
2681
+ },
2682
+ "scope": {
2683
+ "description": "Scope boundaries (JSON object with include/exclude arrays)",
2684
+ "name": "scope",
2685
+ "hasDynamicHelp": false,
2686
+ "multiple": false,
2687
+ "type": "option"
2629
2688
  }
2630
2689
  },
2631
2690
  "hasDynamicHelp": false,
@@ -2844,6 +2903,50 @@
2844
2903
  "hasDynamicHelp": false,
2845
2904
  "multiple": false,
2846
2905
  "type": "option"
2906
+ },
2907
+ "phase": {
2908
+ "description": "Filter by phase",
2909
+ "name": "phase",
2910
+ "hasDynamicHelp": false,
2911
+ "multiple": false,
2912
+ "options": [
2913
+ "draft",
2914
+ "open",
2915
+ "in_flight",
2916
+ "review",
2917
+ "blocked",
2918
+ "done",
2919
+ "cancelled"
2920
+ ],
2921
+ "type": "option"
2922
+ },
2923
+ "effort": {
2924
+ "description": "Filter by effort",
2925
+ "name": "effort",
2926
+ "hasDynamicHelp": false,
2927
+ "multiple": false,
2928
+ "options": [
2929
+ "trivial",
2930
+ "small",
2931
+ "medium",
2932
+ "large",
2933
+ "epic",
2934
+ "unknown"
2935
+ ],
2936
+ "type": "option"
2937
+ },
2938
+ "executor-agent": {
2939
+ "description": "Filter by executor agent",
2940
+ "name": "executor-agent",
2941
+ "hasDynamicHelp": false,
2942
+ "multiple": false,
2943
+ "options": [
2944
+ "claude_code",
2945
+ "openclaw",
2946
+ "cursor",
2947
+ "windsurf"
2948
+ ],
2949
+ "type": "option"
2847
2950
  }
2848
2951
  },
2849
2952
  "hasDynamicHelp": false,
@@ -2961,6 +3064,71 @@
2961
3064
  "hasDynamicHelp": false,
2962
3065
  "multiple": false,
2963
3066
  "type": "option"
3067
+ },
3068
+ "phase": {
3069
+ "description": "Lifecycle phase",
3070
+ "name": "phase",
3071
+ "hasDynamicHelp": false,
3072
+ "multiple": false,
3073
+ "options": [
3074
+ "draft",
3075
+ "open",
3076
+ "in_flight",
3077
+ "review",
3078
+ "blocked",
3079
+ "done",
3080
+ "cancelled"
3081
+ ],
3082
+ "type": "option"
3083
+ },
3084
+ "effort": {
3085
+ "description": "Effort estimate",
3086
+ "name": "effort",
3087
+ "hasDynamicHelp": false,
3088
+ "multiple": false,
3089
+ "options": [
3090
+ "trivial",
3091
+ "small",
3092
+ "medium",
3093
+ "large",
3094
+ "epic",
3095
+ "unknown"
3096
+ ],
3097
+ "type": "option"
3098
+ },
3099
+ "executor-agent": {
3100
+ "description": "AI executor agent",
3101
+ "name": "executor-agent",
3102
+ "hasDynamicHelp": false,
3103
+ "multiple": false,
3104
+ "options": [
3105
+ "claude_code",
3106
+ "openclaw",
3107
+ "cursor",
3108
+ "windsurf"
3109
+ ],
3110
+ "type": "option"
3111
+ },
3112
+ "blocked-reason": {
3113
+ "description": "Reason task is blocked",
3114
+ "name": "blocked-reason",
3115
+ "hasDynamicHelp": false,
3116
+ "multiple": false,
3117
+ "type": "option"
3118
+ },
3119
+ "acceptance-criteria": {
3120
+ "description": "Acceptance criteria (semicolon-separated text, e.g. \"tests pass; docs updated\")",
3121
+ "name": "acceptance-criteria",
3122
+ "hasDynamicHelp": false,
3123
+ "multiple": false,
3124
+ "type": "option"
3125
+ },
3126
+ "scope": {
3127
+ "description": "Scope boundaries (JSON object with include/exclude arrays)",
3128
+ "name": "scope",
3129
+ "hasDynamicHelp": false,
3130
+ "multiple": false,
3131
+ "type": "option"
2964
3132
  }
2965
3133
  },
2966
3134
  "hasDynamicHelp": false,
@@ -3737,5 +3905,5 @@
3737
3905
  ]
3738
3906
  }
3739
3907
  },
3740
- "version": "0.3.0"
3908
+ "version": "0.4.0"
3741
3909
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@execufunction/cli",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "CLI for ExecuFunction — AI executive function assistant",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,21 +22,43 @@
22
22
  "@oclif/plugin-help"
23
23
  ],
24
24
  "topics": {
25
- "auth": { "description": "Authentication commands" },
26
- "tasks": { "description": "Task management" },
27
- "projects": { "description": "Project management" },
28
- "notes": { "description": "Knowledge notes" },
29
- "calendar": { "description": "Calendar events" },
30
- "people": { "description": "People and contacts" },
31
- "codebase": { "description": "Code indexing and search" },
32
- "code": { "description": "Code tools" },
33
- "code:memory": { "description": "Code memory and facts" },
34
- "vault": { "description": "Secrets vault" },
35
- "documents": { "description": "Document upload" }
25
+ "auth": {
26
+ "description": "Authentication commands"
27
+ },
28
+ "tasks": {
29
+ "description": "Task management"
30
+ },
31
+ "projects": {
32
+ "description": "Project management"
33
+ },
34
+ "notes": {
35
+ "description": "Knowledge notes"
36
+ },
37
+ "calendar": {
38
+ "description": "Calendar events"
39
+ },
40
+ "people": {
41
+ "description": "People and contacts"
42
+ },
43
+ "codebase": {
44
+ "description": "Code indexing and search"
45
+ },
46
+ "code": {
47
+ "description": "Code tools"
48
+ },
49
+ "code:memory": {
50
+ "description": "Code memory and facts"
51
+ },
52
+ "vault": {
53
+ "description": "Secrets vault"
54
+ },
55
+ "documents": {
56
+ "description": "Document upload"
57
+ }
36
58
  }
37
59
  },
38
60
  "dependencies": {
39
- "@execufunction/mcp-server": "^0.2.0",
61
+ "@execufunction/mcp-server": "^0.3.0",
40
62
  "@oclif/core": "^4",
41
63
  "@oclif/plugin-help": "^6"
42
64
  },