@benchcubed/today-cli 1.0.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.
Files changed (210) hide show
  1. package/README.md +296 -0
  2. package/dist/ai/bedrock-client.d.ts +1 -0
  3. package/dist/ai/bedrock-client.d.ts.map +1 -0
  4. package/dist/ai/bedrock-client.js +2 -0
  5. package/dist/ai/bedrock-client.js.map +1 -0
  6. package/dist/ai/knowledge-processor.d.ts +1 -0
  7. package/dist/ai/knowledge-processor.d.ts.map +1 -0
  8. package/dist/ai/knowledge-processor.js +2 -0
  9. package/dist/ai/knowledge-processor.js.map +1 -0
  10. package/dist/cli.d.ts +3 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +70 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/commands/ask.d.ts +3 -0
  15. package/dist/commands/ask.d.ts.map +1 -0
  16. package/dist/commands/ask.js +217 -0
  17. package/dist/commands/ask.js.map +1 -0
  18. package/dist/commands/audit.d.ts +3 -0
  19. package/dist/commands/audit.d.ts.map +1 -0
  20. package/dist/commands/audit.js +153 -0
  21. package/dist/commands/audit.js.map +1 -0
  22. package/dist/commands/auth.d.ts +3 -0
  23. package/dist/commands/auth.d.ts.map +1 -0
  24. package/dist/commands/auth.js +114 -0
  25. package/dist/commands/auth.js.map +1 -0
  26. package/dist/commands/config.d.ts +3 -0
  27. package/dist/commands/config.d.ts.map +1 -0
  28. package/dist/commands/config.js +72 -0
  29. package/dist/commands/config.js.map +1 -0
  30. package/dist/commands/embeddings.d.ts +3 -0
  31. package/dist/commands/embeddings.d.ts.map +1 -0
  32. package/dist/commands/embeddings.js +118 -0
  33. package/dist/commands/embeddings.js.map +1 -0
  34. package/dist/commands/experts.d.ts +3 -0
  35. package/dist/commands/experts.d.ts.map +1 -0
  36. package/dist/commands/experts.js +129 -0
  37. package/dist/commands/experts.js.map +1 -0
  38. package/dist/commands/export-import.d.ts +4 -0
  39. package/dist/commands/export-import.d.ts.map +1 -0
  40. package/dist/commands/export-import.js +285 -0
  41. package/dist/commands/export-import.js.map +1 -0
  42. package/dist/commands/git.d.ts +4 -0
  43. package/dist/commands/git.d.ts.map +1 -0
  44. package/dist/commands/git.js +274 -0
  45. package/dist/commands/git.js.map +1 -0
  46. package/dist/commands/impact.d.ts +3 -0
  47. package/dist/commands/impact.d.ts.map +1 -0
  48. package/dist/commands/impact.js +121 -0
  49. package/dist/commands/impact.js.map +1 -0
  50. package/dist/commands/insights.d.ts +3 -0
  51. package/dist/commands/insights.d.ts.map +1 -0
  52. package/dist/commands/insights.js +113 -0
  53. package/dist/commands/insights.js.map +1 -0
  54. package/dist/commands/learned.d.ts +3 -0
  55. package/dist/commands/learned.d.ts.map +1 -0
  56. package/dist/commands/learned.js +355 -0
  57. package/dist/commands/learned.js.map +1 -0
  58. package/dist/commands/onboard.d.ts +3 -0
  59. package/dist/commands/onboard.d.ts.map +1 -0
  60. package/dist/commands/onboard.js +141 -0
  61. package/dist/commands/onboard.js.map +1 -0
  62. package/dist/commands/recent.d.ts +3 -0
  63. package/dist/commands/recent.d.ts.map +1 -0
  64. package/dist/commands/recent.js +83 -0
  65. package/dist/commands/recent.js.map +1 -0
  66. package/dist/commands/secrets.d.ts +3 -0
  67. package/dist/commands/secrets.d.ts.map +1 -0
  68. package/dist/commands/secrets.js +203 -0
  69. package/dist/commands/secrets.js.map +1 -0
  70. package/dist/commands/stats.d.ts +3 -0
  71. package/dist/commands/stats.d.ts.map +1 -0
  72. package/dist/commands/stats.js +120 -0
  73. package/dist/commands/stats.js.map +1 -0
  74. package/dist/config/index.d.ts +12 -0
  75. package/dist/config/index.d.ts.map +1 -0
  76. package/dist/config/index.js +46 -0
  77. package/dist/config/index.js.map +1 -0
  78. package/dist/database/migrations.d.ts +13 -0
  79. package/dist/database/migrations.d.ts.map +1 -0
  80. package/dist/database/migrations.js +190 -0
  81. package/dist/database/migrations.js.map +1 -0
  82. package/dist/database/postgresql.d.ts +92 -0
  83. package/dist/database/postgresql.d.ts.map +1 -0
  84. package/dist/database/postgresql.js +382 -0
  85. package/dist/database/postgresql.js.map +1 -0
  86. package/dist/database/sqlite.d.ts +54 -0
  87. package/dist/database/sqlite.d.ts.map +1 -0
  88. package/dist/database/sqlite.js +337 -0
  89. package/dist/database/sqlite.js.map +1 -0
  90. package/dist/lambda/admin.d.ts +3 -0
  91. package/dist/lambda/admin.d.ts.map +1 -0
  92. package/dist/lambda/admin.js +818 -0
  93. package/dist/lambda/admin.js.map +1 -0
  94. package/dist/lambda/ai-services.d.ts +6 -0
  95. package/dist/lambda/ai-services.d.ts.map +1 -0
  96. package/dist/lambda/ai-services.js +472 -0
  97. package/dist/lambda/ai-services.js.map +1 -0
  98. package/dist/lambda/analytics.d.ts +3 -0
  99. package/dist/lambda/analytics.d.ts.map +1 -0
  100. package/dist/lambda/analytics.js +481 -0
  101. package/dist/lambda/analytics.js.map +1 -0
  102. package/dist/lambda/api-router.d.ts +3 -0
  103. package/dist/lambda/api-router.d.ts.map +1 -0
  104. package/dist/lambda/api-router.js +162 -0
  105. package/dist/lambda/api-router.js.map +1 -0
  106. package/dist/lambda/custom-topics.d.ts +3 -0
  107. package/dist/lambda/custom-topics.d.ts.map +1 -0
  108. package/dist/lambda/custom-topics.js +425 -0
  109. package/dist/lambda/custom-topics.js.map +1 -0
  110. package/dist/lambda/graph-builder.d.ts +3 -0
  111. package/dist/lambda/graph-builder.d.ts.map +1 -0
  112. package/dist/lambda/graph-builder.js +442 -0
  113. package/dist/lambda/graph-builder.js.map +1 -0
  114. package/dist/lambda/knowledge-ai.d.ts +3 -0
  115. package/dist/lambda/knowledge-ai.d.ts.map +1 -0
  116. package/dist/lambda/knowledge-ai.js +849 -0
  117. package/dist/lambda/knowledge-ai.js.map +1 -0
  118. package/dist/lambda/post-confirmation.d.ts +8 -0
  119. package/dist/lambda/post-confirmation.d.ts.map +1 -0
  120. package/dist/lambda/post-confirmation.js +92 -0
  121. package/dist/lambda/post-confirmation.js.map +1 -0
  122. package/dist/lambda/teams.d.ts +3 -0
  123. package/dist/lambda/teams.d.ts.map +1 -0
  124. package/dist/lambda/teams.js +568 -0
  125. package/dist/lambda/teams.js.map +1 -0
  126. package/dist/lib/export-helpers.d.ts +5 -0
  127. package/dist/lib/export-helpers.d.ts.map +1 -0
  128. package/dist/lib/export-helpers.js +137 -0
  129. package/dist/lib/export-helpers.js.map +1 -0
  130. package/dist/lib/import-helpers.d.ts +5 -0
  131. package/dist/lib/import-helpers.d.ts.map +1 -0
  132. package/dist/lib/import-helpers.js +185 -0
  133. package/dist/lib/import-helpers.js.map +1 -0
  134. package/dist/lib/insights-helpers.d.ts +123 -0
  135. package/dist/lib/insights-helpers.d.ts.map +1 -0
  136. package/dist/lib/insights-helpers.js +374 -0
  137. package/dist/lib/insights-helpers.js.map +1 -0
  138. package/dist/lib/search-helpers.d.ts +4 -0
  139. package/dist/lib/search-helpers.d.ts.map +1 -0
  140. package/dist/lib/search-helpers.js +124 -0
  141. package/dist/lib/search-helpers.js.map +1 -0
  142. package/dist/lib/secret-helpers.d.ts +2 -0
  143. package/dist/lib/secret-helpers.d.ts.map +1 -0
  144. package/dist/lib/secret-helpers.js +85 -0
  145. package/dist/lib/secret-helpers.js.map +1 -0
  146. package/dist/lib/stats-helpers.d.ts +41 -0
  147. package/dist/lib/stats-helpers.d.ts.map +1 -0
  148. package/dist/lib/stats-helpers.js +263 -0
  149. package/dist/lib/stats-helpers.js.map +1 -0
  150. package/dist/services/aws-api.d.ts +81 -0
  151. package/dist/services/aws-api.d.ts.map +1 -0
  152. package/dist/services/aws-api.js +388 -0
  153. package/dist/services/aws-api.js.map +1 -0
  154. package/dist/services/bedrock.d.ts +83 -0
  155. package/dist/services/bedrock.d.ts.map +1 -0
  156. package/dist/services/bedrock.js +434 -0
  157. package/dist/services/bedrock.js.map +1 -0
  158. package/dist/services/commit-learnings.d.ts +25 -0
  159. package/dist/services/commit-learnings.d.ts.map +1 -0
  160. package/dist/services/commit-learnings.js +180 -0
  161. package/dist/services/commit-learnings.js.map +1 -0
  162. package/dist/services/embedding-storage.d.ts +42 -0
  163. package/dist/services/embedding-storage.d.ts.map +1 -0
  164. package/dist/services/embedding-storage.js +124 -0
  165. package/dist/services/embedding-storage.js.map +1 -0
  166. package/dist/services/expert-engine.d.ts +21 -0
  167. package/dist/services/expert-engine.d.ts.map +1 -0
  168. package/dist/services/expert-engine.js +58 -0
  169. package/dist/services/expert-engine.js.map +1 -0
  170. package/dist/services/onboarding-accelerator.d.ts +118 -0
  171. package/dist/services/onboarding-accelerator.d.ts.map +1 -0
  172. package/dist/services/onboarding-accelerator.js +403 -0
  173. package/dist/services/onboarding-accelerator.js.map +1 -0
  174. package/dist/services/secret-detection.d.ts +46 -0
  175. package/dist/services/secret-detection.d.ts.map +1 -0
  176. package/dist/services/secret-detection.js +75 -0
  177. package/dist/services/secret-detection.js.map +1 -0
  178. package/dist/services/secret-manager-simple.d.ts +51 -0
  179. package/dist/services/secret-manager-simple.d.ts.map +1 -0
  180. package/dist/services/secret-manager-simple.js +119 -0
  181. package/dist/services/secret-manager-simple.js.map +1 -0
  182. package/dist/services/secret-manager.d.ts +150 -0
  183. package/dist/services/secret-manager.d.ts.map +1 -0
  184. package/dist/services/secret-manager.js +287 -0
  185. package/dist/services/secret-manager.js.map +1 -0
  186. package/dist/services/vector-embeddings.d.ts +70 -0
  187. package/dist/services/vector-embeddings.d.ts.map +1 -0
  188. package/dist/services/vector-embeddings.js +167 -0
  189. package/dist/services/vector-embeddings.js.map +1 -0
  190. package/dist/services/vector-search.d.ts +28 -0
  191. package/dist/services/vector-search.d.ts.map +1 -0
  192. package/dist/services/vector-search.js +192 -0
  193. package/dist/services/vector-search.js.map +1 -0
  194. package/dist/types/index.d.ts +86 -0
  195. package/dist/types/index.d.ts.map +1 -0
  196. package/dist/types/index.js +4 -0
  197. package/dist/types/index.js.map +1 -0
  198. package/dist/utils/formatting.d.ts +10 -0
  199. package/dist/utils/formatting.d.ts.map +1 -0
  200. package/dist/utils/formatting.js +82 -0
  201. package/dist/utils/formatting.js.map +1 -0
  202. package/dist/utils/git.d.ts +52 -0
  203. package/dist/utils/git.d.ts.map +1 -0
  204. package/dist/utils/git.js +182 -0
  205. package/dist/utils/git.js.map +1 -0
  206. package/dist/utils/validation.d.ts +17 -0
  207. package/dist/utils/validation.d.ts.map +1 -0
  208. package/dist/utils/validation.js +187 -0
  209. package/dist/utils/validation.js.map +1 -0
  210. package/package.json +81 -0
@@ -0,0 +1,403 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.onboardingAcceleratorService = exports.OnboardingAcceleratorService = void 0;
37
+ const bedrock_1 = require("./bedrock");
38
+ const aws_api_1 = require("./aws-api");
39
+ const config_1 = require("../config");
40
+ class OnboardingAcceleratorService {
41
+ /**
42
+ * Check if the onboarding accelerator service is available
43
+ */
44
+ async isAvailable() {
45
+ try {
46
+ // Check if we have access to required services
47
+ const bedrockAvailable = await bedrock_1.bedrockService.isAvailable();
48
+ const awsAvailable = await aws_api_1.awsApiService.isAvailable();
49
+ return bedrockAvailable || awsAvailable; // At least one service should be available
50
+ }
51
+ catch (error) {
52
+ console.warn('Onboarding accelerator availability check failed:', error);
53
+ return false;
54
+ }
55
+ }
56
+ /**
57
+ * Generate a personalized learning path for a new team member
58
+ */
59
+ async generateLearningPath(userId, teamId, userProfile) {
60
+ try {
61
+ // Get team knowledge entries
62
+ const teamKnowledge = await aws_api_1.awsApiService.getKnowledgeEntries(1000);
63
+ const relevantEntries = teamKnowledge.filter(entry => entry.teamId === teamId);
64
+ // Analyze team knowledge to identify key learning areas
65
+ const knowledgeAnalysis = await this.analyzeTeamKnowledge(relevantEntries);
66
+ // Generate learning steps based on analysis
67
+ const learningSteps = await this.generateLearningSteps(knowledgeAnalysis, userProfile, relevantEntries);
68
+ // Identify knowledge gaps
69
+ const knowledgeGaps = await this.identifyKnowledgeGaps(relevantEntries, userProfile);
70
+ // Find relevant experts
71
+ const suggestedExperts = await this.findRelevantExperts(knowledgeAnalysis.keyTopics, teamId);
72
+ // Calculate estimated time to productivity
73
+ const estimatedTimeToProductivity = this.calculateTimeToProductivity(learningSteps, knowledgeGaps, userProfile?.experience || 'mid');
74
+ const onboardingPath = {
75
+ id: `onboarding_${userId}_${Date.now()}`,
76
+ userId,
77
+ teamId,
78
+ createdAt: new Date(),
79
+ learningSteps,
80
+ estimatedTimeToProductivity,
81
+ completionPercentage: 0,
82
+ knowledgeGaps,
83
+ suggestedExperts
84
+ };
85
+ return onboardingPath;
86
+ }
87
+ catch (error) {
88
+ console.warn('Failed to generate learning path:', error);
89
+ throw new Error('Learning path generation failed - cloud services required');
90
+ }
91
+ }
92
+ /**
93
+ * Track progress for an onboarding user
94
+ */
95
+ async trackProgress(userId, _completedStepId, _learningEntry) {
96
+ try {
97
+ // In a real implementation, this would be stored in a database
98
+ // For now, we'll calculate progress based on available data
99
+ const teamId = config_1.configManager.getConfig().teamId || 'demo_team';
100
+ const userEntries = await aws_api_1.awsApiService.getKnowledgeEntries(1000);
101
+ const userLearning = userEntries.filter(entry => entry.authorId === userId);
102
+ // Calculate current progress metrics
103
+ const totalSteps = 20; // Estimated total steps for full onboarding
104
+ const knowledgeAcquired = userLearning.length;
105
+ // Ensure completedSteps doesn't exceed totalSteps
106
+ // Map knowledge acquired to completed steps with proper bounds
107
+ const completedSteps = Math.min(Math.floor((knowledgeAcquired / 3) * totalSteps / 5), // Scale knowledge to steps
108
+ totalSteps);
109
+ const progress = {
110
+ userId,
111
+ teamId,
112
+ startDate: new Date(Date.now() - (7 * 24 * 60 * 60 * 1000)), // 7 days ago for demo
113
+ currentDay: 7,
114
+ completedSteps,
115
+ totalSteps,
116
+ timeToProductivity: 7, // Current days since start
117
+ productivityScore: Math.min((completedSteps / totalSteps) * 100, 100),
118
+ knowledgeAcquired,
119
+ expertConnections: Math.floor(knowledgeAcquired / 3), // Estimate expert connections
120
+ questionsAsked: userLearning.filter(e => e.content.includes('?')).length,
121
+ questionsAnswered: Math.min(userLearning.filter(e => e.questionsAnswered > 0).length, userLearning.filter(e => e.content.includes('?')).length // Ensure answered <= asked
122
+ )
123
+ };
124
+ return progress;
125
+ }
126
+ catch (error) {
127
+ console.warn('Failed to track onboarding progress:', error);
128
+ // Return basic progress
129
+ const totalSteps = 20;
130
+ return {
131
+ userId,
132
+ teamId: config_1.configManager.getConfig().teamId || 'demo_team',
133
+ startDate: new Date(),
134
+ currentDay: 1,
135
+ completedSteps: 0,
136
+ totalSteps,
137
+ timeToProductivity: 0,
138
+ productivityScore: 0,
139
+ knowledgeAcquired: 0,
140
+ expertConnections: 0,
141
+ questionsAsked: 0,
142
+ questionsAnswered: 0
143
+ };
144
+ }
145
+ }
146
+ /**
147
+ * Generate onboarding completion report
148
+ */
149
+ async generateCompletionReport(userId) {
150
+ try {
151
+ const progress = await this.trackProgress(userId, '');
152
+ // Calculate team-wide onboarding metrics for comparison
153
+ const teamMetrics = await this.calculateTeamOnboardingMetrics();
154
+ // Calculate acceleration achieved
155
+ const baselineTimeToProductivity = 40; // days (industry average)
156
+ const accelerationAchieved = Math.max(0, (baselineTimeToProductivity - progress.timeToProductivity) / baselineTimeToProductivity);
157
+ // Generate AI-powered recommendations
158
+ const recommendations = await this.generateOnboardingRecommendations(progress);
159
+ return {
160
+ progress,
161
+ metrics: teamMetrics,
162
+ recommendations,
163
+ accelerationAchieved
164
+ };
165
+ }
166
+ catch (error) {
167
+ console.warn('Failed to generate completion report:', error);
168
+ return {
169
+ progress: await this.trackProgress(userId, ''),
170
+ metrics: {
171
+ averageTimeToProductivity: 15,
172
+ completionRate: 85,
173
+ knowledgeRetention: 78,
174
+ expertEngagement: 65,
175
+ accelerationPercentage: 62
176
+ },
177
+ recommendations: [
178
+ 'Continue engaging with team knowledge base',
179
+ 'Connect with identified experts for deeper learning',
180
+ 'Share your own learning to contribute to team knowledge'
181
+ ],
182
+ accelerationAchieved: 0.62
183
+ };
184
+ }
185
+ }
186
+ /**
187
+ * Analyze team knowledge to identify key learning areas
188
+ */
189
+ async analyzeTeamKnowledge(entries) {
190
+ // Extract topics and analyze frequency
191
+ const topicFrequency = new Map();
192
+ entries.forEach(entry => {
193
+ entry.aiTopics.forEach(topic => {
194
+ topicFrequency.set(topic, (topicFrequency.get(topic) || 0) + 1);
195
+ });
196
+ });
197
+ // Get most common topics
198
+ const keyTopics = Array.from(topicFrequency.entries())
199
+ .sort((a, b) => b[1] - a[1])
200
+ .slice(0, 10)
201
+ .map(([topic]) => topic);
202
+ // Identify expertise areas (topics with high-impact entries)
203
+ const expertiseAreas = entries
204
+ .filter(entry => entry.impactScore >= 7)
205
+ .flatMap(entry => entry.aiTopics)
206
+ .filter((topic, index, arr) => arr.indexOf(topic) === index)
207
+ .slice(0, 8);
208
+ // Find critical knowledge (high impact + onboarding relevant)
209
+ const criticalKnowledge = entries
210
+ .filter(entry => entry.onboardingRelevance && entry.impactScore >= 6)
211
+ .sort((a, b) => b.impactScore - a.impactScore)
212
+ .slice(0, 15);
213
+ return {
214
+ keyTopics,
215
+ expertiseAreas,
216
+ commonPatterns: keyTopics.slice(0, 5), // Top 5 as common patterns
217
+ criticalKnowledge
218
+ };
219
+ }
220
+ /**
221
+ * Generate learning steps based on team knowledge analysis
222
+ */
223
+ async generateLearningSteps(analysis, _userProfile, entries) {
224
+ const steps = [];
225
+ // Foundation steps (always included)
226
+ steps.push({
227
+ id: 'foundation_1',
228
+ title: 'Team Knowledge Overview',
229
+ description: 'Get familiar with the team\'s knowledge base and key learning areas',
230
+ priority: 'high',
231
+ estimatedTime: 60,
232
+ relatedEntries: analysis.criticalKnowledge.slice(0, 5).map((e) => e.id),
233
+ suggestedExperts: [],
234
+ completed: false,
235
+ category: 'culture'
236
+ });
237
+ // Topic-specific steps
238
+ analysis.keyTopics.slice(0, 8).forEach((topic, index) => {
239
+ const relatedEntries = entries
240
+ .filter(entry => entry.aiTopics.includes(topic))
241
+ .sort((a, b) => b.impactScore - a.impactScore)
242
+ .slice(0, 3);
243
+ steps.push({
244
+ id: `topic_${index}`,
245
+ title: `Learn ${topic}`,
246
+ description: `Understand team practices and knowledge around ${topic}`,
247
+ priority: index < 3 ? 'high' : index < 6 ? 'medium' : 'low',
248
+ estimatedTime: 45,
249
+ relatedEntries: relatedEntries.map(e => e.id),
250
+ suggestedExperts: relatedEntries.map(e => e.authorId).filter((id, i, arr) => arr.indexOf(id) === i),
251
+ completed: false,
252
+ category: 'technical'
253
+ });
254
+ });
255
+ // Process and tools steps
256
+ const processEntries = entries.filter(entry => entry.content.toLowerCase().includes('process') ||
257
+ entry.content.toLowerCase().includes('workflow') ||
258
+ entry.content.toLowerCase().includes('tool'));
259
+ if (processEntries.length > 0) {
260
+ steps.push({
261
+ id: 'process_1',
262
+ title: 'Team Processes & Tools',
263
+ description: 'Learn about team workflows, processes, and essential tools',
264
+ priority: 'high',
265
+ estimatedTime: 90,
266
+ relatedEntries: processEntries.slice(0, 5).map(e => e.id),
267
+ suggestedExperts: processEntries.map(e => e.authorId).filter((id, i, arr) => arr.indexOf(id) === i),
268
+ completed: false,
269
+ category: 'process'
270
+ });
271
+ }
272
+ return steps.slice(0, 15); // Limit to 15 steps
273
+ }
274
+ /**
275
+ * Identify knowledge gaps for new team member
276
+ */
277
+ async identifyKnowledgeGaps(teamEntries, _userProfile) {
278
+ const gaps = [];
279
+ // Analyze topic coverage
280
+ const topicCoverage = new Map();
281
+ teamEntries.forEach(entry => {
282
+ entry.aiTopics.forEach(topic => {
283
+ topicCoverage.set(topic, (topicCoverage.get(topic) || 0) + entry.impactScore);
284
+ });
285
+ });
286
+ // Identify gaps (topics with low coverage or high importance but few entries)
287
+ const importantTopics = Array.from(topicCoverage.entries())
288
+ .sort((a, b) => b[1] - a[1])
289
+ .slice(0, 10);
290
+ importantTopics.forEach(([topic, coverage]) => {
291
+ const topicEntries = teamEntries.filter(entry => entry.aiTopics.includes(topic));
292
+ const avgImpact = topicEntries.reduce((sum, entry) => sum + entry.impactScore, 0) / topicEntries.length;
293
+ if (topicEntries.length < 3 || avgImpact < 6) {
294
+ gaps.push({
295
+ topic,
296
+ importance: Math.min(10, Math.ceil(coverage / 10)),
297
+ suggestedLearning: topicEntries.slice(0, 3).map(e => e.content.substring(0, 100) + '...'),
298
+ expertContacts: topicEntries.map(e => e.authorId).filter((id, i, arr) => arr.indexOf(id) === i),
299
+ estimatedLearningTime: Math.ceil(topicEntries.length * 0.5) // 30 min per entry
300
+ });
301
+ }
302
+ });
303
+ return gaps.slice(0, 8); // Limit to 8 gaps
304
+ }
305
+ /**
306
+ * Find relevant experts for onboarding
307
+ */
308
+ async findRelevantExperts(keyTopics, _teamId) {
309
+ try {
310
+ const experts = [];
311
+ // Use existing expert engine if available
312
+ const { expertEngine } = await Promise.resolve().then(() => __importStar(require('./expert-engine')));
313
+ for (const topic of keyTopics.slice(0, 5)) {
314
+ try {
315
+ const topicExperts = await expertEngine.findExperts(topic, { limit: 2 });
316
+ topicExperts.forEach(expert => {
317
+ const existing = experts.find(e => e.userId === expert.userId);
318
+ if (existing) {
319
+ existing.expertise.push(topic);
320
+ existing.relevantKnowledge.push(...expert.relevantEntries.map(e => e.content.substring(0, 50) + '...'));
321
+ }
322
+ else {
323
+ experts.push({
324
+ userId: expert.userId,
325
+ name: expert.name,
326
+ expertise: [topic],
327
+ relevantKnowledge: expert.relevantEntries.slice(0, 2).map(e => e.content.substring(0, 50) + '...'),
328
+ availability: 'medium',
329
+ connectionReason: `Expert in ${topic} - can help with onboarding questions`
330
+ });
331
+ }
332
+ });
333
+ }
334
+ catch (error) {
335
+ console.warn(`Failed to find experts for topic ${topic}:`, error);
336
+ }
337
+ }
338
+ return experts.slice(0, 8); // Limit to 8 experts
339
+ }
340
+ catch (error) {
341
+ console.warn('Failed to find relevant experts:', error);
342
+ return [];
343
+ }
344
+ }
345
+ /**
346
+ * Calculate estimated time to productivity
347
+ */
348
+ calculateTimeToProductivity(steps, gaps, experience) {
349
+ const baseTime = steps.reduce((total, step) => total + step.estimatedTime, 0) / 60 / 8; // Convert to days
350
+ const gapTime = gaps.reduce((total, gap) => total + gap.estimatedLearningTime, 0) / 8; // Convert to days
351
+ // Adjust based on experience
352
+ const experienceMultiplier = {
353
+ junior: 1.5,
354
+ mid: 1.0,
355
+ senior: 0.7
356
+ };
357
+ const totalTime = (baseTime + gapTime) * experienceMultiplier[experience];
358
+ // Add buffer and round up
359
+ return Math.ceil(totalTime * 1.2);
360
+ }
361
+ /**
362
+ * Calculate team-wide onboarding metrics
363
+ */
364
+ async calculateTeamOnboardingMetrics() {
365
+ // In a real implementation, this would query historical onboarding data
366
+ // For demo purposes, return realistic metrics
367
+ return {
368
+ averageTimeToProductivity: 15, // days (down from 40 baseline)
369
+ completionRate: 85, // percentage
370
+ knowledgeRetention: 78, // percentage
371
+ expertEngagement: 65, // percentage
372
+ accelerationPercentage: 62 // 62% faster than baseline
373
+ };
374
+ }
375
+ /**
376
+ * Generate AI-powered onboarding recommendations
377
+ */
378
+ async generateOnboardingRecommendations(progress) {
379
+ const recommendations = [];
380
+ // Calculate completion percentage
381
+ const completionPercentage = (progress.completedSteps / progress.totalSteps) * 100;
382
+ // Analyze progress and generate recommendations
383
+ if (completionPercentage < 50) {
384
+ recommendations.push('Focus on completing high-priority learning steps to accelerate progress');
385
+ }
386
+ if (progress.expertConnections < 3) {
387
+ recommendations.push('Connect with more team experts to get personalized guidance');
388
+ }
389
+ if (progress.questionsAsked < 5) {
390
+ recommendations.push('Don\'t hesitate to ask questions - use "today ask" for private knowledge search');
391
+ }
392
+ if (progress.knowledgeAcquired < 10) {
393
+ recommendations.push('Capture your learning with "today learned" to reinforce knowledge retention');
394
+ }
395
+ // Always include general recommendations
396
+ recommendations.push('Review team knowledge entries related to your current tasks');
397
+ recommendations.push('Share your own learning to contribute to team knowledge base');
398
+ return recommendations;
399
+ }
400
+ }
401
+ exports.OnboardingAcceleratorService = OnboardingAcceleratorService;
402
+ exports.onboardingAcceleratorService = new OnboardingAcceleratorService();
403
+ //# sourceMappingURL=onboarding-accelerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-accelerator.js","sourceRoot":"","sources":["../../src/services/onboarding-accelerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Advanced Secret Detection Service using AWS Comprehend and Amazon Bedrock
3
+ * Routes through authenticated backend API
4
+ *
5
+ * This service combines multiple AWS AI services for comprehensive secret detection:
6
+ * - Amazon Comprehend: PII detection and entity recognition
7
+ * - Amazon Bedrock: Contextual analysis and secret classification
8
+ * - Pattern matching: Fallback for specific formats
9
+ */
10
+ export interface EnhancedSecretDetection {
11
+ type: 'api_key' | 'password' | 'token' | 'connection_string' | 'pii' | 'credential';
12
+ value: string;
13
+ confidence: number;
14
+ startIndex: number;
15
+ endIndex: number;
16
+ source: 'comprehend' | 'bedrock' | 'pattern';
17
+ piiType?: string;
18
+ context?: string;
19
+ riskLevel: 'low' | 'medium' | 'high' | 'critical';
20
+ recommendations: string[];
21
+ }
22
+ export interface SecretAnalysisResult {
23
+ detections: EnhancedSecretDetection[];
24
+ overallRiskScore: number;
25
+ summary: string;
26
+ shouldBlock: boolean;
27
+ redactedContent?: string | undefined;
28
+ }
29
+ export declare class EnhancedSecretDetectionService {
30
+ constructor();
31
+ /**
32
+ * Comprehensive secret analysis using multiple AWS AI services
33
+ * Routes through authenticated backend API
34
+ */
35
+ analyzeContent(content: string): Promise<SecretAnalysisResult>;
36
+ /**
37
+ * Fallback analysis using basic pattern detection
38
+ */
39
+ private getFallbackAnalysis;
40
+ /**
41
+ * Check if service is available
42
+ */
43
+ isAvailable(): Promise<boolean>;
44
+ }
45
+ export declare const enhancedSecretDetectionService: EnhancedSecretDetectionService;
46
+ //# sourceMappingURL=secret-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-detection.d.ts","sourceRoot":"","sources":["../../src/services/secret-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,mBAAmB,GAAG,KAAK,GAAG,YAAY,CAAC;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,qBAAa,8BAA8B;;IAMzC;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4BpE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtC;AAED,eAAO,MAAM,8BAA8B,gCAAuC,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Advanced Secret Detection Service using AWS Comprehend and Amazon Bedrock
4
+ * Routes through authenticated backend API
5
+ *
6
+ * This service combines multiple AWS AI services for comprehensive secret detection:
7
+ * - Amazon Comprehend: PII detection and entity recognition
8
+ * - Amazon Bedrock: Contextual analysis and secret classification
9
+ * - Pattern matching: Fallback for specific formats
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.enhancedSecretDetectionService = exports.EnhancedSecretDetectionService = void 0;
13
+ const aws_api_1 = require("./aws-api");
14
+ class EnhancedSecretDetectionService {
15
+ constructor() {
16
+ // API endpoint managed by awsApiService
17
+ }
18
+ /**
19
+ * Comprehensive secret analysis using multiple AWS AI services
20
+ * Routes through authenticated backend API
21
+ */
22
+ async analyzeContent(content) {
23
+ try {
24
+ if (!aws_api_1.awsApiService.isAuthenticated()) {
25
+ console.warn('Not authenticated, using fallback secret detection');
26
+ return this.getFallbackAnalysis(content);
27
+ }
28
+ const response = await aws_api_1.awsApiService.callAPI('/ai/detect-secrets', 'POST', {
29
+ content
30
+ });
31
+ if (response.success && response.data) {
32
+ return {
33
+ detections: response.data.detections || [],
34
+ overallRiskScore: response.data.overallRiskScore || 0,
35
+ summary: response.data.summary || 'No secrets detected',
36
+ shouldBlock: response.data.shouldBlock || false,
37
+ redactedContent: response.data.redactedContent
38
+ };
39
+ }
40
+ throw new Error(response.error || 'Failed to analyze content for secrets');
41
+ }
42
+ catch (error) {
43
+ console.warn('Enhanced secret detection failed, using fallback:', error);
44
+ return this.getFallbackAnalysis(content);
45
+ }
46
+ }
47
+ /**
48
+ * Fallback analysis using basic pattern detection
49
+ */
50
+ getFallbackAnalysis(content) {
51
+ // Import basic pattern detection from validation utils
52
+ const { detectSecrets } = require('../utils/validation');
53
+ const basicDetections = detectSecrets(content);
54
+ return {
55
+ detections: basicDetections.map((d) => ({
56
+ ...d,
57
+ source: 'pattern',
58
+ riskLevel: 'medium',
59
+ recommendations: ['Review for sensitive information']
60
+ })),
61
+ overallRiskScore: basicDetections.length > 0 ? 0.6 : 0,
62
+ summary: basicDetections.length > 0 ? `${basicDetections.length} potential secrets detected` : 'No secrets detected',
63
+ shouldBlock: false
64
+ };
65
+ }
66
+ /**
67
+ * Check if service is available
68
+ */
69
+ async isAvailable() {
70
+ return aws_api_1.awsApiService.isAuthenticated();
71
+ }
72
+ }
73
+ exports.EnhancedSecretDetectionService = EnhancedSecretDetectionService;
74
+ exports.enhancedSecretDetectionService = new EnhancedSecretDetectionService();
75
+ //# sourceMappingURL=secret-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-detection.js","sourceRoot":"","sources":["../../src/services/secret-detection.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,uCAA0C;AAuB1C,MAAa,8BAA8B;IAEzC;QACE,wCAAwC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,uBAAa,CAAC,eAAe,EAAE,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,uBAAa,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE;gBACzE,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO;oBACL,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;oBAC1C,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC;oBACrD,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,qBAAqB;oBACvD,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK;oBAC/C,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe;iBAC/C,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,uCAAuC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACzC,uDAAuD;QACvD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO;YACL,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,GAAG,CAAC;gBACJ,MAAM,EAAE,SAAkB;gBAC1B,SAAS,EAAE,QAAiB;gBAC5B,eAAe,EAAE,CAAC,kCAAkC,CAAC;aACtD,CAAC,CAAC;YACH,gBAAgB,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,6BAA6B,CAAC,CAAC,CAAC,qBAAqB;YACpH,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,uBAAa,CAAC,eAAe,EAAE,CAAC;IACzC,CAAC;CACF;AAjED,wEAiEC;AAEY,QAAA,8BAA8B,GAAG,IAAI,8BAA8B,EAAE,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Enterprise Secret Management & Discovery Service (Simplified)
3
+ * Routes through authenticated backend API
4
+ *
5
+ * SECURITY-FIRST APPROACH:
6
+ * - Never stores actual secret values externally
7
+ * - Provides discovery, cataloging, and workflow management
8
+ * - Generates secure deployment templates
9
+ */
10
+ import { EnhancedSecretDetection } from './secret-detection';
11
+ export interface SecretDiscovery {
12
+ id: string;
13
+ discoveredBy: string;
14
+ teamId: string;
15
+ secretType: 'api_key' | 'password' | 'token' | 'connection_string' | 'url' | 'endpoint';
16
+ secretName: string;
17
+ description: string;
18
+ environment: 'production' | 'staging' | 'development' | 'test';
19
+ status: 'discovered' | 'approval_requested' | 'approved' | 'managed';
20
+ riskLevel: 'low' | 'medium' | 'high' | 'critical';
21
+ valuePreview: string;
22
+ discoveredAt: Date;
23
+ }
24
+ export declare class EnterpriseSecretManagerService {
25
+ constructor();
26
+ /**
27
+ * Process detected secrets - DISCOVERY ONLY, no storage of actual values
28
+ */
29
+ processDetectedSecrets(detections: EnhancedSecretDetection[], originalContent: string, context: {
30
+ authorId: string;
31
+ teamId: string;
32
+ }): Promise<SecretDiscovery[]>;
33
+ /**
34
+ * Create a secret discovery record - METADATA ONLY
35
+ */
36
+ private createSecretDiscovery;
37
+ /**
38
+ * SECURITY: Create safe preview of secret value
39
+ */
40
+ private createSecretPreview;
41
+ private generateSecretName;
42
+ private detectEnvironment;
43
+ private mapDetectionToSecretType;
44
+ private generateSecretDescription;
45
+ /**
46
+ * Check if service is available (authenticated backend API)
47
+ */
48
+ isAvailable(): Promise<boolean>;
49
+ }
50
+ export declare const enterpriseSecretManagerService: EnterpriseSecretManagerService;
51
+ //# sourceMappingURL=secret-manager-simple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-manager-simple.d.ts","sourceRoot":"","sources":["../../src/services/secret-manager-simple.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,mBAAmB,GAAG,KAAK,GAAG,UAAU,CAAC;IACxF,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IAC/D,MAAM,EAAE,YAAY,GAAG,oBAAoB,GAAG,UAAU,GAAG,SAAS,CAAC;IACrE,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,qBAAa,8BAA8B;;IAKzC;;OAEG;IACG,sBAAsB,CAC1B,UAAU,EAAE,uBAAuB,EAAE,EACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,eAAe,EAAE,CAAC;IAgB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,yBAAyB;IAOjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAYtC;AAED,eAAO,MAAM,8BAA8B,gCAAuC,CAAC"}