@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,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createKnowledgeBaseExport = createKnowledgeBaseExport;
4
+ exports.convertToCSV = convertToCSV;
5
+ exports.convertToMarkdown = convertToMarkdown;
6
+ exports.exportImpactData = exportImpactData;
7
+ const vector_embeddings_1 = require("../services/vector-embeddings");
8
+ const config_1 = require("../config");
9
+ async function createKnowledgeBaseExport(entries, options) {
10
+ const exportData = {
11
+ version: '1.0.0',
12
+ metadata: {
13
+ exportedAt: new Date().toISOString(),
14
+ totalEntries: entries.length,
15
+ teamId: config_1.configManager.getConfig().teamId || 'exported_team',
16
+ embeddingModel: 'amazon.titan-embed-text-v2:0',
17
+ format: options.format
18
+ },
19
+ entries: []
20
+ };
21
+ // Process entries for export
22
+ for (const entry of entries) {
23
+ const exportEntry = {
24
+ id: entry.id,
25
+ content: entry.content,
26
+ authorId: entry.authorId,
27
+ teamId: entry.teamId,
28
+ createdAt: entry.createdAt,
29
+ aiTopics: entry.aiTopics || [],
30
+ expertiseLevel: entry.expertiseLevel || 'intermediate',
31
+ impactScore: entry.impactScore || 0,
32
+ metadata: {
33
+ helpfulnessRating: entry.helpfulnessRating || 0,
34
+ timeSavedMinutes: entry.timeSavedMinutes || 0,
35
+ viewCount: entry.viewCount || 0,
36
+ shareCount: entry.shareCount || 0,
37
+ questionsAnswered: entry.questionsAnswered || 0,
38
+ onboardingRelevance: entry.onboardingRelevance || false
39
+ }
40
+ };
41
+ // Include embeddings if requested and format is JSON
42
+ if (options.includeEmbeddings && options.format === 'json') {
43
+ try {
44
+ // For demo purposes, generate embedding on-the-fly
45
+ // In production, these would be retrieved from storage
46
+ const embedding = await vector_embeddings_1.vectorEmbeddingService.generateEmbedding(entry.content);
47
+ exportEntry.embedding = embedding;
48
+ }
49
+ catch (error) {
50
+ console.warn(`Failed to generate embedding for export entry ${entry.id}:`, error);
51
+ }
52
+ }
53
+ exportData.entries.push(exportEntry);
54
+ }
55
+ return exportData;
56
+ }
57
+ function convertToCSV(entries) {
58
+ if (entries.length === 0)
59
+ return '';
60
+ // CSV headers
61
+ const headers = [
62
+ 'ID', 'Content', 'Author', 'Team', 'Created', 'Topics', 'Expertise Level',
63
+ 'Impact Score', 'Helpfulness', 'Time Saved (min)', 'Views', 'Shares',
64
+ 'Questions Answered', 'Onboarding Relevant'
65
+ ];
66
+ const csvRows = [headers.join(',')];
67
+ // Convert entries to CSV rows
68
+ entries.forEach(entry => {
69
+ const row = [
70
+ `"${entry.id || ''}"`,
71
+ `"${(entry.content || '').replace(/"/g, '""')}"`, // Escape quotes
72
+ `"${entry.authorId || ''}"`,
73
+ `"${entry.teamId || ''}"`,
74
+ `"${entry.createdAt || ''}"`,
75
+ `"${(entry.aiTopics || []).join('; ')}"`,
76
+ `"${entry.expertiseLevel || ''}"`,
77
+ entry.impactScore || 0,
78
+ entry.metadata?.helpfulnessRating || 0,
79
+ entry.metadata?.timeSavedMinutes || 0,
80
+ entry.metadata?.viewCount || 0,
81
+ entry.metadata?.shareCount || 0,
82
+ entry.metadata?.questionsAnswered || 0,
83
+ entry.metadata?.onboardingRelevance ? 'Yes' : 'No'
84
+ ];
85
+ csvRows.push(row.join(','));
86
+ });
87
+ return csvRows.join('\n');
88
+ }
89
+ function convertToMarkdown(exportData) {
90
+ const { metadata, entries } = exportData;
91
+ let markdown = `# Knowledge Base Export\n\n`;
92
+ markdown += `**Exported:** ${new Date(metadata.exportedAt).toLocaleString()}\n`;
93
+ markdown += `**Total Entries:** ${metadata.totalEntries}\n`;
94
+ markdown += `**Team:** ${metadata.teamId}\n`;
95
+ markdown += `**Embedding Model:** ${metadata.embeddingModel}\n\n`;
96
+ markdown += `---\n\n`;
97
+ entries.forEach((entry, index) => {
98
+ markdown += `## Entry ${index + 1}\n\n`;
99
+ markdown += `**Author:** ${entry.authorId}\n`;
100
+ markdown += `**Created:** ${new Date(entry.createdAt).toLocaleString()}\n`;
101
+ markdown += `**Topics:** ${entry.aiTopics.join(', ')}\n`;
102
+ markdown += `**Expertise Level:** ${entry.expertiseLevel}\n`;
103
+ markdown += `**Impact Score:** ${entry.impactScore}/10\n\n`;
104
+ markdown += `### Content\n\n`;
105
+ markdown += `${entry.content}\n\n`;
106
+ markdown += `---\n\n`;
107
+ markdown += `**Time Saved:** ${entry.metadata.timeSavedMinutes} minutes\n`;
108
+ markdown += `**Views:** ${entry.metadata.viewCount}\n`;
109
+ markdown += `**Shares:** ${entry.metadata.shareCount}\n`;
110
+ markdown += `**Questions Answered:** ${entry.metadata.questionsAnswered}\n`;
111
+ markdown += `**Onboarding Relevant:** ${entry.metadata.onboardingRelevance ? 'Yes' : 'No'}\n\n`;
112
+ });
113
+ return markdown;
114
+ }
115
+ function exportImpactData(impact, filename, format) {
116
+ const fs = require('fs');
117
+ if (format === 'json') {
118
+ fs.writeFileSync(filename, JSON.stringify(impact, null, 2));
119
+ }
120
+ else if (format === 'csv') {
121
+ const csvData = [
122
+ 'Metric,Value',
123
+ `Total Entries,${impact.totalEntries}`,
124
+ `Time Saved (minutes),${impact.totalTimeSaved}`,
125
+ `Time Saved (hours),${impact.estimatedHoursSaved.toFixed(1)}`,
126
+ `Cost Savings,$${impact.estimatedCostSavings.toFixed(0)}`,
127
+ `Questions Answered,${impact.totalQuestionsAnswered}`,
128
+ `Average Impact Score,${impact.averageImpactScore.toFixed(1)}`,
129
+ `Knowledge Reuse Rate,${(impact.knowledgeReuseRate * 100).toFixed(1)}%`,
130
+ `Onboarding Acceleration,${(impact.competitionMetrics.onboardingAcceleration * 100).toFixed(1)}%`,
131
+ `Question Reduction,${(impact.competitionMetrics.questionReduction * 100).toFixed(1)}%`,
132
+ `Productivity Gain,${(impact.competitionMetrics.productivityGain * 100).toFixed(1)}%`
133
+ ].join('\n');
134
+ fs.writeFileSync(filename, csvData);
135
+ }
136
+ }
137
+ //# sourceMappingURL=export-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-helpers.js","sourceRoot":"","sources":["../../src/lib/export-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function parseImportFile(fileContent: string, format: string): Promise<any>;
2
+ export declare function parseCSVImport(csvContent: string): any;
3
+ export declare function parseCSVLine(line: string): string[];
4
+ export declare function parseMarkdownImport(markdownContent: string): any;
5
+ //# sourceMappingURL=import-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/import-helpers.ts"],"names":[],"mappings":"AAAA,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAkBvF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAgEtD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA8BnD;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,GAAG,CAgEhE"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseImportFile = parseImportFile;
4
+ exports.parseCSVImport = parseCSVImport;
5
+ exports.parseCSVLine = parseCSVLine;
6
+ exports.parseMarkdownImport = parseMarkdownImport;
7
+ async function parseImportFile(fileContent, format) {
8
+ if (format === 'json') {
9
+ try {
10
+ const parsed = JSON.parse(fileContent);
11
+ return {
12
+ entries: parsed.entries || [],
13
+ metadata: parsed.metadata || { totalEntries: parsed.entries?.length || 0 }
14
+ };
15
+ }
16
+ catch (error) {
17
+ throw new Error('Invalid JSON format');
18
+ }
19
+ }
20
+ else if (format === 'csv') {
21
+ return parseCSVImport(fileContent);
22
+ }
23
+ else if (format === 'markdown') {
24
+ return parseMarkdownImport(fileContent);
25
+ }
26
+ else {
27
+ throw new Error(`Unsupported import format: ${format}`);
28
+ }
29
+ }
30
+ function parseCSVImport(csvContent) {
31
+ const lines = csvContent.split('\n').filter(line => line.trim());
32
+ if (lines.length < 2) {
33
+ throw new Error('CSV file must have at least a header and one data row');
34
+ }
35
+ const headers = lines[0].split(',').map(h => h.replace(/"/g, '').trim());
36
+ const entries = [];
37
+ for (let i = 1; i < lines.length; i++) {
38
+ const values = parseCSVLine(lines[i]);
39
+ if (values.length < headers.length)
40
+ continue;
41
+ const entry = {};
42
+ headers.forEach((header, index) => {
43
+ const value = values[index] || '';
44
+ switch (header.toLowerCase()) {
45
+ case 'id':
46
+ entry.id = value;
47
+ break;
48
+ case 'content':
49
+ entry.content = value;
50
+ break;
51
+ case 'author':
52
+ entry.authorId = value;
53
+ break;
54
+ case 'team':
55
+ entry.teamId = value;
56
+ break;
57
+ case 'created':
58
+ entry.createdAt = value;
59
+ break;
60
+ case 'topics':
61
+ entry.aiTopics = value.split(';').map((t) => t.trim()).filter(Boolean);
62
+ break;
63
+ case 'expertise level':
64
+ entry.expertiseLevel = value.toLowerCase();
65
+ break;
66
+ case 'impact score':
67
+ entry.impactScore = parseFloat(value) || 0;
68
+ break;
69
+ case 'time saved (min)':
70
+ entry.timeSavedMinutes = parseInt(value) || 0;
71
+ break;
72
+ case 'onboarding relevant':
73
+ entry.onboardingRelevance = value.toLowerCase() === 'yes' || value.toLowerCase() === 'true';
74
+ break;
75
+ }
76
+ });
77
+ if (entry.content) {
78
+ entries.push(entry);
79
+ }
80
+ }
81
+ return {
82
+ entries,
83
+ metadata: {
84
+ importedAt: new Date().toISOString(),
85
+ format: 'csv',
86
+ totalEntries: entries.length
87
+ }
88
+ };
89
+ }
90
+ function parseCSVLine(line) {
91
+ const values = [];
92
+ let current = '';
93
+ let inQuotes = false;
94
+ for (let i = 0; i < line.length; i++) {
95
+ const char = line[i];
96
+ if (char === '"') {
97
+ if (inQuotes && line[i + 1] === '"') {
98
+ // Escaped quote
99
+ current += '"';
100
+ i++; // Skip next quote
101
+ }
102
+ else {
103
+ // Toggle quote state
104
+ inQuotes = !inQuotes;
105
+ }
106
+ }
107
+ else if (char === ',' && !inQuotes) {
108
+ // End of field
109
+ values.push(current.trim());
110
+ current = '';
111
+ }
112
+ else {
113
+ current += char;
114
+ }
115
+ }
116
+ // Add final field
117
+ values.push(current.trim());
118
+ return values;
119
+ }
120
+ function parseMarkdownImport(markdownContent) {
121
+ const entries = [];
122
+ const sections = markdownContent.split(/^## /m).slice(1); // Skip header section
123
+ sections.forEach(section => {
124
+ const lines = section.split('\n');
125
+ const entry = {
126
+ aiTopics: [],
127
+ expertiseLevel: 'intermediate',
128
+ impactScore: 5,
129
+ timeSavedMinutes: 0,
130
+ onboardingRelevance: false
131
+ };
132
+ let contentStartIndex = -1;
133
+ let contentEndIndex = -1;
134
+ lines.forEach((line, index) => {
135
+ const trimmed = line.trim();
136
+ if (trimmed.startsWith('**Author:**')) {
137
+ entry.authorId = trimmed.replace('**Author:**', '').trim();
138
+ }
139
+ else if (trimmed.startsWith('**Topics:**')) {
140
+ const topicsStr = trimmed.replace('**Topics:**', '').trim();
141
+ entry.aiTopics = topicsStr.split(',').map((t) => t.trim()).filter(Boolean);
142
+ }
143
+ else if (trimmed.startsWith('**Expertise Level:**')) {
144
+ entry.expertiseLevel = trimmed.replace('**Expertise Level:**', '').trim().toLowerCase();
145
+ }
146
+ else if (trimmed.startsWith('**Impact Score:**')) {
147
+ const scoreStr = trimmed.replace('**Impact Score:**', '').replace('/10', '').trim();
148
+ entry.impactScore = parseFloat(scoreStr) || 5;
149
+ }
150
+ else if (trimmed === '### Content') {
151
+ contentStartIndex = index + 1;
152
+ }
153
+ else if (trimmed === '---' && contentStartIndex > -1 && contentEndIndex === -1) {
154
+ contentEndIndex = index;
155
+ }
156
+ else if (trimmed.startsWith('**Time Saved:**')) {
157
+ const timeStr = trimmed.replace('**Time Saved:**', '').replace('minutes', '').trim();
158
+ entry.timeSavedMinutes = parseInt(timeStr) || 0;
159
+ }
160
+ else if (trimmed.startsWith('**Onboarding Relevant:**')) {
161
+ const relevantStr = trimmed.replace('**Onboarding Relevant:**', '').trim();
162
+ entry.onboardingRelevance = relevantStr.toLowerCase() === 'yes';
163
+ }
164
+ });
165
+ // Extract content
166
+ if (contentStartIndex > -1) {
167
+ const endIndex = contentEndIndex > -1 ? contentEndIndex : lines.length;
168
+ entry.content = lines.slice(contentStartIndex, endIndex)
169
+ .join('\n')
170
+ .trim();
171
+ }
172
+ if (entry.content && entry.content.length > 0) {
173
+ entries.push(entry);
174
+ }
175
+ });
176
+ return {
177
+ entries,
178
+ metadata: {
179
+ importedAt: new Date().toISOString(),
180
+ format: 'markdown',
181
+ totalEntries: entries.length
182
+ }
183
+ };
184
+ }
185
+ //# sourceMappingURL=import-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-helpers.js","sourceRoot":"","sources":["../../src/lib/import-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ export declare function generateComprehensiveInsights(entries: any[], isTeam: boolean, _detailed: boolean): Promise<{
2
+ patterns: {
3
+ trendingTopics: {
4
+ topic: string;
5
+ frequency: number;
6
+ avgImpact: number;
7
+ lastActivity: Date | undefined;
8
+ trendScore: number;
9
+ }[];
10
+ clusters: any[];
11
+ totalTopics: number;
12
+ avgTopicsPerEntry: number;
13
+ };
14
+ gaps: ({
15
+ type: string;
16
+ description: string;
17
+ topics: any;
18
+ severity: string;
19
+ recommendation?: never;
20
+ } | {
21
+ type: string;
22
+ description: string;
23
+ severity: string;
24
+ recommendation: string;
25
+ topics?: never;
26
+ })[];
27
+ expertise: {
28
+ distribution: any;
29
+ percentages: {
30
+ beginner: number;
31
+ intermediate: number;
32
+ expert: number;
33
+ };
34
+ expertiseTrend: string;
35
+ recentExpertRatio: number;
36
+ totalEntries: number;
37
+ };
38
+ velocity: {
39
+ weeklyData: {
40
+ week: string;
41
+ count: number;
42
+ }[];
43
+ avgRecentVelocity: number;
44
+ avgOlderVelocity: number;
45
+ velocityTrend: string;
46
+ totalWeeks: number;
47
+ };
48
+ recommendations: {
49
+ category: string;
50
+ priority: string;
51
+ title: string;
52
+ description: string;
53
+ actions: string[];
54
+ }[];
55
+ summary: {
56
+ overview: string;
57
+ velocity: string;
58
+ strengths: string[];
59
+ opportunities: any[];
60
+ };
61
+ }>;
62
+ export declare function analyzeLearningPatterns(entries: any[]): {
63
+ trendingTopics: {
64
+ topic: string;
65
+ frequency: number;
66
+ avgImpact: number;
67
+ lastActivity: Date | undefined;
68
+ trendScore: number;
69
+ }[];
70
+ clusters: any[];
71
+ totalTopics: number;
72
+ avgTopicsPerEntry: number;
73
+ };
74
+ export declare function identifyKnowledgeGaps(entries: any[], patterns: any): ({
75
+ type: string;
76
+ description: string;
77
+ topics: any;
78
+ severity: string;
79
+ recommendation?: never;
80
+ } | {
81
+ type: string;
82
+ description: string;
83
+ severity: string;
84
+ recommendation: string;
85
+ topics?: never;
86
+ })[];
87
+ export declare function analyzeExpertiseDistribution(entries: any[]): {
88
+ distribution: any;
89
+ percentages: {
90
+ beginner: number;
91
+ intermediate: number;
92
+ expert: number;
93
+ };
94
+ expertiseTrend: string;
95
+ recentExpertRatio: number;
96
+ totalEntries: number;
97
+ };
98
+ export declare function calculateLearningVelocity(entries: any[]): {
99
+ weeklyData: {
100
+ week: string;
101
+ count: number;
102
+ }[];
103
+ avgRecentVelocity: number;
104
+ avgOlderVelocity: number;
105
+ velocityTrend: string;
106
+ totalWeeks: number;
107
+ };
108
+ export declare function generateActionableRecommendations(patterns: any, gaps: any[], expertise: any, velocity: any, isTeam: boolean): {
109
+ category: string;
110
+ priority: string;
111
+ title: string;
112
+ description: string;
113
+ actions: string[];
114
+ }[];
115
+ export declare function generateInsightsSummary(patterns: any, gaps: any[], expertise: any, velocity: any, isTeam: boolean): {
116
+ overview: string;
117
+ velocity: string;
118
+ strengths: string[];
119
+ opportunities: any[];
120
+ };
121
+ export declare function identifyTopicClusters(topics: any[]): any[];
122
+ export declare function displayComprehensiveInsights(insights: any, aiEnhanced: string[] | null, isTeam: boolean, detailed: boolean, bedrockAvailable: boolean): void;
123
+ //# sourceMappingURL=insights-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/insights-helpers.ts"],"names":[],"mappings":"AAGA,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwBtG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE;;;;;;;;;;;EAuCrD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG;;;;;;;;;;;;KAiDlE;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,EAAE;;;;;;;;;;EAmC1D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE;;;;;;;;;EAqCvD;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;;;;;;IAiF3H;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;;;;;EAgBjH;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CA0B1D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,QA8FrJ"}