@critical-path/core 0.14.0 → 0.15.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +22 -0
  3. package/dist/deliverables.test.js +2 -2
  4. package/dist/deliverables.test.js.map +1 -1
  5. package/dist/domain/entities.d.ts +2 -1
  6. package/dist/domain/entities.d.ts.map +1 -1
  7. package/dist/domain/entities.js +11 -4
  8. package/dist/domain/entities.js.map +1 -1
  9. package/dist/domain/events.d.ts +8 -1
  10. package/dist/domain/events.d.ts.map +1 -1
  11. package/dist/domain/events.js.map +1 -1
  12. package/dist/engine/index.d.ts +7 -3
  13. package/dist/engine/index.d.ts.map +1 -1
  14. package/dist/engine/index.js +102 -13
  15. package/dist/engine/index.js.map +1 -1
  16. package/dist/index.test.js +64 -9
  17. package/dist/index.test.js.map +1 -1
  18. package/dist/status.test.d.ts +2 -0
  19. package/dist/status.test.d.ts.map +1 -0
  20. package/dist/status.test.js +199 -0
  21. package/dist/status.test.js.map +1 -0
  22. package/dist/store/firebase.d.ts.map +1 -1
  23. package/dist/store/firebase.js +12 -2
  24. package/dist/store/firebase.js.map +1 -1
  25. package/dist/store/firebase.test.js +14 -1
  26. package/dist/store/firebase.test.js.map +1 -1
  27. package/dist/store/sqlite.test.js +1 -1
  28. package/dist/store/sqlite.test.js.map +1 -1
  29. package/dist/types/index.d.ts +21 -6
  30. package/dist/types/index.d.ts.map +1 -1
  31. package/dist/use-case-validation.test.js +1 -1
  32. package/dist/use-case-validation.test.js.map +1 -1
  33. package/dist/utils/status.d.ts +7 -10
  34. package/dist/utils/status.d.ts.map +1 -1
  35. package/dist/utils/status.js +104 -21
  36. package/dist/utils/status.js.map +1 -1
  37. package/dist/utils/workflow.d.ts +1 -0
  38. package/dist/utils/workflow.d.ts.map +1 -1
  39. package/dist/utils/workflow.js +65 -18
  40. package/dist/utils/workflow.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/deliverables.test.ts +2 -2
  43. package/src/domain/entities.ts +15 -5
  44. package/src/domain/events.ts +9 -0
  45. package/src/engine/index.ts +123 -14
  46. package/src/index.test.ts +77 -9
  47. package/src/status.test.ts +226 -0
  48. package/src/store/firebase.test.ts +17 -1
  49. package/src/store/firebase.ts +12 -2
  50. package/src/store/sqlite.test.ts +1 -1
  51. package/src/types/index.ts +23 -5
  52. package/src/use-case-validation.test.ts +1 -1
  53. package/src/utils/status.ts +119 -33
  54. package/src/utils/workflow.ts +75 -18
  55. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-case-validation.test.js","sourceRoot":"","sources":["../src/use-case-validation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-case-validation.test.js","sourceRoot":"","sources":["../src/use-case-validation.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- import type { Task, StatusDefinition, CompletionState, ExecutionState } from '../types/index.js';
1
+ import type { Task, StatusDefinition, TaskDerivedStatus } from '../types/index.js';
2
2
  export declare const DEFAULT_STATUS_DEFINITIONS: Record<string, StatusDefinition>;
3
- export interface TaskLifecycleState {
4
- completionState: CompletionState;
5
- executionState: ExecutionState;
6
- isDone: boolean;
7
- isActive: boolean;
8
- isCancelled: boolean;
9
- isOverdue: boolean;
10
- isUpcoming: boolean;
3
+ export interface DeriveTaskLifecycleOptions {
4
+ customDefinitions?: StatusDefinition[];
5
+ referenceDate?: Date;
6
+ upstreamTasks?: Task[];
7
+ stalledThresholdDays?: number;
11
8
  }
12
9
  export declare function resolveStatusDefinition(statusKey: string, customDefinitions?: StatusDefinition[]): StatusDefinition;
13
- export declare function deriveTaskLifecycleState(task: Task, customDefinitions?: StatusDefinition[], referenceDate?: Date): TaskLifecycleState;
10
+ export declare function deriveTaskLifecycleState(task: Task, customDefinitionsOrOptions?: StatusDefinition[] | DeriveTaskLifecycleOptions, legacyReferenceDate?: Date): TaskDerivedStatus;
14
11
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAOvE,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GACrC,gBAAgB,CAkBlB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,aAAa,GAAE,IAAiB,GAC/B,kBAAkB,CA+BpB"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAOvE,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GACrC,gBAAgB,CAyBlB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,0BAA0B,CAAC,EAAE,gBAAgB,EAAE,GAAG,0BAA0B,EAC5E,mBAAmB,CAAC,EAAE,IAAI,GACzB,iBAAiB,CAiHnB"}
@@ -1,10 +1,10 @@
1
1
  export const DEFAULT_STATUS_DEFINITIONS = {
2
- backlog: { key: 'backlog', label: 'Backlog', completionState: 'not_done', executionState: 'inactive' },
3
- todo: { key: 'todo', label: 'To Do', completionState: 'not_done', executionState: 'inactive' },
4
- in_progress: { key: 'in_progress', label: 'In Progress', completionState: 'not_done', executionState: 'active' },
5
- in_review: { key: 'in_review', label: 'In Review', completionState: 'not_done', executionState: 'active' },
6
- done: { key: 'done', label: 'Done', completionState: 'done', executionState: 'inactive' },
7
- canceled: { key: 'canceled', label: 'Canceled', completionState: 'done', executionState: 'inactive', isCancelled: true }
2
+ backlog: { key: 'backlog', label: 'Backlog', category: 'not_started' },
3
+ todo: { key: 'todo', label: 'To Do', category: 'not_started' },
4
+ in_progress: { key: 'in_progress', label: 'In Progress', category: 'in_progress' },
5
+ in_review: { key: 'in_review', label: 'In Review', category: 'in_progress' },
6
+ done: { key: 'done', label: 'Done', category: 'completed' },
7
+ canceled: { key: 'canceled', label: 'Canceled', category: 'canceled' }
8
8
  };
9
9
  export function resolveStatusDefinition(statusKey, customDefinitions) {
10
10
  if (customDefinitions) {
@@ -16,21 +16,57 @@ export function resolveStatusDefinition(statusKey, customDefinitions) {
16
16
  return DEFAULT_STATUS_DEFINITIONS[statusKey];
17
17
  }
18
18
  // Fallback heuristic for unknown custom statuses:
19
- const isDoneKey = ['done', 'completed', 'finished', 'closed', 'canceled', 'cancelled', 'approved', 'final'].includes(statusKey.toLowerCase());
20
- const isActiveKey = ['in_progress', 'active', 'working', 'in_review', 'review'].includes(statusKey.toLowerCase());
19
+ const lower = statusKey.toLowerCase();
20
+ let category = 'not_started';
21
+ if (['canceled', 'cancelled', 'rejected', 'abandoned', 'void', 'dropped'].some((k) => lower.includes(k))) {
22
+ category = 'canceled';
23
+ }
24
+ else if (['done', 'completed', 'finished', 'closed', 'approved', 'final', 'delivered', 'shipped'].some((k) => lower.includes(k))) {
25
+ category = 'completed';
26
+ }
27
+ else if (['in_progress', 'active', 'working', 'in_review', 'review', 'testing', 'qa', 'building', 'editing'].some((k) => lower.includes(k))) {
28
+ category = 'in_progress';
29
+ }
21
30
  return {
22
31
  key: statusKey,
23
32
  label: statusKey,
24
- completionState: isDoneKey ? 'done' : 'not_done',
25
- executionState: isActiveKey ? 'active' : 'inactive',
26
- isCancelled: statusKey.toLowerCase().includes('cancel')
33
+ category
27
34
  };
28
35
  }
29
- export function deriveTaskLifecycleState(task, customDefinitions, referenceDate = new Date()) {
36
+ export function deriveTaskLifecycleState(task, customDefinitionsOrOptions, legacyReferenceDate) {
37
+ let customDefinitions;
38
+ let referenceDate = legacyReferenceDate ?? new Date();
39
+ let upstreamTasks = [];
40
+ let stalledThresholdDays = 5;
41
+ if (Array.isArray(customDefinitionsOrOptions)) {
42
+ customDefinitions = customDefinitionsOrOptions;
43
+ }
44
+ else if (customDefinitionsOrOptions) {
45
+ customDefinitions = customDefinitionsOrOptions.customDefinitions;
46
+ if (customDefinitionsOrOptions.referenceDate) {
47
+ referenceDate = customDefinitionsOrOptions.referenceDate;
48
+ }
49
+ if (customDefinitionsOrOptions.upstreamTasks) {
50
+ upstreamTasks = customDefinitionsOrOptions.upstreamTasks;
51
+ }
52
+ if (customDefinitionsOrOptions.stalledThresholdDays !== undefined) {
53
+ stalledThresholdDays = customDefinitionsOrOptions.stalledThresholdDays;
54
+ }
55
+ }
30
56
  const def = resolveStatusDefinition(task.status, customDefinitions);
31
- const isDone = def.completionState === 'done';
32
- const isActive = def.executionState === 'active';
33
- const isCancelled = Boolean(def.isCancelled);
57
+ const semanticStatus = def.category;
58
+ const isDone = semanticStatus === 'completed' || semanticStatus === 'canceled';
59
+ const isActive = semanticStatus === 'in_progress';
60
+ const isCancelled = semanticStatus === 'canceled';
61
+ // Dependency & Flow Indicators
62
+ const blockingTasks = upstreamTasks.filter((t) => {
63
+ const upstreamDef = resolveStatusDefinition(t.status, customDefinitions);
64
+ return upstreamDef.category !== 'completed';
65
+ });
66
+ const blockingTaskIds = blockingTasks.map((t) => t.id);
67
+ const isBlocked = !isDone && blockingTaskIds.length > 0;
68
+ const isReady = semanticStatus === 'not_started' && blockingTaskIds.length === 0;
69
+ // Time & Schedule Indicators
34
70
  let isOverdue = false;
35
71
  if (!isDone && task.dueDate) {
36
72
  const due = new Date(task.dueDate);
@@ -39,20 +75,67 @@ export function deriveTaskLifecycleState(task, customDefinitions, referenceDate
39
75
  }
40
76
  }
41
77
  let isUpcoming = false;
42
- if (!isDone && !isActive && task.plannedStartDate) {
78
+ if (semanticStatus === 'not_started' && task.plannedStartDate) {
43
79
  const plannedStart = new Date(task.plannedStartDate);
44
80
  if (!isNaN(plannedStart.getTime()) && plannedStart > referenceDate) {
45
81
  isUpcoming = true;
46
82
  }
47
83
  }
84
+ const isUnplanned = semanticStatus === 'not_started' && !task.iterationId && !task.plannedStartDate && !task.dueDate;
85
+ // Resource & Activity Indicators
86
+ const hasAssignee = Boolean(task.assigneeId || (task.assignees && task.assignees.length > 0));
87
+ const isUnassigned = !isDone && !hasAssignee;
88
+ let isStalled = false;
89
+ if (semanticStatus === 'in_progress') {
90
+ const lastActivity = task.updatedAt ? new Date(task.updatedAt) : (task.createdAt ? new Date(task.createdAt) : null);
91
+ if (lastActivity && !isNaN(lastActivity.getTime())) {
92
+ const thresholdMs = stalledThresholdDays * 24 * 60 * 60 * 1000;
93
+ if (referenceDate.getTime() - lastActivity.getTime() > thresholdMs) {
94
+ isStalled = true;
95
+ }
96
+ }
97
+ }
98
+ // Effort & Estimate Indicators
99
+ let isOverEstimate = false;
100
+ const loggedH = task.loggedHours ?? task.actualHours;
101
+ const estimatedH = task.estimatedHours;
102
+ if (estimatedH !== undefined && estimatedH > 0 && loggedH !== undefined && loggedH > estimatedH) {
103
+ isOverEstimate = true;
104
+ }
105
+ const actualM = task.actualDurationMinutes;
106
+ const estimatedM = task.estimatedDurationMinutes;
107
+ if (estimatedM !== undefined && estimatedM > 0 && actualM !== undefined && actualM > estimatedM) {
108
+ isOverEstimate = true;
109
+ }
110
+ let isPaceWarning = false;
111
+ if (semanticStatus === 'in_progress' && task.actualStartDate) {
112
+ const start = new Date(task.actualStartDate);
113
+ if (!isNaN(start.getTime())) {
114
+ const elapsedMs = referenceDate.getTime() - start.getTime();
115
+ const elapsedHours = elapsedMs / (1000 * 60 * 60);
116
+ if (estimatedH !== undefined && estimatedH > 0 && elapsedHours > estimatedH) {
117
+ isPaceWarning = true;
118
+ }
119
+ else if (estimatedM !== undefined && estimatedM > 0 && (elapsedMs / (1000 * 60)) > estimatedM) {
120
+ isPaceWarning = true;
121
+ }
122
+ }
123
+ }
48
124
  return {
49
- completionState: def.completionState,
50
- executionState: def.executionState,
125
+ semanticStatus,
126
+ isReady,
127
+ isBlocked,
128
+ blockingTaskIds,
129
+ isOverdue,
130
+ isUpcoming,
131
+ isUnplanned,
132
+ isUnassigned,
133
+ isStalled,
134
+ isOverEstimate,
135
+ isPaceWarning,
51
136
  isDone,
52
137
  isActive,
53
- isCancelled,
54
- isOverdue,
55
- isUpcoming
138
+ isCancelled
56
139
  };
57
140
  }
58
141
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export declare const DEFAULT_VFX_WORKFLOW: Workflow;
12
12
  export declare const DEFAULT_CREATIVE_WORKFLOW: Workflow;
13
13
  export declare function validateTransition(workflow: Workflow | undefined, fromStatus: string, toStatus: string): boolean;
14
14
  export declare function getAllowedNextStatuses(workflow: Workflow | undefined, currentStatus: string): string[];
15
+ export declare function getAllowedTransitions(workflow: Workflow | undefined, currentStatus: string): string[];
15
16
  export declare function getAllowedPreviousStatuses(workflow: Workflow | undefined, currentStatus: string): string[];
16
17
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQxF;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EAMlD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,QA+BvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,QAsBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,QAkClC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,QAoCvC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAST;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CAgCV;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CAgCV"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQxF;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EAMlD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,QA+BvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,QAsBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,QA+ClC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,QA6CvC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAST;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CAgCV;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CA8BV;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CAgCV"}
@@ -79,25 +79,38 @@ export const DEFAULT_VFX_WORKFLOW = {
79
79
  name: 'VFX Production Workflow',
80
80
  description: 'Visual effects production pipeline from bidding and drafting to internal lead review and client supervisor approval.',
81
81
  statuses: [
82
- { key: 'bidding', label: 'Bidding & Draft', completionState: 'not_done', executionState: 'inactive' },
83
- { key: 'awarded', label: 'Awarded / Ready', completionState: 'not_done', executionState: 'inactive' },
84
- { key: 'in_production', label: 'In Production', completionState: 'not_done', executionState: 'active' },
85
- { key: 'internal_review', label: 'Internal Review', completionState: 'not_done', executionState: 'active' },
86
- { key: 'client_review', label: 'Client Review', completionState: 'not_done', executionState: 'active' },
87
- { key: 'revision_requested', label: 'Revision Requested', completionState: 'not_done', executionState: 'active' },
88
- { key: 'approved', label: 'Approved (Final)', completionState: 'done', executionState: 'inactive' },
82
+ { key: 'bidding', label: 'Bidding & Draft', category: 'not_started' },
83
+ { key: 'awarded', label: 'Awarded / Ready', category: 'not_started' },
84
+ { key: 'in_production', label: 'In Production', category: 'in_progress' },
85
+ { key: 'internal_review', label: 'Internal Review', category: 'in_progress' },
86
+ { key: 'client_review', label: 'Client Review', category: 'in_progress' },
87
+ { key: 'revision_requested', label: 'Revision Requested', category: 'in_progress' },
88
+ { key: 'approved', label: 'Approved (Final)', category: 'completed' },
89
89
  DEFAULT_STATUS_DEFINITIONS.canceled
90
90
  ],
91
91
  transitions: [
92
92
  { name: 'Award Bid', fromStatusKey: 'bidding', toStatusKey: 'awarded' },
93
+ { name: 'Start Directly from Bid', fromStatusKey: 'bidding', toStatusKey: 'in_production' },
93
94
  { name: 'Start Work', fromStatusKey: 'awarded', toStatusKey: 'in_production' },
95
+ { name: 'Reopen Bid', fromStatusKey: 'awarded', toStatusKey: 'bidding' },
94
96
  { name: 'Submit to Lead Review', fromStatusKey: 'in_production', toStatusKey: 'internal_review' },
97
+ { name: 'Fast-Track Client Review', fromStatusKey: 'in_production', toStatusKey: 'client_review' },
98
+ { name: 'Direct Approval', fromStatusKey: 'in_production', toStatusKey: 'approved' },
95
99
  { name: 'Submit to Client Review', fromStatusKey: 'internal_review', toStatusKey: 'client_review' },
96
100
  { name: 'Request Internal Revisions', fromStatusKey: 'internal_review', toStatusKey: 'revision_requested' },
101
+ { name: 'Return to Production', fromStatusKey: 'internal_review', toStatusKey: 'in_production' },
102
+ { name: 'Approve from Lead Review', fromStatusKey: 'internal_review', toStatusKey: 'approved' },
97
103
  { name: 'Request Client Revisions', fromStatusKey: 'client_review', toStatusKey: 'revision_requested' },
98
- { name: 'Address Revisions', fromStatusKey: 'revision_requested', toStatusKey: 'in_production' },
104
+ { name: 'Return to Lead Review', fromStatusKey: 'client_review', toStatusKey: 'internal_review' },
99
105
  { name: 'Approve Final Shot', fromStatusKey: 'client_review', toStatusKey: 'approved' },
100
- { name: 'Cancel', fromStatusKey: '*', toStatusKey: 'canceled' }
106
+ { name: 'Address Revisions in Production', fromStatusKey: 'revision_requested', toStatusKey: 'in_production' },
107
+ { name: 'Resubmit to Lead Review', fromStatusKey: 'revision_requested', toStatusKey: 'internal_review' },
108
+ { name: 'Resubmit to Client Review', fromStatusKey: 'revision_requested', toStatusKey: 'client_review' },
109
+ { name: 'Reopen Shot', fromStatusKey: 'approved', toStatusKey: 'in_production' },
110
+ { name: 'Reopen Lead Review', fromStatusKey: 'approved', toStatusKey: 'internal_review' },
111
+ { name: 'Cancel', fromStatusKey: '*', toStatusKey: 'canceled' },
112
+ { name: 'Restore to Bidding', fromStatusKey: 'canceled', toStatusKey: 'bidding' },
113
+ { name: 'Restore to Production', fromStatusKey: 'canceled', toStatusKey: 'in_production' }
101
114
  ],
102
115
  taskTypes: [
103
116
  { key: 'vfx_task', label: 'VFX Task', description: 'Department task (e.g. Matchmove, Animation, FX, Comp)', icon: 'film' },
@@ -114,27 +127,36 @@ export const DEFAULT_CREATIVE_WORKFLOW = {
114
127
  name: 'Creative Production Workflow',
115
128
  description: 'Production pipeline for creative deliverables from briefing and concepts to internal review, client feedback, and final delivery.',
116
129
  statuses: [
117
- { key: 'briefing', label: 'Briefing & Scoping', completionState: 'not_done', executionState: 'inactive' },
118
- { key: 'concept', label: 'Concept & Storyboarding', completionState: 'not_done', executionState: 'active' },
119
- { key: 'in_production', label: 'In Production', completionState: 'not_done', executionState: 'active' },
120
- { key: 'internal_review', label: 'Internal Review', completionState: 'not_done', executionState: 'active' },
121
- { key: 'client_review', label: 'Client Review', completionState: 'not_done', executionState: 'active' },
122
- { key: 'revision_requested', label: 'Revision Requested', completionState: 'not_done', executionState: 'active' },
123
- { key: 'approved', label: 'Approved', completionState: 'done', executionState: 'inactive' },
124
- { key: 'delivered', label: 'Delivered', completionState: 'done', executionState: 'inactive' },
130
+ { key: 'briefing', label: 'Briefing & Scoping', category: 'not_started' },
131
+ { key: 'concept', label: 'Concept & Storyboarding', category: 'in_progress' },
132
+ { key: 'in_production', label: 'In Production', category: 'in_progress' },
133
+ { key: 'internal_review', label: 'Internal Review', category: 'in_progress' },
134
+ { key: 'client_review', label: 'Client Review', category: 'in_progress' },
135
+ { key: 'revision_requested', label: 'Revision Requested', category: 'in_progress' },
136
+ { key: 'approved', label: 'Approved', category: 'completed' },
137
+ { key: 'delivered', label: 'Delivered', category: 'completed' },
125
138
  DEFAULT_STATUS_DEFINITIONS.canceled
126
139
  ],
127
140
  transitions: [
128
141
  { name: 'Start Concepts', fromStatusKey: 'briefing', toStatusKey: 'concept' },
129
142
  { name: 'Approve Concept for Production', fromStatusKey: 'concept', toStatusKey: 'in_production' },
143
+ { name: 'Return to Briefing', fromStatusKey: 'concept', toStatusKey: 'briefing' },
130
144
  { name: 'Submit for Internal Review', fromStatusKey: 'in_production', toStatusKey: 'internal_review' },
145
+ { name: 'Submit for Client Review', fromStatusKey: 'in_production', toStatusKey: 'client_review' },
131
146
  { name: 'Submit for Client Review', fromStatusKey: 'internal_review', toStatusKey: 'client_review' },
132
147
  { name: 'Request Revisions (Internal)', fromStatusKey: 'internal_review', toStatusKey: 'revision_requested' },
148
+ { name: 'Return to Production', fromStatusKey: 'internal_review', toStatusKey: 'in_production' },
149
+ { name: 'Approve from Lead Review', fromStatusKey: 'internal_review', toStatusKey: 'approved' },
133
150
  { name: 'Request Revisions (Client)', fromStatusKey: 'client_review', toStatusKey: 'revision_requested' },
151
+ { name: 'Return to Internal Review', fromStatusKey: 'client_review', toStatusKey: 'internal_review' },
134
152
  { name: 'Address Revisions', fromStatusKey: 'revision_requested', toStatusKey: 'in_production' },
153
+ { name: 'Resubmit to Lead Review', fromStatusKey: 'revision_requested', toStatusKey: 'internal_review' },
154
+ { name: 'Resubmit to Client Review', fromStatusKey: 'revision_requested', toStatusKey: 'client_review' },
135
155
  { name: 'Approve Work', fromStatusKey: 'client_review', toStatusKey: 'approved' },
136
156
  { name: 'Deliver Final Assets', fromStatusKey: 'approved', toStatusKey: 'delivered' },
137
- { name: 'Cancel', fromStatusKey: '*', toStatusKey: 'canceled' }
157
+ { name: 'Reopen Deliverable', fromStatusKey: 'delivered', toStatusKey: 'in_production' },
158
+ { name: 'Cancel', fromStatusKey: '*', toStatusKey: 'canceled' },
159
+ { name: 'Restore', fromStatusKey: 'canceled', toStatusKey: 'briefing' }
138
160
  ],
139
161
  taskTypes: [
140
162
  { key: 'deliverable', label: 'Deliverable', description: 'Finished asset, cutdown, or packaged export', icon: 'package' },
@@ -179,6 +201,31 @@ export function getAllowedNextStatuses(workflow, currentStatus) {
179
201
  }
180
202
  return [allStatusKeys[currentIndex + 1]];
181
203
  }
204
+ export function getAllowedTransitions(workflow, currentStatus) {
205
+ if (!workflow || !workflow.statuses || workflow.statuses.length === 0) {
206
+ return Object.keys(DEFAULT_STATUS_DEFINITIONS);
207
+ }
208
+ const allStatusKeys = workflow.statuses.map((s) => s.key);
209
+ if (!allStatusKeys.includes(currentStatus)) {
210
+ return [];
211
+ }
212
+ if (workflow.transitions && workflow.transitions.length > 0) {
213
+ const matches = workflow.transitions.filter((t) => t.fromStatusKey === '*' || t.fromStatusKey === currentStatus);
214
+ const allowed = new Set();
215
+ for (const t of matches) {
216
+ if (t.toStatusKey === '*') {
217
+ allStatusKeys.filter((k) => k !== currentStatus).forEach((k) => allowed.add(k));
218
+ }
219
+ else if (t.toStatusKey !== currentStatus && allStatusKeys.includes(t.toStatusKey)) {
220
+ allowed.add(t.toStatusKey);
221
+ }
222
+ }
223
+ return Array.from(allowed);
224
+ }
225
+ const next = getAllowedNextStatuses(workflow, currentStatus);
226
+ const prev = getAllowedPreviousStatuses(workflow, currentStatus);
227
+ return Array.from(new Set([...next, ...prev]));
228
+ }
182
229
  export function getAllowedPreviousStatuses(workflow, currentStatus) {
183
230
  if (!workflow || !workflow.statuses || workflow.statuses.length === 0) {
184
231
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/utils/workflow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@critical-path/core",
3
- "version": "0.14.0",
3
+ "version": "0.15.1",
4
4
  "description": "Core headless domain engine, plugin architecture, and data stores for Critical Path",
5
5
  "author": "Jack James",
6
6
  "license": "MIT",
@@ -238,8 +238,8 @@ describe('CriticalPathEngine Deliverables & Rollup Metrics', () => {
238
238
  const summary = await engine.getDeliverableSummary(deliverable.id);
239
239
  expect(summary).not.toBeNull();
240
240
  expect(summary!.totalTasks).toBe(3);
241
- expect(summary!.completedTasks).toBe(1); // 'approved' has completionState 'done'
242
- expect(summary!.activeTasks).toBe(1); // 'in_production' has executionState 'active'
241
+ expect(summary!.completedTasks).toBe(1); // 'approved' has category 'completed'
242
+ expect(summary!.activeTasks).toBe(1); // 'in_production' has category 'in_progress'
243
243
  expect(summary!.estimatedHours).toBe(26); // 8 + 12 + 6
244
244
  expect(summary!.loggedHours).toBe(14); // 8 + 6 + 0
245
245
  expect(summary!.progressPercentage).toBe(50); // (100 + 50 + 0) / 3 = 50%
@@ -11,7 +11,8 @@ import type {
11
11
  CreateProjectInput,
12
12
  Deliverable,
13
13
  DeliverableStatus,
14
- CreateDeliverableInput
14
+ CreateDeliverableInput,
15
+ SemanticStatus
15
16
  } from '../types/index.js';
16
17
  import type {
17
18
  DomainEvent,
@@ -65,6 +66,7 @@ export class TaskEntity extends BaseEntity {
65
66
  public title: string;
66
67
  public description?: string;
67
68
  public status: TaskStatus;
69
+ public semanticStatus?: SemanticStatus;
68
70
  public priority: Priority;
69
71
  public taskType?: string;
70
72
  public assigneeId?: string;
@@ -98,6 +100,7 @@ export class TaskEntity extends BaseEntity {
98
100
  this.title = data.title;
99
101
  this.description = data.description;
100
102
  this.status = data.status;
103
+ this.semanticStatus = data.semanticStatus;
101
104
  this.priority = data.priority;
102
105
  this.taskType = data.taskType;
103
106
  this.assigneeId = data.assigneeId;
@@ -136,12 +139,16 @@ export class TaskEntity extends BaseEntity {
136
139
  validateCustomFieldValues(options.customFieldDefs, input.customFields);
137
140
  }
138
141
 
142
+ const status = input.status || options?.workflow?.defaultStatusKey || 'todo';
143
+ const statusDef = resolveStatusDefinition(status, options?.workflow?.statuses);
144
+
139
145
  const task = new TaskEntity({
140
146
  ...input,
141
147
  id,
142
148
  createdAt: now,
143
149
  updatedAt: now,
144
- status: input.status || options?.workflow?.defaultStatusKey || 'todo',
150
+ status,
151
+ semanticStatus: input.semanticStatus || statusDef.category,
145
152
  priority: input.priority || 'medium',
146
153
  loggedHours: input.loggedHours ?? 0,
147
154
  progress: input.progress ?? 0,
@@ -180,12 +187,14 @@ export class TaskEntity extends BaseEntity {
180
187
  const now = new Date().toISOString();
181
188
 
182
189
  const statusDef = resolveStatusDefinition(newStatus, options?.statusDefs || workflow?.statuses);
183
- if (statusDef.executionState === 'active' && !this.actualStartDate) {
190
+ this.semanticStatus = statusDef.category;
191
+
192
+ if (statusDef.category === 'in_progress' && !this.actualStartDate) {
184
193
  this.actualStartDate = now;
185
194
  }
186
- if (statusDef.completionState === 'done') {
195
+ if (statusDef.category === 'completed' || statusDef.category === 'canceled') {
187
196
  this.actualEndDate = now;
188
- if (this.progress !== undefined && this.progress < 100) {
197
+ if (statusDef.category === 'completed' && this.progress !== undefined && this.progress < 100) {
189
198
  this.progress = 100;
190
199
  }
191
200
  }
@@ -365,6 +374,7 @@ export class TaskEntity extends BaseEntity {
365
374
  title: this.title,
366
375
  description: this.description,
367
376
  status: this.status,
377
+ semanticStatus: this.semanticStatus,
368
378
  priority: this.priority,
369
379
  taskType: this.taskType,
370
380
  assigneeId: this.assigneeId,
@@ -42,6 +42,14 @@ export interface TaskStatusChangedEvent extends DomainEvent<{
42
42
  readonly aggregateType: 'Task';
43
43
  }
44
44
 
45
+ export interface TaskUnblockedEvent extends DomainEvent<{
46
+ task: Task;
47
+ upstreamTaskId: string;
48
+ }> {
49
+ readonly name: 'task.unblocked';
50
+ readonly aggregateType: 'Task';
51
+ }
52
+
45
53
  export interface TaskDeletedEvent extends DomainEvent<{ taskId: string; projectId: string; title: string }> {
46
54
  readonly name: 'task.deleted';
47
55
  readonly aggregateType: 'Task';
@@ -161,6 +169,7 @@ export type CriticalPathDomainEvent =
161
169
  | TaskCreatedEvent
162
170
  | TaskUpdatedEvent
163
171
  | TaskStatusChangedEvent
172
+ | TaskUnblockedEvent
164
173
  | TaskDeletedEvent
165
174
  | TimeLoggedEvent
166
175
  | CommentAddedEvent