@nahisaho/musubix-workflow-engine 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application/PhaseController.d.ts +110 -0
- package/dist/application/PhaseController.d.ts.map +1 -0
- package/dist/application/PhaseController.js +272 -0
- package/dist/application/PhaseController.js.map +1 -0
- package/dist/application/QualityGateRunner.d.ts +97 -0
- package/dist/application/QualityGateRunner.d.ts.map +1 -0
- package/dist/application/QualityGateRunner.js +234 -0
- package/dist/application/QualityGateRunner.js.map +1 -0
- package/dist/application/StateTracker.d.ts +119 -0
- package/dist/application/StateTracker.d.ts.map +1 -0
- package/dist/application/StateTracker.js +192 -0
- package/dist/application/StateTracker.js.map +1 -0
- package/dist/application/index.d.ts +11 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +11 -0
- package/dist/application/index.js.map +1 -0
- package/dist/domain/entities/Phase.d.ts +125 -0
- package/dist/domain/entities/Phase.d.ts.map +1 -0
- package/dist/domain/entities/Phase.js +146 -0
- package/dist/domain/entities/Phase.js.map +1 -0
- package/dist/domain/entities/QualityGate.d.ts +85 -0
- package/dist/domain/entities/QualityGate.d.ts.map +1 -0
- package/dist/domain/entities/QualityGate.js +117 -0
- package/dist/domain/entities/QualityGate.js.map +1 -0
- package/dist/domain/entities/Workflow.d.ts +90 -0
- package/dist/domain/entities/Workflow.d.ts.map +1 -0
- package/dist/domain/entities/Workflow.js +174 -0
- package/dist/domain/entities/Workflow.js.map +1 -0
- package/dist/domain/entities/index.d.ts +11 -0
- package/dist/domain/entities/index.d.ts.map +1 -0
- package/dist/domain/entities/index.js +11 -0
- package/dist/domain/entities/index.js.map +1 -0
- package/dist/domain/events/PhaseTransitioned.d.ts +37 -0
- package/dist/domain/events/PhaseTransitioned.d.ts.map +1 -0
- package/dist/domain/events/PhaseTransitioned.js +38 -0
- package/dist/domain/events/PhaseTransitioned.js.map +1 -0
- package/dist/domain/events/QualityGatePassed.d.ts +63 -0
- package/dist/domain/events/QualityGatePassed.d.ts.map +1 -0
- package/dist/domain/events/QualityGatePassed.js +68 -0
- package/dist/domain/events/QualityGatePassed.js.map +1 -0
- package/dist/domain/events/index.d.ts +13 -0
- package/dist/domain/events/index.d.ts.map +1 -0
- package/dist/domain/events/index.js +9 -0
- package/dist/domain/events/index.js.map +1 -0
- package/dist/domain/index.d.ts +11 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +14 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/value-objects/ApprovalStatus.d.ts +69 -0
- package/dist/domain/value-objects/ApprovalStatus.d.ts.map +1 -0
- package/dist/domain/value-objects/ApprovalStatus.js +105 -0
- package/dist/domain/value-objects/ApprovalStatus.js.map +1 -0
- package/dist/domain/value-objects/PhaseType.d.ts +66 -0
- package/dist/domain/value-objects/PhaseType.d.ts.map +1 -0
- package/dist/domain/value-objects/PhaseType.js +105 -0
- package/dist/domain/value-objects/PhaseType.js.map +1 -0
- package/dist/domain/value-objects/TaskStatus.d.ts +59 -0
- package/dist/domain/value-objects/TaskStatus.d.ts.map +1 -0
- package/dist/domain/value-objects/TaskStatus.js +90 -0
- package/dist/domain/value-objects/TaskStatus.js.map +1 -0
- package/dist/domain/value-objects/index.d.ts +11 -0
- package/dist/domain/value-objects/index.d.ts.map +1 -0
- package/dist/domain/value-objects/index.js +11 -0
- package/dist/domain/value-objects/index.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ApprovalStatus Value Object
|
|
3
|
+
*
|
|
4
|
+
* Represents the approval status for phase transitions
|
|
5
|
+
*
|
|
6
|
+
* @see REQ-ORCH-003 - Quality Gate Integration
|
|
7
|
+
* @see DES-ORCH-003 - QualityGateRunner
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Approval keywords that indicate user approval
|
|
11
|
+
*/
|
|
12
|
+
export const APPROVAL_KEYWORDS = [
|
|
13
|
+
'承認',
|
|
14
|
+
'approve',
|
|
15
|
+
'approved',
|
|
16
|
+
'LGTM',
|
|
17
|
+
'進める',
|
|
18
|
+
'OK',
|
|
19
|
+
'ok',
|
|
20
|
+
'Yes',
|
|
21
|
+
'yes',
|
|
22
|
+
'実装',
|
|
23
|
+
'proceed',
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Rejection keywords
|
|
27
|
+
*/
|
|
28
|
+
export const REJECTION_KEYWORDS = [
|
|
29
|
+
'修正',
|
|
30
|
+
'reject',
|
|
31
|
+
'rejected',
|
|
32
|
+
'no',
|
|
33
|
+
'No',
|
|
34
|
+
'やり直し',
|
|
35
|
+
'fix',
|
|
36
|
+
];
|
|
37
|
+
/**
|
|
38
|
+
* Create an approval
|
|
39
|
+
*
|
|
40
|
+
* @param id - Approval ID
|
|
41
|
+
* @param status - Approval status
|
|
42
|
+
* @param approver - Approver identifier
|
|
43
|
+
* @param comment - Optional comment
|
|
44
|
+
* @returns Approval entity
|
|
45
|
+
*/
|
|
46
|
+
export function createApproval(id, status, approver, comment) {
|
|
47
|
+
return Object.freeze({
|
|
48
|
+
id,
|
|
49
|
+
status,
|
|
50
|
+
approver,
|
|
51
|
+
comment,
|
|
52
|
+
timestamp: new Date(),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse user input for approval status
|
|
57
|
+
*
|
|
58
|
+
* @param input - User input text
|
|
59
|
+
* @returns Detected approval status
|
|
60
|
+
*/
|
|
61
|
+
export function parseApprovalFromInput(input) {
|
|
62
|
+
const normalized = input.trim().toLowerCase();
|
|
63
|
+
// Check for rejection first (修正 could be in a longer sentence)
|
|
64
|
+
for (const keyword of REJECTION_KEYWORDS) {
|
|
65
|
+
if (normalized.includes(keyword.toLowerCase())) {
|
|
66
|
+
return 'rejected';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Check for approval
|
|
70
|
+
for (const keyword of APPROVAL_KEYWORDS) {
|
|
71
|
+
if (normalized.includes(keyword.toLowerCase())) {
|
|
72
|
+
return 'approved';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return 'pending';
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if approval is granted
|
|
79
|
+
*
|
|
80
|
+
* @param approval - Approval to check
|
|
81
|
+
* @returns true if approved
|
|
82
|
+
*/
|
|
83
|
+
export function isApproved(approval) {
|
|
84
|
+
return approval.status === 'approved';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if approval is rejected
|
|
88
|
+
*
|
|
89
|
+
* @param approval - Approval to check
|
|
90
|
+
* @returns true if rejected
|
|
91
|
+
*/
|
|
92
|
+
export function isRejected(approval) {
|
|
93
|
+
return approval.status === 'rejected';
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Generate approval ID
|
|
97
|
+
*
|
|
98
|
+
* @param phaseType - Phase type
|
|
99
|
+
* @returns Approval ID
|
|
100
|
+
*/
|
|
101
|
+
export function generateApprovalId(phaseType) {
|
|
102
|
+
const timestamp = Date.now().toString(36);
|
|
103
|
+
return `APR-${phaseType.toUpperCase()}-${timestamp}`;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=ApprovalStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalStatus.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ApprovalStatus.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,IAAI;IACJ,SAAS;IACT,UAAU;IACV,MAAM;IACN,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,SAAS;CACV,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,KAAK;CACN,CAAC;AAaF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,MAAsB,EACtB,QAAgB,EAChB,OAAgB;IAEhB,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE;QACF,MAAM;QACN,QAAQ;QACR,OAAO;QACP,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,+DAA+D;IAC/D,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,OAAO,SAAS,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PhaseType Value Object
|
|
3
|
+
*
|
|
4
|
+
* Represents the workflow phase type
|
|
5
|
+
*
|
|
6
|
+
* @see REQ-ORCH-001 - Phase Transition
|
|
7
|
+
* @see DES-ORCH-001 - PhaseController
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Phase type enum
|
|
11
|
+
*/
|
|
12
|
+
export type PhaseType = 'requirements' | 'design' | 'task-breakdown' | 'implementation' | 'completion';
|
|
13
|
+
/**
|
|
14
|
+
* Phase metadata
|
|
15
|
+
*/
|
|
16
|
+
export interface PhaseMetadata {
|
|
17
|
+
readonly type: PhaseType;
|
|
18
|
+
readonly number: number;
|
|
19
|
+
readonly label: string;
|
|
20
|
+
readonly description: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Phase definitions
|
|
24
|
+
*/
|
|
25
|
+
export declare const PHASES: ReadonlyMap<PhaseType, PhaseMetadata>;
|
|
26
|
+
/**
|
|
27
|
+
* Valid phase transitions
|
|
28
|
+
* NOTE: Phase 2 → Phase 4 direct transition is PROHIBITED
|
|
29
|
+
*/
|
|
30
|
+
export declare const VALID_TRANSITIONS: ReadonlyMap<PhaseType, readonly PhaseType[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Get phase metadata
|
|
33
|
+
*
|
|
34
|
+
* @param type - Phase type
|
|
35
|
+
* @returns Phase metadata
|
|
36
|
+
*/
|
|
37
|
+
export declare function getPhaseMetadata(type: PhaseType): PhaseMetadata;
|
|
38
|
+
/**
|
|
39
|
+
* Get valid transitions from a phase
|
|
40
|
+
*
|
|
41
|
+
* @param from - Source phase
|
|
42
|
+
* @returns Valid target phases
|
|
43
|
+
*/
|
|
44
|
+
export declare function getValidTransitions(from: PhaseType): readonly PhaseType[];
|
|
45
|
+
/**
|
|
46
|
+
* Check if transition is valid
|
|
47
|
+
*
|
|
48
|
+
* @param from - Source phase
|
|
49
|
+
* @param to - Target phase
|
|
50
|
+
* @returns true if valid
|
|
51
|
+
*/
|
|
52
|
+
export declare function isValidTransition(from: PhaseType, to: PhaseType): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Get phase number
|
|
55
|
+
*
|
|
56
|
+
* @param type - Phase type
|
|
57
|
+
* @returns Phase number (1-5)
|
|
58
|
+
*/
|
|
59
|
+
export declare function getPhaseNumber(type: PhaseType): number;
|
|
60
|
+
/**
|
|
61
|
+
* Get all phase types in order
|
|
62
|
+
*
|
|
63
|
+
* @returns Ordered phase types
|
|
64
|
+
*/
|
|
65
|
+
export declare function getAllPhases(): PhaseType[];
|
|
66
|
+
//# sourceMappingURL=PhaseType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhaseType.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/PhaseType.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,CA+BvD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAMzE,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,SAAS,EAAE,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAGzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,SAAS,EAAE,CAE1C"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PhaseType Value Object
|
|
3
|
+
*
|
|
4
|
+
* Represents the workflow phase type
|
|
5
|
+
*
|
|
6
|
+
* @see REQ-ORCH-001 - Phase Transition
|
|
7
|
+
* @see DES-ORCH-001 - PhaseController
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Phase definitions
|
|
11
|
+
*/
|
|
12
|
+
export const PHASES = new Map([
|
|
13
|
+
['requirements', {
|
|
14
|
+
type: 'requirements',
|
|
15
|
+
number: 1,
|
|
16
|
+
label: 'Phase 1: 要件定義',
|
|
17
|
+
description: 'EARS形式で要件を定義',
|
|
18
|
+
}],
|
|
19
|
+
['design', {
|
|
20
|
+
type: 'design',
|
|
21
|
+
number: 2,
|
|
22
|
+
label: 'Phase 2: 設計',
|
|
23
|
+
description: 'C4モデルで設計を作成',
|
|
24
|
+
}],
|
|
25
|
+
['task-breakdown', {
|
|
26
|
+
type: 'task-breakdown',
|
|
27
|
+
number: 3,
|
|
28
|
+
label: 'Phase 3: タスク分解',
|
|
29
|
+
description: '設計からタスクを分解',
|
|
30
|
+
}],
|
|
31
|
+
['implementation', {
|
|
32
|
+
type: 'implementation',
|
|
33
|
+
number: 4,
|
|
34
|
+
label: 'Phase 4: 実装',
|
|
35
|
+
description: 'タスクに基づいて実装',
|
|
36
|
+
}],
|
|
37
|
+
['completion', {
|
|
38
|
+
type: 'completion',
|
|
39
|
+
number: 5,
|
|
40
|
+
label: 'Phase 5: 完了',
|
|
41
|
+
description: 'ドキュメント更新・コミット',
|
|
42
|
+
}],
|
|
43
|
+
]);
|
|
44
|
+
/**
|
|
45
|
+
* Valid phase transitions
|
|
46
|
+
* NOTE: Phase 2 → Phase 4 direct transition is PROHIBITED
|
|
47
|
+
*/
|
|
48
|
+
export const VALID_TRANSITIONS = new Map([
|
|
49
|
+
['requirements', ['design']],
|
|
50
|
+
['design', ['task-breakdown']], // Phase 2 can ONLY go to Phase 3
|
|
51
|
+
['task-breakdown', ['implementation']], // Phase 3 → Phase 4
|
|
52
|
+
['implementation', ['completion']],
|
|
53
|
+
['completion', []],
|
|
54
|
+
]);
|
|
55
|
+
/**
|
|
56
|
+
* Get phase metadata
|
|
57
|
+
*
|
|
58
|
+
* @param type - Phase type
|
|
59
|
+
* @returns Phase metadata
|
|
60
|
+
*/
|
|
61
|
+
export function getPhaseMetadata(type) {
|
|
62
|
+
const metadata = PHASES.get(type);
|
|
63
|
+
if (!metadata) {
|
|
64
|
+
throw new Error(`Invalid phase type: ${type}`);
|
|
65
|
+
}
|
|
66
|
+
return metadata;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get valid transitions from a phase
|
|
70
|
+
*
|
|
71
|
+
* @param from - Source phase
|
|
72
|
+
* @returns Valid target phases
|
|
73
|
+
*/
|
|
74
|
+
export function getValidTransitions(from) {
|
|
75
|
+
return VALID_TRANSITIONS.get(from) ?? [];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if transition is valid
|
|
79
|
+
*
|
|
80
|
+
* @param from - Source phase
|
|
81
|
+
* @param to - Target phase
|
|
82
|
+
* @returns true if valid
|
|
83
|
+
*/
|
|
84
|
+
export function isValidTransition(from, to) {
|
|
85
|
+
const validTargets = VALID_TRANSITIONS.get(from);
|
|
86
|
+
return validTargets?.includes(to) ?? false;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get phase number
|
|
90
|
+
*
|
|
91
|
+
* @param type - Phase type
|
|
92
|
+
* @returns Phase number (1-5)
|
|
93
|
+
*/
|
|
94
|
+
export function getPhaseNumber(type) {
|
|
95
|
+
return getPhaseMetadata(type).number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get all phase types in order
|
|
99
|
+
*
|
|
100
|
+
* @returns Ordered phase types
|
|
101
|
+
*/
|
|
102
|
+
export function getAllPhases() {
|
|
103
|
+
return ['requirements', 'design', 'task-breakdown', 'implementation', 'completion'];
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=PhaseType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhaseType.js","sourceRoot":"","sources":["../../../src/domain/value-objects/PhaseType.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAA0C,IAAI,GAAG,CAAC;IACnE,CAAC,cAAc,EAAE;YACf,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,cAAc;SAC5B,CAAC;IACF,CAAC,QAAQ,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,aAAa;SAC3B,CAAC;IACF,CAAC,gBAAgB,EAAE;YACjB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,YAAY;SAC1B,CAAC;IACF,CAAC,gBAAgB,EAAE;YACjB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,YAAY;SAC1B,CAAC;IACF,CAAC,YAAY,EAAE;YACb,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,eAAe;SAC7B,CAAC;CACH,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAiD,IAAI,GAAG,CAAC;IACrF,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAS,iCAAiC;IACxE,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,oBAAoB;IAC5D,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,YAAY,EAAE,EAAE,CAAC;CACnB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAe,EAAE,EAAa;IAC9D,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaskStatus Value Object
|
|
3
|
+
*
|
|
4
|
+
* Represents the status of a task in workflow
|
|
5
|
+
*
|
|
6
|
+
* @see REQ-ORCH-002 - State Tracking
|
|
7
|
+
* @see DES-ORCH-002 - StateTracker
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Task status type
|
|
11
|
+
*/
|
|
12
|
+
export type TaskStatus = 'not-started' | 'in-progress' | 'completed' | 'failed';
|
|
13
|
+
/**
|
|
14
|
+
* Status metadata
|
|
15
|
+
*/
|
|
16
|
+
export interface StatusMetadata {
|
|
17
|
+
readonly status: TaskStatus;
|
|
18
|
+
readonly label: string;
|
|
19
|
+
readonly emoji: string;
|
|
20
|
+
readonly isTerminal: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Status definitions
|
|
24
|
+
*/
|
|
25
|
+
export declare const STATUSES: ReadonlyMap<TaskStatus, StatusMetadata>;
|
|
26
|
+
/**
|
|
27
|
+
* Valid status transitions
|
|
28
|
+
*/
|
|
29
|
+
export declare const VALID_STATUS_TRANSITIONS: ReadonlyMap<TaskStatus, readonly TaskStatus[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Get status metadata
|
|
32
|
+
*
|
|
33
|
+
* @param status - Task status
|
|
34
|
+
* @returns Status metadata
|
|
35
|
+
*/
|
|
36
|
+
export declare function getStatusMetadata(status: TaskStatus): StatusMetadata;
|
|
37
|
+
/**
|
|
38
|
+
* Check if status transition is valid
|
|
39
|
+
*
|
|
40
|
+
* @param from - Current status
|
|
41
|
+
* @param to - Target status
|
|
42
|
+
* @returns true if valid
|
|
43
|
+
*/
|
|
44
|
+
export declare function isValidStatusTransition(from: TaskStatus, to: TaskStatus): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Check if status is terminal
|
|
47
|
+
*
|
|
48
|
+
* @param status - Task status
|
|
49
|
+
* @returns true if terminal
|
|
50
|
+
*/
|
|
51
|
+
export declare function isTerminalStatus(status: TaskStatus): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Get status display string
|
|
54
|
+
*
|
|
55
|
+
* @param status - Task status
|
|
56
|
+
* @returns Display string with emoji
|
|
57
|
+
*/
|
|
58
|
+
export declare function getStatusDisplay(status: TaskStatus): string;
|
|
59
|
+
//# sourceMappingURL=TaskStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskStatus.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/TaskStatus.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAyB3D,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,UAAU,EAAE,CAKlF,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAMpE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAGjF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAG3D"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaskStatus Value Object
|
|
3
|
+
*
|
|
4
|
+
* Represents the status of a task in workflow
|
|
5
|
+
*
|
|
6
|
+
* @see REQ-ORCH-002 - State Tracking
|
|
7
|
+
* @see DES-ORCH-002 - StateTracker
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Status definitions
|
|
11
|
+
*/
|
|
12
|
+
export const STATUSES = new Map([
|
|
13
|
+
['not-started', {
|
|
14
|
+
status: 'not-started',
|
|
15
|
+
label: '未開始',
|
|
16
|
+
emoji: '⬜',
|
|
17
|
+
isTerminal: false,
|
|
18
|
+
}],
|
|
19
|
+
['in-progress', {
|
|
20
|
+
status: 'in-progress',
|
|
21
|
+
label: '進行中',
|
|
22
|
+
emoji: '🔄',
|
|
23
|
+
isTerminal: false,
|
|
24
|
+
}],
|
|
25
|
+
['completed', {
|
|
26
|
+
status: 'completed',
|
|
27
|
+
label: '完了',
|
|
28
|
+
emoji: '✅',
|
|
29
|
+
isTerminal: true,
|
|
30
|
+
}],
|
|
31
|
+
['failed', {
|
|
32
|
+
status: 'failed',
|
|
33
|
+
label: '失敗',
|
|
34
|
+
emoji: '❌',
|
|
35
|
+
isTerminal: true,
|
|
36
|
+
}],
|
|
37
|
+
]);
|
|
38
|
+
/**
|
|
39
|
+
* Valid status transitions
|
|
40
|
+
*/
|
|
41
|
+
export const VALID_STATUS_TRANSITIONS = new Map([
|
|
42
|
+
['not-started', ['in-progress']],
|
|
43
|
+
['in-progress', ['completed', 'failed']],
|
|
44
|
+
['completed', []], // Terminal
|
|
45
|
+
['failed', ['in-progress']], // Can retry
|
|
46
|
+
]);
|
|
47
|
+
/**
|
|
48
|
+
* Get status metadata
|
|
49
|
+
*
|
|
50
|
+
* @param status - Task status
|
|
51
|
+
* @returns Status metadata
|
|
52
|
+
*/
|
|
53
|
+
export function getStatusMetadata(status) {
|
|
54
|
+
const metadata = STATUSES.get(status);
|
|
55
|
+
if (!metadata) {
|
|
56
|
+
throw new Error(`Invalid task status: ${status}`);
|
|
57
|
+
}
|
|
58
|
+
return metadata;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if status transition is valid
|
|
62
|
+
*
|
|
63
|
+
* @param from - Current status
|
|
64
|
+
* @param to - Target status
|
|
65
|
+
* @returns true if valid
|
|
66
|
+
*/
|
|
67
|
+
export function isValidStatusTransition(from, to) {
|
|
68
|
+
const validTargets = VALID_STATUS_TRANSITIONS.get(from);
|
|
69
|
+
return validTargets?.includes(to) ?? false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check if status is terminal
|
|
73
|
+
*
|
|
74
|
+
* @param status - Task status
|
|
75
|
+
* @returns true if terminal
|
|
76
|
+
*/
|
|
77
|
+
export function isTerminalStatus(status) {
|
|
78
|
+
return getStatusMetadata(status).isTerminal;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get status display string
|
|
82
|
+
*
|
|
83
|
+
* @param status - Task status
|
|
84
|
+
* @returns Display string with emoji
|
|
85
|
+
*/
|
|
86
|
+
export function getStatusDisplay(status) {
|
|
87
|
+
const metadata = getStatusMetadata(status);
|
|
88
|
+
return `${metadata.emoji} ${metadata.label}`;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=TaskStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskStatus.js","sourceRoot":"","sources":["../../../src/domain/value-objects/TaskStatus.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA4C,IAAI,GAAG,CAAC;IACvE,CAAC,aAAa,EAAE;YACd,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,aAAa,EAAE;YACd,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,WAAW,EAAE;YACZ,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,IAAI;SACjB,CAAC;IACF,CAAC,QAAQ,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,IAAI;SACjB,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmD,IAAI,GAAG,CAAC;IAC9F,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,WAAW,EAAE,EAAE,CAAC,EAAG,WAAW;IAC/B,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,EAAG,YAAY;CAC3C,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAgB,EAAE,EAAc;IACtE,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value Objects barrel export
|
|
3
|
+
*
|
|
4
|
+
* @see REQ-ORCH-001 - Phase Transition
|
|
5
|
+
* @see REQ-ORCH-002 - State Tracking
|
|
6
|
+
* @see REQ-ORCH-003 - Quality Gate Integration
|
|
7
|
+
*/
|
|
8
|
+
export { type PhaseType, type PhaseMetadata, PHASES, VALID_TRANSITIONS, getPhaseMetadata, getValidTransitions, isValidTransition, getPhaseNumber, getAllPhases, } from './PhaseType.js';
|
|
9
|
+
export { type TaskStatus, type StatusMetadata, STATUSES, VALID_STATUS_TRANSITIONS, getStatusMetadata, isValidStatusTransition, isTerminalStatus, getStatusDisplay, } from './TaskStatus.js';
|
|
10
|
+
export { type ApprovalStatus, type Approval, APPROVAL_KEYWORDS, REJECTION_KEYWORDS, createApproval, parseApprovalFromInput, isApproved, isRejected, generateApprovalId, } from './ApprovalStatus.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,QAAQ,EACR,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value Objects barrel export
|
|
3
|
+
*
|
|
4
|
+
* @see REQ-ORCH-001 - Phase Transition
|
|
5
|
+
* @see REQ-ORCH-002 - State Tracking
|
|
6
|
+
* @see REQ-ORCH-003 - Quality Gate Integration
|
|
7
|
+
*/
|
|
8
|
+
export { PHASES, VALID_TRANSITIONS, getPhaseMetadata, getValidTransitions, isValidTransition, getPhaseNumber, getAllPhases, } from './PhaseType.js';
|
|
9
|
+
export { STATUSES, VALID_STATUS_TRANSITIONS, getStatusMetadata, isValidStatusTransition, isTerminalStatus, getStatusDisplay, } from './TaskStatus.js';
|
|
10
|
+
export { APPROVAL_KEYWORDS, REJECTION_KEYWORDS, createApproval, parseApprovalFromInput, isApproved, isRejected, generateApprovalId, } from './ApprovalStatus.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/value-objects/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAGL,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAGL,QAAQ,EACR,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAGL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @nahisaho/musubix-workflow-engine
|
|
3
|
+
*
|
|
4
|
+
* Workflow Engine for MUSUBIX - Phase Transition and Quality Gate Management
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module workflow-engine
|
|
8
|
+
*
|
|
9
|
+
* @see REQ-ORCH-001 - Phase Transition
|
|
10
|
+
* @see REQ-ORCH-002 - State Tracking
|
|
11
|
+
* @see REQ-ORCH-003 - Quality Gate Integration
|
|
12
|
+
*/
|
|
13
|
+
export * from './domain/index.js';
|
|
14
|
+
export * from './application/index.js';
|
|
15
|
+
export type { PhaseType, TaskStatus, ApprovalStatus, Phase, Workflow, QualityGate, QualityGateResult, } from './domain/index.js';
|
|
16
|
+
export type { PhaseControllerConfig, PhaseControllerResult, StateSnapshot, StateChangeEvent, GateRunResult, } from './application/index.js';
|
|
17
|
+
export * from './application/PhaseController.js';
|
|
18
|
+
export * from './application/StateTracker.js';
|
|
19
|
+
export * from './application/QualityGateRunner.js';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,wBAAwB,CAAC;AAGvC,YAAY,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACd,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @nahisaho/musubix-workflow-engine
|
|
3
|
+
*
|
|
4
|
+
* Workflow Engine for MUSUBIX - Phase Transition and Quality Gate Management
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module workflow-engine
|
|
8
|
+
*
|
|
9
|
+
* @see REQ-ORCH-001 - Phase Transition
|
|
10
|
+
* @see REQ-ORCH-002 - State Tracking
|
|
11
|
+
* @see REQ-ORCH-003 - Quality Gate Integration
|
|
12
|
+
*/
|
|
13
|
+
// Domain Layer
|
|
14
|
+
export * from './domain/index.js';
|
|
15
|
+
// Application Layer
|
|
16
|
+
export * from './application/index.js';
|
|
17
|
+
export * from './application/PhaseController.js';
|
|
18
|
+
export * from './application/StateTracker.js';
|
|
19
|
+
export * from './application/QualityGateRunner.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAe;AACf,cAAc,mBAAmB,CAAC;AAElC,oBAAoB;AACpB,cAAc,wBAAwB,CAAC;AAoBvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nahisaho/musubix-workflow-engine",
|
|
3
|
+
"version": "2.4.2",
|
|
4
|
+
"description": "MUSUBIX Workflow Engine - Phase Transition and Quality Gate Management",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./domain": {
|
|
14
|
+
"import": "./dist/domain/index.js",
|
|
15
|
+
"types": "./dist/domain/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./application": {
|
|
18
|
+
"import": "./dist/application/index.js",
|
|
19
|
+
"types": "./dist/application/index.d.ts"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist/",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "tsc -b",
|
|
28
|
+
"clean": "rimraf dist tsconfig.tsbuildinfo",
|
|
29
|
+
"test": "vitest run",
|
|
30
|
+
"test:watch": "vitest",
|
|
31
|
+
"typecheck": "tsc --noEmit"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"musubix",
|
|
35
|
+
"workflow",
|
|
36
|
+
"phase",
|
|
37
|
+
"quality-gate",
|
|
38
|
+
"state-machine"
|
|
39
|
+
],
|
|
40
|
+
"author": "nahisaho",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@nahisaho/musubix-core": "*",
|
|
44
|
+
"@nahisaho/musubix-yata-client": "*"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"rimraf": "^5.0.5",
|
|
48
|
+
"typescript": "^5.4.5",
|
|
49
|
+
"vitest": "^4.0.16"
|
|
50
|
+
},
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=20.0.0"
|
|
53
|
+
},
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public"
|
|
56
|
+
}
|
|
57
|
+
}
|