@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 @@
1
+ {"version":3,"file":"commit-learnings.js","sourceRoot":"","sources":["../../src/services/commit-learnings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export declare class EmbeddingStorageService {
2
+ private bucketName;
3
+ constructor();
4
+ /**
5
+ * Store embedding vector in S3
6
+ * Routes through authenticated backend API
7
+ * @param entryId - Unique entry identifier
8
+ * @param teamId - Team identifier for partitioning
9
+ * @param embedding - Vector embedding (1024 dimensions)
10
+ * @returns S3 key where embedding is stored
11
+ */
12
+ storeEmbedding(entryId: string, teamId: string, embedding: number[]): Promise<string>;
13
+ /**
14
+ * Retrieve embedding vector from S3
15
+ * Routes through authenticated backend API
16
+ * @param entryId - Unique entry identifier
17
+ * @param teamId - Team identifier
18
+ * @returns Vector embedding or null if not found
19
+ */
20
+ getEmbedding(entryId: string, teamId: string): Promise<number[] | null>;
21
+ /**
22
+ * Batch retrieve embeddings for multiple entries
23
+ * @param entries - Array of {entryId, teamId} objects
24
+ * @returns Map of entryId to embedding vector
25
+ */
26
+ batchGetEmbeddings(entries: Array<{
27
+ entryId: string;
28
+ teamId: string;
29
+ }>): Promise<Map<string, number[]>>;
30
+ /**
31
+ * Generate S3 key for embedding storage
32
+ * Uses team-based partitioning for better organization
33
+ */
34
+ private _getEmbeddingKey;
35
+ /**
36
+ * Delete embedding from S3
37
+ * Routes through authenticated backend API
38
+ */
39
+ deleteEmbedding(entryId: string, teamId: string): Promise<void>;
40
+ }
41
+ export declare const embeddingStorageService: EmbeddingStorageService;
42
+ //# sourceMappingURL=embedding-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-storage.d.ts","sourceRoot":"","sources":["../../src/services/embedding-storage.ts"],"names":[],"mappings":"AAMA,qBAAa,uBAAuB;IAClC,OAAO,CAAC,UAAU,CAAS;;IAM3B;;;;;;;OAOG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB3F;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAsB7E;;;;OAIG;IACG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAyB3G;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBtE;AAGD,eAAO,MAAM,uBAAuB,yBAAgC,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ // S3-based embedding storage service
3
+ // Routes through authenticated backend API
4
+ // Stores vector embeddings in S3 to reduce DynamoDB item size
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.embeddingStorageService = exports.EmbeddingStorageService = void 0;
7
+ const aws_api_1 = require("./aws-api");
8
+ class EmbeddingStorageService {
9
+ constructor() {
10
+ this.bucketName = process.env.EMBEDDINGS_BUCKET || `${process.env.PROJECT_NAME || 'today'}-embeddings`;
11
+ }
12
+ /**
13
+ * Store embedding vector in S3
14
+ * Routes through authenticated backend API
15
+ * @param entryId - Unique entry identifier
16
+ * @param teamId - Team identifier for partitioning
17
+ * @param embedding - Vector embedding (1024 dimensions)
18
+ * @returns S3 key where embedding is stored
19
+ */
20
+ async storeEmbedding(entryId, teamId, embedding) {
21
+ try {
22
+ if (!aws_api_1.awsApiService.isAuthenticated()) {
23
+ throw new Error('Authentication required to store embeddings');
24
+ }
25
+ const response = await aws_api_1.awsApiService.callAPI('/storage/embeddings', 'POST', {
26
+ entryId,
27
+ teamId,
28
+ embedding
29
+ });
30
+ if (response.success && response.data && response.data.key) {
31
+ console.log(`Stored embedding for entry ${entryId} at s3://${this.bucketName}/${response.data.key}`);
32
+ return response.data.key;
33
+ }
34
+ throw new Error(response.error || 'Failed to store embedding');
35
+ }
36
+ catch (error) {
37
+ console.error('Failed to store embedding in S3:', error);
38
+ throw new Error(`Failed to store embedding: ${error instanceof Error ? error.message : 'Unknown error'}`);
39
+ }
40
+ }
41
+ /**
42
+ * Retrieve embedding vector from S3
43
+ * Routes through authenticated backend API
44
+ * @param entryId - Unique entry identifier
45
+ * @param teamId - Team identifier
46
+ * @returns Vector embedding or null if not found
47
+ */
48
+ async getEmbedding(entryId, teamId) {
49
+ try {
50
+ if (!aws_api_1.awsApiService.isAuthenticated()) {
51
+ return null;
52
+ }
53
+ const response = await aws_api_1.awsApiService.callAPI(`/storage/embeddings?entryId=${entryId}&teamId=${teamId}`, 'GET');
54
+ if (response.success && response.data && response.data.embedding) {
55
+ return Array.isArray(response.data.embedding) ? response.data.embedding : null;
56
+ }
57
+ return null;
58
+ }
59
+ catch (error) {
60
+ console.warn(`Failed to retrieve embedding for entry ${entryId}:`, error);
61
+ return null;
62
+ }
63
+ }
64
+ /**
65
+ * Batch retrieve embeddings for multiple entries
66
+ * @param entries - Array of {entryId, teamId} objects
67
+ * @returns Map of entryId to embedding vector
68
+ */
69
+ async batchGetEmbeddings(entries) {
70
+ const results = new Map();
71
+ // Process in parallel with concurrency limit
72
+ const batchSize = 10;
73
+ for (let i = 0; i < entries.length; i += batchSize) {
74
+ const batch = entries.slice(i, i + batchSize);
75
+ const promises = batch.map(async ({ entryId, teamId }) => {
76
+ try {
77
+ const embedding = await this.getEmbedding(entryId, teamId);
78
+ if (embedding) {
79
+ results.set(entryId, embedding);
80
+ }
81
+ }
82
+ catch (error) {
83
+ console.warn(`Failed to fetch embedding for ${entryId}:`, error);
84
+ }
85
+ });
86
+ await Promise.all(promises);
87
+ }
88
+ return results;
89
+ }
90
+ /**
91
+ * Generate S3 key for embedding storage
92
+ * Uses team-based partitioning for better organization
93
+ */
94
+ _getEmbeddingKey(entryId, teamId) {
95
+ // Format: embeddings/{teamId}/{entryId}.json
96
+ // This provides good partitioning and makes it easy to list/delete by team
97
+ return `embeddings/${teamId}/${entryId}.json`;
98
+ }
99
+ /**
100
+ * Delete embedding from S3
101
+ * Routes through authenticated backend API
102
+ */
103
+ async deleteEmbedding(entryId, teamId) {
104
+ try {
105
+ if (!aws_api_1.awsApiService.isAuthenticated()) {
106
+ console.warn('Not authenticated for deleting embedding');
107
+ return;
108
+ }
109
+ await aws_api_1.awsApiService.callAPI('/storage/embeddings', 'DELETE', {
110
+ entryId,
111
+ teamId
112
+ });
113
+ console.log(`Deleted embedding for entry ${entryId}`);
114
+ }
115
+ catch (error) {
116
+ console.error('Failed to delete embedding from S3:', error);
117
+ // Don't throw - deletion failures shouldn't break the flow
118
+ }
119
+ }
120
+ }
121
+ exports.EmbeddingStorageService = EmbeddingStorageService;
122
+ // Singleton instance
123
+ exports.embeddingStorageService = new EmbeddingStorageService();
124
+ //# sourceMappingURL=embedding-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-storage.js","sourceRoot":"","sources":["../../src/services/embedding-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ExpertSuggestion } from '../types';
2
+ export declare class ExpertIdentificationEngine {
3
+ /**
4
+ * Find experts for a given topic using cloud-based analysis
5
+ */
6
+ findExperts(topic: string, options?: {
7
+ useCloud?: boolean;
8
+ limit?: number;
9
+ includeAvailability?: boolean;
10
+ }): Promise<ExpertSuggestion[]>;
11
+ /**
12
+ * Convert cloud expert results to local format
13
+ */
14
+ private convertCloudExpertsToSuggestions;
15
+ /**
16
+ * Generate a display name from user ID
17
+ */
18
+ private generateDisplayName;
19
+ }
20
+ export declare const expertEngine: ExpertIdentificationEngine;
21
+ //# sourceMappingURL=expert-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expert-engine.d.ts","sourceRoot":"","sources":["../../src/services/expert-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,qBAAa,0BAA0B;IACrC;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsBpC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAUxC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa5B;AAED,eAAO,MAAM,YAAY,4BAAmC,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expertEngine = exports.ExpertIdentificationEngine = void 0;
4
+ const aws_api_1 = require("./aws-api");
5
+ class ExpertIdentificationEngine {
6
+ /**
7
+ * Find experts for a given topic using cloud-based analysis
8
+ */
9
+ async findExperts(topic, options = {}) {
10
+ const { limit = 5 } = options;
11
+ // Always use cloud-based expert finding - no local fallback
12
+ try {
13
+ const cloudAvailable = await aws_api_1.awsApiService.isAvailable();
14
+ if (!cloudAvailable) {
15
+ throw new Error('Cloud services are not available. Please check your internet connection and AWS configuration.');
16
+ }
17
+ const cloudExperts = await aws_api_1.awsApiService.findExperts(topic);
18
+ if (cloudExperts.length === 0) {
19
+ throw new Error(`No experts found for "${topic}". This could mean no team members have shared knowledge on this topic yet.`);
20
+ }
21
+ return this.convertCloudExpertsToSuggestions(cloudExperts).slice(0, limit);
22
+ }
23
+ catch (error) {
24
+ console.error('Cloud expert finding failed:', error);
25
+ throw error; // Don't fall back to local - fail fast
26
+ }
27
+ }
28
+ /**
29
+ * Convert cloud expert results to local format
30
+ */
31
+ convertCloudExpertsToSuggestions(cloudExperts) {
32
+ return cloudExperts.map(expert => ({
33
+ userId: expert.userId,
34
+ name: expert.name || this.generateDisplayName(expert.userId),
35
+ relevantEntries: [], // Would need to fetch these separately
36
+ expertiseScore: expert.expertiseScore || 0,
37
+ lastActive: new Date(expert.lastActive || Date.now())
38
+ }));
39
+ }
40
+ /**
41
+ * Generate a display name from user ID
42
+ */
43
+ generateDisplayName(userId) {
44
+ // In a real app, this would fetch from a user service
45
+ // For demo, generate friendly names
46
+ const names = [
47
+ 'Alex Chen', 'Sarah Rodriguez', 'Mike Johnson', 'Emily Davis',
48
+ 'David Kim', 'Lisa Wang', 'James Wilson', 'Maria Garcia',
49
+ 'Robert Taylor', 'Jennifer Lee', 'Michael Brown', 'Jessica Miller'
50
+ ];
51
+ // Use a simple hash to consistently map user IDs to names
52
+ const hash = userId.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
53
+ return names[hash % names.length];
54
+ }
55
+ }
56
+ exports.ExpertIdentificationEngine = ExpertIdentificationEngine;
57
+ exports.expertEngine = new ExpertIdentificationEngine();
58
+ //# sourceMappingURL=expert-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expert-engine.js","sourceRoot":"","sources":["../../src/services/expert-engine.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAE1C,MAAa,0BAA0B;IACrC;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAIpC,EAAE;QACJ,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QAE9B,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,uBAAa,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;YACpH,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,uBAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,6EAA6E,CAAC,CAAC;YAC/H,CAAC;YAED,OAAO,IAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC,CAAC,uCAAuC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gCAAgC,CAAC,YAAmB;QAC1D,OAAO,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5D,eAAe,EAAE,EAAE,EAAE,uCAAuC;YAC5D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAC1C,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;SACtD,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAc;QACxC,sDAAsD;QACtD,oCAAoC;QACpC,MAAM,KAAK,GAAG;YACZ,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa;YAC7D,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc;YACxD,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB;SACnE,CAAC;QAEF,0DAA0D;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AA3DD,gEA2DC;AAEY,QAAA,YAAY,GAAG,IAAI,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { CompetitionLearningEntry } from '../types';
2
+ export interface OnboardingPath {
3
+ id: string;
4
+ userId: string;
5
+ teamId: string;
6
+ createdAt: Date;
7
+ learningSteps: LearningStep[];
8
+ estimatedTimeToProductivity: number;
9
+ completionPercentage: number;
10
+ knowledgeGaps: KnowledgeGap[];
11
+ suggestedExperts: ExpertSuggestion[];
12
+ }
13
+ export interface LearningStep {
14
+ id: string;
15
+ title: string;
16
+ description: string;
17
+ priority: 'high' | 'medium' | 'low';
18
+ estimatedTime: number;
19
+ relatedEntries: string[];
20
+ suggestedExperts: string[];
21
+ completed: boolean;
22
+ completedAt?: Date;
23
+ category: 'technical' | 'process' | 'tools' | 'culture';
24
+ }
25
+ export interface KnowledgeGap {
26
+ topic: string;
27
+ importance: number;
28
+ suggestedLearning: string[];
29
+ expertContacts: string[];
30
+ estimatedLearningTime: number;
31
+ }
32
+ export interface ExpertSuggestion {
33
+ userId: string;
34
+ name: string;
35
+ expertise: string[];
36
+ relevantKnowledge: string[];
37
+ availability: 'high' | 'medium' | 'low';
38
+ connectionReason: string;
39
+ }
40
+ export interface OnboardingProgress {
41
+ userId: string;
42
+ teamId: string;
43
+ startDate: Date;
44
+ currentDay: number;
45
+ completedSteps: number;
46
+ totalSteps: number;
47
+ timeToProductivity: number;
48
+ productivityScore: number;
49
+ knowledgeAcquired: number;
50
+ expertConnections: number;
51
+ questionsAsked: number;
52
+ questionsAnswered: number;
53
+ }
54
+ export interface OnboardingMetrics {
55
+ averageTimeToProductivity: number;
56
+ completionRate: number;
57
+ knowledgeRetention: number;
58
+ expertEngagement: number;
59
+ accelerationPercentage: number;
60
+ }
61
+ export declare class OnboardingAcceleratorService {
62
+ /**
63
+ * Check if the onboarding accelerator service is available
64
+ */
65
+ isAvailable(): Promise<boolean>;
66
+ /**
67
+ * Generate a personalized learning path for a new team member
68
+ */
69
+ generateLearningPath(userId: string, teamId: string, userProfile?: {
70
+ experience: 'junior' | 'mid' | 'senior';
71
+ technologies: string[];
72
+ role: string;
73
+ goals: string[];
74
+ }): Promise<OnboardingPath>;
75
+ /**
76
+ * Track progress for an onboarding user
77
+ */
78
+ trackProgress(userId: string, _completedStepId: string, _learningEntry?: CompetitionLearningEntry): Promise<OnboardingProgress>;
79
+ /**
80
+ * Generate onboarding completion report
81
+ */
82
+ generateCompletionReport(userId: string): Promise<{
83
+ progress: OnboardingProgress;
84
+ metrics: OnboardingMetrics;
85
+ recommendations: string[];
86
+ accelerationAchieved: number;
87
+ }>;
88
+ /**
89
+ * Analyze team knowledge to identify key learning areas
90
+ */
91
+ private analyzeTeamKnowledge;
92
+ /**
93
+ * Generate learning steps based on team knowledge analysis
94
+ */
95
+ private generateLearningSteps;
96
+ /**
97
+ * Identify knowledge gaps for new team member
98
+ */
99
+ private identifyKnowledgeGaps;
100
+ /**
101
+ * Find relevant experts for onboarding
102
+ */
103
+ private findRelevantExperts;
104
+ /**
105
+ * Calculate estimated time to productivity
106
+ */
107
+ private calculateTimeToProductivity;
108
+ /**
109
+ * Calculate team-wide onboarding metrics
110
+ */
111
+ private calculateTeamOnboardingMetrics;
112
+ /**
113
+ * Generate AI-powered onboarding recommendations
114
+ */
115
+ private generateOnboardingRecommendations;
116
+ }
117
+ export declare const onboardingAcceleratorService: OnboardingAcceleratorService;
118
+ //# sourceMappingURL=onboarding-accelerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-accelerator.d.ts","sourceRoot":"","sources":["../../src/services/onboarding-accelerator.ts"],"names":[],"mappings":"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"}