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.
- package/.turbo/turbo-build.log +5 -0
- package/CHANGELOG.md +9 -0
- package/IMPLEMENTATION.md +226 -0
- package/README.md +1133 -193
- package/dist/business.d.ts +62 -0
- package/dist/business.d.ts.map +1 -0
- package/dist/business.js +109 -0
- package/dist/business.js.map +1 -0
- package/dist/dollar.d.ts +60 -0
- package/dist/dollar.d.ts.map +1 -0
- package/dist/dollar.js +107 -0
- package/dist/dollar.js.map +1 -0
- package/dist/entities/assets.d.ts +21 -0
- package/dist/entities/assets.d.ts.map +1 -0
- package/dist/entities/assets.js +323 -0
- package/dist/entities/assets.js.map +1 -0
- package/dist/entities/business.d.ts +36 -0
- package/dist/entities/business.d.ts.map +1 -0
- package/dist/entities/business.js +370 -0
- package/dist/entities/business.js.map +1 -0
- package/dist/entities/communication.d.ts +21 -0
- package/dist/entities/communication.d.ts.map +1 -0
- package/dist/entities/communication.js +255 -0
- package/dist/entities/communication.js.map +1 -0
- package/dist/entities/customers.d.ts +58 -0
- package/dist/entities/customers.d.ts.map +1 -0
- package/dist/entities/customers.js +989 -0
- package/dist/entities/customers.js.map +1 -0
- package/dist/entities/financials.d.ts +59 -0
- package/dist/entities/financials.d.ts.map +1 -0
- package/dist/entities/financials.js +932 -0
- package/dist/entities/financials.js.map +1 -0
- package/dist/entities/goals.d.ts +58 -0
- package/dist/entities/goals.d.ts.map +1 -0
- package/dist/entities/goals.js +800 -0
- package/dist/entities/goals.js.map +1 -0
- package/dist/entities/index.d.ts +299 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +198 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/legal.d.ts +21 -0
- package/dist/entities/legal.d.ts.map +1 -0
- package/dist/entities/legal.js +301 -0
- package/dist/entities/legal.js.map +1 -0
- package/dist/entities/market.d.ts +21 -0
- package/dist/entities/market.d.ts.map +1 -0
- package/dist/entities/market.js +301 -0
- package/dist/entities/market.js.map +1 -0
- package/dist/entities/marketing.d.ts +67 -0
- package/dist/entities/marketing.d.ts.map +1 -0
- package/dist/entities/marketing.js +1157 -0
- package/dist/entities/marketing.js.map +1 -0
- package/dist/entities/offerings.d.ts +51 -0
- package/dist/entities/offerings.d.ts.map +1 -0
- package/dist/entities/offerings.js +727 -0
- package/dist/entities/offerings.js.map +1 -0
- package/dist/entities/operations.d.ts +58 -0
- package/dist/entities/operations.d.ts.map +1 -0
- package/dist/entities/operations.js +787 -0
- package/dist/entities/operations.js.map +1 -0
- package/dist/entities/organization.d.ts +57 -0
- package/dist/entities/organization.d.ts.map +1 -0
- package/dist/entities/organization.js +807 -0
- package/dist/entities/organization.js.map +1 -0
- package/dist/entities/partnerships.d.ts +21 -0
- package/dist/entities/partnerships.d.ts.map +1 -0
- package/dist/entities/partnerships.js +300 -0
- package/dist/entities/partnerships.js.map +1 -0
- package/dist/entities/planning.d.ts +87 -0
- package/dist/entities/planning.d.ts.map +1 -0
- package/dist/entities/planning.js +271 -0
- package/dist/entities/planning.js.map +1 -0
- package/dist/entities/projects.d.ts +25 -0
- package/dist/entities/projects.d.ts.map +1 -0
- package/dist/entities/projects.js +349 -0
- package/dist/entities/projects.js.map +1 -0
- package/dist/entities/risk.d.ts +21 -0
- package/dist/entities/risk.d.ts.map +1 -0
- package/dist/entities/risk.js +293 -0
- package/dist/entities/risk.js.map +1 -0
- package/dist/entities/sales.d.ts +72 -0
- package/dist/entities/sales.d.ts.map +1 -0
- package/dist/entities/sales.js +1248 -0
- package/dist/entities/sales.js.map +1 -0
- package/dist/financials.d.ts +130 -0
- package/dist/financials.d.ts.map +1 -0
- package/dist/financials.js +297 -0
- package/dist/financials.js.map +1 -0
- package/dist/goals.d.ts +87 -0
- package/dist/goals.d.ts.map +1 -0
- package/dist/goals.js +215 -0
- package/dist/goals.js.map +1 -0
- package/dist/index.d.ts +97 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +131 -1079
- package/dist/index.js.map +1 -1
- package/dist/kpis.d.ts +118 -0
- package/dist/kpis.d.ts.map +1 -0
- package/dist/kpis.js +232 -0
- package/dist/kpis.js.map +1 -0
- package/dist/metrics.d.ts +448 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +325 -0
- package/dist/metrics.js.map +1 -0
- package/dist/okrs.d.ts +123 -0
- package/dist/okrs.d.ts.map +1 -0
- package/dist/okrs.js +269 -0
- package/dist/okrs.js.map +1 -0
- package/dist/organization.d.ts +585 -0
- package/dist/organization.d.ts.map +1 -0
- package/dist/organization.js +173 -0
- package/dist/organization.js.map +1 -0
- package/dist/process.d.ts +112 -0
- package/dist/process.d.ts.map +1 -0
- package/dist/process.js +241 -0
- package/dist/process.js.map +1 -0
- package/dist/product.d.ts +85 -0
- package/dist/product.d.ts.map +1 -0
- package/dist/product.js +145 -0
- package/dist/product.js.map +1 -0
- package/dist/queries.d.ts +304 -0
- package/dist/queries.d.ts.map +1 -0
- package/dist/queries.js +415 -0
- package/dist/queries.js.map +1 -0
- package/dist/roles.d.ts +340 -0
- package/dist/roles.d.ts.map +1 -0
- package/dist/roles.js +255 -0
- package/dist/roles.js.map +1 -0
- package/dist/service.d.ts +61 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +140 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +459 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/vision.d.ts +38 -0
- package/dist/vision.d.ts.map +1 -0
- package/dist/vision.js +68 -0
- package/dist/vision.js.map +1 -0
- package/dist/workflow.d.ts +115 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +247 -0
- package/dist/workflow.js.map +1 -0
- package/examples/basic-usage.ts +307 -0
- package/package.json +19 -60
- package/src/business.ts +121 -0
- package/src/dollar.ts +132 -0
- package/src/entities/assets.ts +332 -0
- package/src/entities/business.ts +406 -0
- package/src/entities/communication.ts +264 -0
- package/src/entities/customers.ts +1072 -0
- package/src/entities/financials.ts +1011 -0
- package/src/entities/goals.ts +871 -0
- package/src/entities/index.ts +383 -0
- package/src/entities/legal.ts +310 -0
- package/src/entities/market.ts +310 -0
- package/src/entities/marketing.ts +1249 -0
- package/src/entities/offerings.ts +789 -0
- package/src/entities/operations.ts +861 -0
- package/src/entities/organization.ts +876 -0
- package/src/entities/partnerships.ts +309 -0
- package/src/entities/planning.ts +307 -0
- package/src/entities/projects.ts +360 -0
- package/src/entities/risk.ts +302 -0
- package/src/entities/sales.ts +1352 -0
- package/src/financials.ts +352 -0
- package/src/goals.ts +250 -0
- package/src/index.test.ts +336 -0
- package/src/index.ts +530 -0
- package/src/kpis.ts +275 -0
- package/src/metrics.ts +825 -0
- package/src/okrs.ts +325 -0
- package/src/organization.ts +909 -0
- package/src/process.ts +272 -0
- package/src/product.ts +178 -0
- package/src/queries.ts +767 -0
- package/src/roles.ts +686 -0
- package/src/service.ts +164 -0
- package/src/types.ts +493 -0
- package/src/vision.ts +88 -0
- package/src/workflow.ts +280 -0
- package/tsconfig.json +9 -0
- package/dist/loaders/index.d.ts +0 -174
- package/dist/loaders/index.js +0 -366
- package/dist/loaders/index.js.map +0 -1
- package/dist/schema/index.d.ts +0 -146
- package/dist/schema/index.js +0 -716
- package/dist/schema/index.js.map +0 -1
- 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"}
|
package/dist/goals.d.ts
ADDED
|
@@ -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"}
|