business-as-code 2.1.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +2 -0
- package/package.json +7 -4
- package/src/dollar.ts +5 -2
- package/src/entities/organization.ts +31 -18
- package/src/goals.ts +78 -12
- package/src/index.ts +48 -18
- package/src/kpis.ts +62 -8
- package/src/metrics.ts +92 -79
- package/src/okrs.ts +120 -20
- package/src/organization.ts +12 -15
- package/src/process.ts +11 -12
- package/src/product.ts +8 -9
- package/src/queries.ts +238 -75
- package/src/roles.ts +62 -61
- package/src/workflow.ts +22 -15
- package/test/business.test.ts +282 -0
- package/test/dollar.test.ts +270 -0
- package/test/entities.test.ts +628 -0
- package/test/financials.test.ts +539 -0
- package/test/goals.test.ts +451 -0
- package/{src → test}/index.test.ts +1 -1
- package/test/kpis.test.ts +440 -0
- package/test/metrics.test.ts +744 -0
- package/test/okrs.test.ts +741 -0
- package/test/organization.test.ts +548 -0
- package/test/process.test.ts +503 -0
- package/test/product.test.ts +430 -0
- package/test/queries.test.ts +556 -0
- package/test/roles.test.ts +546 -0
- package/test/service.test.ts +450 -0
- package/test/types.test.ts +1141 -0
- package/test/vision.test.ts +214 -0
- package/test/workflow.test.ts +501 -0
- package/vitest.config.ts +47 -0
- package/.turbo/turbo-build.log +0 -5
- package/dist/business.d.ts +0 -62
- package/dist/business.d.ts.map +0 -1
- package/dist/business.js +0 -109
- package/dist/business.js.map +0 -1
- package/dist/dollar.d.ts +0 -60
- package/dist/dollar.d.ts.map +0 -1
- package/dist/dollar.js +0 -107
- package/dist/dollar.js.map +0 -1
- package/dist/entities/assets.d.ts +0 -21
- package/dist/entities/assets.d.ts.map +0 -1
- package/dist/entities/assets.js +0 -323
- package/dist/entities/assets.js.map +0 -1
- package/dist/entities/business.d.ts +0 -36
- package/dist/entities/business.d.ts.map +0 -1
- package/dist/entities/business.js +0 -370
- package/dist/entities/business.js.map +0 -1
- package/dist/entities/communication.d.ts +0 -21
- package/dist/entities/communication.d.ts.map +0 -1
- package/dist/entities/communication.js +0 -255
- package/dist/entities/communication.js.map +0 -1
- package/dist/entities/customers.d.ts +0 -58
- package/dist/entities/customers.d.ts.map +0 -1
- package/dist/entities/customers.js +0 -989
- package/dist/entities/customers.js.map +0 -1
- package/dist/entities/financials.d.ts +0 -59
- package/dist/entities/financials.d.ts.map +0 -1
- package/dist/entities/financials.js +0 -932
- package/dist/entities/financials.js.map +0 -1
- package/dist/entities/goals.d.ts +0 -58
- package/dist/entities/goals.d.ts.map +0 -1
- package/dist/entities/goals.js +0 -800
- package/dist/entities/goals.js.map +0 -1
- package/dist/entities/index.d.ts +0 -299
- package/dist/entities/index.d.ts.map +0 -1
- package/dist/entities/index.js +0 -198
- package/dist/entities/index.js.map +0 -1
- package/dist/entities/legal.d.ts +0 -21
- package/dist/entities/legal.d.ts.map +0 -1
- package/dist/entities/legal.js +0 -301
- package/dist/entities/legal.js.map +0 -1
- package/dist/entities/market.d.ts +0 -21
- package/dist/entities/market.d.ts.map +0 -1
- package/dist/entities/market.js +0 -301
- package/dist/entities/market.js.map +0 -1
- package/dist/entities/marketing.d.ts +0 -67
- package/dist/entities/marketing.d.ts.map +0 -1
- package/dist/entities/marketing.js +0 -1157
- package/dist/entities/marketing.js.map +0 -1
- package/dist/entities/offerings.d.ts +0 -51
- package/dist/entities/offerings.d.ts.map +0 -1
- package/dist/entities/offerings.js +0 -727
- package/dist/entities/offerings.js.map +0 -1
- package/dist/entities/operations.d.ts +0 -58
- package/dist/entities/operations.d.ts.map +0 -1
- package/dist/entities/operations.js +0 -787
- package/dist/entities/operations.js.map +0 -1
- package/dist/entities/organization.d.ts +0 -57
- package/dist/entities/organization.d.ts.map +0 -1
- package/dist/entities/organization.js +0 -807
- package/dist/entities/organization.js.map +0 -1
- package/dist/entities/partnerships.d.ts +0 -21
- package/dist/entities/partnerships.d.ts.map +0 -1
- package/dist/entities/partnerships.js +0 -300
- package/dist/entities/partnerships.js.map +0 -1
- package/dist/entities/planning.d.ts +0 -87
- package/dist/entities/planning.d.ts.map +0 -1
- package/dist/entities/planning.js +0 -271
- package/dist/entities/planning.js.map +0 -1
- package/dist/entities/projects.d.ts +0 -25
- package/dist/entities/projects.d.ts.map +0 -1
- package/dist/entities/projects.js +0 -349
- package/dist/entities/projects.js.map +0 -1
- package/dist/entities/risk.d.ts +0 -21
- package/dist/entities/risk.d.ts.map +0 -1
- package/dist/entities/risk.js +0 -293
- package/dist/entities/risk.js.map +0 -1
- package/dist/entities/sales.d.ts +0 -72
- package/dist/entities/sales.d.ts.map +0 -1
- package/dist/entities/sales.js +0 -1248
- package/dist/entities/sales.js.map +0 -1
- package/dist/financials.d.ts +0 -130
- package/dist/financials.d.ts.map +0 -1
- package/dist/financials.js +0 -297
- package/dist/financials.js.map +0 -1
- package/dist/goals.d.ts +0 -87
- package/dist/goals.d.ts.map +0 -1
- package/dist/goals.js +0 -215
- package/dist/goals.js.map +0 -1
- package/dist/index.d.ts +0 -97
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -132
- package/dist/index.js.map +0 -1
- package/dist/kpis.d.ts +0 -118
- package/dist/kpis.d.ts.map +0 -1
- package/dist/kpis.js +0 -232
- package/dist/kpis.js.map +0 -1
- package/dist/metrics.d.ts +0 -448
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js +0 -325
- package/dist/metrics.js.map +0 -1
- package/dist/okrs.d.ts +0 -123
- package/dist/okrs.d.ts.map +0 -1
- package/dist/okrs.js +0 -269
- package/dist/okrs.js.map +0 -1
- package/dist/organization.d.ts +0 -585
- package/dist/organization.d.ts.map +0 -1
- package/dist/organization.js +0 -173
- package/dist/organization.js.map +0 -1
- package/dist/process.d.ts +0 -112
- package/dist/process.d.ts.map +0 -1
- package/dist/process.js +0 -241
- package/dist/process.js.map +0 -1
- package/dist/product.d.ts +0 -85
- package/dist/product.d.ts.map +0 -1
- package/dist/product.js +0 -145
- package/dist/product.js.map +0 -1
- package/dist/queries.d.ts +0 -304
- package/dist/queries.d.ts.map +0 -1
- package/dist/queries.js +0 -415
- package/dist/queries.js.map +0 -1
- package/dist/roles.d.ts +0 -340
- package/dist/roles.d.ts.map +0 -1
- package/dist/roles.js +0 -255
- package/dist/roles.js.map +0 -1
- package/dist/service.d.ts +0 -61
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -140
- package/dist/service.js.map +0 -1
- package/dist/types.d.ts +0 -459
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/dist/vision.d.ts +0 -38
- package/dist/vision.d.ts.map +0 -1
- package/dist/vision.js +0 -68
- package/dist/vision.js.map +0 -1
- package/dist/workflow.d.ts +0 -115
- package/dist/workflow.d.ts.map +0 -1
- package/dist/workflow.js +0 -247
- package/dist/workflow.js.map +0 -1
- package/src/business.js +0 -108
- package/src/dollar.js +0 -106
- package/src/entities/assets.js +0 -322
- package/src/entities/business.js +0 -369
- package/src/entities/communication.js +0 -254
- package/src/entities/customers.js +0 -988
- package/src/entities/financials.js +0 -931
- package/src/entities/goals.js +0 -799
- package/src/entities/index.js +0 -197
- package/src/entities/legal.js +0 -300
- package/src/entities/market.js +0 -300
- package/src/entities/marketing.js +0 -1156
- package/src/entities/offerings.js +0 -726
- package/src/entities/operations.js +0 -786
- package/src/entities/organization.js +0 -806
- package/src/entities/partnerships.js +0 -299
- package/src/entities/planning.js +0 -270
- package/src/entities/projects.js +0 -348
- package/src/entities/risk.js +0 -292
- package/src/entities/sales.js +0 -1247
- package/src/financials.js +0 -296
- package/src/goals.js +0 -214
- package/src/index.js +0 -131
- package/src/index.test.js +0 -274
- package/src/kpis.js +0 -231
- package/src/metrics.js +0 -324
- package/src/okrs.js +0 -268
- package/src/organization.js +0 -172
- package/src/process.js +0 -240
- package/src/product.js +0 -144
- package/src/queries.js +0 -414
- package/src/roles.js +0 -254
- package/src/service.js +0 -139
- package/src/types.js +0 -4
- package/src/vision.js +0 -67
- package/src/workflow.js +0 -246
package/dist/goals.js
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Business goals definition and tracking
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Define a business goal with metrics and tracking
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* const goals = Goals([
|
|
10
|
-
* {
|
|
11
|
-
* name: 'Launch MVP',
|
|
12
|
-
* description: 'Ship minimum viable product to early customers',
|
|
13
|
-
* category: 'strategic',
|
|
14
|
-
* targetDate: new Date('2024-06-30'),
|
|
15
|
-
* owner: 'Product Team',
|
|
16
|
-
* metrics: ['User signups', 'Feature completion rate'],
|
|
17
|
-
* status: 'in-progress',
|
|
18
|
-
* progress: 65,
|
|
19
|
-
* },
|
|
20
|
-
* {
|
|
21
|
-
* name: 'Achieve Product-Market Fit',
|
|
22
|
-
* description: 'Validate product value with target customers',
|
|
23
|
-
* category: 'strategic',
|
|
24
|
-
* targetDate: new Date('2024-12-31'),
|
|
25
|
-
* owner: 'CEO',
|
|
26
|
-
* metrics: ['NPS > 50', 'Churn < 5%', '100+ paying customers'],
|
|
27
|
-
* status: 'in-progress',
|
|
28
|
-
* progress: 30,
|
|
29
|
-
* dependencies: ['Launch MVP'],
|
|
30
|
-
* },
|
|
31
|
-
* ])
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export function Goals(definitions) {
|
|
35
|
-
return definitions.map(goal => validateAndNormalizeGoal(goal));
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Define a single goal
|
|
39
|
-
*/
|
|
40
|
-
export function Goal(definition) {
|
|
41
|
-
return validateAndNormalizeGoal(definition);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Validate and normalize a goal definition
|
|
45
|
-
*/
|
|
46
|
-
function validateAndNormalizeGoal(goal) {
|
|
47
|
-
if (!goal.name) {
|
|
48
|
-
throw new Error('Goal name is required');
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
...goal,
|
|
52
|
-
category: goal.category || 'operational',
|
|
53
|
-
status: goal.status || 'not-started',
|
|
54
|
-
progress: goal.progress || 0,
|
|
55
|
-
metrics: goal.metrics || [],
|
|
56
|
-
dependencies: goal.dependencies || [],
|
|
57
|
-
metadata: goal.metadata || {},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Update goal progress
|
|
62
|
-
*/
|
|
63
|
-
export function updateProgress(goal, progress) {
|
|
64
|
-
if (progress < 0 || progress > 100) {
|
|
65
|
-
throw new Error('Progress must be between 0 and 100');
|
|
66
|
-
}
|
|
67
|
-
// Auto-update status based on progress
|
|
68
|
-
let status = goal.status;
|
|
69
|
-
if (progress === 0) {
|
|
70
|
-
status = 'not-started';
|
|
71
|
-
}
|
|
72
|
-
else if (progress === 100) {
|
|
73
|
-
status = 'completed';
|
|
74
|
-
}
|
|
75
|
-
else if (progress > 0) {
|
|
76
|
-
status = 'in-progress';
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
...goal,
|
|
80
|
-
progress,
|
|
81
|
-
status,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Mark goal as at-risk
|
|
86
|
-
*/
|
|
87
|
-
export function markAtRisk(goal) {
|
|
88
|
-
return {
|
|
89
|
-
...goal,
|
|
90
|
-
status: 'at-risk',
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Mark goal as completed
|
|
95
|
-
*/
|
|
96
|
-
export function complete(goal) {
|
|
97
|
-
return {
|
|
98
|
-
...goal,
|
|
99
|
-
status: 'completed',
|
|
100
|
-
progress: 100,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Check if goal is overdue
|
|
105
|
-
*/
|
|
106
|
-
export function isOverdue(goal) {
|
|
107
|
-
if (!goal.targetDate)
|
|
108
|
-
return false;
|
|
109
|
-
return new Date() > goal.targetDate && goal.status !== 'completed';
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Get goals by category
|
|
113
|
-
*/
|
|
114
|
-
export function getGoalsByCategory(goals, category) {
|
|
115
|
-
return goals.filter(g => g.category === category);
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Get goals by status
|
|
119
|
-
*/
|
|
120
|
-
export function getGoalsByStatus(goals, status) {
|
|
121
|
-
return goals.filter(g => g.status === status);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Get goals by owner
|
|
125
|
-
*/
|
|
126
|
-
export function getGoalsByOwner(goals, owner) {
|
|
127
|
-
return goals.filter(g => g.owner === owner);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Calculate overall progress across all goals
|
|
131
|
-
*/
|
|
132
|
-
export function calculateOverallProgress(goals) {
|
|
133
|
-
if (goals.length === 0)
|
|
134
|
-
return 0;
|
|
135
|
-
const totalProgress = goals.reduce((sum, goal) => sum + (goal.progress || 0), 0);
|
|
136
|
-
return totalProgress / goals.length;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Check for circular dependencies
|
|
140
|
-
*/
|
|
141
|
-
export function hasCircularDependencies(goals) {
|
|
142
|
-
const goalMap = new Map(goals.map(g => [g.name, g]));
|
|
143
|
-
function checkCircular(goalName, visited = new Set()) {
|
|
144
|
-
if (visited.has(goalName))
|
|
145
|
-
return true;
|
|
146
|
-
const goal = goalMap.get(goalName);
|
|
147
|
-
if (!goal || !goal.dependencies)
|
|
148
|
-
return false;
|
|
149
|
-
visited.add(goalName);
|
|
150
|
-
for (const dep of goal.dependencies) {
|
|
151
|
-
if (checkCircular(dep, new Set(visited))) {
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return false;
|
|
156
|
-
}
|
|
157
|
-
return goals.some(goal => checkCircular(goal.name));
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Get goals in dependency order
|
|
161
|
-
*/
|
|
162
|
-
export function sortByDependencies(goals) {
|
|
163
|
-
const goalMap = new Map(goals.map(g => [g.name, g]));
|
|
164
|
-
const sorted = [];
|
|
165
|
-
const visited = new Set();
|
|
166
|
-
function visit(goalName) {
|
|
167
|
-
if (visited.has(goalName))
|
|
168
|
-
return;
|
|
169
|
-
const goal = goalMap.get(goalName);
|
|
170
|
-
if (!goal)
|
|
171
|
-
return;
|
|
172
|
-
visited.add(goalName);
|
|
173
|
-
// Visit dependencies first
|
|
174
|
-
if (goal.dependencies) {
|
|
175
|
-
for (const dep of goal.dependencies) {
|
|
176
|
-
visit(dep);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
sorted.push(goal);
|
|
180
|
-
}
|
|
181
|
-
for (const goal of goals) {
|
|
182
|
-
visit(goal.name);
|
|
183
|
-
}
|
|
184
|
-
return sorted;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Validate goals
|
|
188
|
-
*/
|
|
189
|
-
export function validateGoals(goals) {
|
|
190
|
-
const errors = [];
|
|
191
|
-
for (const goal of goals) {
|
|
192
|
-
if (!goal.name) {
|
|
193
|
-
errors.push('Goal name is required');
|
|
194
|
-
}
|
|
195
|
-
if (goal.progress && (goal.progress < 0 || goal.progress > 100)) {
|
|
196
|
-
errors.push(`Goal ${goal.name} progress must be between 0 and 100`);
|
|
197
|
-
}
|
|
198
|
-
if (goal.dependencies) {
|
|
199
|
-
const goalNames = new Set(goals.map(g => g.name));
|
|
200
|
-
for (const dep of goal.dependencies) {
|
|
201
|
-
if (!goalNames.has(dep)) {
|
|
202
|
-
errors.push(`Goal ${goal.name} depends on unknown goal: ${dep}`);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
if (hasCircularDependencies(goals)) {
|
|
208
|
-
errors.push('Circular dependencies detected in goals');
|
|
209
|
-
}
|
|
210
|
-
return {
|
|
211
|
-
valid: errors.length === 0,
|
|
212
|
-
errors,
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
//# sourceMappingURL=goals.js.map
|
package/dist/goals.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"goals.js","sourceRoot":"","sources":["../src/goals.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* business-as-code - Primitives for expressing business logic and processes as code
|
|
3
|
-
*
|
|
4
|
-
* This package provides primitives for defining business entities, goals, products,
|
|
5
|
-
* services, processes, workflows, KPIs, OKRs, and financial metrics.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { Business, Product, Goals, kpis, okrs, financials, $ } from 'business-as-code'
|
|
10
|
-
*
|
|
11
|
-
* // Define your business
|
|
12
|
-
* const company = Business({
|
|
13
|
-
* name: 'Acme Corp',
|
|
14
|
-
* mission: 'To make widgets accessible to everyone',
|
|
15
|
-
* values: ['Innovation', 'Customer Focus', 'Integrity'],
|
|
16
|
-
* })
|
|
17
|
-
*
|
|
18
|
-
* // Define products
|
|
19
|
-
* const product = Product({
|
|
20
|
-
* name: 'Widget Pro',
|
|
21
|
-
* pricingModel: 'subscription',
|
|
22
|
-
* price: 99,
|
|
23
|
-
* cogs: 20,
|
|
24
|
-
* })
|
|
25
|
-
*
|
|
26
|
-
* // Define goals
|
|
27
|
-
* const goals = Goals([
|
|
28
|
-
* {
|
|
29
|
-
* name: 'Launch MVP',
|
|
30
|
-
* category: 'strategic',
|
|
31
|
-
* status: 'in-progress',
|
|
32
|
-
* progress: 65,
|
|
33
|
-
* },
|
|
34
|
-
* ])
|
|
35
|
-
*
|
|
36
|
-
* // Track KPIs
|
|
37
|
-
* const kpiList = kpis([
|
|
38
|
-
* {
|
|
39
|
-
* name: 'Monthly Recurring Revenue',
|
|
40
|
-
* category: 'financial',
|
|
41
|
-
* target: 100000,
|
|
42
|
-
* current: 85000,
|
|
43
|
-
* },
|
|
44
|
-
* ])
|
|
45
|
-
*
|
|
46
|
-
* // Define OKRs
|
|
47
|
-
* const okrList = okrs([
|
|
48
|
-
* {
|
|
49
|
-
* objective: 'Achieve Product-Market Fit',
|
|
50
|
-
* keyResults: [
|
|
51
|
-
* {
|
|
52
|
-
* description: 'Increase NPS',
|
|
53
|
-
* metric: 'NPS',
|
|
54
|
-
* targetValue: 60,
|
|
55
|
-
* currentValue: 52,
|
|
56
|
-
* },
|
|
57
|
-
* ],
|
|
58
|
-
* },
|
|
59
|
-
* ])
|
|
60
|
-
*
|
|
61
|
-
* // Calculate financials
|
|
62
|
-
* const metrics = financials({
|
|
63
|
-
* revenue: 1000000,
|
|
64
|
-
* cogs: 300000,
|
|
65
|
-
* operatingExpenses: 500000,
|
|
66
|
-
* })
|
|
67
|
-
*
|
|
68
|
-
* // Use $ helper for calculations
|
|
69
|
-
* console.log($.format(1234.56)) // "$1,234.56"
|
|
70
|
-
* console.log($.growth(120, 100)) // 20
|
|
71
|
-
* console.log($.margin(100, 60)) // 40
|
|
72
|
-
* ```
|
|
73
|
-
*
|
|
74
|
-
* @packageDocumentation
|
|
75
|
-
*/
|
|
76
|
-
export type { Currency, TimePeriod, BusinessDefinition, OrganizationalStructure, Department, Team, VisionDefinition, GoalDefinition, ProductDefinition, ServiceDefinition, RoadmapItem, ServiceLevelAgreement, ProcessDefinition, ProcessStep, ProcessMetric, WorkflowDefinition, WorkflowAction, WorkflowTrigger, KPIDefinition, OKRDefinition, KeyResult, FinancialMetrics, FinancialStatement, BusinessContext, BusinessOperations, } from './types.js';
|
|
77
|
-
export { Business, getTotalBudget, getTotalTeamSize, getDepartment, getTeam, validateBusiness, } from './business.js';
|
|
78
|
-
export { Vision, checkIndicator, calculateProgress, validateVision, } from './vision.js';
|
|
79
|
-
export { Goals, Goal, updateProgress, markAtRisk, complete, isOverdue, getGoalsByCategory, getGoalsByStatus, getGoalsByOwner, calculateOverallProgress, hasCircularDependencies, sortByDependencies, validateGoals, } from './goals.js';
|
|
80
|
-
export { Product, calculateGrossMargin, calculateGrossProfit, getRoadmapByStatus, getRoadmapByPriority, getOverdueRoadmapItems, updateRoadmapItem, addFeature, removeFeature, validateProduct, } from './product.js';
|
|
81
|
-
export { Service, calculateHourlyPrice, calculateMonthlyRetainer, checkSLAUptime, parseDeliveryTimeToDays, estimateCompletionDate, calculateValueBasedPrice, validateService, } from './service.js';
|
|
82
|
-
export { Process, getStepsInOrder, getStepsByAutomationLevel, calculateTotalDuration, formatDuration, calculateAutomationPercentage, getMetric, meetsTarget, calculateMetricAchievement, updateMetric, addStep, removeStep, validateProcess, } from './process.js';
|
|
83
|
-
export { Workflow, getActionsInOrder, getActionsByType, getConditionalActions, addAction, removeAction, updateAction, isEventTrigger, isScheduleTrigger, isWebhookTrigger, parseWaitDuration, evaluateCondition, fillTemplate, validateWorkflow, } from './workflow.js';
|
|
84
|
-
export { kpis, kpi, calculateAchievement, meetsTarget as kpiMeetsTarget, updateCurrent, updateTarget, getKPIsByCategory, getKPIsByFrequency, getKPIsOnTarget, getKPIsOffTarget, calculateHealthScore, groupByCategory, calculateVariance, calculateVariancePercentage, formatValue, comparePerformance, validateKPIs, } from './kpis.js';
|
|
85
|
-
export { okrs, okr, calculateKeyResultProgress, calculateOKRProgress, calculateConfidence, updateKeyResult, isKeyResultOnTrack, isOKROnTrack, getKeyResultsOnTrack, getKeyResultsAtRisk, getOKRsByOwner, getOKRsByPeriod, getOKRsByStatus, calculateSuccessRate, formatKeyResult, compareOKRPerformance, validateOKRs, } from './okrs.js';
|
|
86
|
-
export { financials, calculateGrossMargin as calculateFinancialGrossMargin, calculateOperatingMargin, calculateNetMargin, calculateEBITDAMargin, calculateBurnRate, calculateRunway, calculateCAC, calculateLTV, calculateLTVtoCAC, calculatePaybackPeriod, calculateARR, calculateMRR, calculateGrowthRate, calculateCAGR, calculateROI, calculateROE, calculateROA, calculateQuickRatio, calculateCurrentRatio, calculateDebtToEquity, formatCurrency, createStatement, getLineItem, compareMetrics, validateFinancials, } from './financials.js';
|
|
87
|
-
export { $, createBusinessOperations, updateContext, getContext, resetContext, } from './dollar.js';
|
|
88
|
-
export type { DateRange, MetricPeriod, DataPoint, TimeSeries, MRR, ARR, NRR, GRR, ARPU, RevenueSegment, CAC, LTV, LTVtoCAC, Churn, RetentionCohort, GrowthRate, QuickRatio, MagicNumber, BurnMultiple, RuleOf40, EfficiencyScore, Pipeline, PipelineStage, SalesVelocity, NPS, CustomerHealth, HealthFactor, SaaSMetrics, } from './metrics.js';
|
|
89
|
-
export { calculateMRR as calculateMRRMetric, calculateARRFromMRR as calculateARRMetric, calculateNRR as calculateNRRMetric, calculateGRR as calculateGRRMetric, calculateCACMetric, calculateLTVMetric, calculateLTVtoCACRatio, calculateQuickRatioMetric, calculateMagicNumberMetric, calculateBurnMultipleMetric, calculateRuleOf40Metric, calculateGrowthRates, calculateChurnMetrics, aggregateTimeSeries, createMetricPeriod, } from './metrics.js';
|
|
90
|
-
export type { Granularity, AggregateFunction, Operator, SortDirection, Dimension, Measure, CalculatedMeasure, Filter, Sort, TimeRange, Query, ResolvedQuery, View, Dashboard, DashboardLayout, DashboardItem, Visualization, QueryRow, QueryResult, QueryExecutor, StreamingQueryResult, StreamingQueryExecutor, } from './queries.js';
|
|
91
|
-
export { StandardDimensions, StandardMeasures, CalculatedMetrics, query, QueryBuilder, view, ViewBuilder, dashboard, DashboardBuilder, MrrOverview, ArrBySegment, CohortRetention, UnitEconomics, RevenueByChannel, GrowthMetrics, ExecutiveDashboard, } from './queries.js';
|
|
92
|
-
export type { BusinessRoleType, BusinessRole, TaskStatus, TaskPriority, TaskAssignment, AssigneeRef, TaskRoutingRule, WorkflowRole, } from './roles.js';
|
|
93
|
-
export { StandardBusinessRoles, createBusinessRole, hasPermission, canHandleTask, canApproveRequest, canDelegateTask, findRoleForTask, createTaskAssignment, transitionTaskStatus, } from './roles.js';
|
|
94
|
-
export type { Organization, OrganizationSettings, Address, Department as OrgDepartment, Team as OrgTeam, TeamResources, TeamChannels, Position, PositionRef, Compensation, Budget, ResourceHierarchy, ResourceHierarchyNode, ApprovalChain, ApprovalLevel, ApproverSpec, EscalationRule, ResolvedPermissions, } from './organization.js';
|
|
95
|
-
export { resolvePermissions, getApprovalChainForRequest, findManager, } from './organization.js';
|
|
96
|
-
export { Business as BusinessEntity, Vision as VisionEntity, Value as ValueEntity, BusinessEntities, BusinessCategories, Organization as OrganizationEntity, Department as DepartmentEntity, Team as TeamEntity, Position as PositionEntity, Role as RoleEntity, Worker as WorkerEntity, OrganizationEntities, OrganizationCategories, Goal as GoalEntity, OKR as OKREntity, KeyResult as KeyResultEntity, KPI as KPIEntity, Metric as MetricEntity, Initiative as InitiativeEntity, GoalEntities, GoalCategories, Product as ProductEntity, Service as ServiceEntity, Feature as FeatureEntity, PricingPlan as PricingPlanEntity, RoadmapItem as RoadmapItemEntity, OfferingEntities, OfferingCategories, Process as ProcessEntity, ProcessStep as ProcessStepEntity, Workflow as WorkflowEntity, WorkflowAction as WorkflowActionEntity, WorkflowRun as WorkflowRunEntity, Policy as PolicyEntity, OperationsEntities, OperationsCategories, Budget as BudgetEntity, Revenue as RevenueEntity, Expense as ExpenseEntity, Investment as InvestmentEntity, FinancialPeriod as FinancialPeriodEntity, Forecast as ForecastEntity, FinancialEntities, FinancialCategories, AllBusinessEntities, BusinessEntityCategories, Entities, type BusinessEntityCategory, } from './entities/index.js';
|
|
97
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* business-as-code - Primitives for expressing business logic and processes as code
|
|
3
|
-
*
|
|
4
|
-
* This package provides primitives for defining business entities, goals, products,
|
|
5
|
-
* services, processes, workflows, KPIs, OKRs, and financial metrics.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { Business, Product, Goals, kpis, okrs, financials, $ } from 'business-as-code'
|
|
10
|
-
*
|
|
11
|
-
* // Define your business
|
|
12
|
-
* const company = Business({
|
|
13
|
-
* name: 'Acme Corp',
|
|
14
|
-
* mission: 'To make widgets accessible to everyone',
|
|
15
|
-
* values: ['Innovation', 'Customer Focus', 'Integrity'],
|
|
16
|
-
* })
|
|
17
|
-
*
|
|
18
|
-
* // Define products
|
|
19
|
-
* const product = Product({
|
|
20
|
-
* name: 'Widget Pro',
|
|
21
|
-
* pricingModel: 'subscription',
|
|
22
|
-
* price: 99,
|
|
23
|
-
* cogs: 20,
|
|
24
|
-
* })
|
|
25
|
-
*
|
|
26
|
-
* // Define goals
|
|
27
|
-
* const goals = Goals([
|
|
28
|
-
* {
|
|
29
|
-
* name: 'Launch MVP',
|
|
30
|
-
* category: 'strategic',
|
|
31
|
-
* status: 'in-progress',
|
|
32
|
-
* progress: 65,
|
|
33
|
-
* },
|
|
34
|
-
* ])
|
|
35
|
-
*
|
|
36
|
-
* // Track KPIs
|
|
37
|
-
* const kpiList = kpis([
|
|
38
|
-
* {
|
|
39
|
-
* name: 'Monthly Recurring Revenue',
|
|
40
|
-
* category: 'financial',
|
|
41
|
-
* target: 100000,
|
|
42
|
-
* current: 85000,
|
|
43
|
-
* },
|
|
44
|
-
* ])
|
|
45
|
-
*
|
|
46
|
-
* // Define OKRs
|
|
47
|
-
* const okrList = okrs([
|
|
48
|
-
* {
|
|
49
|
-
* objective: 'Achieve Product-Market Fit',
|
|
50
|
-
* keyResults: [
|
|
51
|
-
* {
|
|
52
|
-
* description: 'Increase NPS',
|
|
53
|
-
* metric: 'NPS',
|
|
54
|
-
* targetValue: 60,
|
|
55
|
-
* currentValue: 52,
|
|
56
|
-
* },
|
|
57
|
-
* ],
|
|
58
|
-
* },
|
|
59
|
-
* ])
|
|
60
|
-
*
|
|
61
|
-
* // Calculate financials
|
|
62
|
-
* const metrics = financials({
|
|
63
|
-
* revenue: 1000000,
|
|
64
|
-
* cogs: 300000,
|
|
65
|
-
* operatingExpenses: 500000,
|
|
66
|
-
* })
|
|
67
|
-
*
|
|
68
|
-
* // Use $ helper for calculations
|
|
69
|
-
* console.log($.format(1234.56)) // "$1,234.56"
|
|
70
|
-
* console.log($.growth(120, 100)) // 20
|
|
71
|
-
* console.log($.margin(100, 60)) // 40
|
|
72
|
-
* ```
|
|
73
|
-
*
|
|
74
|
-
* @packageDocumentation
|
|
75
|
-
*/
|
|
76
|
-
// Export business entity functions
|
|
77
|
-
export { Business, getTotalBudget, getTotalTeamSize, getDepartment, getTeam, validateBusiness, } from './business.js';
|
|
78
|
-
// Export vision functions
|
|
79
|
-
export { Vision, checkIndicator, calculateProgress, validateVision, } from './vision.js';
|
|
80
|
-
// Export goal functions
|
|
81
|
-
export { Goals, Goal, updateProgress, markAtRisk, complete, isOverdue, getGoalsByCategory, getGoalsByStatus, getGoalsByOwner, calculateOverallProgress, hasCircularDependencies, sortByDependencies, validateGoals, } from './goals.js';
|
|
82
|
-
// Export product functions
|
|
83
|
-
export { Product, calculateGrossMargin, calculateGrossProfit, getRoadmapByStatus, getRoadmapByPriority, getOverdueRoadmapItems, updateRoadmapItem, addFeature, removeFeature, validateProduct, } from './product.js';
|
|
84
|
-
// Export service functions
|
|
85
|
-
export { Service, calculateHourlyPrice, calculateMonthlyRetainer, checkSLAUptime, parseDeliveryTimeToDays, estimateCompletionDate, calculateValueBasedPrice, validateService, } from './service.js';
|
|
86
|
-
// Export process functions
|
|
87
|
-
export { Process, getStepsInOrder, getStepsByAutomationLevel, calculateTotalDuration, formatDuration, calculateAutomationPercentage, getMetric, meetsTarget, calculateMetricAchievement, updateMetric, addStep, removeStep, validateProcess, } from './process.js';
|
|
88
|
-
// Export workflow functions
|
|
89
|
-
export { Workflow, getActionsInOrder, getActionsByType, getConditionalActions, addAction, removeAction, updateAction, isEventTrigger, isScheduleTrigger, isWebhookTrigger, parseWaitDuration, evaluateCondition, fillTemplate, validateWorkflow, } from './workflow.js';
|
|
90
|
-
// Export KPI functions
|
|
91
|
-
export { kpis, kpi, calculateAchievement, meetsTarget as kpiMeetsTarget, updateCurrent, updateTarget, getKPIsByCategory, getKPIsByFrequency, getKPIsOnTarget, getKPIsOffTarget, calculateHealthScore, groupByCategory, calculateVariance, calculateVariancePercentage, formatValue, comparePerformance, validateKPIs, } from './kpis.js';
|
|
92
|
-
// Export OKR functions
|
|
93
|
-
export { okrs, okr, calculateKeyResultProgress, calculateOKRProgress, calculateConfidence, updateKeyResult, isKeyResultOnTrack, isOKROnTrack, getKeyResultsOnTrack, getKeyResultsAtRisk, getOKRsByOwner, getOKRsByPeriod, getOKRsByStatus, calculateSuccessRate, formatKeyResult, compareOKRPerformance, validateOKRs, } from './okrs.js';
|
|
94
|
-
// Export financial functions
|
|
95
|
-
export { financials, calculateGrossMargin as calculateFinancialGrossMargin, calculateOperatingMargin, calculateNetMargin, calculateEBITDAMargin, calculateBurnRate, calculateRunway, calculateCAC, calculateLTV, calculateLTVtoCAC, calculatePaybackPeriod, calculateARR, calculateMRR, calculateGrowthRate, calculateCAGR, calculateROI, calculateROE, calculateROA, calculateQuickRatio, calculateCurrentRatio, calculateDebtToEquity, formatCurrency, createStatement, getLineItem, compareMetrics, validateFinancials, } from './financials.js';
|
|
96
|
-
// Export $ helper and context management
|
|
97
|
-
export { $, createBusinessOperations, updateContext, getContext, resetContext, } from './dollar.js';
|
|
98
|
-
export {
|
|
99
|
-
// SaaS Metric Calculation functions (produce structured SaaS metric objects)
|
|
100
|
-
calculateMRR as calculateMRRMetric, calculateARRFromMRR as calculateARRMetric, calculateNRR as calculateNRRMetric, calculateGRR as calculateGRRMetric, calculateCACMetric, calculateLTVMetric, calculateLTVtoCACRatio, calculateQuickRatioMetric, calculateMagicNumberMetric, calculateBurnMultipleMetric, calculateRuleOf40Metric, calculateGrowthRates, calculateChurnMetrics,
|
|
101
|
-
// Time-series aggregation
|
|
102
|
-
aggregateTimeSeries, createMetricPeriod, } from './metrics.js';
|
|
103
|
-
export {
|
|
104
|
-
// Standard definitions
|
|
105
|
-
StandardDimensions, StandardMeasures, CalculatedMetrics,
|
|
106
|
-
// Builders
|
|
107
|
-
query, QueryBuilder, view, ViewBuilder, dashboard, DashboardBuilder,
|
|
108
|
-
// Pre-built queries
|
|
109
|
-
MrrOverview, ArrBySegment, CohortRetention, UnitEconomics, RevenueByChannel, GrowthMetrics,
|
|
110
|
-
// Pre-built dashboards
|
|
111
|
-
ExecutiveDashboard, } from './queries.js';
|
|
112
|
-
export { StandardBusinessRoles, createBusinessRole, hasPermission, canHandleTask, canApproveRequest, canDelegateTask, findRoleForTask, createTaskAssignment, transitionTaskStatus, } from './roles.js';
|
|
113
|
-
export { resolvePermissions, getApprovalChainForRequest, findManager, } from './organization.js';
|
|
114
|
-
// =============================================================================
|
|
115
|
-
// Entity Definitions (Noun pattern with Properties, Actions, Events)
|
|
116
|
-
// =============================================================================
|
|
117
|
-
export {
|
|
118
|
-
// Business
|
|
119
|
-
Business as BusinessEntity, Vision as VisionEntity, Value as ValueEntity, BusinessEntities, BusinessCategories,
|
|
120
|
-
// Organization
|
|
121
|
-
Organization as OrganizationEntity, Department as DepartmentEntity, Team as TeamEntity, Position as PositionEntity, Role as RoleEntity, Worker as WorkerEntity, OrganizationEntities, OrganizationCategories,
|
|
122
|
-
// Goals
|
|
123
|
-
Goal as GoalEntity, OKR as OKREntity, KeyResult as KeyResultEntity, KPI as KPIEntity, Metric as MetricEntity, Initiative as InitiativeEntity, GoalEntities, GoalCategories,
|
|
124
|
-
// Offerings
|
|
125
|
-
Product as ProductEntity, Service as ServiceEntity, Feature as FeatureEntity, PricingPlan as PricingPlanEntity, RoadmapItem as RoadmapItemEntity, OfferingEntities, OfferingCategories,
|
|
126
|
-
// Operations
|
|
127
|
-
Process as ProcessEntity, ProcessStep as ProcessStepEntity, Workflow as WorkflowEntity, WorkflowAction as WorkflowActionEntity, WorkflowRun as WorkflowRunEntity, Policy as PolicyEntity, OperationsEntities, OperationsCategories,
|
|
128
|
-
// Financials
|
|
129
|
-
Budget as BudgetEntity, Revenue as RevenueEntity, Expense as ExpenseEntity, Investment as InvestmentEntity, FinancialPeriod as FinancialPeriodEntity, Forecast as ForecastEntity, FinancialEntities, FinancialCategories,
|
|
130
|
-
// All
|
|
131
|
-
AllBusinessEntities, BusinessEntityCategories, Entities, } from './entities/index.js';
|
|
132
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/kpis.d.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Key Performance Indicators (KPIs) management
|
|
3
|
-
*/
|
|
4
|
-
import type { KPIDefinition, TimePeriod } from './types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Define Key Performance Indicators for tracking business metrics
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```ts
|
|
10
|
-
* const businessKPIs = kpis([
|
|
11
|
-
* {
|
|
12
|
-
* name: 'Monthly Recurring Revenue',
|
|
13
|
-
* description: 'Total predictable revenue per month',
|
|
14
|
-
* category: 'financial',
|
|
15
|
-
* unit: 'USD',
|
|
16
|
-
* target: 100000,
|
|
17
|
-
* current: 85000,
|
|
18
|
-
* frequency: 'monthly',
|
|
19
|
-
* dataSource: 'Billing System',
|
|
20
|
-
* formula: 'SUM(active_subscriptions.price)',
|
|
21
|
-
* },
|
|
22
|
-
* {
|
|
23
|
-
* name: 'Customer Churn Rate',
|
|
24
|
-
* description: 'Percentage of customers lost per month',
|
|
25
|
-
* category: 'customer',
|
|
26
|
-
* unit: 'percent',
|
|
27
|
-
* target: 5,
|
|
28
|
-
* current: 3.2,
|
|
29
|
-
* frequency: 'monthly',
|
|
30
|
-
* dataSource: 'CRM',
|
|
31
|
-
* formula: '(churned_customers / total_customers) * 100',
|
|
32
|
-
* },
|
|
33
|
-
* {
|
|
34
|
-
* name: 'Net Promoter Score',
|
|
35
|
-
* description: 'Customer satisfaction and loyalty metric',
|
|
36
|
-
* category: 'customer',
|
|
37
|
-
* unit: 'score',
|
|
38
|
-
* target: 50,
|
|
39
|
-
* current: 48,
|
|
40
|
-
* frequency: 'quarterly',
|
|
41
|
-
* dataSource: 'Survey Platform',
|
|
42
|
-
* },
|
|
43
|
-
* ])
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export declare function kpis(definitions: KPIDefinition[]): KPIDefinition[];
|
|
47
|
-
/**
|
|
48
|
-
* Define a single KPI
|
|
49
|
-
*/
|
|
50
|
-
export declare function kpi(definition: KPIDefinition): KPIDefinition;
|
|
51
|
-
/**
|
|
52
|
-
* Calculate KPI achievement percentage
|
|
53
|
-
*/
|
|
54
|
-
export declare function calculateAchievement(kpi: KPIDefinition): number;
|
|
55
|
-
/**
|
|
56
|
-
* Check if KPI meets target
|
|
57
|
-
*/
|
|
58
|
-
export declare function meetsTarget(kpi: KPIDefinition): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Update KPI current value
|
|
61
|
-
*/
|
|
62
|
-
export declare function updateCurrent(kpi: KPIDefinition, value: number): KPIDefinition;
|
|
63
|
-
/**
|
|
64
|
-
* Update KPI target
|
|
65
|
-
*/
|
|
66
|
-
export declare function updateTarget(kpi: KPIDefinition, target: number): KPIDefinition;
|
|
67
|
-
/**
|
|
68
|
-
* Get KPIs by category
|
|
69
|
-
*/
|
|
70
|
-
export declare function getKPIsByCategory(kpis: KPIDefinition[], category: KPIDefinition['category']): KPIDefinition[];
|
|
71
|
-
/**
|
|
72
|
-
* Get KPIs by frequency
|
|
73
|
-
*/
|
|
74
|
-
export declare function getKPIsByFrequency(kpis: KPIDefinition[], frequency: TimePeriod): KPIDefinition[];
|
|
75
|
-
/**
|
|
76
|
-
* Get KPIs that meet their targets
|
|
77
|
-
*/
|
|
78
|
-
export declare function getKPIsOnTarget(kpis: KPIDefinition[]): KPIDefinition[];
|
|
79
|
-
/**
|
|
80
|
-
* Get KPIs that don't meet their targets
|
|
81
|
-
*/
|
|
82
|
-
export declare function getKPIsOffTarget(kpis: KPIDefinition[]): KPIDefinition[];
|
|
83
|
-
/**
|
|
84
|
-
* Calculate overall KPI health score (0-100)
|
|
85
|
-
*/
|
|
86
|
-
export declare function calculateHealthScore(kpis: KPIDefinition[]): number;
|
|
87
|
-
/**
|
|
88
|
-
* Group KPIs by category
|
|
89
|
-
*/
|
|
90
|
-
export declare function groupByCategory(kpis: KPIDefinition[]): Map<string, KPIDefinition[]>;
|
|
91
|
-
/**
|
|
92
|
-
* Calculate variance from target
|
|
93
|
-
*/
|
|
94
|
-
export declare function calculateVariance(kpi: KPIDefinition): number;
|
|
95
|
-
/**
|
|
96
|
-
* Calculate variance percentage from target
|
|
97
|
-
*/
|
|
98
|
-
export declare function calculateVariancePercentage(kpi: KPIDefinition): number;
|
|
99
|
-
/**
|
|
100
|
-
* Format KPI value with unit
|
|
101
|
-
*/
|
|
102
|
-
export declare function formatValue(kpi: KPIDefinition, value?: number): string;
|
|
103
|
-
/**
|
|
104
|
-
* Compare KPI performance over time
|
|
105
|
-
*/
|
|
106
|
-
export declare function comparePerformance(current: KPIDefinition, previous: KPIDefinition): {
|
|
107
|
-
change: number;
|
|
108
|
-
changePercent: number;
|
|
109
|
-
improved: boolean;
|
|
110
|
-
};
|
|
111
|
-
/**
|
|
112
|
-
* Validate KPI definitions
|
|
113
|
-
*/
|
|
114
|
-
export declare function validateKPIs(kpis: KPIDefinition[]): {
|
|
115
|
-
valid: boolean;
|
|
116
|
-
errors: string[];
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=kpis.d.ts.map
|
package/dist/kpis.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kpis.d.ts","sourceRoot":"","sources":["../src/kpis.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAElE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,aAAa,GAAG,aAAa,CAE5D;AAkBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAI/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAavD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAK9E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAK9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EAAE,EACrB,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,aAAa,EAAE,CAEhG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAUnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAItE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,GACtB;IACD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAiBA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBxF"}
|