@nahisaho/katashiro-analyzer 0.1.11 → 0.1.12
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/framework/consulting-frameworks.d.ts +290 -0
- package/dist/framework/consulting-frameworks.d.ts.map +1 -0
- package/dist/framework/consulting-frameworks.js +456 -0
- package/dist/framework/consulting-frameworks.js.map +1 -0
- package/dist/framework/index.d.ts +5 -0
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +5 -0
- package/dist/framework/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* コンサルティングフレームワーク分析モジュール
|
|
3
|
+
*
|
|
4
|
+
* MECE、SWOT、3C、4P、5Forces、バリューチェーンなど
|
|
5
|
+
* コンサルタントが利用する論理フレームワークを提供
|
|
6
|
+
*/
|
|
7
|
+
export interface SWOTAnalysis {
|
|
8
|
+
strengths: SWOTItem[];
|
|
9
|
+
weaknesses: SWOTItem[];
|
|
10
|
+
opportunities: SWOTItem[];
|
|
11
|
+
threats: SWOTItem[];
|
|
12
|
+
crossStrategies: CrossSWOTStrategy[];
|
|
13
|
+
}
|
|
14
|
+
export interface SWOTItem {
|
|
15
|
+
item: string;
|
|
16
|
+
importance: number;
|
|
17
|
+
description?: string;
|
|
18
|
+
evidence?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface CrossSWOTStrategy {
|
|
21
|
+
type: 'SO' | 'WO' | 'ST' | 'WT';
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
relatedInternal: string[];
|
|
25
|
+
relatedExternal: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface SWOTInput {
|
|
28
|
+
strengths: (string | SWOTItemInput)[];
|
|
29
|
+
weaknesses: (string | SWOTItemInput)[];
|
|
30
|
+
opportunities: (string | SWOTItemInput)[];
|
|
31
|
+
threats: (string | SWOTItemInput)[];
|
|
32
|
+
}
|
|
33
|
+
export interface SWOTItemInput {
|
|
34
|
+
item: string;
|
|
35
|
+
importance?: number;
|
|
36
|
+
description?: string;
|
|
37
|
+
evidence?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface ThreeCAnalysis {
|
|
40
|
+
company: ThreeCElement;
|
|
41
|
+
customer: ThreeCElement;
|
|
42
|
+
competitor: ThreeCElement;
|
|
43
|
+
keySuccessFactors: string[];
|
|
44
|
+
strategicImplications: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface ThreeCElement {
|
|
47
|
+
factors: ThreeCFactor[];
|
|
48
|
+
summary: string;
|
|
49
|
+
}
|
|
50
|
+
export interface ThreeCFactor {
|
|
51
|
+
name: string;
|
|
52
|
+
detail: string;
|
|
53
|
+
importance: number;
|
|
54
|
+
}
|
|
55
|
+
export interface ThreeCInput {
|
|
56
|
+
company: ThreeCFactorInput[];
|
|
57
|
+
customer: ThreeCFactorInput[];
|
|
58
|
+
competitor: ThreeCFactorInput[];
|
|
59
|
+
}
|
|
60
|
+
export interface ThreeCFactorInput {
|
|
61
|
+
name: string;
|
|
62
|
+
detail?: string;
|
|
63
|
+
importance?: number;
|
|
64
|
+
}
|
|
65
|
+
export interface FourPAnalysis {
|
|
66
|
+
product: FourPElement;
|
|
67
|
+
price: FourPElement;
|
|
68
|
+
place: FourPElement;
|
|
69
|
+
promotion: FourPElement;
|
|
70
|
+
consistency: number;
|
|
71
|
+
recommendations: string[];
|
|
72
|
+
}
|
|
73
|
+
export interface FourPElement {
|
|
74
|
+
current: string[];
|
|
75
|
+
strengths: string[];
|
|
76
|
+
challenges: string[];
|
|
77
|
+
improvements: string[];
|
|
78
|
+
}
|
|
79
|
+
export interface FourPInput {
|
|
80
|
+
product: FourPElementInput;
|
|
81
|
+
price: FourPElementInput;
|
|
82
|
+
place: FourPElementInput;
|
|
83
|
+
promotion: FourPElementInput;
|
|
84
|
+
}
|
|
85
|
+
export interface FourPElementInput {
|
|
86
|
+
current?: string[];
|
|
87
|
+
strengths?: string[];
|
|
88
|
+
challenges?: string[];
|
|
89
|
+
improvements?: string[];
|
|
90
|
+
}
|
|
91
|
+
export interface FiveForcesAnalysis {
|
|
92
|
+
newEntrants: ForceAnalysis;
|
|
93
|
+
substitutes: ForceAnalysis;
|
|
94
|
+
buyerPower: ForceAnalysis;
|
|
95
|
+
supplierPower: ForceAnalysis;
|
|
96
|
+
rivalry: ForceAnalysis;
|
|
97
|
+
industryAttractiveness: number;
|
|
98
|
+
strategicImplications: string[];
|
|
99
|
+
}
|
|
100
|
+
export interface ForceAnalysis {
|
|
101
|
+
intensity: number;
|
|
102
|
+
factors: string[];
|
|
103
|
+
description: string;
|
|
104
|
+
}
|
|
105
|
+
export interface FiveForcesInput {
|
|
106
|
+
newEntrants: ForceInput;
|
|
107
|
+
substitutes: ForceInput;
|
|
108
|
+
buyerPower: ForceInput;
|
|
109
|
+
supplierPower: ForceInput;
|
|
110
|
+
rivalry: ForceInput;
|
|
111
|
+
}
|
|
112
|
+
export interface ForceInput {
|
|
113
|
+
intensity?: number;
|
|
114
|
+
factors?: string[];
|
|
115
|
+
description?: string;
|
|
116
|
+
}
|
|
117
|
+
export interface ValueChainAnalysis {
|
|
118
|
+
primaryActivities: ValueChainActivity[];
|
|
119
|
+
supportActivities: ValueChainActivity[];
|
|
120
|
+
valueCreationPoints: string[];
|
|
121
|
+
costStructure: CostItem[];
|
|
122
|
+
competitiveAdvantages: string[];
|
|
123
|
+
}
|
|
124
|
+
export type ActivityType = 'inbound' | 'operations' | 'outbound' | 'marketing' | 'service' | 'infrastructure' | 'hr' | 'technology' | 'procurement';
|
|
125
|
+
export interface ValueChainActivity {
|
|
126
|
+
name: string;
|
|
127
|
+
type: ActivityType;
|
|
128
|
+
description: string;
|
|
129
|
+
valueContribution: number;
|
|
130
|
+
costRatio: number;
|
|
131
|
+
}
|
|
132
|
+
export interface CostItem {
|
|
133
|
+
item: string;
|
|
134
|
+
ratio: number;
|
|
135
|
+
improvementPotential: 'high' | 'medium' | 'low';
|
|
136
|
+
}
|
|
137
|
+
export interface ValueChainInput {
|
|
138
|
+
primaryActivities: ActivityInput[];
|
|
139
|
+
supportActivities: ActivityInput[];
|
|
140
|
+
}
|
|
141
|
+
export interface ActivityInput {
|
|
142
|
+
name: string;
|
|
143
|
+
type?: ActivityType;
|
|
144
|
+
description?: string;
|
|
145
|
+
valueContribution?: number;
|
|
146
|
+
costRatio?: number;
|
|
147
|
+
}
|
|
148
|
+
export interface MECEAnalysis {
|
|
149
|
+
categories: MECECategory[];
|
|
150
|
+
evaluation: {
|
|
151
|
+
mutuallyExclusive: number;
|
|
152
|
+
collectivelyExhaustive: number;
|
|
153
|
+
overallScore: number;
|
|
154
|
+
};
|
|
155
|
+
suggestions: string[];
|
|
156
|
+
}
|
|
157
|
+
export interface MECECategory {
|
|
158
|
+
name: string;
|
|
159
|
+
items: string[];
|
|
160
|
+
description?: string;
|
|
161
|
+
}
|
|
162
|
+
export interface LogicTree {
|
|
163
|
+
root: LogicTreeNode;
|
|
164
|
+
type: 'why' | 'how' | 'what';
|
|
165
|
+
meceCheck: boolean;
|
|
166
|
+
}
|
|
167
|
+
export interface LogicTreeNode {
|
|
168
|
+
id: string;
|
|
169
|
+
content: string;
|
|
170
|
+
children: LogicTreeNode[];
|
|
171
|
+
nodeType: 'issue' | 'cause' | 'solution' | 'action';
|
|
172
|
+
priority?: number;
|
|
173
|
+
}
|
|
174
|
+
export interface HypothesisFramework {
|
|
175
|
+
mainHypothesis: string;
|
|
176
|
+
subHypotheses: SubHypothesis[];
|
|
177
|
+
validationPlan: ValidationStep[];
|
|
178
|
+
status: 'unverified' | 'partially_verified' | 'verified' | 'rejected';
|
|
179
|
+
}
|
|
180
|
+
export interface SubHypothesis {
|
|
181
|
+
hypothesis: string;
|
|
182
|
+
status: 'unverified' | 'verified' | 'rejected';
|
|
183
|
+
evidence?: string;
|
|
184
|
+
}
|
|
185
|
+
export interface ValidationStep {
|
|
186
|
+
step: string;
|
|
187
|
+
method: string;
|
|
188
|
+
requiredData: string[];
|
|
189
|
+
completed: boolean;
|
|
190
|
+
}
|
|
191
|
+
export interface IssueTree {
|
|
192
|
+
centralIssue: string;
|
|
193
|
+
issues: Issue[];
|
|
194
|
+
prioritizedIssues: PrioritizedIssue[];
|
|
195
|
+
}
|
|
196
|
+
export interface Issue {
|
|
197
|
+
id: string;
|
|
198
|
+
content: string;
|
|
199
|
+
parentId?: string;
|
|
200
|
+
type: 'strategic' | 'operational' | 'tactical';
|
|
201
|
+
solvability: 'high' | 'medium' | 'low';
|
|
202
|
+
}
|
|
203
|
+
export interface PrioritizedIssue {
|
|
204
|
+
issueId: string;
|
|
205
|
+
priorityScore: number;
|
|
206
|
+
impact: number;
|
|
207
|
+
urgency: number;
|
|
208
|
+
feasibility: number;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* コンサルティングフレームワークアナライザー
|
|
212
|
+
*/
|
|
213
|
+
export declare class FrameworkAnalyzer {
|
|
214
|
+
/**
|
|
215
|
+
* SWOT分析を実行
|
|
216
|
+
*/
|
|
217
|
+
analyzeSWOT(input: SWOTInput): SWOTAnalysis;
|
|
218
|
+
/**
|
|
219
|
+
* 3C分析を実行
|
|
220
|
+
*/
|
|
221
|
+
analyzeThreeC(input: ThreeCInput): ThreeCAnalysis;
|
|
222
|
+
/**
|
|
223
|
+
* 4P分析を実行
|
|
224
|
+
*/
|
|
225
|
+
analyzeFourP(input: FourPInput): FourPAnalysis;
|
|
226
|
+
/**
|
|
227
|
+
* 5Forces分析を実行
|
|
228
|
+
*/
|
|
229
|
+
analyzeFiveForces(input: FiveForcesInput): FiveForcesAnalysis;
|
|
230
|
+
/**
|
|
231
|
+
* バリューチェーン分析を実行
|
|
232
|
+
*/
|
|
233
|
+
analyzeValueChain(input: ValueChainInput): ValueChainAnalysis;
|
|
234
|
+
/**
|
|
235
|
+
* MECE分析を実行
|
|
236
|
+
*/
|
|
237
|
+
analyzeMECE(items: string[], categories?: string[]): MECEAnalysis;
|
|
238
|
+
/**
|
|
239
|
+
* ロジックツリーを構築
|
|
240
|
+
*/
|
|
241
|
+
buildLogicTree(rootIssue: string, type: 'why' | 'how' | 'what'): LogicTree;
|
|
242
|
+
/**
|
|
243
|
+
* ロジックツリーにノードを追加
|
|
244
|
+
*/
|
|
245
|
+
addLogicTreeNode(tree: LogicTree, parentId: string, content: string, nodeType: LogicTreeNode['nodeType']): LogicTree;
|
|
246
|
+
/**
|
|
247
|
+
* 仮説を構築
|
|
248
|
+
*/
|
|
249
|
+
buildHypothesis(mainHypothesis: string): HypothesisFramework;
|
|
250
|
+
/**
|
|
251
|
+
* イシューツリーを構築
|
|
252
|
+
*/
|
|
253
|
+
buildIssueTree(centralIssue: string): IssueTree;
|
|
254
|
+
/**
|
|
255
|
+
* イシューを追加
|
|
256
|
+
*/
|
|
257
|
+
addIssue(tree: IssueTree, content: string, options?: {
|
|
258
|
+
parentId?: string;
|
|
259
|
+
type?: Issue['type'];
|
|
260
|
+
solvability?: Issue['solvability'];
|
|
261
|
+
}): IssueTree;
|
|
262
|
+
/**
|
|
263
|
+
* イシューを優先順位付け
|
|
264
|
+
*/
|
|
265
|
+
prioritizeIssues(tree: IssueTree): IssueTree;
|
|
266
|
+
private toSWOTItems;
|
|
267
|
+
private generateCrossStrategies;
|
|
268
|
+
private toThreeCElement;
|
|
269
|
+
private deriveKSF;
|
|
270
|
+
private deriveStrategicImplications;
|
|
271
|
+
private toFourPElement;
|
|
272
|
+
private evaluateFourPConsistency;
|
|
273
|
+
private generateFourPRecommendations;
|
|
274
|
+
private toForceAnalysis;
|
|
275
|
+
private deriveFiveForcesImplications;
|
|
276
|
+
private toPrimaryActivities;
|
|
277
|
+
private toSupportActivities;
|
|
278
|
+
private identifyValueCreationPoints;
|
|
279
|
+
private analyzeCostStructure;
|
|
280
|
+
private identifyCompetitiveAdvantages;
|
|
281
|
+
private categorizeItems;
|
|
282
|
+
private autoCategorizeMECE;
|
|
283
|
+
private evaluateMECE;
|
|
284
|
+
private generateMECESuggestions;
|
|
285
|
+
private checkTreeMECE;
|
|
286
|
+
private calculateImpact;
|
|
287
|
+
private calculateUrgency;
|
|
288
|
+
private calculateFeasibility;
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=consulting-frameworks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consulting-frameworks.d.ts","sourceRoot":"","sources":["../../src/framework/consulting-frameworks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* コンサルティングフレームワーク分析モジュール
|
|
3
|
+
*
|
|
4
|
+
* MECE、SWOT、3C、4P、5Forces、バリューチェーンなど
|
|
5
|
+
* コンサルタントが利用する論理フレームワークを提供
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* コンサルティングフレームワークアナライザー
|
|
9
|
+
*/
|
|
10
|
+
export class FrameworkAnalyzer {
|
|
11
|
+
/**
|
|
12
|
+
* SWOT分析を実行
|
|
13
|
+
*/
|
|
14
|
+
analyzeSWOT(input) {
|
|
15
|
+
const strengthItems = this.toSWOTItems(input.strengths);
|
|
16
|
+
const weaknessItems = this.toSWOTItems(input.weaknesses);
|
|
17
|
+
const opportunityItems = this.toSWOTItems(input.opportunities);
|
|
18
|
+
const threatItems = this.toSWOTItems(input.threats);
|
|
19
|
+
const crossStrategies = this.generateCrossStrategies(strengthItems, weaknessItems, opportunityItems, threatItems);
|
|
20
|
+
return {
|
|
21
|
+
strengths: strengthItems,
|
|
22
|
+
weaknesses: weaknessItems,
|
|
23
|
+
opportunities: opportunityItems,
|
|
24
|
+
threats: threatItems,
|
|
25
|
+
crossStrategies,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 3C分析を実行
|
|
30
|
+
*/
|
|
31
|
+
analyzeThreeC(input) {
|
|
32
|
+
const company = this.toThreeCElement(input.company);
|
|
33
|
+
const customer = this.toThreeCElement(input.customer);
|
|
34
|
+
const competitor = this.toThreeCElement(input.competitor);
|
|
35
|
+
const keySuccessFactors = this.deriveKSF(company, customer, competitor);
|
|
36
|
+
const strategicImplications = this.deriveStrategicImplications(company, customer, competitor, keySuccessFactors);
|
|
37
|
+
return { company, customer, competitor, keySuccessFactors, strategicImplications };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 4P分析を実行
|
|
41
|
+
*/
|
|
42
|
+
analyzeFourP(input) {
|
|
43
|
+
const product = this.toFourPElement(input.product);
|
|
44
|
+
const price = this.toFourPElement(input.price);
|
|
45
|
+
const place = this.toFourPElement(input.place);
|
|
46
|
+
const promotion = this.toFourPElement(input.promotion);
|
|
47
|
+
const consistency = this.evaluateFourPConsistency(product, price, place, promotion);
|
|
48
|
+
const recommendations = this.generateFourPRecommendations(product, price, place, promotion);
|
|
49
|
+
return { product, price, place, promotion, consistency, recommendations };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 5Forces分析を実行
|
|
53
|
+
*/
|
|
54
|
+
analyzeFiveForces(input) {
|
|
55
|
+
const newEntrants = this.toForceAnalysis(input.newEntrants, '新規参入');
|
|
56
|
+
const substitutes = this.toForceAnalysis(input.substitutes, '代替品');
|
|
57
|
+
const buyerPower = this.toForceAnalysis(input.buyerPower, '買い手');
|
|
58
|
+
const supplierPower = this.toForceAnalysis(input.supplierPower, '売り手');
|
|
59
|
+
const rivalry = this.toForceAnalysis(input.rivalry, '競争');
|
|
60
|
+
const avgIntensity = (newEntrants.intensity + substitutes.intensity +
|
|
61
|
+
buyerPower.intensity + supplierPower.intensity + rivalry.intensity) / 5;
|
|
62
|
+
const industryAttractiveness = Math.round((6 - avgIntensity) * 10) / 10;
|
|
63
|
+
const strategicImplications = this.deriveFiveForcesImplications({
|
|
64
|
+
newEntrants, substitutes, buyerPower, supplierPower, rivalry,
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
newEntrants, substitutes, buyerPower, supplierPower, rivalry,
|
|
68
|
+
industryAttractiveness, strategicImplications,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* バリューチェーン分析を実行
|
|
73
|
+
*/
|
|
74
|
+
analyzeValueChain(input) {
|
|
75
|
+
const primaryActivities = this.toPrimaryActivities(input.primaryActivities);
|
|
76
|
+
const supportActivities = this.toSupportActivities(input.supportActivities);
|
|
77
|
+
const valueCreationPoints = this.identifyValueCreationPoints(primaryActivities, supportActivities);
|
|
78
|
+
const costStructure = this.analyzeCostStructure(primaryActivities, supportActivities);
|
|
79
|
+
const competitiveAdvantages = this.identifyCompetitiveAdvantages(primaryActivities, supportActivities, valueCreationPoints);
|
|
80
|
+
return {
|
|
81
|
+
primaryActivities, supportActivities, valueCreationPoints,
|
|
82
|
+
costStructure, competitiveAdvantages,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* MECE分析を実行
|
|
87
|
+
*/
|
|
88
|
+
analyzeMECE(items, categories) {
|
|
89
|
+
const meceCategories = categories
|
|
90
|
+
? this.categorizeItems(items, categories)
|
|
91
|
+
: this.autoCategorizeMECE(items);
|
|
92
|
+
const evaluation = this.evaluateMECE(meceCategories, items);
|
|
93
|
+
const suggestions = this.generateMECESuggestions(meceCategories, evaluation);
|
|
94
|
+
return { categories: meceCategories, evaluation, suggestions };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* ロジックツリーを構築
|
|
98
|
+
*/
|
|
99
|
+
buildLogicTree(rootIssue, type) {
|
|
100
|
+
return {
|
|
101
|
+
root: { id: 'root', content: rootIssue, children: [], nodeType: 'issue' },
|
|
102
|
+
type,
|
|
103
|
+
meceCheck: false,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* ロジックツリーにノードを追加
|
|
108
|
+
*/
|
|
109
|
+
addLogicTreeNode(tree, parentId, content, nodeType) {
|
|
110
|
+
const newNode = {
|
|
111
|
+
id: `node-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
|
|
112
|
+
content, children: [], nodeType,
|
|
113
|
+
};
|
|
114
|
+
const addToParent = (node) => {
|
|
115
|
+
if (node.id === parentId) {
|
|
116
|
+
node.children.push(newNode);
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
for (const child of node.children) {
|
|
120
|
+
if (addToParent(child))
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
};
|
|
125
|
+
addToParent(tree.root);
|
|
126
|
+
tree.meceCheck = this.checkTreeMECE(tree.root);
|
|
127
|
+
return tree;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* 仮説を構築
|
|
131
|
+
*/
|
|
132
|
+
buildHypothesis(mainHypothesis) {
|
|
133
|
+
return {
|
|
134
|
+
mainHypothesis, subHypotheses: [], validationPlan: [], status: 'unverified',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* イシューツリーを構築
|
|
139
|
+
*/
|
|
140
|
+
buildIssueTree(centralIssue) {
|
|
141
|
+
return { centralIssue, issues: [], prioritizedIssues: [] };
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* イシューを追加
|
|
145
|
+
*/
|
|
146
|
+
addIssue(tree, content, options = {}) {
|
|
147
|
+
tree.issues.push({
|
|
148
|
+
id: `issue-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
|
|
149
|
+
content,
|
|
150
|
+
parentId: options.parentId,
|
|
151
|
+
type: options.type || 'operational',
|
|
152
|
+
solvability: options.solvability || 'medium',
|
|
153
|
+
});
|
|
154
|
+
return tree;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* イシューを優先順位付け
|
|
158
|
+
*/
|
|
159
|
+
prioritizeIssues(tree) {
|
|
160
|
+
tree.prioritizedIssues = tree.issues.map((issue) => {
|
|
161
|
+
const impact = this.calculateImpact(issue);
|
|
162
|
+
const urgency = this.calculateUrgency(issue);
|
|
163
|
+
const feasibility = this.calculateFeasibility(issue);
|
|
164
|
+
return {
|
|
165
|
+
issueId: issue.id,
|
|
166
|
+
priorityScore: Math.round((impact * 0.4 + urgency * 0.3 + feasibility * 0.3) * 100) / 100,
|
|
167
|
+
impact, urgency, feasibility,
|
|
168
|
+
};
|
|
169
|
+
});
|
|
170
|
+
tree.prioritizedIssues.sort((a, b) => b.priorityScore - a.priorityScore);
|
|
171
|
+
return tree;
|
|
172
|
+
}
|
|
173
|
+
// ========== Private Methods ==========
|
|
174
|
+
toSWOTItems(items) {
|
|
175
|
+
return items.map((item) => {
|
|
176
|
+
if (typeof item === 'string') {
|
|
177
|
+
return { item, importance: 3 };
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
item: item.item,
|
|
181
|
+
importance: item.importance ?? 3,
|
|
182
|
+
description: item.description,
|
|
183
|
+
evidence: item.evidence,
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
generateCrossStrategies(strengths, weaknesses, opportunities, threats) {
|
|
188
|
+
const strategies = [];
|
|
189
|
+
const s0 = strengths[0];
|
|
190
|
+
const w0 = weaknesses[0];
|
|
191
|
+
const o0 = opportunities[0];
|
|
192
|
+
const t0 = threats[0];
|
|
193
|
+
if (s0 && o0) {
|
|
194
|
+
strategies.push({
|
|
195
|
+
type: 'SO', name: '積極的攻勢戦略',
|
|
196
|
+
description: `${s0.item}を活かして${o0.item}を獲得する`,
|
|
197
|
+
relatedInternal: strengths.slice(0, 2).map(s => s.item),
|
|
198
|
+
relatedExternal: opportunities.slice(0, 2).map(o => o.item),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
if (w0 && o0) {
|
|
202
|
+
strategies.push({
|
|
203
|
+
type: 'WO', name: '弱点強化戦略',
|
|
204
|
+
description: `${w0.item}を改善して${o0.item}を活かす`,
|
|
205
|
+
relatedInternal: weaknesses.slice(0, 2).map(w => w.item),
|
|
206
|
+
relatedExternal: opportunities.slice(0, 2).map(o => o.item),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
if (s0 && t0) {
|
|
210
|
+
strategies.push({
|
|
211
|
+
type: 'ST', name: '差別化戦略',
|
|
212
|
+
description: `${s0.item}を活かして${t0.item}に対抗する`,
|
|
213
|
+
relatedInternal: strengths.slice(0, 2).map(s => s.item),
|
|
214
|
+
relatedExternal: threats.slice(0, 2).map(t => t.item),
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
if (w0 && t0) {
|
|
218
|
+
strategies.push({
|
|
219
|
+
type: 'WT', name: '防衛・撤退戦略',
|
|
220
|
+
description: `${w0.item}による${t0.item}の影響を最小化する`,
|
|
221
|
+
relatedInternal: weaknesses.slice(0, 2).map(w => w.item),
|
|
222
|
+
relatedExternal: threats.slice(0, 2).map(t => t.item),
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
return strategies;
|
|
226
|
+
}
|
|
227
|
+
toThreeCElement(factors) {
|
|
228
|
+
const convertedFactors = factors.map(f => ({
|
|
229
|
+
name: f.name, detail: f.detail || '', importance: f.importance ?? 3,
|
|
230
|
+
}));
|
|
231
|
+
const summary = convertedFactors.length > 0
|
|
232
|
+
? `主要な要因: ${convertedFactors.slice(0, 3).map(f => f.name).join('、')}`
|
|
233
|
+
: '要因なし';
|
|
234
|
+
return { factors: convertedFactors, summary };
|
|
235
|
+
}
|
|
236
|
+
deriveKSF(company, customer, competitor) {
|
|
237
|
+
const ksf = [];
|
|
238
|
+
customer.factors.filter(f => f.importance >= 4).forEach(f => {
|
|
239
|
+
ksf.push(`顧客ニーズ「${f.name}」への対応力`);
|
|
240
|
+
});
|
|
241
|
+
if (competitor.factors.length > 0)
|
|
242
|
+
ksf.push('競合との明確な差別化');
|
|
243
|
+
company.factors.filter(f => f.importance >= 4).forEach(f => {
|
|
244
|
+
ksf.push(`${f.name}の維持・強化`);
|
|
245
|
+
});
|
|
246
|
+
return ksf.slice(0, 5);
|
|
247
|
+
}
|
|
248
|
+
deriveStrategicImplications(company, customer, competitor, ksf) {
|
|
249
|
+
const implications = [];
|
|
250
|
+
if (ksf.length > 0)
|
|
251
|
+
implications.push('KSFに基づく競争戦略の構築が必要');
|
|
252
|
+
if (customer.factors.some(f => f.importance >= 4)) {
|
|
253
|
+
implications.push('高重要度の顧客ニーズへの優先的対応');
|
|
254
|
+
}
|
|
255
|
+
if (competitor.factors.length > 2) {
|
|
256
|
+
implications.push('競合分析に基づく差別化ポジショニング');
|
|
257
|
+
}
|
|
258
|
+
if (company.factors.some(f => f.importance <= 2)) {
|
|
259
|
+
implications.push('自社の弱点領域の補強');
|
|
260
|
+
}
|
|
261
|
+
return implications;
|
|
262
|
+
}
|
|
263
|
+
toFourPElement(input) {
|
|
264
|
+
return {
|
|
265
|
+
current: input.current || [],
|
|
266
|
+
strengths: input.strengths || [],
|
|
267
|
+
challenges: input.challenges || [],
|
|
268
|
+
improvements: input.improvements || [],
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
evaluateFourPConsistency(product, price, place, promotion) {
|
|
272
|
+
let score = 1.0;
|
|
273
|
+
const elements = [product, price, place, promotion];
|
|
274
|
+
const definedCount = elements.filter(e => e.current.length > 0 || e.strengths.length > 0).length;
|
|
275
|
+
score *= definedCount / 4;
|
|
276
|
+
const challengeCount = elements.reduce((sum, e) => sum + e.challenges.length, 0);
|
|
277
|
+
score *= Math.max(0.5, 1 - challengeCount * 0.1);
|
|
278
|
+
return Math.round(score * 100) / 100;
|
|
279
|
+
}
|
|
280
|
+
generateFourPRecommendations(product, price, place, promotion) {
|
|
281
|
+
const recommendations = [];
|
|
282
|
+
if (product.challenges.length > 0)
|
|
283
|
+
recommendations.push(`製品の課題を解決: ${product.challenges[0]}`);
|
|
284
|
+
if (price.challenges.length > 0)
|
|
285
|
+
recommendations.push(`価格戦略の見直し: ${price.challenges[0]}`);
|
|
286
|
+
if (place.challenges.length > 0)
|
|
287
|
+
recommendations.push(`流通チャネルの最適化: ${place.challenges[0]}`);
|
|
288
|
+
if (promotion.challenges.length > 0)
|
|
289
|
+
recommendations.push(`プロモーション強化: ${promotion.challenges[0]}`);
|
|
290
|
+
return recommendations;
|
|
291
|
+
}
|
|
292
|
+
toForceAnalysis(input, name) {
|
|
293
|
+
return {
|
|
294
|
+
intensity: input.intensity ?? 3,
|
|
295
|
+
factors: input.factors || [],
|
|
296
|
+
description: input.description || `${name}の脅威: ${input.intensity ?? 3}/5`,
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
deriveFiveForcesImplications(forces) {
|
|
300
|
+
const implications = [];
|
|
301
|
+
if (forces.newEntrants.intensity >= 4)
|
|
302
|
+
implications.push('参入障壁の構築が急務');
|
|
303
|
+
if (forces.substitutes.intensity >= 4)
|
|
304
|
+
implications.push('代替品との差別化戦略が必要');
|
|
305
|
+
if (forces.buyerPower.intensity >= 4)
|
|
306
|
+
implications.push('顧客ロイヤルティ向上策の検討');
|
|
307
|
+
if (forces.supplierPower.intensity >= 4)
|
|
308
|
+
implications.push('調達先の多様化を推進');
|
|
309
|
+
if (forces.rivalry.intensity >= 4)
|
|
310
|
+
implications.push('競争激化への対応戦略が必要');
|
|
311
|
+
if (implications.length === 0)
|
|
312
|
+
implications.push('業界環境は比較的安定');
|
|
313
|
+
return implications;
|
|
314
|
+
}
|
|
315
|
+
toPrimaryActivities(inputs) {
|
|
316
|
+
const types = ['inbound', 'operations', 'outbound', 'marketing', 'service'];
|
|
317
|
+
return inputs.map((input, index) => ({
|
|
318
|
+
name: input.name,
|
|
319
|
+
type: input.type ?? types[index % 5],
|
|
320
|
+
description: input.description || '',
|
|
321
|
+
valueContribution: input.valueContribution ?? 3,
|
|
322
|
+
costRatio: input.costRatio ?? 20,
|
|
323
|
+
}));
|
|
324
|
+
}
|
|
325
|
+
toSupportActivities(inputs) {
|
|
326
|
+
const types = ['infrastructure', 'hr', 'technology', 'procurement'];
|
|
327
|
+
return inputs.map((input, index) => ({
|
|
328
|
+
name: input.name,
|
|
329
|
+
type: input.type ?? types[index % 4],
|
|
330
|
+
description: input.description || '',
|
|
331
|
+
valueContribution: input.valueContribution ?? 3,
|
|
332
|
+
costRatio: input.costRatio ?? 10,
|
|
333
|
+
}));
|
|
334
|
+
}
|
|
335
|
+
identifyValueCreationPoints(primary, support) {
|
|
336
|
+
return [...primary, ...support]
|
|
337
|
+
.filter(a => a.valueContribution >= 4)
|
|
338
|
+
.map(a => `${a.name} (価値貢献度: ${a.valueContribution}/5)`);
|
|
339
|
+
}
|
|
340
|
+
analyzeCostStructure(primary, support) {
|
|
341
|
+
return [...primary, ...support].map(a => ({
|
|
342
|
+
item: a.name,
|
|
343
|
+
ratio: a.costRatio,
|
|
344
|
+
improvementPotential: a.costRatio > 25 ? 'high' : a.costRatio > 15 ? 'medium' : 'low',
|
|
345
|
+
}));
|
|
346
|
+
}
|
|
347
|
+
identifyCompetitiveAdvantages(primary, support, valuePoints) {
|
|
348
|
+
const advantages = [];
|
|
349
|
+
if (valuePoints.length >= 3) {
|
|
350
|
+
advantages.push('複数の価値創出ポイントによる総合的な競争優位');
|
|
351
|
+
}
|
|
352
|
+
const highValuePrimary = primary.filter(a => a.valueContribution >= 4);
|
|
353
|
+
if (highValuePrimary.length > 0) {
|
|
354
|
+
advantages.push(`主活動における強み: ${highValuePrimary.map(a => a.name).join('、')}`);
|
|
355
|
+
}
|
|
356
|
+
const highValueSupport = support.filter(a => a.valueContribution >= 4);
|
|
357
|
+
if (highValueSupport.length > 0) {
|
|
358
|
+
advantages.push(`支援活動における強み: ${highValueSupport.map(a => a.name).join('、')}`);
|
|
359
|
+
}
|
|
360
|
+
return advantages;
|
|
361
|
+
}
|
|
362
|
+
categorizeItems(items, categories) {
|
|
363
|
+
const result = categories.map(cat => ({ name: cat, items: [] }));
|
|
364
|
+
items.forEach(item => {
|
|
365
|
+
let assigned = false;
|
|
366
|
+
for (const cat of result) {
|
|
367
|
+
const first = item.toLowerCase().split(' ')[0] || '';
|
|
368
|
+
if (item.toLowerCase().includes(cat.name.toLowerCase()) ||
|
|
369
|
+
cat.name.toLowerCase().includes(first)) {
|
|
370
|
+
cat.items.push(item);
|
|
371
|
+
assigned = true;
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if (!assigned && result.length > 0) {
|
|
376
|
+
const lastCat = result[result.length - 1];
|
|
377
|
+
if (lastCat)
|
|
378
|
+
lastCat.items.push(item);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
return result;
|
|
382
|
+
}
|
|
383
|
+
autoCategorizeMECE(items) {
|
|
384
|
+
if (items.length <= 3) {
|
|
385
|
+
return [{ name: '全体', items }];
|
|
386
|
+
}
|
|
387
|
+
const categoryCount = Math.min(Math.ceil(items.length / 3), 5);
|
|
388
|
+
const categories = [];
|
|
389
|
+
for (let i = 0; i < categoryCount; i++) {
|
|
390
|
+
categories.push({ name: `カテゴリ${i + 1}`, items: [] });
|
|
391
|
+
}
|
|
392
|
+
items.forEach((item, index) => {
|
|
393
|
+
const cat = categories[index % categoryCount];
|
|
394
|
+
if (cat)
|
|
395
|
+
cat.items.push(item);
|
|
396
|
+
});
|
|
397
|
+
return categories;
|
|
398
|
+
}
|
|
399
|
+
evaluateMECE(categories, originalItems) {
|
|
400
|
+
const allCategorizedItems = categories.flatMap(c => c.items);
|
|
401
|
+
const uniqueItems = new Set(allCategorizedItems);
|
|
402
|
+
const mutuallyExclusive = allCategorizedItems.length === uniqueItems.size ? 1.0 : 0.5;
|
|
403
|
+
const coveredItems = new Set(allCategorizedItems);
|
|
404
|
+
const uncovered = originalItems.filter(i => !coveredItems.has(i));
|
|
405
|
+
const collectivelyExhaustive = uncovered.length === 0
|
|
406
|
+
? 1.0
|
|
407
|
+
: 1.0 - uncovered.length / originalItems.length;
|
|
408
|
+
const overallScore = (mutuallyExclusive + collectivelyExhaustive) / 2;
|
|
409
|
+
return {
|
|
410
|
+
mutuallyExclusive: Math.round(mutuallyExclusive * 100) / 100,
|
|
411
|
+
collectivelyExhaustive: Math.round(collectivelyExhaustive * 100) / 100,
|
|
412
|
+
overallScore: Math.round(overallScore * 100) / 100,
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
generateMECESuggestions(categories, evaluation) {
|
|
416
|
+
const suggestions = [];
|
|
417
|
+
if (evaluation.mutuallyExclusive < 1.0) {
|
|
418
|
+
suggestions.push('カテゴリ間で重複するアイテムがあります。分類基準を見直してください。');
|
|
419
|
+
}
|
|
420
|
+
if (evaluation.collectivelyExhaustive < 1.0) {
|
|
421
|
+
suggestions.push('すべてのアイテムがカテゴリに含まれていません。漏れを確認してください。');
|
|
422
|
+
}
|
|
423
|
+
if (categories.some(c => c.items.length === 0)) {
|
|
424
|
+
suggestions.push('空のカテゴリがあります。カテゴリの統合を検討してください。');
|
|
425
|
+
}
|
|
426
|
+
if (categories.some(c => c.items.length > 10)) {
|
|
427
|
+
suggestions.push('アイテムが多すぎるカテゴリがあります。細分化を検討してください。');
|
|
428
|
+
}
|
|
429
|
+
if (suggestions.length === 0) {
|
|
430
|
+
suggestions.push('MECE性は良好です。');
|
|
431
|
+
}
|
|
432
|
+
return suggestions;
|
|
433
|
+
}
|
|
434
|
+
checkTreeMECE(node) {
|
|
435
|
+
if (node.children.length === 0)
|
|
436
|
+
return true;
|
|
437
|
+
const contents = node.children.map(c => c.content.toLowerCase());
|
|
438
|
+
const unique = new Set(contents);
|
|
439
|
+
if (contents.length !== unique.size)
|
|
440
|
+
return false;
|
|
441
|
+
return node.children.every(child => this.checkTreeMECE(child));
|
|
442
|
+
}
|
|
443
|
+
calculateImpact(issue) {
|
|
444
|
+
const scores = { strategic: 5, operational: 3, tactical: 2 };
|
|
445
|
+
return scores[issue.type];
|
|
446
|
+
}
|
|
447
|
+
calculateUrgency(issue) {
|
|
448
|
+
const scores = { low: 4, medium: 3, high: 2 };
|
|
449
|
+
return scores[issue.solvability];
|
|
450
|
+
}
|
|
451
|
+
calculateFeasibility(issue) {
|
|
452
|
+
const scores = { high: 5, medium: 3, low: 1 };
|
|
453
|
+
return scores[issue.solvability];
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
//# sourceMappingURL=consulting-frameworks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consulting-frameworks.js","sourceRoot":"","sources":["../../src/framework/consulting-frameworks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework module exports
|
|
3
|
+
*/
|
|
4
|
+
export { FrameworkAnalyzer, type SWOTAnalysis, type SWOTItem, type CrossSWOTStrategy, type SWOTInput, type SWOTItemInput, type ThreeCAnalysis, type ThreeCElement, type ThreeCFactor, type ThreeCInput, type ThreeCFactorInput, type FourPAnalysis, type FourPElement, type FourPInput, type FourPElementInput, type FiveForcesAnalysis, type ForceAnalysis, type FiveForcesInput, type ForceInput, type ValueChainAnalysis, type ValueChainActivity, type CostItem, type ValueChainInput, type ActivityInput, type MECEAnalysis, type MECECategory, type LogicTree, type LogicTreeNode, type HypothesisFramework, type SubHypothesis, type ValidationStep, type IssueTree, type Issue, type PrioritizedIssue, } from './consulting-frameworks.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/framework/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,iBAAiB,EAEjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAEtB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,YAAY,EAEjB,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,gBAAgB,GACtB,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/framework/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,iBAAiB,GA2ClB,MAAM,4BAA4B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export { EntityExtractor, type Entity, type EntityType, } from './entity/index.j
|
|
|
14
14
|
export { RelationAnalyzer, type RelationType, type EntityPair, type Relation, type GraphNode, type GraphEdge, type RelationGraph, } from './relation/index.js';
|
|
15
15
|
export { TopicModeler, type Topic, type TopicDistribution, type SimilarDocument, type DocumentCluster, } from './topic/index.js';
|
|
16
16
|
export { QualityScorer, type QualityDimension, type QualityScore, type QualityReport, } from './quality/index.js';
|
|
17
|
+
export { FrameworkAnalyzer, type SWOTAnalysis, type SWOTItem, type CrossSWOTStrategy, type SWOTInput, type SWOTItemInput, type ThreeCAnalysis, type ThreeCElement, type ThreeCFactor, type ThreeCInput, type ThreeCFactorInput, type FourPAnalysis, type FourPElement, type FourPInput, type FourPElementInput, type FiveForcesAnalysis, type ForceAnalysis, type FiveForcesInput, type ForceInput, type ValueChainAnalysis, type ValueChainActivity, type CostItem, type ValueChainInput, type ActivityInput, type MECEAnalysis, type MECECategory, type LogicTree, type LogicTreeNode, type HypothesisFramework, type SubHypothesis, type ValidationStep, type IssueTree, type Issue, type PrioritizedIssue, } from './framework/index.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,OAAO,EACP,eAAe,EACf,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,KAAK,MAAM,EACX,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,OAAO,EACP,eAAe,EACf,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,KAAK,MAAM,EACX,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,EAEjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAEtB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,YAAY,EAEjB,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,4 +13,6 @@ export { EntityExtractor, } from './entity/index.js';
|
|
|
13
13
|
export { RelationAnalyzer, } from './relation/index.js';
|
|
14
14
|
export { TopicModeler, } from './topic/index.js';
|
|
15
15
|
export { QualityScorer, } from './quality/index.js';
|
|
16
|
+
// コンサルティングフレームワーク
|
|
17
|
+
export { FrameworkAnalyzer, } from './framework/index.js';
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH,KAAK;AACL,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,iBAAiB,GAQlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,GAOjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,GAKb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,GAId,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH,KAAK;AACL,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,iBAAiB,GAQlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,GAOjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,GAKb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,GAId,MAAM,oBAAoB,CAAC;AAE5B,kBAAkB;AAClB,OAAO,EACL,iBAAiB,GA2ClB,MAAM,sBAAsB,CAAC"}
|