business-as-code 2.1.3 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +2 -0
- package/package.json +16 -13
- package/src/dollar.ts +5 -2
- package/src/entities/organization.ts +31 -18
- package/src/goals.ts +78 -12
- package/src/index.ts +48 -18
- package/src/kpis.ts +62 -8
- package/src/metrics.ts +92 -79
- package/src/okrs.ts +120 -20
- package/src/organization.ts +12 -15
- package/src/process.ts +11 -12
- package/src/product.ts +8 -9
- package/src/queries.ts +238 -75
- package/src/roles.ts +62 -61
- package/src/workflow.ts +22 -15
- package/test/business.test.ts +282 -0
- package/test/dollar.test.ts +270 -0
- package/test/entities.test.ts +628 -0
- package/test/financials.test.ts +539 -0
- package/test/goals.test.ts +451 -0
- package/{src → test}/index.test.ts +1 -1
- package/test/kpis.test.ts +440 -0
- package/test/metrics.test.ts +744 -0
- package/test/okrs.test.ts +741 -0
- package/test/organization.test.ts +548 -0
- package/test/process.test.ts +503 -0
- package/test/product.test.ts +430 -0
- package/test/queries.test.ts +556 -0
- package/test/roles.test.ts +546 -0
- package/test/service.test.ts +450 -0
- package/test/types.test.ts +1141 -0
- package/test/vision.test.ts +214 -0
- package/test/workflow.test.ts +501 -0
- package/vitest.config.ts +47 -0
- package/.turbo/turbo-build.log +0 -5
- package/LICENSE +0 -21
- package/dist/business.d.ts +0 -62
- package/dist/business.d.ts.map +0 -1
- package/dist/business.js +0 -109
- package/dist/business.js.map +0 -1
- package/dist/canvas/activities.d.ts +0 -19
- package/dist/canvas/activities.d.ts.map +0 -1
- package/dist/canvas/activities.js +0 -20
- package/dist/canvas/activities.js.map +0 -1
- package/dist/canvas/channels.d.ts +0 -20
- package/dist/canvas/channels.d.ts.map +0 -1
- package/dist/canvas/channels.js +0 -21
- package/dist/canvas/channels.js.map +0 -1
- package/dist/canvas/relationships.d.ts +0 -20
- package/dist/canvas/relationships.d.ts.map +0 -1
- package/dist/canvas/relationships.js +0 -21
- package/dist/canvas/relationships.js.map +0 -1
- package/dist/canvas/resources.d.ts +0 -20
- package/dist/canvas/resources.d.ts.map +0 -1
- package/dist/canvas/resources.js +0 -30
- package/dist/canvas/resources.js.map +0 -1
- package/dist/canvas/revenue.d.ts +0 -22
- package/dist/canvas/revenue.d.ts.map +0 -1
- package/dist/canvas/revenue.js +0 -30
- package/dist/canvas/revenue.js.map +0 -1
- package/dist/canvas/segments.d.ts +0 -20
- package/dist/canvas/segments.d.ts.map +0 -1
- package/dist/canvas/segments.js +0 -28
- package/dist/canvas/segments.js.map +0 -1
- package/dist/canvas/types.d.ts +0 -232
- package/dist/canvas/types.d.ts.map +0 -1
- package/dist/canvas/types.js +0 -8
- package/dist/canvas/types.js.map +0 -1
- package/dist/canvas/value.d.ts +0 -20
- package/dist/canvas/value.d.ts.map +0 -1
- package/dist/canvas/value.js +0 -21
- package/dist/canvas/value.js.map +0 -1
- package/dist/dollar.d.ts +0 -60
- package/dist/dollar.d.ts.map +0 -1
- package/dist/dollar.js +0 -107
- package/dist/dollar.js.map +0 -1
- package/dist/entities/assets.d.ts +0 -21
- package/dist/entities/assets.d.ts.map +0 -1
- package/dist/entities/assets.js +0 -323
- package/dist/entities/assets.js.map +0 -1
- package/dist/entities/business.d.ts +0 -36
- package/dist/entities/business.d.ts.map +0 -1
- package/dist/entities/business.js +0 -370
- package/dist/entities/business.js.map +0 -1
- package/dist/entities/communication.d.ts +0 -21
- package/dist/entities/communication.d.ts.map +0 -1
- package/dist/entities/communication.js +0 -255
- package/dist/entities/communication.js.map +0 -1
- package/dist/entities/customers.d.ts +0 -58
- package/dist/entities/customers.d.ts.map +0 -1
- package/dist/entities/customers.js +0 -989
- package/dist/entities/customers.js.map +0 -1
- package/dist/entities/financials.d.ts +0 -59
- package/dist/entities/financials.d.ts.map +0 -1
- package/dist/entities/financials.js +0 -932
- package/dist/entities/financials.js.map +0 -1
- package/dist/entities/goals.d.ts +0 -58
- package/dist/entities/goals.d.ts.map +0 -1
- package/dist/entities/goals.js +0 -800
- package/dist/entities/goals.js.map +0 -1
- package/dist/entities/index.d.ts +0 -299
- package/dist/entities/index.d.ts.map +0 -1
- package/dist/entities/index.js +0 -198
- package/dist/entities/index.js.map +0 -1
- package/dist/entities/legal.d.ts +0 -21
- package/dist/entities/legal.d.ts.map +0 -1
- package/dist/entities/legal.js +0 -301
- package/dist/entities/legal.js.map +0 -1
- package/dist/entities/market.d.ts +0 -21
- package/dist/entities/market.d.ts.map +0 -1
- package/dist/entities/market.js +0 -301
- package/dist/entities/market.js.map +0 -1
- package/dist/entities/marketing.d.ts +0 -67
- package/dist/entities/marketing.d.ts.map +0 -1
- package/dist/entities/marketing.js +0 -1157
- package/dist/entities/marketing.js.map +0 -1
- package/dist/entities/offerings.d.ts +0 -51
- package/dist/entities/offerings.d.ts.map +0 -1
- package/dist/entities/offerings.js +0 -727
- package/dist/entities/offerings.js.map +0 -1
- package/dist/entities/operations.d.ts +0 -58
- package/dist/entities/operations.d.ts.map +0 -1
- package/dist/entities/operations.js +0 -787
- package/dist/entities/operations.js.map +0 -1
- package/dist/entities/organization.d.ts +0 -57
- package/dist/entities/organization.d.ts.map +0 -1
- package/dist/entities/organization.js +0 -807
- package/dist/entities/organization.js.map +0 -1
- package/dist/entities/partnerships.d.ts +0 -21
- package/dist/entities/partnerships.d.ts.map +0 -1
- package/dist/entities/partnerships.js +0 -300
- package/dist/entities/partnerships.js.map +0 -1
- package/dist/entities/planning.d.ts +0 -0
- package/dist/entities/planning.d.ts.map +0 -1
- package/dist/entities/planning.js +0 -271
- package/dist/entities/planning.js.map +0 -1
- package/dist/entities/projects.d.ts +0 -25
- package/dist/entities/projects.d.ts.map +0 -1
- package/dist/entities/projects.js +0 -349
- package/dist/entities/projects.js.map +0 -1
- package/dist/entities/risk.d.ts +0 -21
- package/dist/entities/risk.d.ts.map +0 -1
- package/dist/entities/risk.js +0 -293
- package/dist/entities/risk.js.map +0 -1
- package/dist/entities/sales.d.ts +0 -72
- package/dist/entities/sales.d.ts.map +0 -1
- package/dist/entities/sales.js +0 -1248
- package/dist/entities/sales.js.map +0 -1
- package/dist/financials.d.ts +0 -130
- package/dist/financials.d.ts.map +0 -1
- package/dist/financials.js +0 -297
- package/dist/financials.js.map +0 -1
- package/dist/goals.d.ts +0 -87
- package/dist/goals.d.ts.map +0 -1
- package/dist/goals.js +0 -215
- package/dist/goals.js.map +0 -1
- package/dist/index.d.ts +0 -97
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -132
- package/dist/index.js.map +0 -1
- package/dist/kpis.d.ts +0 -118
- package/dist/kpis.d.ts.map +0 -1
- package/dist/kpis.js +0 -232
- package/dist/kpis.js.map +0 -1
- package/dist/metrics.d.ts +0 -448
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js +0 -325
- package/dist/metrics.js.map +0 -1
- package/dist/okrs.d.ts +0 -123
- package/dist/okrs.d.ts.map +0 -1
- package/dist/okrs.js +0 -269
- package/dist/okrs.js.map +0 -1
- package/dist/organization.d.ts +0 -585
- package/dist/organization.d.ts.map +0 -1
- package/dist/organization.js +0 -173
- package/dist/organization.js.map +0 -1
- package/dist/process.d.ts +0 -112
- package/dist/process.d.ts.map +0 -1
- package/dist/process.js +0 -241
- package/dist/process.js.map +0 -1
- package/dist/product.d.ts +0 -85
- package/dist/product.d.ts.map +0 -1
- package/dist/product.js +0 -145
- package/dist/product.js.map +0 -1
- package/dist/queries.d.ts +0 -304
- package/dist/queries.d.ts.map +0 -1
- package/dist/queries.js +0 -415
- package/dist/queries.js.map +0 -1
- package/dist/roles.d.ts +0 -340
- package/dist/roles.d.ts.map +0 -1
- package/dist/roles.js +0 -255
- package/dist/roles.js.map +0 -1
- package/dist/service.d.ts +0 -61
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -140
- package/dist/service.js.map +0 -1
- package/dist/types.d.ts +0 -459
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/dist/vision.d.ts +0 -38
- package/dist/vision.d.ts.map +0 -1
- package/dist/vision.js +0 -68
- package/dist/vision.js.map +0 -1
- package/dist/workflow.d.ts +0 -115
- package/dist/workflow.d.ts.map +0 -1
- package/dist/workflow.js +0 -247
- package/dist/workflow.js.map +0 -1
- package/src/business.js +0 -108
- package/src/canvas/activities.ts +0 -32
- package/src/canvas/canvas.ts +0 -482
- package/src/canvas/channels.ts +0 -34
- package/src/canvas/costs.ts +0 -43
- package/src/canvas/economics.ts +0 -99
- package/src/canvas/index.ts +0 -206
- package/src/canvas/partnerships.ts +0 -34
- package/src/canvas/projections.ts +0 -141
- package/src/canvas/relationships.ts +0 -34
- package/src/canvas/resources.ts +0 -43
- package/src/canvas/revenue.ts +0 -56
- package/src/canvas/segments.ts +0 -42
- package/src/canvas/types.ts +0 -363
- package/src/canvas/value.ts +0 -34
- package/src/dollar.js +0 -106
- package/src/entities/assets.js +0 -322
- package/src/entities/business.js +0 -369
- package/src/entities/communication.js +0 -254
- package/src/entities/customers.js +0 -988
- package/src/entities/financials.js +0 -931
- package/src/entities/goals.js +0 -799
- package/src/entities/index.js +0 -197
- package/src/entities/legal.js +0 -300
- package/src/entities/market.js +0 -300
- package/src/entities/marketing.js +0 -1156
- package/src/entities/offerings.js +0 -726
- package/src/entities/operations.js +0 -786
- package/src/entities/organization.js +0 -806
- package/src/entities/partnerships.js +0 -299
- package/src/entities/planning.js +0 -270
- package/src/entities/projects.js +0 -348
- package/src/entities/risk.js +0 -292
- package/src/entities/sales.js +0 -1247
- package/src/financials.js +0 -296
- package/src/goals.js +0 -214
- package/src/index.js +0 -131
- package/src/index.test.js +0 -274
- package/src/kpis.js +0 -231
- package/src/metrics.js +0 -324
- package/src/okrs.js +0 -268
- package/src/organization.js +0 -172
- package/src/process.js +0 -240
- package/src/product.js +0 -144
- package/src/queries.js +0 -414
- package/src/roles.js +0 -254
- package/src/service.js +0 -139
- package/src/types.js +0 -4
- package/src/vision.js +0 -67
- package/src/workflow.js +0 -246
- package/tests/canvas.test.ts +0 -842
package/dist/canvas/types.d.ts
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Business Model Canvas Types
|
|
3
|
-
*
|
|
4
|
-
* TypeScript types for the 9 building blocks of the Business Model Canvas
|
|
5
|
-
* plus unit economics and financial projections.
|
|
6
|
-
*/
|
|
7
|
-
export type CustomerSegmentType = 'mass-market' | 'niche' | 'segmented' | 'diversified' | 'multi-sided';
|
|
8
|
-
export interface CustomerSegment {
|
|
9
|
-
name: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
type: CustomerSegmentType;
|
|
12
|
-
characteristics?: string[];
|
|
13
|
-
size?: number;
|
|
14
|
-
revenuePerCustomer?: number;
|
|
15
|
-
expectedPenetration?: number;
|
|
16
|
-
potential?: number;
|
|
17
|
-
}
|
|
18
|
-
export type ValueType = 'newness' | 'performance' | 'customization' | 'getting-job-done' | 'design' | 'brand-status' | 'price' | 'cost-reduction' | 'risk-reduction' | 'accessibility' | 'convenience';
|
|
19
|
-
export interface ValueProposition {
|
|
20
|
-
name: string;
|
|
21
|
-
description?: string;
|
|
22
|
-
valueType?: ValueType;
|
|
23
|
-
benefits: string[];
|
|
24
|
-
targetSegments?: string[];
|
|
25
|
-
quantifiedValue?: string;
|
|
26
|
-
segmentFit?: Record<string, number>;
|
|
27
|
-
}
|
|
28
|
-
export type ChannelType = 'direct' | 'indirect' | 'partner' | 'digital';
|
|
29
|
-
export type ChannelPhase = 'awareness' | 'evaluation' | 'purchase' | 'delivery' | 'support';
|
|
30
|
-
export interface Channel {
|
|
31
|
-
name: string;
|
|
32
|
-
type: ChannelType;
|
|
33
|
-
phases?: ChannelPhase[];
|
|
34
|
-
costPerAcquisition?: number;
|
|
35
|
-
partnerType?: string;
|
|
36
|
-
revenueShare?: number;
|
|
37
|
-
conversionRate?: number;
|
|
38
|
-
}
|
|
39
|
-
export type RelationshipType = 'personal-assistance' | 'dedicated-assistance' | 'self-service' | 'automated' | 'community' | 'co-creation';
|
|
40
|
-
export interface CustomerRelationship {
|
|
41
|
-
name: string;
|
|
42
|
-
type: RelationshipType;
|
|
43
|
-
segment?: string;
|
|
44
|
-
touchFrequency?: string;
|
|
45
|
-
automationLevel?: number;
|
|
46
|
-
supportChannels?: string[];
|
|
47
|
-
platforms?: string[];
|
|
48
|
-
}
|
|
49
|
-
export type RevenueType = 'recurring' | 'one-time' | 'transaction';
|
|
50
|
-
export type PricingModel = 'subscription' | 'usage-based' | 'tiered' | 'freemium' | 'fixed' | 'dynamic' | 'auction' | 'licensing';
|
|
51
|
-
export interface PricingTier {
|
|
52
|
-
name: string;
|
|
53
|
-
price: number;
|
|
54
|
-
features?: string[];
|
|
55
|
-
}
|
|
56
|
-
export interface RevenueStream {
|
|
57
|
-
name: string;
|
|
58
|
-
type: RevenueType;
|
|
59
|
-
pricingModel: PricingModel;
|
|
60
|
-
price?: number;
|
|
61
|
-
billingCycle?: 'monthly' | 'quarterly' | 'annual';
|
|
62
|
-
pricePerUnit?: number;
|
|
63
|
-
unitName?: string;
|
|
64
|
-
tiers?: PricingTier[];
|
|
65
|
-
activeCustomers?: number;
|
|
66
|
-
annualRevenue?: number;
|
|
67
|
-
}
|
|
68
|
-
export type ResourceType = 'physical' | 'intellectual' | 'human' | 'financial';
|
|
69
|
-
export interface KeyResource {
|
|
70
|
-
name: string;
|
|
71
|
-
type: ResourceType;
|
|
72
|
-
cost?: number;
|
|
73
|
-
depreciation?: string;
|
|
74
|
-
protectionType?: string;
|
|
75
|
-
headcount?: number;
|
|
76
|
-
averageCost?: number;
|
|
77
|
-
totalCost?: number;
|
|
78
|
-
}
|
|
79
|
-
export type ActivityCategory = 'production' | 'problem-solving' | 'platform';
|
|
80
|
-
export interface KeyActivity {
|
|
81
|
-
name: string;
|
|
82
|
-
category: ActivityCategory;
|
|
83
|
-
description?: string;
|
|
84
|
-
resources?: string[];
|
|
85
|
-
metrics?: string[];
|
|
86
|
-
uptime?: number;
|
|
87
|
-
}
|
|
88
|
-
export type PartnershipType = 'strategic-alliance' | 'coopetition' | 'joint-venture' | 'buyer-supplier';
|
|
89
|
-
export interface KeyPartnership {
|
|
90
|
-
name: string;
|
|
91
|
-
type: PartnershipType;
|
|
92
|
-
purpose?: string;
|
|
93
|
-
benefits?: string[];
|
|
94
|
-
contractValue?: number;
|
|
95
|
-
contractTerm?: number;
|
|
96
|
-
sharedActivities?: string[];
|
|
97
|
-
}
|
|
98
|
-
export type CostCategory = 'fixed' | 'variable' | 'semi-variable';
|
|
99
|
-
export interface CostItem {
|
|
100
|
-
name: string;
|
|
101
|
-
category: CostCategory;
|
|
102
|
-
amount?: number;
|
|
103
|
-
period?: 'monthly' | 'quarterly' | 'annual';
|
|
104
|
-
unitCost?: number;
|
|
105
|
-
unitName?: string;
|
|
106
|
-
volumeEstimate?: number;
|
|
107
|
-
estimatedTotal?: number;
|
|
108
|
-
}
|
|
109
|
-
export interface BusinessModelCanvas {
|
|
110
|
-
name: string;
|
|
111
|
-
customerSegments: CustomerSegment[];
|
|
112
|
-
valuePropositions: ValueProposition[];
|
|
113
|
-
channels: Channel[];
|
|
114
|
-
customerRelationships: CustomerRelationship[];
|
|
115
|
-
revenueStreams: RevenueStream[];
|
|
116
|
-
keyResources: KeyResource[];
|
|
117
|
-
keyActivities: KeyActivity[];
|
|
118
|
-
keyPartnerships: KeyPartnership[];
|
|
119
|
-
costStructure: CostItem[];
|
|
120
|
-
metadata?: Record<string, unknown>;
|
|
121
|
-
}
|
|
122
|
-
export interface CanvasValidation {
|
|
123
|
-
isComplete: boolean;
|
|
124
|
-
missingBlocks: string[];
|
|
125
|
-
warnings: string[];
|
|
126
|
-
}
|
|
127
|
-
export interface CanvasSummary {
|
|
128
|
-
totalAddressableMarket: number;
|
|
129
|
-
projectedAnnualRevenue: number;
|
|
130
|
-
totalAnnualCosts: number;
|
|
131
|
-
projectedProfit: number;
|
|
132
|
-
}
|
|
133
|
-
export interface UnitEconomics {
|
|
134
|
-
ltv: number;
|
|
135
|
-
cac: number;
|
|
136
|
-
ltvCacRatio: number;
|
|
137
|
-
paybackMonths: number;
|
|
138
|
-
}
|
|
139
|
-
export interface LTVInput {
|
|
140
|
-
averageRevenuePerUser: number;
|
|
141
|
-
grossMargin: number;
|
|
142
|
-
churnRate: number;
|
|
143
|
-
}
|
|
144
|
-
export interface CACInput {
|
|
145
|
-
marketingSpend: number;
|
|
146
|
-
salesSpend: number;
|
|
147
|
-
newCustomers: number;
|
|
148
|
-
}
|
|
149
|
-
export interface UnitEconomicsInput extends LTVInput, CACInput {
|
|
150
|
-
}
|
|
151
|
-
export interface Margins {
|
|
152
|
-
grossMargin: number;
|
|
153
|
-
grossProfit: number;
|
|
154
|
-
operatingMargin: number;
|
|
155
|
-
operatingIncome: number;
|
|
156
|
-
netMargin: number;
|
|
157
|
-
netIncome: number;
|
|
158
|
-
}
|
|
159
|
-
export interface MarginsInput {
|
|
160
|
-
revenue: number;
|
|
161
|
-
cogs: number;
|
|
162
|
-
operatingExpenses: number;
|
|
163
|
-
taxes?: number;
|
|
164
|
-
}
|
|
165
|
-
export interface MonthlyRevenue {
|
|
166
|
-
month: number;
|
|
167
|
-
mrr: number;
|
|
168
|
-
arr: number;
|
|
169
|
-
}
|
|
170
|
-
export interface RevenueProjection {
|
|
171
|
-
months: MonthlyRevenue[];
|
|
172
|
-
endingMRR: number;
|
|
173
|
-
endingARR: number;
|
|
174
|
-
}
|
|
175
|
-
export interface MonthlyCost {
|
|
176
|
-
month: number;
|
|
177
|
-
fixedCosts: number;
|
|
178
|
-
variableCosts: number;
|
|
179
|
-
totalCost: number;
|
|
180
|
-
}
|
|
181
|
-
export interface CostProjection {
|
|
182
|
-
months: MonthlyCost[];
|
|
183
|
-
totalCosts: number;
|
|
184
|
-
}
|
|
185
|
-
export interface MonthlyProfitability {
|
|
186
|
-
month: number;
|
|
187
|
-
revenue: number;
|
|
188
|
-
costs: number;
|
|
189
|
-
profit: number;
|
|
190
|
-
cumulativeProfit: number;
|
|
191
|
-
}
|
|
192
|
-
export interface ProfitabilityProjection {
|
|
193
|
-
months: MonthlyProfitability[];
|
|
194
|
-
breakEvenMonth: number | undefined;
|
|
195
|
-
totalProfit: number;
|
|
196
|
-
}
|
|
197
|
-
export interface RevenueProjectionInput {
|
|
198
|
-
startingMRR: number;
|
|
199
|
-
monthlyGrowthRate: number;
|
|
200
|
-
months: number;
|
|
201
|
-
}
|
|
202
|
-
export interface CostProjectionInput {
|
|
203
|
-
fixedCosts: number;
|
|
204
|
-
variableCostPerUser: number;
|
|
205
|
-
startingUsers: number;
|
|
206
|
-
monthlyUserGrowth: number;
|
|
207
|
-
months: number;
|
|
208
|
-
}
|
|
209
|
-
export interface ProfitabilityProjectionInput {
|
|
210
|
-
startingMRR: number;
|
|
211
|
-
monthlyGrowthRate: number;
|
|
212
|
-
fixedCosts: number;
|
|
213
|
-
grossMargin: number;
|
|
214
|
-
months: number;
|
|
215
|
-
}
|
|
216
|
-
export interface CanvasStrengthAnalysis {
|
|
217
|
-
overallScore: number;
|
|
218
|
-
strengths: string[];
|
|
219
|
-
weaknesses: string[];
|
|
220
|
-
blockScores: Record<string, number>;
|
|
221
|
-
}
|
|
222
|
-
export interface CanvasGaps {
|
|
223
|
-
criticalGaps: string[];
|
|
224
|
-
warnings: string[];
|
|
225
|
-
recommendations: string[];
|
|
226
|
-
}
|
|
227
|
-
export interface FinancialProjection {
|
|
228
|
-
revenue: RevenueProjection;
|
|
229
|
-
costs: CostProjection;
|
|
230
|
-
profitability: ProfitabilityProjection;
|
|
231
|
-
}
|
|
232
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/canvas/types.ts"],"names":[],"mappings":"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"}
|
package/dist/canvas/types.js
DELETED
package/dist/canvas/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/canvas/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/canvas/value.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Value Propositions
|
|
3
|
-
*
|
|
4
|
-
* Functions for creating and working with value propositions.
|
|
5
|
-
*/
|
|
6
|
-
import type { ValueProposition, ValueType } from './types.js';
|
|
7
|
-
export interface CreateValuePropositionInput {
|
|
8
|
-
name: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
valueType?: ValueType;
|
|
11
|
-
benefits?: string[];
|
|
12
|
-
targetSegments?: string[];
|
|
13
|
-
quantifiedValue?: string;
|
|
14
|
-
segmentFit?: Record<string, number>;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Create a value proposition
|
|
18
|
-
*/
|
|
19
|
-
export declare function createValueProposition(input: CreateValuePropositionInput): ValueProposition;
|
|
20
|
-
//# sourceMappingURL=value.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../src/canvas/value.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,gBAAgB,CAY3F"}
|
package/dist/canvas/value.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Value Propositions
|
|
3
|
-
*
|
|
4
|
-
* Functions for creating and working with value propositions.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Create a value proposition
|
|
8
|
-
*/
|
|
9
|
-
export function createValueProposition(input) {
|
|
10
|
-
const { name, description, valueType, benefits = [], targetSegments, quantifiedValue, segmentFit } = input;
|
|
11
|
-
return {
|
|
12
|
-
name,
|
|
13
|
-
description,
|
|
14
|
-
valueType,
|
|
15
|
-
benefits,
|
|
16
|
-
targetSegments,
|
|
17
|
-
quantifiedValue,
|
|
18
|
-
segmentFit,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=value.js.map
|
package/dist/canvas/value.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/canvas/value.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,GAAG,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAE1G,OAAO;QACL,IAAI;QACJ,WAAW;QACX,SAAS;QACT,QAAQ;QACR,cAAc;QACd,eAAe;QACf,UAAU;KACX,CAAA;AACH,CAAC"}
|
package/dist/dollar.d.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $ - Business operations helper
|
|
3
|
-
*
|
|
4
|
-
* Provides convenient functions for common business calculations and formatting
|
|
5
|
-
*/
|
|
6
|
-
import type { BusinessOperations, BusinessContext } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Create a business operations helper with context
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { $ } from 'business-as-code'
|
|
13
|
-
*
|
|
14
|
-
* // Format currency
|
|
15
|
-
* console.log($.format(1234.56)) // "$1,234.56"
|
|
16
|
-
* console.log($.format(1000, 'EUR')) // "€1,000"
|
|
17
|
-
*
|
|
18
|
-
* // Calculate percentage
|
|
19
|
-
* console.log($.percent(25, 100)) // 25
|
|
20
|
-
*
|
|
21
|
-
* // Calculate growth
|
|
22
|
-
* console.log($.growth(120, 100)) // 20
|
|
23
|
-
*
|
|
24
|
-
* // Calculate margin
|
|
25
|
-
* console.log($.margin(100, 60)) // 40
|
|
26
|
-
*
|
|
27
|
-
* // Calculate ROI
|
|
28
|
-
* console.log($.roi(150, 100)) // 50
|
|
29
|
-
*
|
|
30
|
-
* // Calculate LTV
|
|
31
|
-
* console.log($.ltv(100, 12, 24)) // 28800
|
|
32
|
-
*
|
|
33
|
-
* // Calculate CAC
|
|
34
|
-
* console.log($.cac(10000, 100)) // 100
|
|
35
|
-
*
|
|
36
|
-
* // Calculate burn rate
|
|
37
|
-
* console.log($.burnRate(100000, 70000, 3)) // 10000
|
|
38
|
-
*
|
|
39
|
-
* // Calculate runway
|
|
40
|
-
* console.log($.runway(100000, 10000)) // 10
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export declare function createBusinessOperations(initialContext?: BusinessContext): BusinessOperations;
|
|
44
|
-
/**
|
|
45
|
-
* Default business operations instance
|
|
46
|
-
*/
|
|
47
|
-
export declare const $: BusinessOperations;
|
|
48
|
-
/**
|
|
49
|
-
* Update business context
|
|
50
|
-
*/
|
|
51
|
-
export declare function updateContext(updates: Partial<BusinessContext>): void;
|
|
52
|
-
/**
|
|
53
|
-
* Get current business context
|
|
54
|
-
*/
|
|
55
|
-
export declare function getContext(): BusinessContext;
|
|
56
|
-
/**
|
|
57
|
-
* Reset business context
|
|
58
|
-
*/
|
|
59
|
-
export declare function resetContext(): void;
|
|
60
|
-
//# sourceMappingURL=dollar.d.ts.map
|
package/dist/dollar.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dollar.d.ts","sourceRoot":"","sources":["../src/dollar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAY,MAAM,YAAY,CAAA;AAY/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,CAAC,EAAE,eAAe,GAAG,kBAAkB,CAiD7F;AAED;;GAEG;AACH,eAAO,MAAM,CAAC,EAAE,kBAA+C,CAAA;AAE/D;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAInC"}
|
package/dist/dollar.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $ - Business operations helper
|
|
3
|
-
*
|
|
4
|
-
* Provides convenient functions for common business calculations and formatting
|
|
5
|
-
*/
|
|
6
|
-
import { formatCurrency, calculateGrowthRate, calculateGrossMargin, calculateROI, calculateLTV, calculateCAC, calculateBurnRate, calculateRunway, } from './financials.js';
|
|
7
|
-
/**
|
|
8
|
-
* Create a business operations helper with context
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { $ } from 'business-as-code'
|
|
13
|
-
*
|
|
14
|
-
* // Format currency
|
|
15
|
-
* console.log($.format(1234.56)) // "$1,234.56"
|
|
16
|
-
* console.log($.format(1000, 'EUR')) // "€1,000"
|
|
17
|
-
*
|
|
18
|
-
* // Calculate percentage
|
|
19
|
-
* console.log($.percent(25, 100)) // 25
|
|
20
|
-
*
|
|
21
|
-
* // Calculate growth
|
|
22
|
-
* console.log($.growth(120, 100)) // 20
|
|
23
|
-
*
|
|
24
|
-
* // Calculate margin
|
|
25
|
-
* console.log($.margin(100, 60)) // 40
|
|
26
|
-
*
|
|
27
|
-
* // Calculate ROI
|
|
28
|
-
* console.log($.roi(150, 100)) // 50
|
|
29
|
-
*
|
|
30
|
-
* // Calculate LTV
|
|
31
|
-
* console.log($.ltv(100, 12, 24)) // 28800
|
|
32
|
-
*
|
|
33
|
-
* // Calculate CAC
|
|
34
|
-
* console.log($.cac(10000, 100)) // 100
|
|
35
|
-
*
|
|
36
|
-
* // Calculate burn rate
|
|
37
|
-
* console.log($.burnRate(100000, 70000, 3)) // 10000
|
|
38
|
-
*
|
|
39
|
-
* // Calculate runway
|
|
40
|
-
* console.log($.runway(100000, 10000)) // 10
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export function createBusinessOperations(initialContext) {
|
|
44
|
-
const context = initialContext || {};
|
|
45
|
-
return {
|
|
46
|
-
format: (amount, currency) => {
|
|
47
|
-
return formatCurrency(amount, currency || context.business?.metadata?.currency || 'USD');
|
|
48
|
-
},
|
|
49
|
-
percent: (value, total) => {
|
|
50
|
-
if (total === 0)
|
|
51
|
-
return 0;
|
|
52
|
-
return (value / total) * 100;
|
|
53
|
-
},
|
|
54
|
-
growth: (current, previous) => {
|
|
55
|
-
return calculateGrowthRate(current, previous);
|
|
56
|
-
},
|
|
57
|
-
margin: (revenue, cost) => {
|
|
58
|
-
return calculateGrossMargin(revenue, cost);
|
|
59
|
-
},
|
|
60
|
-
roi: (gain, cost) => {
|
|
61
|
-
return calculateROI(gain, cost);
|
|
62
|
-
},
|
|
63
|
-
ltv: (averageValue, frequency, lifetime) => {
|
|
64
|
-
// frequency = purchases per year, lifetime = years
|
|
65
|
-
const annualValue = averageValue * frequency;
|
|
66
|
-
return annualValue * lifetime;
|
|
67
|
-
},
|
|
68
|
-
cac: (marketingSpend, newCustomers) => {
|
|
69
|
-
return calculateCAC(marketingSpend, newCustomers);
|
|
70
|
-
},
|
|
71
|
-
burnRate: (cashStart, cashEnd, months) => {
|
|
72
|
-
return calculateBurnRate(cashStart, cashEnd, months);
|
|
73
|
-
},
|
|
74
|
-
runway: (cash, burnRate) => {
|
|
75
|
-
return calculateRunway(cash, burnRate);
|
|
76
|
-
},
|
|
77
|
-
context,
|
|
78
|
-
log: (event, data) => {
|
|
79
|
-
console.log(`[Business Event] ${event}`, data || '');
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Default business operations instance
|
|
85
|
-
*/
|
|
86
|
-
export const $ = createBusinessOperations();
|
|
87
|
-
/**
|
|
88
|
-
* Update business context
|
|
89
|
-
*/
|
|
90
|
-
export function updateContext(updates) {
|
|
91
|
-
Object.assign($.context, updates);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Get current business context
|
|
95
|
-
*/
|
|
96
|
-
export function getContext() {
|
|
97
|
-
return $.context;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Reset business context
|
|
101
|
-
*/
|
|
102
|
-
export function resetContext() {
|
|
103
|
-
Object.keys($.context).forEach(key => {
|
|
104
|
-
delete $.context[key];
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=dollar.js.map
|
package/dist/dollar.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dollar.js","sourceRoot":"","sources":["../src/dollar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,wBAAwB,CAAC,cAAgC;IACvE,MAAM,OAAO,GAAoB,cAAc,IAAI,EAAE,CAAA;IAErD,OAAO;QACL,MAAM,EAAE,CAAC,MAAc,EAAE,QAAmB,EAAE,EAAE;YAC9C,OAAO,cAAc,CAAC,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAoB,IAAI,KAAK,CAAC,CAAA;QACtG,CAAC;QAED,OAAO,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;YACxC,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAA;QAC9B,CAAC;QAED,MAAM,EAAE,CAAC,OAAe,EAAE,QAAgB,EAAE,EAAE;YAC5C,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,EAAE,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;YACxC,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5C,CAAC;QAED,GAAG,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;YAClC,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjC,CAAC;QAED,GAAG,EAAE,CAAC,YAAoB,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;YACjE,mDAAmD;YACnD,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,CAAA;YAC5C,OAAO,WAAW,GAAG,QAAQ,CAAA;QAC/B,CAAC;QAED,GAAG,EAAE,CAAC,cAAsB,EAAE,YAAoB,EAAE,EAAE;YACpD,OAAO,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QACnD,CAAC;QAED,QAAQ,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAE,MAAc,EAAE,EAAE;YAC/D,OAAO,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,EAAE,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;YACzC,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACxC,CAAC;QAED,OAAO;QAEP,GAAG,EAAE,CAAC,KAAa,EAAE,IAAc,EAAE,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QACtD,CAAC;KACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,CAAC,GAAuB,wBAAwB,EAAE,CAAA;AAE/D;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAiC;IAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,CAAC,OAAO,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACnC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Noun } from 'ai-database';
|
|
2
|
-
/**
|
|
3
|
-
* Asset & Inventory Entities
|
|
4
|
-
* Asset, Inventory, Equipment, Facility, Software, DataAsset
|
|
5
|
-
*/
|
|
6
|
-
export declare const Asset: Noun;
|
|
7
|
-
export declare const Inventory: Noun;
|
|
8
|
-
export declare const Equipment: Noun;
|
|
9
|
-
export declare const Facility: Noun;
|
|
10
|
-
export declare const Software: Noun;
|
|
11
|
-
export declare const DataAsset: Noun;
|
|
12
|
-
export declare const AssetEntities: {
|
|
13
|
-
Asset: Noun;
|
|
14
|
-
Inventory: Noun;
|
|
15
|
-
Equipment: Noun;
|
|
16
|
-
Facility: Noun;
|
|
17
|
-
Software: Noun;
|
|
18
|
-
DataAsset: Noun;
|
|
19
|
-
};
|
|
20
|
-
export default AssetEntities;
|
|
21
|
-
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/entities/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC;;;GAGG;AAEH,eAAO,MAAM,KAAK,EAAE,IA2DnB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,IAwDvB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,IAyCvB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,IAmDtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,IAiDtB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,IA8CvB,CAAA;AAGD,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAA;AAED,eAAe,aAAa,CAAA"}
|