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
package/dist/service.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service definition and management
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Define a service with pricing, SLA, and delivery information
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const service = Service({
|
|
10
|
+
* name: 'Widget Consulting',
|
|
11
|
+
* description: 'Expert widget implementation and optimization',
|
|
12
|
+
* category: 'Consulting',
|
|
13
|
+
* targetSegment: 'Enterprise',
|
|
14
|
+
* valueProposition: 'Get expert help implementing widgets in 2 weeks',
|
|
15
|
+
* pricingModel: 'fixed',
|
|
16
|
+
* price: 5000,
|
|
17
|
+
* currency: 'USD',
|
|
18
|
+
* deliveryTime: '2 weeks',
|
|
19
|
+
* sla: {
|
|
20
|
+
* uptime: 99.9,
|
|
21
|
+
* responseTime: '< 24 hours',
|
|
22
|
+
* supportHours: 'Business hours (9-5 EST)',
|
|
23
|
+
* penalties: '10% refund per day of delay',
|
|
24
|
+
* },
|
|
25
|
+
* })
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function Service(definition) {
|
|
29
|
+
if (!definition.name) {
|
|
30
|
+
throw new Error('Service name is required');
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
...definition,
|
|
34
|
+
pricingModel: definition.pricingModel || 'hourly',
|
|
35
|
+
currency: definition.currency || 'USD',
|
|
36
|
+
metadata: definition.metadata || {},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Calculate service price based on hours (for hourly pricing)
|
|
41
|
+
*/
|
|
42
|
+
export function calculateHourlyPrice(service, hours) {
|
|
43
|
+
if (service.pricingModel !== 'hourly' || !service.price) {
|
|
44
|
+
throw new Error('Service must use hourly pricing model');
|
|
45
|
+
}
|
|
46
|
+
return service.price * hours;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Calculate monthly retainer equivalent
|
|
50
|
+
*/
|
|
51
|
+
export function calculateMonthlyRetainer(service, hoursPerMonth) {
|
|
52
|
+
if (service.pricingModel !== 'hourly' || !service.price) {
|
|
53
|
+
throw new Error('Service must use hourly pricing model');
|
|
54
|
+
}
|
|
55
|
+
return service.price * hoursPerMonth;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Check if service meets SLA uptime requirement
|
|
59
|
+
*/
|
|
60
|
+
export function checkSLAUptime(service, actualUptime) {
|
|
61
|
+
if (!service.sla?.uptime)
|
|
62
|
+
return true;
|
|
63
|
+
return actualUptime >= service.sla.uptime;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Parse delivery time to days
|
|
67
|
+
*/
|
|
68
|
+
export function parseDeliveryTimeToDays(deliveryTime) {
|
|
69
|
+
if (!deliveryTime)
|
|
70
|
+
return 0;
|
|
71
|
+
const lower = deliveryTime.toLowerCase();
|
|
72
|
+
// Parse patterns like "2 weeks", "3 days", "1 month"
|
|
73
|
+
const match = lower.match(/(\d+)\s*(day|days|week|weeks|month|months|hour|hours)/);
|
|
74
|
+
if (!match)
|
|
75
|
+
return 0;
|
|
76
|
+
const value = parseInt(match[1] || '0', 10);
|
|
77
|
+
const unit = match[2];
|
|
78
|
+
switch (unit) {
|
|
79
|
+
case 'hour':
|
|
80
|
+
case 'hours':
|
|
81
|
+
return value / 24;
|
|
82
|
+
case 'day':
|
|
83
|
+
case 'days':
|
|
84
|
+
return value;
|
|
85
|
+
case 'week':
|
|
86
|
+
case 'weeks':
|
|
87
|
+
return value * 7;
|
|
88
|
+
case 'month':
|
|
89
|
+
case 'months':
|
|
90
|
+
return value * 30;
|
|
91
|
+
default:
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Estimate service completion date
|
|
97
|
+
*/
|
|
98
|
+
export function estimateCompletionDate(service, startDate) {
|
|
99
|
+
const start = startDate || new Date();
|
|
100
|
+
const days = parseDeliveryTimeToDays(service.deliveryTime);
|
|
101
|
+
const completion = new Date(start);
|
|
102
|
+
completion.setDate(completion.getDate() + days);
|
|
103
|
+
return completion;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Calculate service value (for value-based pricing)
|
|
107
|
+
*/
|
|
108
|
+
export function calculateValueBasedPrice(service, customerValue, valueSharePercentage) {
|
|
109
|
+
if (service.pricingModel !== 'value-based') {
|
|
110
|
+
throw new Error('Service must use value-based pricing model');
|
|
111
|
+
}
|
|
112
|
+
if (valueSharePercentage < 0 || valueSharePercentage > 100) {
|
|
113
|
+
throw new Error('Value share percentage must be between 0 and 100');
|
|
114
|
+
}
|
|
115
|
+
return customerValue * (valueSharePercentage / 100);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Validate service definition
|
|
119
|
+
*/
|
|
120
|
+
export function validateService(service) {
|
|
121
|
+
const errors = [];
|
|
122
|
+
if (!service.name) {
|
|
123
|
+
errors.push('Service name is required');
|
|
124
|
+
}
|
|
125
|
+
if (service.price && service.price < 0) {
|
|
126
|
+
errors.push('Service price cannot be negative');
|
|
127
|
+
}
|
|
128
|
+
if (service.sla?.uptime && (service.sla.uptime < 0 || service.sla.uptime > 100)) {
|
|
129
|
+
errors.push('SLA uptime must be between 0 and 100');
|
|
130
|
+
}
|
|
131
|
+
if (service.pricingModel &&
|
|
132
|
+
!['hourly', 'fixed', 'retainer', 'value-based'].includes(service.pricingModel)) {
|
|
133
|
+
errors.push('Invalid pricing model');
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
valid: errors.length === 0,
|
|
137
|
+
errors,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for business-as-code primitives
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Currency types supported by the system
|
|
6
|
+
*/
|
|
7
|
+
export type Currency = 'USD' | 'EUR' | 'GBP' | 'JPY' | 'CNY' | 'CAD' | 'AUD' | string;
|
|
8
|
+
/**
|
|
9
|
+
* Time period for metrics and financial calculations
|
|
10
|
+
*/
|
|
11
|
+
export type TimePeriod = 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'yearly';
|
|
12
|
+
/**
|
|
13
|
+
* Business entity definition
|
|
14
|
+
*/
|
|
15
|
+
export interface BusinessDefinition {
|
|
16
|
+
/** Business name */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Business description */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** Industry/sector */
|
|
21
|
+
industry?: string;
|
|
22
|
+
/** Mission statement */
|
|
23
|
+
mission?: string;
|
|
24
|
+
/** Core values */
|
|
25
|
+
values?: string[];
|
|
26
|
+
/** Target market */
|
|
27
|
+
targetMarket?: string;
|
|
28
|
+
/** Founding date */
|
|
29
|
+
foundedAt?: Date;
|
|
30
|
+
/** Team size */
|
|
31
|
+
teamSize?: number;
|
|
32
|
+
/** Organizational structure */
|
|
33
|
+
structure?: OrganizationalStructure;
|
|
34
|
+
/** Business metadata */
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Goal definition
|
|
39
|
+
*/
|
|
40
|
+
export interface GoalDefinition {
|
|
41
|
+
/** Goal name/title */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Goal description */
|
|
44
|
+
description?: string;
|
|
45
|
+
/** Goal category */
|
|
46
|
+
category?: 'strategic' | 'operational' | 'financial' | 'customer' | 'internal' | 'learning';
|
|
47
|
+
/** Target completion date */
|
|
48
|
+
targetDate?: Date;
|
|
49
|
+
/** Owner responsible for the goal */
|
|
50
|
+
owner?: string;
|
|
51
|
+
/** Success metrics */
|
|
52
|
+
metrics?: string[];
|
|
53
|
+
/** Current status */
|
|
54
|
+
status?: 'not-started' | 'in-progress' | 'at-risk' | 'completed' | 'cancelled';
|
|
55
|
+
/** Progress percentage */
|
|
56
|
+
progress?: number;
|
|
57
|
+
/** Dependencies on other goals */
|
|
58
|
+
dependencies?: string[];
|
|
59
|
+
/** Goal metadata */
|
|
60
|
+
metadata?: Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Department definition
|
|
64
|
+
*/
|
|
65
|
+
export interface Department {
|
|
66
|
+
/** Department name */
|
|
67
|
+
name: string;
|
|
68
|
+
/** Department description */
|
|
69
|
+
description?: string;
|
|
70
|
+
/** Department head */
|
|
71
|
+
head?: string;
|
|
72
|
+
/** Team members */
|
|
73
|
+
members?: string[];
|
|
74
|
+
/** Department budget */
|
|
75
|
+
budget?: number;
|
|
76
|
+
/** Department goals */
|
|
77
|
+
goals?: GoalDefinition[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Team definition
|
|
81
|
+
*/
|
|
82
|
+
export interface Team {
|
|
83
|
+
/** Team name */
|
|
84
|
+
name: string;
|
|
85
|
+
/** Team description */
|
|
86
|
+
description?: string;
|
|
87
|
+
/** Team lead */
|
|
88
|
+
lead?: string;
|
|
89
|
+
/** Team members */
|
|
90
|
+
members?: string[];
|
|
91
|
+
/** Team objectives */
|
|
92
|
+
objectives?: string[];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Organizational structure
|
|
96
|
+
*/
|
|
97
|
+
export interface OrganizationalStructure {
|
|
98
|
+
/** Departments/divisions */
|
|
99
|
+
departments?: Department[];
|
|
100
|
+
/** Reporting hierarchy */
|
|
101
|
+
hierarchy?: Record<string, string[]>;
|
|
102
|
+
/** Team compositions */
|
|
103
|
+
teams?: Team[];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Vision statement definition
|
|
107
|
+
*/
|
|
108
|
+
export interface VisionDefinition {
|
|
109
|
+
/** Vision statement */
|
|
110
|
+
statement: string;
|
|
111
|
+
/** Target timeframe */
|
|
112
|
+
timeframe?: string;
|
|
113
|
+
/** Success indicators */
|
|
114
|
+
successIndicators?: string[];
|
|
115
|
+
/** Vision metadata */
|
|
116
|
+
metadata?: Record<string, unknown>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Product definition
|
|
120
|
+
*/
|
|
121
|
+
export interface ProductDefinition {
|
|
122
|
+
/** Product name */
|
|
123
|
+
name: string;
|
|
124
|
+
/** Product description */
|
|
125
|
+
description?: string;
|
|
126
|
+
/** Product category */
|
|
127
|
+
category?: string;
|
|
128
|
+
/** Target customer segment */
|
|
129
|
+
targetSegment?: string;
|
|
130
|
+
/** Value proposition */
|
|
131
|
+
valueProposition?: string;
|
|
132
|
+
/** Pricing model */
|
|
133
|
+
pricingModel?: 'one-time' | 'subscription' | 'usage-based' | 'freemium' | 'tiered';
|
|
134
|
+
/** Price */
|
|
135
|
+
price?: number;
|
|
136
|
+
/** Currency */
|
|
137
|
+
currency?: Currency;
|
|
138
|
+
/** Cost of goods sold */
|
|
139
|
+
cogs?: number;
|
|
140
|
+
/** Features */
|
|
141
|
+
features?: string[];
|
|
142
|
+
/** Product roadmap */
|
|
143
|
+
roadmap?: RoadmapItem[];
|
|
144
|
+
/** Product metadata */
|
|
145
|
+
metadata?: Record<string, unknown>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Service definition
|
|
149
|
+
*/
|
|
150
|
+
export interface ServiceDefinition {
|
|
151
|
+
/** Service name */
|
|
152
|
+
name: string;
|
|
153
|
+
/** Service description */
|
|
154
|
+
description?: string;
|
|
155
|
+
/** Service category */
|
|
156
|
+
category?: string;
|
|
157
|
+
/** Target customer segment */
|
|
158
|
+
targetSegment?: string;
|
|
159
|
+
/** Value proposition */
|
|
160
|
+
valueProposition?: string;
|
|
161
|
+
/** Pricing model */
|
|
162
|
+
pricingModel?: 'hourly' | 'fixed' | 'retainer' | 'value-based';
|
|
163
|
+
/** Base price */
|
|
164
|
+
price?: number;
|
|
165
|
+
/** Currency */
|
|
166
|
+
currency?: Currency;
|
|
167
|
+
/** Estimated delivery time */
|
|
168
|
+
deliveryTime?: string;
|
|
169
|
+
/** Service level agreement */
|
|
170
|
+
sla?: ServiceLevelAgreement;
|
|
171
|
+
/** Service metadata */
|
|
172
|
+
metadata?: Record<string, unknown>;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Roadmap item for products
|
|
176
|
+
*/
|
|
177
|
+
export interface RoadmapItem {
|
|
178
|
+
/** Item name */
|
|
179
|
+
name: string;
|
|
180
|
+
/** Description */
|
|
181
|
+
description?: string;
|
|
182
|
+
/** Target quarter/date */
|
|
183
|
+
targetDate?: Date;
|
|
184
|
+
/** Priority */
|
|
185
|
+
priority?: 'critical' | 'high' | 'medium' | 'low';
|
|
186
|
+
/** Status */
|
|
187
|
+
status?: 'planned' | 'in-progress' | 'completed' | 'cancelled';
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Service level agreement
|
|
191
|
+
*/
|
|
192
|
+
export interface ServiceLevelAgreement {
|
|
193
|
+
/** Uptime percentage */
|
|
194
|
+
uptime?: number;
|
|
195
|
+
/** Response time */
|
|
196
|
+
responseTime?: string;
|
|
197
|
+
/** Support hours */
|
|
198
|
+
supportHours?: string;
|
|
199
|
+
/** Penalties for SLA violations */
|
|
200
|
+
penalties?: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Business process definition
|
|
204
|
+
*/
|
|
205
|
+
export interface ProcessDefinition {
|
|
206
|
+
/** Process name */
|
|
207
|
+
name: string;
|
|
208
|
+
/** Process description */
|
|
209
|
+
description?: string;
|
|
210
|
+
/** Process category */
|
|
211
|
+
category?: 'core' | 'support' | 'management';
|
|
212
|
+
/** Process owner */
|
|
213
|
+
owner?: string;
|
|
214
|
+
/** Process steps */
|
|
215
|
+
steps?: ProcessStep[];
|
|
216
|
+
/** Inputs required */
|
|
217
|
+
inputs?: string[];
|
|
218
|
+
/** Outputs produced */
|
|
219
|
+
outputs?: string[];
|
|
220
|
+
/** Process metrics */
|
|
221
|
+
metrics?: ProcessMetric[];
|
|
222
|
+
/** Process metadata */
|
|
223
|
+
metadata?: Record<string, unknown>;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Process step definition
|
|
227
|
+
*/
|
|
228
|
+
export interface ProcessStep {
|
|
229
|
+
/** Step number */
|
|
230
|
+
order: number;
|
|
231
|
+
/** Step name */
|
|
232
|
+
name: string;
|
|
233
|
+
/** Step description */
|
|
234
|
+
description?: string;
|
|
235
|
+
/** Responsible role/person */
|
|
236
|
+
responsible?: string;
|
|
237
|
+
/** Estimated duration */
|
|
238
|
+
duration?: string;
|
|
239
|
+
/** Step automation level */
|
|
240
|
+
automationLevel?: 'manual' | 'semi-automated' | 'automated';
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Process metric
|
|
244
|
+
*/
|
|
245
|
+
export interface ProcessMetric {
|
|
246
|
+
/** Metric name */
|
|
247
|
+
name: string;
|
|
248
|
+
/** Metric description */
|
|
249
|
+
description?: string;
|
|
250
|
+
/** Target value */
|
|
251
|
+
target?: number;
|
|
252
|
+
/** Current value */
|
|
253
|
+
current?: number;
|
|
254
|
+
/** Unit of measurement */
|
|
255
|
+
unit?: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Workflow definition (automation sequence)
|
|
259
|
+
*/
|
|
260
|
+
export interface WorkflowDefinition {
|
|
261
|
+
/** Workflow name */
|
|
262
|
+
name: string;
|
|
263
|
+
/** Workflow description */
|
|
264
|
+
description?: string;
|
|
265
|
+
/** Trigger conditions */
|
|
266
|
+
trigger?: WorkflowTrigger;
|
|
267
|
+
/** Workflow actions */
|
|
268
|
+
actions?: WorkflowAction[];
|
|
269
|
+
/** Workflow metadata */
|
|
270
|
+
metadata?: Record<string, unknown>;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Workflow trigger
|
|
274
|
+
*/
|
|
275
|
+
export interface WorkflowTrigger {
|
|
276
|
+
/** Trigger type */
|
|
277
|
+
type: 'event' | 'schedule' | 'webhook' | 'manual';
|
|
278
|
+
/** Event name (for event triggers) */
|
|
279
|
+
event?: string;
|
|
280
|
+
/** Schedule expression (for scheduled triggers) */
|
|
281
|
+
schedule?: string;
|
|
282
|
+
/** Webhook URL (for webhook triggers) */
|
|
283
|
+
webhook?: string;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Workflow action
|
|
287
|
+
*/
|
|
288
|
+
export interface WorkflowAction {
|
|
289
|
+
/** Action order */
|
|
290
|
+
order: number;
|
|
291
|
+
/** Action type */
|
|
292
|
+
type: 'send' | 'create' | 'update' | 'delete' | 'notify' | 'call' | 'wait';
|
|
293
|
+
/** Action description */
|
|
294
|
+
description?: string;
|
|
295
|
+
/** Action parameters */
|
|
296
|
+
params?: Record<string, unknown>;
|
|
297
|
+
/** Condition for executing this action */
|
|
298
|
+
condition?: string;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Key Performance Indicator
|
|
302
|
+
*/
|
|
303
|
+
export interface KPIDefinition {
|
|
304
|
+
/** KPI name */
|
|
305
|
+
name: string;
|
|
306
|
+
/** KPI description */
|
|
307
|
+
description?: string;
|
|
308
|
+
/** KPI category */
|
|
309
|
+
category?: 'financial' | 'customer' | 'operations' | 'people' | 'growth';
|
|
310
|
+
/** Measurement unit */
|
|
311
|
+
unit?: string;
|
|
312
|
+
/** Target value */
|
|
313
|
+
target?: number;
|
|
314
|
+
/** Current value */
|
|
315
|
+
current?: number;
|
|
316
|
+
/** Measurement frequency */
|
|
317
|
+
frequency?: TimePeriod;
|
|
318
|
+
/** Data source */
|
|
319
|
+
dataSource?: string;
|
|
320
|
+
/** Calculation formula */
|
|
321
|
+
formula?: string;
|
|
322
|
+
/** KPI metadata */
|
|
323
|
+
metadata?: Record<string, unknown>;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Objective and Key Results (OKR)
|
|
327
|
+
*/
|
|
328
|
+
export interface OKRDefinition {
|
|
329
|
+
/** Objective statement */
|
|
330
|
+
objective: string;
|
|
331
|
+
/** Objective description */
|
|
332
|
+
description?: string;
|
|
333
|
+
/** Time period */
|
|
334
|
+
period?: string;
|
|
335
|
+
/** Owner */
|
|
336
|
+
owner?: string;
|
|
337
|
+
/** Key results */
|
|
338
|
+
keyResults?: KeyResult[];
|
|
339
|
+
/** Status */
|
|
340
|
+
status?: 'not-started' | 'on-track' | 'at-risk' | 'completed';
|
|
341
|
+
/** Confidence level */
|
|
342
|
+
confidence?: number;
|
|
343
|
+
/** OKR metadata */
|
|
344
|
+
metadata?: Record<string, unknown>;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Key result within an OKR
|
|
348
|
+
*/
|
|
349
|
+
export interface KeyResult {
|
|
350
|
+
/** Key result description */
|
|
351
|
+
description: string;
|
|
352
|
+
/** Metric to measure */
|
|
353
|
+
metric: string;
|
|
354
|
+
/** Starting value */
|
|
355
|
+
startValue?: number;
|
|
356
|
+
/** Target value */
|
|
357
|
+
targetValue: number;
|
|
358
|
+
/** Current value */
|
|
359
|
+
currentValue?: number;
|
|
360
|
+
/** Unit of measurement */
|
|
361
|
+
unit?: string;
|
|
362
|
+
/** Progress percentage */
|
|
363
|
+
progress?: number;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Financial metrics and calculations
|
|
367
|
+
*/
|
|
368
|
+
export interface FinancialMetrics {
|
|
369
|
+
/** Revenue */
|
|
370
|
+
revenue?: number;
|
|
371
|
+
/** Cost of goods sold */
|
|
372
|
+
cogs?: number;
|
|
373
|
+
/** Gross profit */
|
|
374
|
+
grossProfit?: number;
|
|
375
|
+
/** Gross margin percentage */
|
|
376
|
+
grossMargin?: number;
|
|
377
|
+
/** Operating expenses */
|
|
378
|
+
operatingExpenses?: number;
|
|
379
|
+
/** Operating income */
|
|
380
|
+
operatingIncome?: number;
|
|
381
|
+
/** Operating margin percentage */
|
|
382
|
+
operatingMargin?: number;
|
|
383
|
+
/** Net income */
|
|
384
|
+
netIncome?: number;
|
|
385
|
+
/** Net margin percentage */
|
|
386
|
+
netMargin?: number;
|
|
387
|
+
/** EBITDA */
|
|
388
|
+
ebitda?: number;
|
|
389
|
+
/** EBITDA margin percentage */
|
|
390
|
+
ebitdaMargin?: number;
|
|
391
|
+
/** Cash flow from operations */
|
|
392
|
+
operatingCashFlow?: number;
|
|
393
|
+
/** Free cash flow */
|
|
394
|
+
freeCashFlow?: number;
|
|
395
|
+
/** Currency */
|
|
396
|
+
currency?: Currency;
|
|
397
|
+
/** Period */
|
|
398
|
+
period?: TimePeriod;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Financial statement data
|
|
402
|
+
*/
|
|
403
|
+
export interface FinancialStatement {
|
|
404
|
+
/** Statement type */
|
|
405
|
+
type: 'income' | 'balance-sheet' | 'cash-flow';
|
|
406
|
+
/** Period */
|
|
407
|
+
period: string;
|
|
408
|
+
/** Line items */
|
|
409
|
+
lineItems: Record<string, number>;
|
|
410
|
+
/** Currency */
|
|
411
|
+
currency: Currency;
|
|
412
|
+
/** Metadata */
|
|
413
|
+
metadata?: Record<string, unknown>;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Business context for $ helper
|
|
417
|
+
*/
|
|
418
|
+
export interface BusinessContext {
|
|
419
|
+
/** Current business entity */
|
|
420
|
+
business?: BusinessDefinition;
|
|
421
|
+
/** Active goals */
|
|
422
|
+
goals?: GoalDefinition[];
|
|
423
|
+
/** Active OKRs */
|
|
424
|
+
okrs?: OKRDefinition[];
|
|
425
|
+
/** Tracked KPIs */
|
|
426
|
+
kpis?: KPIDefinition[];
|
|
427
|
+
/** Financial data */
|
|
428
|
+
financials?: FinancialMetrics;
|
|
429
|
+
/** Custom context data */
|
|
430
|
+
[key: string]: unknown;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* $ helper for business operations
|
|
434
|
+
*/
|
|
435
|
+
export interface BusinessOperations {
|
|
436
|
+
/** Format currency value */
|
|
437
|
+
format: (amount: number, currency?: Currency) => string;
|
|
438
|
+
/** Calculate percentage */
|
|
439
|
+
percent: (value: number, total: number) => number;
|
|
440
|
+
/** Calculate growth rate */
|
|
441
|
+
growth: (current: number, previous: number) => number;
|
|
442
|
+
/** Calculate margin */
|
|
443
|
+
margin: (revenue: number, cost: number) => number;
|
|
444
|
+
/** Calculate return on investment */
|
|
445
|
+
roi: (gain: number, cost: number) => number;
|
|
446
|
+
/** Calculate customer lifetime value */
|
|
447
|
+
ltv: (averageValue: number, frequency: number, lifetime: number) => number;
|
|
448
|
+
/** Calculate customer acquisition cost */
|
|
449
|
+
cac: (marketingSpend: number, newCustomers: number) => number;
|
|
450
|
+
/** Calculate burn rate */
|
|
451
|
+
burnRate: (cashStart: number, cashEnd: number, months: number) => number;
|
|
452
|
+
/** Calculate runway */
|
|
453
|
+
runway: (cash: number, burnRate: number) => number;
|
|
454
|
+
/** Access business context */
|
|
455
|
+
context: BusinessContext;
|
|
456
|
+
/** Log business event */
|
|
457
|
+
log: (event: string, data?: unknown) => void;
|
|
458
|
+
}
|
|
459
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/dist/vision.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vision statement definition
|
|
3
|
+
*/
|
|
4
|
+
import type { VisionDefinition } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Define a business vision statement with timeframe and success indicators
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const vision = Vision({
|
|
11
|
+
* statement: 'To become the world\'s most trusted widget platform',
|
|
12
|
+
* timeframe: '5 years',
|
|
13
|
+
* successIndicators: [
|
|
14
|
+
* '10M+ active users',
|
|
15
|
+
* 'Present in 50+ countries',
|
|
16
|
+
* 'Industry-leading NPS score',
|
|
17
|
+
* '$1B+ annual revenue',
|
|
18
|
+
* ],
|
|
19
|
+
* })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function Vision(definition: VisionDefinition): VisionDefinition;
|
|
23
|
+
/**
|
|
24
|
+
* Check if a success indicator has been achieved
|
|
25
|
+
*/
|
|
26
|
+
export declare function checkIndicator(vision: VisionDefinition, indicator: string, currentMetrics: Record<string, number | boolean>): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Calculate vision progress based on achieved indicators
|
|
29
|
+
*/
|
|
30
|
+
export declare function calculateProgress(vision: VisionDefinition, currentMetrics: Record<string, number | boolean>): number;
|
|
31
|
+
/**
|
|
32
|
+
* Validate vision definition
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateVision(vision: VisionDefinition): {
|
|
35
|
+
valid: boolean;
|
|
36
|
+
errors: string[];
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=vision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.d.ts","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,gBAAgB,GAAG,gBAAgB,CAYrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAC/C,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAC/C,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAe7F"}
|