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.
Files changed (212) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +2 -0
  3. package/package.json +7 -4
  4. package/src/dollar.ts +5 -2
  5. package/src/entities/organization.ts +31 -18
  6. package/src/goals.ts +78 -12
  7. package/src/index.ts +48 -18
  8. package/src/kpis.ts +62 -8
  9. package/src/metrics.ts +92 -79
  10. package/src/okrs.ts +120 -20
  11. package/src/organization.ts +12 -15
  12. package/src/process.ts +11 -12
  13. package/src/product.ts +8 -9
  14. package/src/queries.ts +238 -75
  15. package/src/roles.ts +62 -61
  16. package/src/workflow.ts +22 -15
  17. package/test/business.test.ts +282 -0
  18. package/test/dollar.test.ts +270 -0
  19. package/test/entities.test.ts +628 -0
  20. package/test/financials.test.ts +539 -0
  21. package/test/goals.test.ts +451 -0
  22. package/{src → test}/index.test.ts +1 -1
  23. package/test/kpis.test.ts +440 -0
  24. package/test/metrics.test.ts +744 -0
  25. package/test/okrs.test.ts +741 -0
  26. package/test/organization.test.ts +548 -0
  27. package/test/process.test.ts +503 -0
  28. package/test/product.test.ts +430 -0
  29. package/test/queries.test.ts +556 -0
  30. package/test/roles.test.ts +546 -0
  31. package/test/service.test.ts +450 -0
  32. package/test/types.test.ts +1141 -0
  33. package/test/vision.test.ts +214 -0
  34. package/test/workflow.test.ts +501 -0
  35. package/vitest.config.ts +47 -0
  36. package/.turbo/turbo-build.log +0 -5
  37. package/dist/business.d.ts +0 -62
  38. package/dist/business.d.ts.map +0 -1
  39. package/dist/business.js +0 -109
  40. package/dist/business.js.map +0 -1
  41. package/dist/dollar.d.ts +0 -60
  42. package/dist/dollar.d.ts.map +0 -1
  43. package/dist/dollar.js +0 -107
  44. package/dist/dollar.js.map +0 -1
  45. package/dist/entities/assets.d.ts +0 -21
  46. package/dist/entities/assets.d.ts.map +0 -1
  47. package/dist/entities/assets.js +0 -323
  48. package/dist/entities/assets.js.map +0 -1
  49. package/dist/entities/business.d.ts +0 -36
  50. package/dist/entities/business.d.ts.map +0 -1
  51. package/dist/entities/business.js +0 -370
  52. package/dist/entities/business.js.map +0 -1
  53. package/dist/entities/communication.d.ts +0 -21
  54. package/dist/entities/communication.d.ts.map +0 -1
  55. package/dist/entities/communication.js +0 -255
  56. package/dist/entities/communication.js.map +0 -1
  57. package/dist/entities/customers.d.ts +0 -58
  58. package/dist/entities/customers.d.ts.map +0 -1
  59. package/dist/entities/customers.js +0 -989
  60. package/dist/entities/customers.js.map +0 -1
  61. package/dist/entities/financials.d.ts +0 -59
  62. package/dist/entities/financials.d.ts.map +0 -1
  63. package/dist/entities/financials.js +0 -932
  64. package/dist/entities/financials.js.map +0 -1
  65. package/dist/entities/goals.d.ts +0 -58
  66. package/dist/entities/goals.d.ts.map +0 -1
  67. package/dist/entities/goals.js +0 -800
  68. package/dist/entities/goals.js.map +0 -1
  69. package/dist/entities/index.d.ts +0 -299
  70. package/dist/entities/index.d.ts.map +0 -1
  71. package/dist/entities/index.js +0 -198
  72. package/dist/entities/index.js.map +0 -1
  73. package/dist/entities/legal.d.ts +0 -21
  74. package/dist/entities/legal.d.ts.map +0 -1
  75. package/dist/entities/legal.js +0 -301
  76. package/dist/entities/legal.js.map +0 -1
  77. package/dist/entities/market.d.ts +0 -21
  78. package/dist/entities/market.d.ts.map +0 -1
  79. package/dist/entities/market.js +0 -301
  80. package/dist/entities/market.js.map +0 -1
  81. package/dist/entities/marketing.d.ts +0 -67
  82. package/dist/entities/marketing.d.ts.map +0 -1
  83. package/dist/entities/marketing.js +0 -1157
  84. package/dist/entities/marketing.js.map +0 -1
  85. package/dist/entities/offerings.d.ts +0 -51
  86. package/dist/entities/offerings.d.ts.map +0 -1
  87. package/dist/entities/offerings.js +0 -727
  88. package/dist/entities/offerings.js.map +0 -1
  89. package/dist/entities/operations.d.ts +0 -58
  90. package/dist/entities/operations.d.ts.map +0 -1
  91. package/dist/entities/operations.js +0 -787
  92. package/dist/entities/operations.js.map +0 -1
  93. package/dist/entities/organization.d.ts +0 -57
  94. package/dist/entities/organization.d.ts.map +0 -1
  95. package/dist/entities/organization.js +0 -807
  96. package/dist/entities/organization.js.map +0 -1
  97. package/dist/entities/partnerships.d.ts +0 -21
  98. package/dist/entities/partnerships.d.ts.map +0 -1
  99. package/dist/entities/partnerships.js +0 -300
  100. package/dist/entities/partnerships.js.map +0 -1
  101. package/dist/entities/planning.d.ts +0 -87
  102. package/dist/entities/planning.d.ts.map +0 -1
  103. package/dist/entities/planning.js +0 -271
  104. package/dist/entities/planning.js.map +0 -1
  105. package/dist/entities/projects.d.ts +0 -25
  106. package/dist/entities/projects.d.ts.map +0 -1
  107. package/dist/entities/projects.js +0 -349
  108. package/dist/entities/projects.js.map +0 -1
  109. package/dist/entities/risk.d.ts +0 -21
  110. package/dist/entities/risk.d.ts.map +0 -1
  111. package/dist/entities/risk.js +0 -293
  112. package/dist/entities/risk.js.map +0 -1
  113. package/dist/entities/sales.d.ts +0 -72
  114. package/dist/entities/sales.d.ts.map +0 -1
  115. package/dist/entities/sales.js +0 -1248
  116. package/dist/entities/sales.js.map +0 -1
  117. package/dist/financials.d.ts +0 -130
  118. package/dist/financials.d.ts.map +0 -1
  119. package/dist/financials.js +0 -297
  120. package/dist/financials.js.map +0 -1
  121. package/dist/goals.d.ts +0 -87
  122. package/dist/goals.d.ts.map +0 -1
  123. package/dist/goals.js +0 -215
  124. package/dist/goals.js.map +0 -1
  125. package/dist/index.d.ts +0 -97
  126. package/dist/index.d.ts.map +0 -1
  127. package/dist/index.js +0 -132
  128. package/dist/index.js.map +0 -1
  129. package/dist/kpis.d.ts +0 -118
  130. package/dist/kpis.d.ts.map +0 -1
  131. package/dist/kpis.js +0 -232
  132. package/dist/kpis.js.map +0 -1
  133. package/dist/metrics.d.ts +0 -448
  134. package/dist/metrics.d.ts.map +0 -1
  135. package/dist/metrics.js +0 -325
  136. package/dist/metrics.js.map +0 -1
  137. package/dist/okrs.d.ts +0 -123
  138. package/dist/okrs.d.ts.map +0 -1
  139. package/dist/okrs.js +0 -269
  140. package/dist/okrs.js.map +0 -1
  141. package/dist/organization.d.ts +0 -585
  142. package/dist/organization.d.ts.map +0 -1
  143. package/dist/organization.js +0 -173
  144. package/dist/organization.js.map +0 -1
  145. package/dist/process.d.ts +0 -112
  146. package/dist/process.d.ts.map +0 -1
  147. package/dist/process.js +0 -241
  148. package/dist/process.js.map +0 -1
  149. package/dist/product.d.ts +0 -85
  150. package/dist/product.d.ts.map +0 -1
  151. package/dist/product.js +0 -145
  152. package/dist/product.js.map +0 -1
  153. package/dist/queries.d.ts +0 -304
  154. package/dist/queries.d.ts.map +0 -1
  155. package/dist/queries.js +0 -415
  156. package/dist/queries.js.map +0 -1
  157. package/dist/roles.d.ts +0 -340
  158. package/dist/roles.d.ts.map +0 -1
  159. package/dist/roles.js +0 -255
  160. package/dist/roles.js.map +0 -1
  161. package/dist/service.d.ts +0 -61
  162. package/dist/service.d.ts.map +0 -1
  163. package/dist/service.js +0 -140
  164. package/dist/service.js.map +0 -1
  165. package/dist/types.d.ts +0 -459
  166. package/dist/types.d.ts.map +0 -1
  167. package/dist/types.js +0 -5
  168. package/dist/types.js.map +0 -1
  169. package/dist/vision.d.ts +0 -38
  170. package/dist/vision.d.ts.map +0 -1
  171. package/dist/vision.js +0 -68
  172. package/dist/vision.js.map +0 -1
  173. package/dist/workflow.d.ts +0 -115
  174. package/dist/workflow.d.ts.map +0 -1
  175. package/dist/workflow.js +0 -247
  176. package/dist/workflow.js.map +0 -1
  177. package/src/business.js +0 -108
  178. package/src/dollar.js +0 -106
  179. package/src/entities/assets.js +0 -322
  180. package/src/entities/business.js +0 -369
  181. package/src/entities/communication.js +0 -254
  182. package/src/entities/customers.js +0 -988
  183. package/src/entities/financials.js +0 -931
  184. package/src/entities/goals.js +0 -799
  185. package/src/entities/index.js +0 -197
  186. package/src/entities/legal.js +0 -300
  187. package/src/entities/market.js +0 -300
  188. package/src/entities/marketing.js +0 -1156
  189. package/src/entities/offerings.js +0 -726
  190. package/src/entities/operations.js +0 -786
  191. package/src/entities/organization.js +0 -806
  192. package/src/entities/partnerships.js +0 -299
  193. package/src/entities/planning.js +0 -270
  194. package/src/entities/projects.js +0 -348
  195. package/src/entities/risk.js +0 -292
  196. package/src/entities/sales.js +0 -1247
  197. package/src/financials.js +0 -296
  198. package/src/goals.js +0 -214
  199. package/src/index.js +0 -131
  200. package/src/index.test.js +0 -274
  201. package/src/kpis.js +0 -231
  202. package/src/metrics.js +0 -324
  203. package/src/okrs.js +0 -268
  204. package/src/organization.js +0 -172
  205. package/src/process.js +0 -240
  206. package/src/product.js +0 -144
  207. package/src/queries.js +0 -414
  208. package/src/roles.js +0 -254
  209. package/src/service.js +0 -139
  210. package/src/types.js +0 -4
  211. package/src/vision.js +0 -67
  212. 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
@@ -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
@@ -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"}