business-as-code 0.2.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/CHANGELOG.md +9 -0
  3. package/IMPLEMENTATION.md +226 -0
  4. package/README.md +1133 -193
  5. package/dist/business.d.ts +62 -0
  6. package/dist/business.d.ts.map +1 -0
  7. package/dist/business.js +109 -0
  8. package/dist/business.js.map +1 -0
  9. package/dist/dollar.d.ts +60 -0
  10. package/dist/dollar.d.ts.map +1 -0
  11. package/dist/dollar.js +107 -0
  12. package/dist/dollar.js.map +1 -0
  13. package/dist/entities/assets.d.ts +21 -0
  14. package/dist/entities/assets.d.ts.map +1 -0
  15. package/dist/entities/assets.js +323 -0
  16. package/dist/entities/assets.js.map +1 -0
  17. package/dist/entities/business.d.ts +36 -0
  18. package/dist/entities/business.d.ts.map +1 -0
  19. package/dist/entities/business.js +370 -0
  20. package/dist/entities/business.js.map +1 -0
  21. package/dist/entities/communication.d.ts +21 -0
  22. package/dist/entities/communication.d.ts.map +1 -0
  23. package/dist/entities/communication.js +255 -0
  24. package/dist/entities/communication.js.map +1 -0
  25. package/dist/entities/customers.d.ts +58 -0
  26. package/dist/entities/customers.d.ts.map +1 -0
  27. package/dist/entities/customers.js +989 -0
  28. package/dist/entities/customers.js.map +1 -0
  29. package/dist/entities/financials.d.ts +59 -0
  30. package/dist/entities/financials.d.ts.map +1 -0
  31. package/dist/entities/financials.js +932 -0
  32. package/dist/entities/financials.js.map +1 -0
  33. package/dist/entities/goals.d.ts +58 -0
  34. package/dist/entities/goals.d.ts.map +1 -0
  35. package/dist/entities/goals.js +800 -0
  36. package/dist/entities/goals.js.map +1 -0
  37. package/dist/entities/index.d.ts +299 -0
  38. package/dist/entities/index.d.ts.map +1 -0
  39. package/dist/entities/index.js +198 -0
  40. package/dist/entities/index.js.map +1 -0
  41. package/dist/entities/legal.d.ts +21 -0
  42. package/dist/entities/legal.d.ts.map +1 -0
  43. package/dist/entities/legal.js +301 -0
  44. package/dist/entities/legal.js.map +1 -0
  45. package/dist/entities/market.d.ts +21 -0
  46. package/dist/entities/market.d.ts.map +1 -0
  47. package/dist/entities/market.js +301 -0
  48. package/dist/entities/market.js.map +1 -0
  49. package/dist/entities/marketing.d.ts +67 -0
  50. package/dist/entities/marketing.d.ts.map +1 -0
  51. package/dist/entities/marketing.js +1157 -0
  52. package/dist/entities/marketing.js.map +1 -0
  53. package/dist/entities/offerings.d.ts +51 -0
  54. package/dist/entities/offerings.d.ts.map +1 -0
  55. package/dist/entities/offerings.js +727 -0
  56. package/dist/entities/offerings.js.map +1 -0
  57. package/dist/entities/operations.d.ts +58 -0
  58. package/dist/entities/operations.d.ts.map +1 -0
  59. package/dist/entities/operations.js +787 -0
  60. package/dist/entities/operations.js.map +1 -0
  61. package/dist/entities/organization.d.ts +57 -0
  62. package/dist/entities/organization.d.ts.map +1 -0
  63. package/dist/entities/organization.js +807 -0
  64. package/dist/entities/organization.js.map +1 -0
  65. package/dist/entities/partnerships.d.ts +21 -0
  66. package/dist/entities/partnerships.d.ts.map +1 -0
  67. package/dist/entities/partnerships.js +300 -0
  68. package/dist/entities/partnerships.js.map +1 -0
  69. package/dist/entities/planning.d.ts +87 -0
  70. package/dist/entities/planning.d.ts.map +1 -0
  71. package/dist/entities/planning.js +271 -0
  72. package/dist/entities/planning.js.map +1 -0
  73. package/dist/entities/projects.d.ts +25 -0
  74. package/dist/entities/projects.d.ts.map +1 -0
  75. package/dist/entities/projects.js +349 -0
  76. package/dist/entities/projects.js.map +1 -0
  77. package/dist/entities/risk.d.ts +21 -0
  78. package/dist/entities/risk.d.ts.map +1 -0
  79. package/dist/entities/risk.js +293 -0
  80. package/dist/entities/risk.js.map +1 -0
  81. package/dist/entities/sales.d.ts +72 -0
  82. package/dist/entities/sales.d.ts.map +1 -0
  83. package/dist/entities/sales.js +1248 -0
  84. package/dist/entities/sales.js.map +1 -0
  85. package/dist/financials.d.ts +130 -0
  86. package/dist/financials.d.ts.map +1 -0
  87. package/dist/financials.js +297 -0
  88. package/dist/financials.js.map +1 -0
  89. package/dist/goals.d.ts +87 -0
  90. package/dist/goals.d.ts.map +1 -0
  91. package/dist/goals.js +215 -0
  92. package/dist/goals.js.map +1 -0
  93. package/dist/index.d.ts +97 -4
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +131 -1079
  96. package/dist/index.js.map +1 -1
  97. package/dist/kpis.d.ts +118 -0
  98. package/dist/kpis.d.ts.map +1 -0
  99. package/dist/kpis.js +232 -0
  100. package/dist/kpis.js.map +1 -0
  101. package/dist/metrics.d.ts +448 -0
  102. package/dist/metrics.d.ts.map +1 -0
  103. package/dist/metrics.js +325 -0
  104. package/dist/metrics.js.map +1 -0
  105. package/dist/okrs.d.ts +123 -0
  106. package/dist/okrs.d.ts.map +1 -0
  107. package/dist/okrs.js +269 -0
  108. package/dist/okrs.js.map +1 -0
  109. package/dist/organization.d.ts +585 -0
  110. package/dist/organization.d.ts.map +1 -0
  111. package/dist/organization.js +173 -0
  112. package/dist/organization.js.map +1 -0
  113. package/dist/process.d.ts +112 -0
  114. package/dist/process.d.ts.map +1 -0
  115. package/dist/process.js +241 -0
  116. package/dist/process.js.map +1 -0
  117. package/dist/product.d.ts +85 -0
  118. package/dist/product.d.ts.map +1 -0
  119. package/dist/product.js +145 -0
  120. package/dist/product.js.map +1 -0
  121. package/dist/queries.d.ts +304 -0
  122. package/dist/queries.d.ts.map +1 -0
  123. package/dist/queries.js +415 -0
  124. package/dist/queries.js.map +1 -0
  125. package/dist/roles.d.ts +340 -0
  126. package/dist/roles.d.ts.map +1 -0
  127. package/dist/roles.js +255 -0
  128. package/dist/roles.js.map +1 -0
  129. package/dist/service.d.ts +61 -0
  130. package/dist/service.d.ts.map +1 -0
  131. package/dist/service.js +140 -0
  132. package/dist/service.js.map +1 -0
  133. package/dist/types.d.ts +459 -0
  134. package/dist/types.d.ts.map +1 -0
  135. package/dist/types.js +5 -0
  136. package/dist/types.js.map +1 -0
  137. package/dist/vision.d.ts +38 -0
  138. package/dist/vision.d.ts.map +1 -0
  139. package/dist/vision.js +68 -0
  140. package/dist/vision.js.map +1 -0
  141. package/dist/workflow.d.ts +115 -0
  142. package/dist/workflow.d.ts.map +1 -0
  143. package/dist/workflow.js +247 -0
  144. package/dist/workflow.js.map +1 -0
  145. package/examples/basic-usage.ts +307 -0
  146. package/package.json +19 -60
  147. package/src/business.ts +121 -0
  148. package/src/dollar.ts +132 -0
  149. package/src/entities/assets.ts +332 -0
  150. package/src/entities/business.ts +406 -0
  151. package/src/entities/communication.ts +264 -0
  152. package/src/entities/customers.ts +1072 -0
  153. package/src/entities/financials.ts +1011 -0
  154. package/src/entities/goals.ts +871 -0
  155. package/src/entities/index.ts +383 -0
  156. package/src/entities/legal.ts +310 -0
  157. package/src/entities/market.ts +310 -0
  158. package/src/entities/marketing.ts +1249 -0
  159. package/src/entities/offerings.ts +789 -0
  160. package/src/entities/operations.ts +861 -0
  161. package/src/entities/organization.ts +876 -0
  162. package/src/entities/partnerships.ts +309 -0
  163. package/src/entities/planning.ts +307 -0
  164. package/src/entities/projects.ts +360 -0
  165. package/src/entities/risk.ts +302 -0
  166. package/src/entities/sales.ts +1352 -0
  167. package/src/financials.ts +352 -0
  168. package/src/goals.ts +250 -0
  169. package/src/index.test.ts +336 -0
  170. package/src/index.ts +530 -0
  171. package/src/kpis.ts +275 -0
  172. package/src/metrics.ts +825 -0
  173. package/src/okrs.ts +325 -0
  174. package/src/organization.ts +909 -0
  175. package/src/process.ts +272 -0
  176. package/src/product.ts +178 -0
  177. package/src/queries.ts +767 -0
  178. package/src/roles.ts +686 -0
  179. package/src/service.ts +164 -0
  180. package/src/types.ts +493 -0
  181. package/src/vision.ts +88 -0
  182. package/src/workflow.ts +280 -0
  183. package/tsconfig.json +9 -0
  184. package/dist/loaders/index.d.ts +0 -174
  185. package/dist/loaders/index.js +0 -366
  186. package/dist/loaders/index.js.map +0 -1
  187. package/dist/schema/index.d.ts +0 -146
  188. package/dist/schema/index.js +0 -716
  189. package/dist/schema/index.js.map +0 -1
  190. package/dist/types-CJ9eGS_C.d.ts +0 -86
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sales.js","sourceRoot":"","sources":["../../src/entities/sales.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Financial metrics and calculations
3
+ */
4
+ import type { FinancialMetrics, FinancialStatement, Currency } from './types.js';
5
+ /**
6
+ * Calculate financial metrics from basic inputs
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const metrics = financials({
11
+ * revenue: 1000000,
12
+ * cogs: 300000,
13
+ * operatingExpenses: 500000,
14
+ * currency: 'USD',
15
+ * period: 'monthly',
16
+ * })
17
+ *
18
+ * console.log(metrics.grossMargin) // 70%
19
+ * console.log(metrics.operatingMargin) // 20%
20
+ * console.log(metrics.netMargin) // 20%
21
+ * ```
22
+ */
23
+ export declare function financials(metrics: Partial<FinancialMetrics>): FinancialMetrics;
24
+ /**
25
+ * Calculate gross margin
26
+ */
27
+ export declare function calculateGrossMargin(revenue: number, cogs: number): number;
28
+ /**
29
+ * Calculate operating margin
30
+ */
31
+ export declare function calculateOperatingMargin(revenue: number, cogs: number, operatingExpenses: number): number;
32
+ /**
33
+ * Calculate net margin
34
+ */
35
+ export declare function calculateNetMargin(revenue: number, netIncome: number): number;
36
+ /**
37
+ * Calculate EBITDA margin
38
+ */
39
+ export declare function calculateEBITDAMargin(revenue: number, ebitda: number): number;
40
+ /**
41
+ * Calculate burn rate (monthly cash burn)
42
+ */
43
+ export declare function calculateBurnRate(cashStart: number, cashEnd: number, months: number): number;
44
+ /**
45
+ * Calculate runway (months until cash runs out)
46
+ */
47
+ export declare function calculateRunway(cash: number, monthlyBurnRate: number): number;
48
+ /**
49
+ * Calculate customer acquisition cost (CAC)
50
+ */
51
+ export declare function calculateCAC(marketingSpend: number, newCustomers: number): number;
52
+ /**
53
+ * Calculate customer lifetime value (LTV)
54
+ */
55
+ export declare function calculateLTV(averageRevenuePerCustomer: number, averageCustomerLifetimeMonths: number, grossMarginPercent: number): number;
56
+ /**
57
+ * Calculate LTV:CAC ratio
58
+ */
59
+ export declare function calculateLTVtoCAC(ltv: number, cac: number): number;
60
+ /**
61
+ * Calculate payback period (months to recover CAC)
62
+ */
63
+ export declare function calculatePaybackPeriod(cac: number, monthlyRevPerCustomer: number): number;
64
+ /**
65
+ * Calculate annual recurring revenue (ARR)
66
+ */
67
+ export declare function calculateARR(mrr: number): number;
68
+ /**
69
+ * Calculate monthly recurring revenue (MRR)
70
+ */
71
+ export declare function calculateMRR(arr: number): number;
72
+ /**
73
+ * Calculate revenue growth rate
74
+ */
75
+ export declare function calculateGrowthRate(currentRevenue: number, previousRevenue: number): number;
76
+ /**
77
+ * Calculate compound annual growth rate (CAGR)
78
+ */
79
+ export declare function calculateCAGR(beginningValue: number, endingValue: number, years: number): number;
80
+ /**
81
+ * Calculate return on investment (ROI)
82
+ */
83
+ export declare function calculateROI(gain: number, cost: number): number;
84
+ /**
85
+ * Calculate return on equity (ROE)
86
+ */
87
+ export declare function calculateROE(netIncome: number, shareholderEquity: number): number;
88
+ /**
89
+ * Calculate return on assets (ROA)
90
+ */
91
+ export declare function calculateROA(netIncome: number, totalAssets: number): number;
92
+ /**
93
+ * Calculate quick ratio (liquidity)
94
+ */
95
+ export declare function calculateQuickRatio(currentAssets: number, inventory: number, currentLiabilities: number): number;
96
+ /**
97
+ * Calculate current ratio (liquidity)
98
+ */
99
+ export declare function calculateCurrentRatio(currentAssets: number, currentLiabilities: number): number;
100
+ /**
101
+ * Calculate debt-to-equity ratio
102
+ */
103
+ export declare function calculateDebtToEquity(totalDebt: number, totalEquity: number): number;
104
+ /**
105
+ * Format currency value
106
+ */
107
+ export declare function formatCurrency(amount: number, currency?: Currency): string;
108
+ /**
109
+ * Create a financial statement
110
+ */
111
+ export declare function createStatement(type: FinancialStatement['type'], period: string, lineItems: Record<string, number>, currency?: Currency): FinancialStatement;
112
+ /**
113
+ * Get line item from financial statement
114
+ */
115
+ export declare function getLineItem(statement: FinancialStatement, name: string): number;
116
+ /**
117
+ * Compare financial metrics between periods
118
+ */
119
+ export declare function compareMetrics(current: FinancialMetrics, previous: FinancialMetrics): Record<string, {
120
+ change: number;
121
+ changePercent: number;
122
+ }>;
123
+ /**
124
+ * Validate financial metrics
125
+ */
126
+ export declare function validateFinancials(metrics: FinancialMetrics): {
127
+ valid: boolean;
128
+ errors: string[];
129
+ };
130
+ //# sourceMappingURL=financials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financials.d.ts","sourceRoot":"","sources":["../src/financials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Financial metrics and calculations
3
+ */
4
+ /**
5
+ * Calculate financial metrics from basic inputs
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const metrics = financials({
10
+ * revenue: 1000000,
11
+ * cogs: 300000,
12
+ * operatingExpenses: 500000,
13
+ * currency: 'USD',
14
+ * period: 'monthly',
15
+ * })
16
+ *
17
+ * console.log(metrics.grossMargin) // 70%
18
+ * console.log(metrics.operatingMargin) // 20%
19
+ * console.log(metrics.netMargin) // 20%
20
+ * ```
21
+ */
22
+ export function financials(metrics) {
23
+ const revenue = metrics.revenue || 0;
24
+ const cogs = metrics.cogs || 0;
25
+ const operatingExpenses = metrics.operatingExpenses || 0;
26
+ // Calculate derived metrics
27
+ const grossProfit = revenue - cogs;
28
+ const grossMargin = revenue > 0 ? (grossProfit / revenue) * 100 : 0;
29
+ const operatingIncome = grossProfit - operatingExpenses;
30
+ const operatingMargin = revenue > 0 ? (operatingIncome / revenue) * 100 : 0;
31
+ const netIncome = metrics.netIncome ?? operatingIncome;
32
+ const netMargin = revenue > 0 ? (netIncome / revenue) * 100 : 0;
33
+ // EBITDA (simplified - would need D&A for accurate calculation)
34
+ const ebitda = metrics.ebitda ?? operatingIncome;
35
+ const ebitdaMargin = revenue > 0 ? (ebitda / revenue) * 100 : 0;
36
+ return {
37
+ ...metrics,
38
+ revenue,
39
+ cogs,
40
+ grossProfit,
41
+ grossMargin,
42
+ operatingExpenses,
43
+ operatingIncome,
44
+ operatingMargin,
45
+ netIncome,
46
+ netMargin,
47
+ ebitda,
48
+ ebitdaMargin,
49
+ currency: metrics.currency || 'USD',
50
+ period: metrics.period || 'monthly',
51
+ };
52
+ }
53
+ /**
54
+ * Calculate gross margin
55
+ */
56
+ export function calculateGrossMargin(revenue, cogs) {
57
+ if (revenue === 0)
58
+ return 0;
59
+ return ((revenue - cogs) / revenue) * 100;
60
+ }
61
+ /**
62
+ * Calculate operating margin
63
+ */
64
+ export function calculateOperatingMargin(revenue, cogs, operatingExpenses) {
65
+ if (revenue === 0)
66
+ return 0;
67
+ const operatingIncome = revenue - cogs - operatingExpenses;
68
+ return (operatingIncome / revenue) * 100;
69
+ }
70
+ /**
71
+ * Calculate net margin
72
+ */
73
+ export function calculateNetMargin(revenue, netIncome) {
74
+ if (revenue === 0)
75
+ return 0;
76
+ return (netIncome / revenue) * 100;
77
+ }
78
+ /**
79
+ * Calculate EBITDA margin
80
+ */
81
+ export function calculateEBITDAMargin(revenue, ebitda) {
82
+ if (revenue === 0)
83
+ return 0;
84
+ return (ebitda / revenue) * 100;
85
+ }
86
+ /**
87
+ * Calculate burn rate (monthly cash burn)
88
+ */
89
+ export function calculateBurnRate(cashStart, cashEnd, months) {
90
+ if (months === 0)
91
+ return 0;
92
+ return (cashStart - cashEnd) / months;
93
+ }
94
+ /**
95
+ * Calculate runway (months until cash runs out)
96
+ */
97
+ export function calculateRunway(cash, monthlyBurnRate) {
98
+ if (monthlyBurnRate === 0)
99
+ return Infinity;
100
+ if (monthlyBurnRate < 0)
101
+ return Infinity; // Company is profitable
102
+ return cash / monthlyBurnRate;
103
+ }
104
+ /**
105
+ * Calculate customer acquisition cost (CAC)
106
+ */
107
+ export function calculateCAC(marketingSpend, newCustomers) {
108
+ if (newCustomers === 0)
109
+ return 0;
110
+ return marketingSpend / newCustomers;
111
+ }
112
+ /**
113
+ * Calculate customer lifetime value (LTV)
114
+ */
115
+ export function calculateLTV(averageRevenuePerCustomer, averageCustomerLifetimeMonths, grossMarginPercent) {
116
+ return averageRevenuePerCustomer * averageCustomerLifetimeMonths * (grossMarginPercent / 100);
117
+ }
118
+ /**
119
+ * Calculate LTV:CAC ratio
120
+ */
121
+ export function calculateLTVtoCAC(ltv, cac) {
122
+ if (cac === 0)
123
+ return 0;
124
+ return ltv / cac;
125
+ }
126
+ /**
127
+ * Calculate payback period (months to recover CAC)
128
+ */
129
+ export function calculatePaybackPeriod(cac, monthlyRevPerCustomer) {
130
+ if (monthlyRevPerCustomer === 0)
131
+ return 0;
132
+ return cac / monthlyRevPerCustomer;
133
+ }
134
+ /**
135
+ * Calculate annual recurring revenue (ARR)
136
+ */
137
+ export function calculateARR(mrr) {
138
+ return mrr * 12;
139
+ }
140
+ /**
141
+ * Calculate monthly recurring revenue (MRR)
142
+ */
143
+ export function calculateMRR(arr) {
144
+ return arr / 12;
145
+ }
146
+ /**
147
+ * Calculate revenue growth rate
148
+ */
149
+ export function calculateGrowthRate(currentRevenue, previousRevenue) {
150
+ if (previousRevenue === 0)
151
+ return 0;
152
+ return ((currentRevenue - previousRevenue) / previousRevenue) * 100;
153
+ }
154
+ /**
155
+ * Calculate compound annual growth rate (CAGR)
156
+ */
157
+ export function calculateCAGR(beginningValue, endingValue, years) {
158
+ if (beginningValue === 0 || years === 0)
159
+ return 0;
160
+ return (Math.pow(endingValue / beginningValue, 1 / years) - 1) * 100;
161
+ }
162
+ /**
163
+ * Calculate return on investment (ROI)
164
+ */
165
+ export function calculateROI(gain, cost) {
166
+ if (cost === 0)
167
+ return 0;
168
+ return ((gain - cost) / cost) * 100;
169
+ }
170
+ /**
171
+ * Calculate return on equity (ROE)
172
+ */
173
+ export function calculateROE(netIncome, shareholderEquity) {
174
+ if (shareholderEquity === 0)
175
+ return 0;
176
+ return (netIncome / shareholderEquity) * 100;
177
+ }
178
+ /**
179
+ * Calculate return on assets (ROA)
180
+ */
181
+ export function calculateROA(netIncome, totalAssets) {
182
+ if (totalAssets === 0)
183
+ return 0;
184
+ return (netIncome / totalAssets) * 100;
185
+ }
186
+ /**
187
+ * Calculate quick ratio (liquidity)
188
+ */
189
+ export function calculateQuickRatio(currentAssets, inventory, currentLiabilities) {
190
+ if (currentLiabilities === 0)
191
+ return 0;
192
+ return (currentAssets - inventory) / currentLiabilities;
193
+ }
194
+ /**
195
+ * Calculate current ratio (liquidity)
196
+ */
197
+ export function calculateCurrentRatio(currentAssets, currentLiabilities) {
198
+ if (currentLiabilities === 0)
199
+ return 0;
200
+ return currentAssets / currentLiabilities;
201
+ }
202
+ /**
203
+ * Calculate debt-to-equity ratio
204
+ */
205
+ export function calculateDebtToEquity(totalDebt, totalEquity) {
206
+ if (totalEquity === 0)
207
+ return 0;
208
+ return totalDebt / totalEquity;
209
+ }
210
+ /**
211
+ * Format currency value
212
+ */
213
+ export function formatCurrency(amount, currency = 'USD') {
214
+ const symbol = getCurrencySymbol(currency);
215
+ const formatted = Math.abs(amount).toLocaleString(undefined, {
216
+ minimumFractionDigits: 0,
217
+ maximumFractionDigits: 2,
218
+ });
219
+ const sign = amount < 0 ? '-' : '';
220
+ return `${sign}${symbol}${formatted}`;
221
+ }
222
+ /**
223
+ * Get currency symbol
224
+ */
225
+ function getCurrencySymbol(currency) {
226
+ const symbols = {
227
+ USD: '$',
228
+ EUR: '€',
229
+ GBP: '£',
230
+ JPY: '¥',
231
+ CNY: '¥',
232
+ CAD: 'C$',
233
+ AUD: 'A$',
234
+ };
235
+ return symbols[currency] || currency + ' ';
236
+ }
237
+ /**
238
+ * Create a financial statement
239
+ */
240
+ export function createStatement(type, period, lineItems, currency = 'USD') {
241
+ return {
242
+ type,
243
+ period,
244
+ lineItems,
245
+ currency,
246
+ };
247
+ }
248
+ /**
249
+ * Get line item from financial statement
250
+ */
251
+ export function getLineItem(statement, name) {
252
+ return statement.lineItems[name] || 0;
253
+ }
254
+ /**
255
+ * Compare financial metrics between periods
256
+ */
257
+ export function compareMetrics(current, previous) {
258
+ const comparison = {};
259
+ const keys = [
260
+ 'revenue',
261
+ 'grossProfit',
262
+ 'operatingIncome',
263
+ 'netIncome',
264
+ 'ebitda',
265
+ ];
266
+ for (const key of keys) {
267
+ const currentVal = current[key] || 0;
268
+ const previousVal = previous[key] || 0;
269
+ const change = currentVal - previousVal;
270
+ const changePercent = previousVal !== 0 ? (change / previousVal) * 100 : 0;
271
+ comparison[key] = { change, changePercent };
272
+ }
273
+ return comparison;
274
+ }
275
+ /**
276
+ * Validate financial metrics
277
+ */
278
+ export function validateFinancials(metrics) {
279
+ const errors = [];
280
+ if (metrics.revenue && metrics.revenue < 0) {
281
+ errors.push('Revenue cannot be negative');
282
+ }
283
+ if (metrics.cogs && metrics.cogs < 0) {
284
+ errors.push('COGS cannot be negative');
285
+ }
286
+ if (metrics.operatingExpenses && metrics.operatingExpenses < 0) {
287
+ errors.push('Operating expenses cannot be negative');
288
+ }
289
+ if (metrics.revenue && metrics.cogs && metrics.cogs > metrics.revenue) {
290
+ errors.push('COGS cannot exceed revenue');
291
+ }
292
+ return {
293
+ valid: errors.length === 0,
294
+ errors,
295
+ };
296
+ }
297
+ //# sourceMappingURL=financials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financials.js","sourceRoot":"","sources":["../src/financials.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,OAAkC;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;IAC9B,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAA;IAExD,4BAA4B;IAC5B,MAAM,WAAW,GAAG,OAAO,GAAG,IAAI,CAAA;IAClC,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,MAAM,eAAe,GAAG,WAAW,GAAG,iBAAiB,CAAA;IACvD,MAAM,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,eAAe,CAAA;IACtD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/D,gEAAgE;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAAA;IAChD,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/D,OAAO;QACL,GAAG,OAAO;QACV,OAAO;QACP,IAAI;QACJ,WAAW;QACX,WAAW;QACX,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,SAAS;QACT,SAAS;QACT,MAAM;QACN,YAAY;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;KACpC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,IAAY;IAChE,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC3B,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,IAAY,EACZ,iBAAyB;IAEzB,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC3B,MAAM,eAAe,GAAG,OAAO,GAAG,IAAI,GAAG,iBAAiB,CAAA;IAC1D,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,GAAG,CAAA;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAiB;IACnE,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC3B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,CAAA;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAc;IACnE,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,OAAe,EACf,MAAc;IAEd,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC1B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,MAAM,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,eAAuB;IACnE,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC1C,IAAI,eAAe,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAA,CAAC,wBAAwB;IACjE,OAAO,IAAI,GAAG,eAAe,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,cAAsB,EAAE,YAAoB;IACvE,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAChC,OAAO,cAAc,GAAG,YAAY,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,yBAAiC,EACjC,6BAAqC,EACrC,kBAA0B;IAE1B,OAAO,yBAAyB,GAAG,6BAA6B,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAA;AAC/F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,GAAW;IACxD,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACvB,OAAO,GAAG,GAAG,GAAG,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,qBAA6B;IAC/E,IAAI,qBAAqB,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACzC,OAAO,GAAG,GAAG,qBAAqB,CAAA;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,GAAG,EAAE,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,GAAG,EAAE,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAAsB,EAAE,eAAuB;IACjF,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACnC,OAAO,CAAC,CAAC,cAAc,GAAG,eAAe,CAAC,GAAG,eAAe,CAAC,GAAG,GAAG,CAAA;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,cAAsB,EACtB,WAAmB,EACnB,KAAa;IAEb,IAAI,cAAc,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACxB,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,iBAAyB;IACvE,IAAI,iBAAiB,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAA;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,WAAmB;IACjE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,GAAG,CAAA;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,aAAqB,EACrB,SAAiB,EACjB,kBAA0B;IAE1B,IAAI,kBAAkB,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACtC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,kBAAkB,CAAA;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,aAAqB,EAAE,kBAA0B;IACrF,IAAI,kBAAkB,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACtC,OAAO,aAAa,GAAG,kBAAkB,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,WAAmB;IAC1E,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,SAAS,GAAG,WAAW,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,WAAqB,KAAK;IACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE;QAC3D,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAClC,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,EAAE,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV,CAAA;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,GAAG,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAgC,EAChC,MAAc,EACd,SAAiC,EACjC,WAAqB,KAAK;IAE1B,OAAO;QACL,IAAI;QACJ,MAAM;QACN,SAAS;QACT,QAAQ;KACT,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAA6B,EAAE,IAAY;IACrE,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAyB,EACzB,QAA0B;IAE1B,MAAM,UAAU,GAA8D,EAAE,CAAA;IAEhF,MAAM,IAAI,GAA+B;QACvC,SAAS;QACT,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,QAAQ;KACT,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAI,OAAO,CAAC,GAAG,CAAY,IAAI,CAAC,CAAA;QAChD,MAAM,WAAW,GAAI,QAAQ,CAAC,GAAG,CAAY,IAAI,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;QACvC,MAAM,aAAa,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAE1E,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAC7C,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAyB;IAEzB,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Business goals definition and tracking
3
+ */
4
+ import type { GoalDefinition } from './types.js';
5
+ /**
6
+ * Define a business goal with metrics and tracking
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const goals = Goals([
11
+ * {
12
+ * name: 'Launch MVP',
13
+ * description: 'Ship minimum viable product to early customers',
14
+ * category: 'strategic',
15
+ * targetDate: new Date('2024-06-30'),
16
+ * owner: 'Product Team',
17
+ * metrics: ['User signups', 'Feature completion rate'],
18
+ * status: 'in-progress',
19
+ * progress: 65,
20
+ * },
21
+ * {
22
+ * name: 'Achieve Product-Market Fit',
23
+ * description: 'Validate product value with target customers',
24
+ * category: 'strategic',
25
+ * targetDate: new Date('2024-12-31'),
26
+ * owner: 'CEO',
27
+ * metrics: ['NPS > 50', 'Churn < 5%', '100+ paying customers'],
28
+ * status: 'in-progress',
29
+ * progress: 30,
30
+ * dependencies: ['Launch MVP'],
31
+ * },
32
+ * ])
33
+ * ```
34
+ */
35
+ export declare function Goals(definitions: GoalDefinition[]): GoalDefinition[];
36
+ /**
37
+ * Define a single goal
38
+ */
39
+ export declare function Goal(definition: GoalDefinition): GoalDefinition;
40
+ /**
41
+ * Update goal progress
42
+ */
43
+ export declare function updateProgress(goal: GoalDefinition, progress: number): GoalDefinition;
44
+ /**
45
+ * Mark goal as at-risk
46
+ */
47
+ export declare function markAtRisk(goal: GoalDefinition): GoalDefinition;
48
+ /**
49
+ * Mark goal as completed
50
+ */
51
+ export declare function complete(goal: GoalDefinition): GoalDefinition;
52
+ /**
53
+ * Check if goal is overdue
54
+ */
55
+ export declare function isOverdue(goal: GoalDefinition): boolean;
56
+ /**
57
+ * Get goals by category
58
+ */
59
+ export declare function getGoalsByCategory(goals: GoalDefinition[], category: GoalDefinition['category']): GoalDefinition[];
60
+ /**
61
+ * Get goals by status
62
+ */
63
+ export declare function getGoalsByStatus(goals: GoalDefinition[], status: GoalDefinition['status']): GoalDefinition[];
64
+ /**
65
+ * Get goals by owner
66
+ */
67
+ export declare function getGoalsByOwner(goals: GoalDefinition[], owner: string): GoalDefinition[];
68
+ /**
69
+ * Calculate overall progress across all goals
70
+ */
71
+ export declare function calculateOverallProgress(goals: GoalDefinition[]): number;
72
+ /**
73
+ * Check for circular dependencies
74
+ */
75
+ export declare function hasCircularDependencies(goals: GoalDefinition[]): boolean;
76
+ /**
77
+ * Get goals in dependency order
78
+ */
79
+ export declare function sortByDependencies(goals: GoalDefinition[]): GoalDefinition[];
80
+ /**
81
+ * Validate goals
82
+ */
83
+ export declare function validateGoals(goals: GoalDefinition[]): {
84
+ valid: boolean;
85
+ errors: string[];
86
+ };
87
+ //# sourceMappingURL=goals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../src/goals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAErE;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAE/D;AAqBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAoBrF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAK/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAM7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,EAAE,CAElB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAC/B,cAAc,EAAE,CAElB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAExF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAKxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAqBxE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CA4B5E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA8B3F"}