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,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Risk Management Entities
|
|
3
|
+
* Risk, Mitigation, Incident, Control, Assessment, Issue
|
|
4
|
+
*/
|
|
5
|
+
export const Risk = {
|
|
6
|
+
singular: 'risk',
|
|
7
|
+
plural: 'risks',
|
|
8
|
+
description: 'A potential risk that could impact the organization',
|
|
9
|
+
properties: {
|
|
10
|
+
name: { type: 'string', description: 'Risk name' },
|
|
11
|
+
description: { type: 'string', description: 'Risk description' },
|
|
12
|
+
type: { type: 'string', description: 'Type of risk', examples: ['strategic', 'operational', 'financial', 'compliance', 'reputational', 'security', 'technology', 'market', 'legal', 'environmental'] },
|
|
13
|
+
category: { type: 'string', description: 'Risk category', examples: ['cyber', 'data', 'vendor', 'regulatory', 'fraud', 'business-continuity', 'project', 'HR', 'supply-chain'] },
|
|
14
|
+
status: { type: 'string', description: 'Risk status', examples: ['identified', 'assessed', 'mitigating', 'accepted', 'transferred', 'avoided', 'closed', 'realized'] },
|
|
15
|
+
source: { type: 'string', description: 'Risk source', examples: ['internal', 'external', 'third-party', 'regulatory', 'market', 'technology'] },
|
|
16
|
+
likelihood: { type: 'string', description: 'Probability of occurrence', examples: ['rare', 'unlikely', 'possible', 'likely', 'almost-certain'] },
|
|
17
|
+
likelihoodScore: { type: 'number', description: 'Likelihood score (1-5)' },
|
|
18
|
+
impact: { type: 'string', description: 'Potential impact level', examples: ['negligible', 'minor', 'moderate', 'major', 'severe'] },
|
|
19
|
+
impactScore: { type: 'number', description: 'Impact score (1-5)' },
|
|
20
|
+
riskScore: { type: 'number', description: 'Overall risk score (likelihood x impact)' },
|
|
21
|
+
riskLevel: { type: 'string', description: 'Risk level', examples: ['low', 'medium', 'high', 'critical'] },
|
|
22
|
+
inherentRiskScore: { type: 'number', description: 'Inherent risk score (before controls)' },
|
|
23
|
+
residualRiskScore: { type: 'number', description: 'Residual risk score (after controls)' },
|
|
24
|
+
riskAppetite: { type: 'string', description: 'Risk appetite threshold', examples: ['averse', 'minimal', 'cautious', 'open', 'hungry'] },
|
|
25
|
+
treatment: { type: 'string', description: 'Risk treatment strategy', examples: ['accept', 'mitigate', 'transfer', 'avoid', 'escalate'] },
|
|
26
|
+
financialImpact: { type: 'number', description: 'Estimated financial impact' },
|
|
27
|
+
impactAreas: { type: 'string[]', description: 'Areas of impact', examples: ['revenue', 'reputation', 'operations', 'compliance', 'safety', 'legal'] },
|
|
28
|
+
affectedAssets: { type: 'string[]', description: 'Affected assets or systems' },
|
|
29
|
+
affectedProcesses: { type: 'string[]', description: 'Affected business processes' },
|
|
30
|
+
triggers: { type: 'string[]', description: 'Risk triggers or indicators' },
|
|
31
|
+
consequences: { type: 'string[]', description: 'Potential consequences' },
|
|
32
|
+
owner: { type: 'string', description: 'Risk owner' },
|
|
33
|
+
assignee: { type: 'string', description: 'Assigned risk manager' },
|
|
34
|
+
identifiedDate: { type: 'date', description: 'Date risk identified' },
|
|
35
|
+
assessmentDate: { type: 'date', description: 'Last assessment date' },
|
|
36
|
+
nextReviewDate: { type: 'date', description: 'Next review date' },
|
|
37
|
+
reviewFrequency: { type: 'string', description: 'Review frequency', examples: ['monthly', 'quarterly', 'semi-annual', 'annual'] },
|
|
38
|
+
dueDate: { type: 'date', description: 'Mitigation due date', optional: true },
|
|
39
|
+
closedDate: { type: 'date', description: 'Date risk closed', optional: true },
|
|
40
|
+
notes: { type: 'string', description: 'Internal notes', optional: true },
|
|
41
|
+
tags: { type: 'string[]', description: 'Risk tags' },
|
|
42
|
+
metadata: { type: 'object', description: 'Additional metadata', optional: true },
|
|
43
|
+
},
|
|
44
|
+
relationships: {
|
|
45
|
+
mitigations: { type: 'mitigation[]', description: 'Risk mitigations', backref: 'risk', required: false },
|
|
46
|
+
controls: { type: 'control[]', description: 'Risk controls', backref: 'risks' },
|
|
47
|
+
incidents: { type: 'incident[]', description: 'Related incidents', backref: 'risks' },
|
|
48
|
+
compliance: { type: 'compliance[]', description: 'Related compliance', backref: 'risks' },
|
|
49
|
+
parentRisk: { type: 'risk', description: 'Parent risk', backref: 'childRisks' },
|
|
50
|
+
childRisks: { type: 'risk[]', description: 'Child risks', backref: 'parentRisk' },
|
|
51
|
+
relatedRisks: { type: 'risk[]', description: 'Related risks', backref: 'relatedRisks' },
|
|
52
|
+
},
|
|
53
|
+
actions: ['create', 'update', 'assess', 'escalate', 'accept', 'mitigate', 'transfer', 'avoid', 'review', 'close', 'reopen', 'monitor'],
|
|
54
|
+
events: ['created', 'updated', 'assessed', 'escalated', 'accepted', 'mitigated', 'transferred', 'avoided', 'reviewed', 'closed', 'reopened', 'monitored'],
|
|
55
|
+
};
|
|
56
|
+
export const Mitigation = {
|
|
57
|
+
singular: 'mitigation',
|
|
58
|
+
plural: 'mitigations',
|
|
59
|
+
description: 'A mitigation action to reduce or eliminate a risk',
|
|
60
|
+
properties: {
|
|
61
|
+
name: { type: 'string', description: 'Mitigation name' },
|
|
62
|
+
description: { type: 'string', description: 'Mitigation description' },
|
|
63
|
+
type: { type: 'string', description: 'Type of mitigation', examples: ['preventive', 'detective', 'corrective', 'compensating', 'deterrent'] },
|
|
64
|
+
status: { type: 'string', description: 'Mitigation status', examples: ['planned', 'in-progress', 'implemented', 'verified', 'failed', 'deferred', 'cancelled'] },
|
|
65
|
+
priority: { type: 'string', description: 'Mitigation priority', examples: ['critical', 'high', 'medium', 'low'] },
|
|
66
|
+
strategy: { type: 'string', description: 'Mitigation strategy', examples: ['reduce-likelihood', 'reduce-impact', 'both', 'transfer', 'avoid'] },
|
|
67
|
+
actions: { type: 'string[]', description: 'Specific actions required' },
|
|
68
|
+
expectedReduction: { type: 'number', description: 'Expected risk reduction percentage' },
|
|
69
|
+
actualReduction: { type: 'number', description: 'Actual risk reduction achieved' },
|
|
70
|
+
cost: { type: 'number', description: 'Mitigation cost' },
|
|
71
|
+
estimatedEffort: { type: 'string', description: 'Estimated effort' },
|
|
72
|
+
owner: { type: 'string', description: 'Mitigation owner' },
|
|
73
|
+
assignee: { type: 'string', description: 'Assigned implementer' },
|
|
74
|
+
plannedStartDate: { type: 'date', description: 'Planned start date' },
|
|
75
|
+
plannedEndDate: { type: 'date', description: 'Planned end date' },
|
|
76
|
+
actualStartDate: { type: 'date', description: 'Actual start date', optional: true },
|
|
77
|
+
actualEndDate: { type: 'date', description: 'Actual end date', optional: true },
|
|
78
|
+
verificationDate: { type: 'date', description: 'Verification date', optional: true },
|
|
79
|
+
verificationMethod: { type: 'string', description: 'How effectiveness will be verified' },
|
|
80
|
+
effectiveness: { type: 'string', description: 'Effectiveness rating', examples: ['highly-effective', 'effective', 'partially-effective', 'ineffective'] },
|
|
81
|
+
resources: { type: 'string[]', description: 'Required resources' },
|
|
82
|
+
dependencies: { type: 'string[]', description: 'Dependencies' },
|
|
83
|
+
blockers: { type: 'string[]', description: 'Current blockers' },
|
|
84
|
+
progress: { type: 'number', description: 'Progress percentage' },
|
|
85
|
+
notes: { type: 'string', description: 'Internal notes', optional: true },
|
|
86
|
+
tags: { type: 'string[]', description: 'Mitigation tags' },
|
|
87
|
+
metadata: { type: 'object', description: 'Additional metadata', optional: true },
|
|
88
|
+
},
|
|
89
|
+
relationships: {
|
|
90
|
+
risk: { type: 'risk', description: 'Associated risk', backref: 'mitigations', required: true },
|
|
91
|
+
tasks: { type: 'task[]', description: 'Implementation tasks', backref: 'mitigation' },
|
|
92
|
+
controls: { type: 'control[]', description: 'Related controls', backref: 'mitigations' },
|
|
93
|
+
},
|
|
94
|
+
actions: ['create', 'update', 'plan', 'start', 'implement', 'verify', 'complete', 'fail', 'defer', 'cancel'],
|
|
95
|
+
events: ['created', 'updated', 'planned', 'started', 'implemented', 'verified', 'completed', 'failed', 'deferred', 'cancelled'],
|
|
96
|
+
};
|
|
97
|
+
export const Incident = {
|
|
98
|
+
singular: 'incident',
|
|
99
|
+
plural: 'incidents',
|
|
100
|
+
description: 'A security, operational, or business incident',
|
|
101
|
+
properties: {
|
|
102
|
+
name: { type: 'string', description: 'Incident name or title' },
|
|
103
|
+
description: { type: 'string', description: 'Incident description' },
|
|
104
|
+
type: { type: 'string', description: 'Type of incident', examples: ['security', 'data-breach', 'system-outage', 'operational', 'compliance', 'safety', 'fraud', 'natural-disaster', 'vendor'] },
|
|
105
|
+
category: { type: 'string', description: 'Incident category', examples: ['cyber-attack', 'data-loss', 'service-disruption', 'physical', 'human-error', 'third-party', 'regulatory'] },
|
|
106
|
+
status: { type: 'string', description: 'Incident status', examples: ['detected', 'confirmed', 'investigating', 'contained', 'eradicating', 'recovering', 'resolved', 'closed', 'post-mortem'] },
|
|
107
|
+
severity: { type: 'string', description: 'Incident severity', examples: ['critical', 'high', 'medium', 'low', 'informational'] },
|
|
108
|
+
priority: { type: 'string', description: 'Response priority', examples: ['P1', 'P2', 'P3', 'P4'] },
|
|
109
|
+
impact: { type: 'string', description: 'Impact assessment', examples: ['critical', 'significant', 'moderate', 'minor', 'none'] },
|
|
110
|
+
impactedUsers: { type: 'number', description: 'Number of impacted users' },
|
|
111
|
+
impactedSystems: { type: 'string[]', description: 'Impacted systems' },
|
|
112
|
+
impactedServices: { type: 'string[]', description: 'Impacted services' },
|
|
113
|
+
impactedRegions: { type: 'string[]', description: 'Impacted geographic regions' },
|
|
114
|
+
rootCause: { type: 'string', description: 'Root cause analysis', optional: true },
|
|
115
|
+
attackVector: { type: 'string', description: 'Attack vector (if security)', optional: true },
|
|
116
|
+
dataCompromised: { type: 'boolean', description: 'Data was compromised' },
|
|
117
|
+
dataTypes: { type: 'string[]', description: 'Types of data affected', optional: true },
|
|
118
|
+
recordsAffected: { type: 'number', description: 'Number of records affected', optional: true },
|
|
119
|
+
financialImpact: { type: 'number', description: 'Financial impact' },
|
|
120
|
+
reputationalImpact: { type: 'string', description: 'Reputational impact assessment', optional: true },
|
|
121
|
+
detectionMethod: { type: 'string', description: 'How incident was detected', examples: ['monitoring', 'alert', 'user-report', 'audit', 'third-party', 'automated'] },
|
|
122
|
+
detectedAt: { type: 'date', description: 'When incident was detected' },
|
|
123
|
+
reportedAt: { type: 'date', description: 'When incident was reported' },
|
|
124
|
+
confirmedAt: { type: 'date', description: 'When incident was confirmed' },
|
|
125
|
+
containedAt: { type: 'date', description: 'When incident was contained', optional: true },
|
|
126
|
+
resolvedAt: { type: 'date', description: 'When incident was resolved', optional: true },
|
|
127
|
+
closedAt: { type: 'date', description: 'When incident was closed', optional: true },
|
|
128
|
+
timeToDetect: { type: 'number', description: 'Time to detect (minutes)' },
|
|
129
|
+
timeToContain: { type: 'number', description: 'Time to contain (minutes)' },
|
|
130
|
+
timeToResolve: { type: 'number', description: 'Time to resolve (minutes)' },
|
|
131
|
+
reporter: { type: 'string', description: 'Person who reported' },
|
|
132
|
+
incidentCommander: { type: 'string', description: 'Incident commander' },
|
|
133
|
+
responseTeam: { type: 'string[]', description: 'Response team members' },
|
|
134
|
+
externalParties: { type: 'string[]', description: 'External parties involved' },
|
|
135
|
+
notificationRequired: { type: 'boolean', description: 'Regulatory notification required' },
|
|
136
|
+
notificationSent: { type: 'boolean', description: 'Notifications sent' },
|
|
137
|
+
notificationDate: { type: 'date', description: 'Notification date', optional: true },
|
|
138
|
+
lessonsLearned: { type: 'string[]', description: 'Lessons learned' },
|
|
139
|
+
postMortemUrl: { type: 'string', description: 'Post-mortem document URL', optional: true },
|
|
140
|
+
ticketId: { type: 'string', description: 'External ticket ID' },
|
|
141
|
+
notes: { type: 'string', description: 'Internal notes', optional: true },
|
|
142
|
+
tags: { type: 'string[]', description: 'Incident tags' },
|
|
143
|
+
metadata: { type: 'object', description: 'Additional metadata', optional: true },
|
|
144
|
+
},
|
|
145
|
+
relationships: {
|
|
146
|
+
risks: { type: 'risk[]', description: 'Related risks', backref: 'incidents' },
|
|
147
|
+
compliance: { type: 'compliance[]', description: 'Related compliance', backref: 'incidents' },
|
|
148
|
+
tasks: { type: 'task[]', description: 'Response tasks', backref: 'incident' },
|
|
149
|
+
relatedIncidents: { type: 'incident[]', description: 'Related incidents', backref: 'relatedIncidents' },
|
|
150
|
+
},
|
|
151
|
+
actions: ['create', 'update', 'detect', 'confirm', 'escalate', 'investigate', 'contain', 'eradicate', 'recover', 'resolve', 'close', 'reopen', 'notify', 'postMortem'],
|
|
152
|
+
events: ['created', 'updated', 'detected', 'confirmed', 'escalated', 'investigated', 'contained', 'eradicated', 'recovered', 'resolved', 'closed', 'reopened', 'notified', 'postMortemCompleted'],
|
|
153
|
+
};
|
|
154
|
+
export const Control = {
|
|
155
|
+
singular: 'control',
|
|
156
|
+
plural: 'controls',
|
|
157
|
+
description: 'A control measure to manage risk',
|
|
158
|
+
properties: {
|
|
159
|
+
name: { type: 'string', description: 'Control name' },
|
|
160
|
+
description: { type: 'string', description: 'Control description' },
|
|
161
|
+
type: { type: 'string', description: 'Type of control', examples: ['preventive', 'detective', 'corrective', 'compensating', 'deterrent', 'directive'] },
|
|
162
|
+
category: { type: 'string', description: 'Control category', examples: ['technical', 'administrative', 'physical', 'operational', 'managerial'] },
|
|
163
|
+
status: { type: 'string', description: 'Control status', examples: ['planned', 'implementing', 'operational', 'ineffective', 'deprecated'] },
|
|
164
|
+
controlId: { type: 'string', description: 'Control identifier (e.g., AC-1, ISO-A.5.1)' },
|
|
165
|
+
framework: { type: 'string', description: 'Control framework', examples: ['NIST', 'ISO27001', 'SOC2', 'CIS', 'COBIT', 'custom'] },
|
|
166
|
+
objective: { type: 'string', description: 'Control objective' },
|
|
167
|
+
implementation: { type: 'string', description: 'Implementation details' },
|
|
168
|
+
frequency: { type: 'string', description: 'Control frequency', examples: ['continuous', 'daily', 'weekly', 'monthly', 'quarterly', 'annual', 'on-demand'] },
|
|
169
|
+
automationLevel: { type: 'string', description: 'Automation level', examples: ['manual', 'semi-automated', 'automated'] },
|
|
170
|
+
effectiveness: { type: 'string', description: 'Effectiveness rating', examples: ['highly-effective', 'effective', 'partially-effective', 'ineffective', 'not-tested'] },
|
|
171
|
+
maturity: { type: 'string', description: 'Maturity level', examples: ['initial', 'developing', 'defined', 'managed', 'optimized'] },
|
|
172
|
+
testingMethod: { type: 'string', description: 'Testing method' },
|
|
173
|
+
lastTestDate: { type: 'date', description: 'Last test date' },
|
|
174
|
+
nextTestDate: { type: 'date', description: 'Next scheduled test' },
|
|
175
|
+
testResults: { type: 'string', description: 'Latest test results' },
|
|
176
|
+
evidenceUrl: { type: 'string', description: 'Evidence location' },
|
|
177
|
+
owner: { type: 'string', description: 'Control owner' },
|
|
178
|
+
operator: { type: 'string', description: 'Control operator' },
|
|
179
|
+
implementationDate: { type: 'date', description: 'Implementation date' },
|
|
180
|
+
reviewDate: { type: 'date', description: 'Last review date' },
|
|
181
|
+
cost: { type: 'number', description: 'Control cost' },
|
|
182
|
+
notes: { type: 'string', description: 'Internal notes', optional: true },
|
|
183
|
+
tags: { type: 'string[]', description: 'Control tags' },
|
|
184
|
+
metadata: { type: 'object', description: 'Additional metadata', optional: true },
|
|
185
|
+
},
|
|
186
|
+
relationships: {
|
|
187
|
+
risks: { type: 'risk[]', description: 'Controlled risks', backref: 'controls' },
|
|
188
|
+
mitigations: { type: 'mitigation[]', description: 'Related mitigations', backref: 'controls' },
|
|
189
|
+
compliance: { type: 'compliance[]', description: 'Related compliance', backref: 'controls' },
|
|
190
|
+
parentControl: { type: 'control', description: 'Parent control', backref: 'childControls' },
|
|
191
|
+
childControls: { type: 'control[]', description: 'Child controls', backref: 'parentControl' },
|
|
192
|
+
},
|
|
193
|
+
actions: ['create', 'update', 'implement', 'test', 'review', 'deprecate', 'remediate', 'evidence'],
|
|
194
|
+
events: ['created', 'updated', 'implemented', 'tested', 'reviewed', 'deprecated', 'remediated', 'evidenced'],
|
|
195
|
+
};
|
|
196
|
+
export const Assessment = {
|
|
197
|
+
singular: 'assessment',
|
|
198
|
+
plural: 'assessments',
|
|
199
|
+
description: 'A risk or compliance assessment',
|
|
200
|
+
properties: {
|
|
201
|
+
name: { type: 'string', description: 'Assessment name' },
|
|
202
|
+
type: { type: 'string', description: 'Type of assessment', examples: ['risk', 'security', 'compliance', 'vendor', 'impact', 'vulnerability', 'audit', 'privacy'] },
|
|
203
|
+
status: { type: 'string', description: 'Assessment status', examples: ['planned', 'in-progress', 'review', 'completed', 'cancelled'] },
|
|
204
|
+
scope: { type: 'string', description: 'Assessment scope' },
|
|
205
|
+
methodology: { type: 'string', description: 'Assessment methodology' },
|
|
206
|
+
framework: { type: 'string', description: 'Assessment framework', optional: true },
|
|
207
|
+
objectives: { type: 'string[]', description: 'Assessment objectives' },
|
|
208
|
+
criteria: { type: 'string[]', description: 'Assessment criteria' },
|
|
209
|
+
assessor: { type: 'string', description: 'Lead assessor' },
|
|
210
|
+
team: { type: 'string[]', description: 'Assessment team' },
|
|
211
|
+
sponsor: { type: 'string', description: 'Executive sponsor' },
|
|
212
|
+
scheduledStart: { type: 'date', description: 'Scheduled start date' },
|
|
213
|
+
scheduledEnd: { type: 'date', description: 'Scheduled end date' },
|
|
214
|
+
actualStart: { type: 'date', description: 'Actual start date', optional: true },
|
|
215
|
+
actualEnd: { type: 'date', description: 'Actual end date', optional: true },
|
|
216
|
+
findings: { type: 'number', description: 'Total findings' },
|
|
217
|
+
criticalFindings: { type: 'number', description: 'Critical findings' },
|
|
218
|
+
highFindings: { type: 'number', description: 'High findings' },
|
|
219
|
+
mediumFindings: { type: 'number', description: 'Medium findings' },
|
|
220
|
+
lowFindings: { type: 'number', description: 'Low findings' },
|
|
221
|
+
overallRating: { type: 'string', description: 'Overall rating', examples: ['satisfactory', 'needs-improvement', 'unsatisfactory'] },
|
|
222
|
+
riskScore: { type: 'number', description: 'Overall risk score' },
|
|
223
|
+
recommendations: { type: 'string[]', description: 'Recommendations' },
|
|
224
|
+
reportUrl: { type: 'string', description: 'Assessment report URL' },
|
|
225
|
+
evidenceUrl: { type: 'string', description: 'Evidence repository URL' },
|
|
226
|
+
remediationDeadline: { type: 'date', description: 'Remediation deadline', optional: true },
|
|
227
|
+
followUpDate: { type: 'date', description: 'Follow-up date', optional: true },
|
|
228
|
+
notes: { type: 'string', description: 'Internal notes', optional: true },
|
|
229
|
+
tags: { type: 'string[]', description: 'Assessment tags' },
|
|
230
|
+
metadata: { type: 'object', description: 'Additional metadata', optional: true },
|
|
231
|
+
},
|
|
232
|
+
relationships: {
|
|
233
|
+
risks: { type: 'risk[]', description: 'Identified risks', backref: 'assessments' },
|
|
234
|
+
controls: { type: 'control[]', description: 'Assessed controls', backref: 'assessments' },
|
|
235
|
+
compliance: { type: 'compliance', description: 'Related compliance', backref: 'assessments' },
|
|
236
|
+
vendor: { type: 'vendor', description: 'Assessed vendor', backref: 'assessments' },
|
|
237
|
+
tasks: { type: 'task[]', description: 'Follow-up tasks', backref: 'assessment' },
|
|
238
|
+
},
|
|
239
|
+
actions: ['create', 'update', 'schedule', 'start', 'conduct', 'review', 'complete', 'cancel', 'report', 'followUp'],
|
|
240
|
+
events: ['created', 'updated', 'scheduled', 'started', 'conducted', 'reviewed', 'completed', 'cancelled', 'reported', 'followedUp'],
|
|
241
|
+
};
|
|
242
|
+
export const Issue = {
|
|
243
|
+
singular: 'issue',
|
|
244
|
+
plural: 'issues',
|
|
245
|
+
description: 'A business or operational issue requiring resolution',
|
|
246
|
+
properties: {
|
|
247
|
+
name: { type: 'string', description: 'Issue name' },
|
|
248
|
+
description: { type: 'string', description: 'Issue description' },
|
|
249
|
+
type: { type: 'string', description: 'Type of issue', examples: ['operational', 'technical', 'process', 'compliance', 'vendor', 'customer', 'quality', 'resource'] },
|
|
250
|
+
status: { type: 'string', description: 'Issue status', examples: ['open', 'investigating', 'in-progress', 'blocked', 'resolved', 'closed', 'reopened'] },
|
|
251
|
+
severity: { type: 'string', description: 'Issue severity', examples: ['critical', 'high', 'medium', 'low'] },
|
|
252
|
+
priority: { type: 'string', description: 'Issue priority', examples: ['urgent', 'high', 'medium', 'low'] },
|
|
253
|
+
impact: { type: 'string', description: 'Business impact' },
|
|
254
|
+
rootCause: { type: 'string', description: 'Root cause', optional: true },
|
|
255
|
+
resolution: { type: 'string', description: 'Resolution details', optional: true },
|
|
256
|
+
workaround: { type: 'string', description: 'Temporary workaround', optional: true },
|
|
257
|
+
reporter: { type: 'string', description: 'Issue reporter' },
|
|
258
|
+
owner: { type: 'string', description: 'Issue owner' },
|
|
259
|
+
assignee: { type: 'string', description: 'Assigned resolver' },
|
|
260
|
+
reportedDate: { type: 'date', description: 'Date reported' },
|
|
261
|
+
dueDate: { type: 'date', description: 'Target resolution date' },
|
|
262
|
+
resolvedDate: { type: 'date', description: 'Actual resolution date', optional: true },
|
|
263
|
+
closedDate: { type: 'date', description: 'Date closed', optional: true },
|
|
264
|
+
escalated: { type: 'boolean', description: 'Has been escalated' },
|
|
265
|
+
escalatedTo: { type: 'string', description: 'Escalated to', optional: true },
|
|
266
|
+
escalatedDate: { type: 'date', description: 'Escalation date', optional: true },
|
|
267
|
+
category: { type: 'string', description: 'Issue category' },
|
|
268
|
+
source: { type: 'string', description: 'Issue source', examples: ['internal', 'customer', 'audit', 'incident', 'assessment'] },
|
|
269
|
+
affectedAreas: { type: 'string[]', description: 'Affected areas' },
|
|
270
|
+
notes: { type: 'string', description: 'Internal notes', optional: true },
|
|
271
|
+
tags: { type: 'string[]', description: 'Issue tags' },
|
|
272
|
+
metadata: { type: 'object', description: 'Additional metadata', optional: true },
|
|
273
|
+
},
|
|
274
|
+
relationships: {
|
|
275
|
+
risk: { type: 'risk', description: 'Related risk', backref: 'issues' },
|
|
276
|
+
incident: { type: 'incident', description: 'Related incident', backref: 'issues' },
|
|
277
|
+
tasks: { type: 'task[]', description: 'Resolution tasks', backref: 'issue' },
|
|
278
|
+
relatedIssues: { type: 'issue[]', description: 'Related issues', backref: 'relatedIssues' },
|
|
279
|
+
},
|
|
280
|
+
actions: ['create', 'update', 'investigate', 'escalate', 'assign', 'resolve', 'close', 'reopen', 'workaround'],
|
|
281
|
+
events: ['created', 'updated', 'investigated', 'escalated', 'assigned', 'resolved', 'closed', 'reopened', 'workaroundApplied'],
|
|
282
|
+
};
|
|
283
|
+
// Export all risk entities
|
|
284
|
+
export const RiskEntities = {
|
|
285
|
+
Risk,
|
|
286
|
+
Mitigation,
|
|
287
|
+
Incident,
|
|
288
|
+
Control,
|
|
289
|
+
Assessment,
|
|
290
|
+
Issue,
|
|
291
|
+
};
|
|
292
|
+
export default RiskEntities;
|
|
293
|
+
//# sourceMappingURL=risk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../../src/entities/risk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sales Entity Types (Nouns)
|
|
3
|
+
*
|
|
4
|
+
* Sales and revenue: Deal, Pipeline, Stage, Contract, Subscription, Order, Quote.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import type { Noun } from 'ai-database';
|
|
9
|
+
/**
|
|
10
|
+
* Deal entity
|
|
11
|
+
*
|
|
12
|
+
* Represents a sales opportunity/deal.
|
|
13
|
+
*/
|
|
14
|
+
export declare const Deal: Noun;
|
|
15
|
+
/**
|
|
16
|
+
* Pipeline entity
|
|
17
|
+
*
|
|
18
|
+
* Represents a sales pipeline.
|
|
19
|
+
*/
|
|
20
|
+
export declare const Pipeline: Noun;
|
|
21
|
+
/**
|
|
22
|
+
* Stage entity
|
|
23
|
+
*
|
|
24
|
+
* Represents a stage in a sales pipeline.
|
|
25
|
+
*/
|
|
26
|
+
export declare const Stage: Noun;
|
|
27
|
+
/**
|
|
28
|
+
* Contract entity
|
|
29
|
+
*
|
|
30
|
+
* Represents a sales/service contract.
|
|
31
|
+
*/
|
|
32
|
+
export declare const Contract: Noun;
|
|
33
|
+
/**
|
|
34
|
+
* Subscription entity
|
|
35
|
+
*
|
|
36
|
+
* Represents a customer subscription.
|
|
37
|
+
*/
|
|
38
|
+
export declare const Subscription: Noun;
|
|
39
|
+
/**
|
|
40
|
+
* Quote entity
|
|
41
|
+
*
|
|
42
|
+
* Represents a sales quote/proposal.
|
|
43
|
+
*/
|
|
44
|
+
export declare const Quote: Noun;
|
|
45
|
+
/**
|
|
46
|
+
* Order entity
|
|
47
|
+
*
|
|
48
|
+
* Represents a sales order.
|
|
49
|
+
*/
|
|
50
|
+
export declare const Order: Noun;
|
|
51
|
+
/**
|
|
52
|
+
* Invoice entity
|
|
53
|
+
*
|
|
54
|
+
* Represents an invoice.
|
|
55
|
+
*/
|
|
56
|
+
export declare const Invoice: Noun;
|
|
57
|
+
export declare const SalesEntities: {
|
|
58
|
+
Deal: Noun;
|
|
59
|
+
Pipeline: Noun;
|
|
60
|
+
Stage: Noun;
|
|
61
|
+
Contract: Noun;
|
|
62
|
+
Subscription: Noun;
|
|
63
|
+
Quote: Noun;
|
|
64
|
+
Order: Noun;
|
|
65
|
+
Invoice: Noun;
|
|
66
|
+
};
|
|
67
|
+
export declare const SalesCategories: {
|
|
68
|
+
readonly pipeline: readonly ["Deal", "Pipeline", "Stage"];
|
|
69
|
+
readonly agreements: readonly ["Contract", "Subscription"];
|
|
70
|
+
readonly transactions: readonly ["Quote", "Order", "Invoice"];
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=sales.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sales.d.ts","sourceRoot":"","sources":["../../src/entities/sales.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAMvC;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,IA0NlB,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,IAgHtB,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAqGnB,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,IA8KtB,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,IAsL1B,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IA2JnB,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IA+InB,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,IAqJrB,CAAA;AAMD,eAAO,MAAM,aAAa;;;;;;;;;CASzB,CAAA;AAED,eAAO,MAAM,eAAe;;;;CAIlB,CAAA"}
|