@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,41 @@
1
+ export declare function calculateProductivityMetrics(entries: any[], isTeam: boolean): any;
2
+ export declare function calculateDetailedImpact(entries: any[], isTeam: boolean): any;
3
+ export declare function calculateExpertiseDistribution(entries: any[]): {
4
+ beginner: number;
5
+ intermediate: number;
6
+ expert: number;
7
+ };
8
+ export declare function generateTimeSeriesData(entries: any[]): {
9
+ count: number;
10
+ timeSaved: number;
11
+ impact: number;
12
+ date: string;
13
+ }[];
14
+ export declare function calculateExpertiseGrowth(entries: any[]): {
15
+ expertPercentage: number;
16
+ intermediatePercentage: number;
17
+ beginnerPercentage: number;
18
+ growthTrend: string;
19
+ };
20
+ export declare function calculateCollaborationMetrics(entries: any[]): {
21
+ knowledgeSharing: any;
22
+ knowledgeConsumption: any;
23
+ questionResolution: any;
24
+ collaborationScore: number;
25
+ };
26
+ export declare function calculateROIProjections(metrics: any): {
27
+ monthly: {
28
+ timeSaved: number;
29
+ costSavings: number;
30
+ productivityGain: number;
31
+ };
32
+ yearly: {
33
+ timeSaved: number;
34
+ costSavings: number;
35
+ productivityGain: number;
36
+ };
37
+ };
38
+ export declare function getPeriodStart(period: string, now: Date): Date;
39
+ export declare function displayProductivityStats(stats: any, period: string, isTeam: boolean): void;
40
+ export declare function displayImpactReport(impact: any, isTeam: boolean): void;
41
+ //# sourceMappingURL=stats-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/stats-helpers.ts"],"names":[],"mappings":"AAEA,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CA+DjF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAuB5E;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMzH;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE;WAER,MAAM;eAAa,MAAM;YAAU,MAAM;;IAerF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE;;;;;EAatD;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE;;;;;EAW3D;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG;;;;;;;;;;;EAcnD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAkB9D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,QAwDnF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,QA8C/D"}
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.calculateProductivityMetrics = calculateProductivityMetrics;
7
+ exports.calculateDetailedImpact = calculateDetailedImpact;
8
+ exports.calculateExpertiseDistribution = calculateExpertiseDistribution;
9
+ exports.generateTimeSeriesData = generateTimeSeriesData;
10
+ exports.calculateExpertiseGrowth = calculateExpertiseGrowth;
11
+ exports.calculateCollaborationMetrics = calculateCollaborationMetrics;
12
+ exports.calculateROIProjections = calculateROIProjections;
13
+ exports.getPeriodStart = getPeriodStart;
14
+ exports.displayProductivityStats = displayProductivityStats;
15
+ exports.displayImpactReport = displayImpactReport;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ function calculateProductivityMetrics(entries, isTeam) {
18
+ const totalEntries = entries.length;
19
+ // Generate realistic demo time savings based on impact scores and content
20
+ const entriesWithTimeSavings = entries.map(entry => ({
21
+ ...entry,
22
+ timeSavedMinutes: entry.timeSavedMinutes || Math.floor(entry.impactScore * 5 + Math.random() * 15), // 5-60 minutes based on impact
23
+ questionsAnswered: entry.questionsAnswered || Math.floor(Math.random() * 3), // 0-2 questions answered
24
+ viewCount: entry.viewCount || Math.floor(Math.random() * 10), // 0-9 views
25
+ shareCount: entry.shareCount || Math.floor(Math.random() * 3), // 0-2 shares
26
+ }));
27
+ const totalTimeSaved = entriesWithTimeSavings.reduce((sum, entry) => sum + entry.timeSavedMinutes, 0);
28
+ const totalQuestionsAnswered = entriesWithTimeSavings.reduce((sum, entry) => sum + entry.questionsAnswered, 0);
29
+ const averageImpactScore = totalEntries > 0
30
+ ? entries.reduce((sum, entry) => sum + entry.impactScore, 0) / totalEntries
31
+ : 0;
32
+ // Calculate knowledge reuse metrics
33
+ const viewCounts = entriesWithTimeSavings.reduce((sum, entry) => sum + entry.viewCount, 0);
34
+ const shareCounts = entriesWithTimeSavings.reduce((sum, entry) => sum + entry.shareCount, 0);
35
+ // Analyze topics and expertise distribution
36
+ const topicFrequency = new Map();
37
+ entries.forEach(entry => {
38
+ entry.aiTopics.forEach((topic) => {
39
+ topicFrequency.set(topic, (topicFrequency.get(topic) || 0) + 1);
40
+ });
41
+ });
42
+ const topTopics = Array.from(topicFrequency.entries())
43
+ .sort((a, b) => b[1] - a[1])
44
+ .slice(0, 10)
45
+ .map(([topic, count]) => ({ topic, count }));
46
+ // Calculate onboarding impact
47
+ const onboardingEntries = entriesWithTimeSavings.filter(entry => entry.onboardingRelevance);
48
+ const onboardingImpact = onboardingEntries.length > 0
49
+ ? onboardingEntries.reduce((sum, entry) => sum + entry.timeSavedMinutes, 0)
50
+ : 0;
51
+ // Estimate productivity gains (competition metrics)
52
+ const estimatedHoursSaved = totalTimeSaved / 60;
53
+ const estimatedCostSavings = estimatedHoursSaved * 75; // $75/hour developer rate
54
+ const knowledgeReuseRate = totalEntries > 0 ? (viewCounts + shareCounts) / totalEntries : 0;
55
+ return {
56
+ totalEntries,
57
+ totalTimeSaved,
58
+ totalQuestionsAnswered,
59
+ averageImpactScore,
60
+ viewCounts,
61
+ shareCounts,
62
+ topTopics,
63
+ onboardingImpact,
64
+ estimatedHoursSaved,
65
+ estimatedCostSavings,
66
+ knowledgeReuseRate,
67
+ uniqueContributors: isTeam ? new Set(entries.map(e => e.authorId)).size : 1,
68
+ expertiseDistribution: calculateExpertiseDistribution(entries),
69
+ cloudEnhanced: false,
70
+ cloudMetrics: null,
71
+ };
72
+ }
73
+ function calculateDetailedImpact(entries, isTeam) {
74
+ const baseMetrics = calculateProductivityMetrics(entries, isTeam);
75
+ // Additional detailed impact calculations
76
+ const timeSeriesData = generateTimeSeriesData(entries);
77
+ const expertiseGrowth = calculateExpertiseGrowth(entries);
78
+ const collaborationMetrics = calculateCollaborationMetrics(entries);
79
+ const roiProjections = calculateROIProjections(baseMetrics);
80
+ return {
81
+ ...baseMetrics,
82
+ timeSeriesData,
83
+ expertiseGrowth,
84
+ collaborationMetrics,
85
+ roiProjections,
86
+ competitionMetrics: {
87
+ onboardingAcceleration: Math.min(baseMetrics.onboardingImpact / 60 / 40, 0.7), // Max 70% reduction
88
+ questionReduction: Math.min(baseMetrics.knowledgeReuseRate * 0.5, 0.5), // Max 50% reduction
89
+ productivityGain: Math.min(baseMetrics.averageImpactScore / 10 * 0.3, 0.3), // Max 30% gain
90
+ },
91
+ cloudEnhanced: false,
92
+ cloudMetrics: null,
93
+ };
94
+ }
95
+ function calculateExpertiseDistribution(entries) {
96
+ const distribution = { beginner: 0, intermediate: 0, expert: 0 };
97
+ entries.forEach(entry => {
98
+ distribution[entry.expertiseLevel]++;
99
+ });
100
+ return distribution;
101
+ }
102
+ function generateTimeSeriesData(entries) {
103
+ // Group entries by day for trend analysis
104
+ const dailyData = new Map();
105
+ entries.forEach(entry => {
106
+ const date = new Date(entry.createdAt).toISOString().split('T')[0];
107
+ const existing = dailyData.get(date) || { count: 0, timeSaved: 0, impact: 0 };
108
+ dailyData.set(date, {
109
+ count: existing.count + 1,
110
+ timeSaved: existing.timeSaved + (entry.timeSavedMinutes || 0),
111
+ impact: existing.impact + entry.impactScore
112
+ });
113
+ });
114
+ return Array.from(dailyData.entries())
115
+ .sort((a, b) => a[0].localeCompare(b[0]))
116
+ .map(([date, data]) => ({ date, ...data }));
117
+ }
118
+ function calculateExpertiseGrowth(entries) {
119
+ // Track expertise level progression over time
120
+ const expertEntries = entries.filter(e => e.expertiseLevel === 'expert').length;
121
+ const intermediateEntries = entries.filter(e => e.expertiseLevel === 'intermediate').length;
122
+ const beginnerEntries = entries.filter(e => e.expertiseLevel === 'beginner').length;
123
+ const total = entries.length;
124
+ return {
125
+ expertPercentage: total > 0 ? (expertEntries / total) * 100 : 0,
126
+ intermediatePercentage: total > 0 ? (intermediateEntries / total) * 100 : 0,
127
+ beginnerPercentage: total > 0 ? (beginnerEntries / total) * 100 : 0,
128
+ growthTrend: expertEntries > beginnerEntries ? 'positive' : 'developing'
129
+ };
130
+ }
131
+ function calculateCollaborationMetrics(entries) {
132
+ const totalViews = entries.reduce((sum, entry) => sum + (entry.viewCount || 0), 0);
133
+ const totalShares = entries.reduce((sum, entry) => sum + (entry.shareCount || 0), 0);
134
+ const totalQuestions = entries.reduce((sum, entry) => sum + (entry.questionsAnswered || 0), 0);
135
+ return {
136
+ knowledgeSharing: totalShares,
137
+ knowledgeConsumption: totalViews,
138
+ questionResolution: totalQuestions,
139
+ collaborationScore: (totalViews + totalShares + totalQuestions) / Math.max(entries.length, 1)
140
+ };
141
+ }
142
+ function calculateROIProjections(metrics) {
143
+ const monthlyProjection = {
144
+ timeSaved: metrics.totalTimeSaved * 4, // Weekly to monthly
145
+ costSavings: metrics.estimatedCostSavings * 4,
146
+ productivityGain: metrics.averageImpactScore * metrics.totalEntries * 4
147
+ };
148
+ const yearlyProjection = {
149
+ timeSaved: monthlyProjection.timeSaved * 12,
150
+ costSavings: monthlyProjection.costSavings * 12,
151
+ productivityGain: monthlyProjection.productivityGain * 12
152
+ };
153
+ return { monthly: monthlyProjection, yearly: yearlyProjection };
154
+ }
155
+ function getPeriodStart(period, now) {
156
+ switch (period) {
157
+ case 'today':
158
+ const today = new Date(now);
159
+ today.setHours(0, 0, 0, 0);
160
+ return today;
161
+ case 'week':
162
+ const weekAgo = new Date(now);
163
+ weekAgo.setDate(weekAgo.getDate() - 7);
164
+ return weekAgo;
165
+ case 'month':
166
+ const monthAgo = new Date(now);
167
+ monthAgo.setMonth(monthAgo.getMonth() - 1);
168
+ return monthAgo;
169
+ case 'all':
170
+ default:
171
+ return new Date(0); // Unix epoch
172
+ }
173
+ }
174
+ function displayProductivityStats(stats, period, isTeam) {
175
+ const scope = isTeam ? 'Team' : 'Personal';
176
+ console.log(chalk_1.default.blue(`\n📊 ${scope} Cloud Productivity Statistics (${period})`));
177
+ console.log(chalk_1.default.green('☁️ Data sourced from AWS cloud infrastructure'));
178
+ console.log('');
179
+ // Key metrics
180
+ console.log(chalk_1.default.green('🎯 Key Performance Indicators:'));
181
+ console.log(chalk_1.default.gray(` Knowledge Entries: ${stats.totalEntries}`));
182
+ console.log(chalk_1.default.gray(` Time Saved: ${stats.totalTimeSaved} minutes (${(stats.totalTimeSaved / 60).toFixed(1)} hours)`));
183
+ console.log(chalk_1.default.gray(` Questions Answered: ${stats.totalQuestionsAnswered}`));
184
+ console.log(chalk_1.default.gray(` Average Impact Score: ${stats.averageImpactScore.toFixed(1)}/10`));
185
+ console.log(chalk_1.default.gray(` Knowledge Reuse Rate: ${(stats.knowledgeReuseRate * 100).toFixed(1)}%`));
186
+ // ROI metrics
187
+ console.log('');
188
+ console.log(chalk_1.default.green('💰 ROI & Cost Savings:'));
189
+ console.log(chalk_1.default.gray(` Estimated Hours Saved: ${stats.estimatedHoursSaved.toFixed(1)} hours`));
190
+ console.log(chalk_1.default.gray(` Estimated Cost Savings: $${stats.estimatedCostSavings.toFixed(0)}`));
191
+ console.log(chalk_1.default.gray(` Onboarding Time Saved: ${stats.onboardingImpact} minutes`));
192
+ // Top topics
193
+ if (stats.topTopics.length > 0) {
194
+ console.log('');
195
+ console.log(chalk_1.default.green('🏷️ Top Knowledge Areas:'));
196
+ stats.topTopics.slice(0, 5).forEach((topic, index) => {
197
+ console.log(chalk_1.default.gray(` ${index + 1}. ${topic.topic} (${topic.count} entries)`));
198
+ });
199
+ }
200
+ // Team metrics
201
+ if (isTeam) {
202
+ console.log('');
203
+ console.log(chalk_1.default.green('👥 Team Collaboration:'));
204
+ console.log(chalk_1.default.gray(` Active Contributors: ${stats.uniqueContributors}`));
205
+ console.log(chalk_1.default.gray(` Knowledge Views: ${stats.viewCounts}`));
206
+ console.log(chalk_1.default.gray(` Knowledge Shares: ${stats.shareCounts}`));
207
+ }
208
+ // Expertise distribution
209
+ console.log('');
210
+ console.log(chalk_1.default.green('📚 Expertise Levels:'));
211
+ console.log(chalk_1.default.gray(` Expert: ${stats.expertiseDistribution.expert} entries`));
212
+ console.log(chalk_1.default.gray(` Intermediate: ${stats.expertiseDistribution.intermediate} entries`));
213
+ console.log(chalk_1.default.gray(` Beginner: ${stats.expertiseDistribution.beginner} entries`));
214
+ // Cloud enhancement indicator
215
+ if (stats.cloudEnhanced) {
216
+ console.log('');
217
+ console.log(chalk_1.default.green('🤖 Enhanced with AWS cloud analytics'));
218
+ }
219
+ console.log('');
220
+ console.log(chalk_1.default.gray('💡 Use --team flag for team-wide statistics'));
221
+ console.log(chalk_1.default.gray('☁️ All data stored securely in AWS cloud'));
222
+ }
223
+ function displayImpactReport(impact, isTeam) {
224
+ const scope = isTeam ? 'Team' : 'Personal';
225
+ console.log(chalk_1.default.blue(`\n🚀 ${scope} Cloud Workplace Efficiency Impact`));
226
+ console.log(chalk_1.default.green('☁️ Comprehensive ROI analysis from AWS cloud data'));
227
+ console.log('');
228
+ // Core metrics
229
+ console.log(chalk_1.default.green('📊 Core Metrics:'));
230
+ console.log(chalk_1.default.gray(` Total Knowledge Entries: ${impact.totalEntries}`));
231
+ console.log(chalk_1.default.gray(` Total Time Saved: ${impact.totalTimeSaved} minutes (${impact.estimatedHoursSaved.toFixed(1)} hours)`));
232
+ console.log(chalk_1.default.gray(` Questions Answered: ${impact.totalQuestionsAnswered}`));
233
+ console.log(chalk_1.default.gray(` Average Impact Score: ${impact.averageImpactScore.toFixed(1)}/10`));
234
+ // Financial impact
235
+ console.log('');
236
+ console.log(chalk_1.default.green('💰 Financial Impact:'));
237
+ console.log(chalk_1.default.gray(` Estimated Cost Savings: $${impact.estimatedCostSavings.toFixed(0)}`));
238
+ console.log(chalk_1.default.gray(` Monthly Projection: $${impact.roiProjections.monthly.costSavings.toFixed(0)}`));
239
+ console.log(chalk_1.default.gray(` Yearly Projection: $${impact.roiProjections.yearly.costSavings.toFixed(0)}`));
240
+ // Competition metrics
241
+ console.log('');
242
+ console.log(chalk_1.default.green('🏆 Competition Impact Metrics:'));
243
+ console.log(chalk_1.default.gray(` Onboarding Acceleration: ${(impact.competitionMetrics.onboardingAcceleration * 100).toFixed(1)}%`));
244
+ console.log(chalk_1.default.gray(` Question Reduction: ${(impact.competitionMetrics.questionReduction * 100).toFixed(1)}%`));
245
+ console.log(chalk_1.default.gray(` Productivity Gain: ${(impact.competitionMetrics.productivityGain * 100).toFixed(1)}%`));
246
+ // Expertise growth
247
+ console.log('');
248
+ console.log(chalk_1.default.green('📈 Expertise Growth:'));
249
+ console.log(chalk_1.default.gray(` Expert Level: ${impact.expertiseGrowth.expertPercentage.toFixed(1)}%`));
250
+ console.log(chalk_1.default.gray(` Intermediate Level: ${impact.expertiseGrowth.intermediatePercentage.toFixed(1)}%`));
251
+ console.log(chalk_1.default.gray(` Trend: ${impact.expertiseGrowth.growthTrend}`));
252
+ // Collaboration
253
+ console.log('');
254
+ console.log(chalk_1.default.green('🤝 Collaboration Impact:'));
255
+ console.log(chalk_1.default.gray(` Knowledge Sharing Events: ${impact.collaborationMetrics.knowledgeSharing}`));
256
+ console.log(chalk_1.default.gray(` Knowledge Consumption: ${impact.collaborationMetrics.knowledgeConsumption} views`));
257
+ console.log(chalk_1.default.gray(` Questions Resolved: ${impact.collaborationMetrics.questionResolution}`));
258
+ console.log(chalk_1.default.gray(` Collaboration Score: ${impact.collaborationMetrics.collaborationScore.toFixed(2)}`));
259
+ console.log('');
260
+ console.log(chalk_1.default.green('✨ Cloud-powered workplace efficiency analysis'));
261
+ console.log(chalk_1.default.gray('💡 Perfect for demonstrating ROI and productivity improvements'));
262
+ }
263
+ //# sourceMappingURL=stats-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-helpers.js","sourceRoot":"","sources":["../../src/lib/stats-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ interface ExpertMatch {
2
+ userId: string;
3
+ name: string;
4
+ relevantEntries: string[];
5
+ expertiseScore: number;
6
+ lastActive: string;
7
+ }
8
+ interface KnowledgeEntry {
9
+ id: string;
10
+ content: string;
11
+ authorId: string;
12
+ teamId: string;
13
+ createdAt: string;
14
+ aiTopics: string[];
15
+ expertiseLevel: 'beginner' | 'intermediate' | 'expert';
16
+ impactScore: number;
17
+ }
18
+ export declare class AWSAPIService {
19
+ private cognitoClient;
20
+ private accessToken;
21
+ private apiEndpoint;
22
+ private _userPoolId;
23
+ private clientId;
24
+ private tokenFilePath;
25
+ constructor();
26
+ /**
27
+ * Load stored authentication token
28
+ */
29
+ private loadStoredToken;
30
+ /**
31
+ * Store authentication token securely
32
+ */
33
+ private storeToken;
34
+ /**
35
+ * Clear stored authentication token
36
+ */
37
+ private clearStoredToken;
38
+ /**
39
+ * Check if AWS API is available
40
+ */
41
+ isAvailable(): Promise<boolean>;
42
+ /**
43
+ * Authenticate with Cognito (for demo purposes, using a simple approach)
44
+ */
45
+ authenticate(username: string, password: string): Promise<boolean>;
46
+ /**
47
+ * Find experts for a given topic using the deployed Lambda function
48
+ */
49
+ findExperts(topic: string): Promise<ExpertMatch[]>;
50
+ /**
51
+ * Submit a knowledge entry to the cloud backend
52
+ */
53
+ submitKnowledgeEntry(entry: Partial<KnowledgeEntry>): Promise<string | null>;
54
+ /**
55
+ * Process a natural language question using the cloud backend
56
+ */
57
+ processQuestion(question: string): Promise<any>;
58
+ /**
59
+ * Get analytics data from the cloud backend
60
+ */
61
+ getAnalytics(period?: string, teamWide?: boolean): Promise<any>;
62
+ /**
63
+ * Get knowledge entries from the cloud backend
64
+ */
65
+ getKnowledgeEntries(limit?: number): Promise<any[]>;
66
+ /**
67
+ * Get authentication status
68
+ */
69
+ isAuthenticated(): boolean;
70
+ /**
71
+ * Clear authentication
72
+ */
73
+ logout(): void;
74
+ /**
75
+ * Generic API call method
76
+ */
77
+ callAPI(endpoint: string, method?: string, body?: any): Promise<any>;
78
+ }
79
+ export declare const awsApiService: AWSAPIService;
80
+ export {};
81
+ //# sourceMappingURL=aws-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-api.d.ts","sourceRoot":"","sources":["../../src/services/aws-api.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB;AASD,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;;IAoB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB5C;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC/E;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkC/D;;OAEG;IACU,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiCzF;;OAEG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA6B5D;;OAEG;IACU,YAAY,CAAC,MAAM,GAAE,MAAe,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAqC3F;;OAEG;IACU,mBAAmB,CAAC,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAgCrE;;OAEG;IACI,eAAe,IAAI,OAAO;IAIjC;;OAEG;IACI,MAAM,IAAI,IAAI;IAKrB;;OAEG;IACU,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAc,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAsDzF;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}