@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":"admin.js","sourceRoot":"","sources":["../../src/lambda/admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
2
+ /**
3
+ * Main handler for AI services
4
+ */
5
+ export declare const handler: (event: APIGatewayProxyEvent) => Promise<APIGatewayProxyResult>;
6
+ //# sourceMappingURL=ai-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-services.d.ts","sourceRoot":"","sources":["../../src/lambda/ai-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAwCzE;;GAEG;AACH,eAAO,MAAM,OAAO,GAAU,OAAO,oBAAoB,KAAG,OAAO,CAAC,qBAAqB,CAkDxF,CAAC"}
@@ -0,0 +1,472 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handler = void 0;
4
+ const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
5
+ const client_comprehend_1 = require("@aws-sdk/client-comprehend");
6
+ const client_s3_1 = require("@aws-sdk/client-s3");
7
+ const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
8
+ // Determine AWS region explicitly from environment variables
9
+ const AWS_REGION = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || 'eu-west-2';
10
+ // Initialize AWS clients with explicit region
11
+ const bedrockClient = new client_bedrock_runtime_1.BedrockRuntimeClient({ region: AWS_REGION });
12
+ const comprehendClient = new client_comprehend_1.ComprehendClient({ region: AWS_REGION });
13
+ const s3Client = new client_s3_1.S3Client({ region: AWS_REGION });
14
+ const secretsClient = new client_secrets_manager_1.SecretsManagerClient({ region: AWS_REGION });
15
+ // S3 bucket for embeddings - configured server-side for security
16
+ const EMBEDDINGS_BUCKET = process.env.EMBEDDINGS_BUCKET || 'today-embeddings';
17
+ const CORS_HEADERS = {
18
+ 'Access-Control-Allow-Origin': '*',
19
+ 'Access-Control-Allow-Headers': 'Content-Type,Authorization',
20
+ 'Access-Control-Allow-Methods': 'GET,POST,PUT,DELETE,OPTIONS',
21
+ 'Content-Type': 'application/json'
22
+ };
23
+ // Helper function to verify authentication
24
+ function verifyAuth(event) {
25
+ const authHeader = event.headers?.Authorization || event.headers?.authorization;
26
+ return !!authHeader && authHeader.startsWith('Bearer ');
27
+ }
28
+ // Helper function to create response
29
+ function createResponse(statusCode, body) {
30
+ return {
31
+ statusCode,
32
+ headers: CORS_HEADERS,
33
+ body: JSON.stringify(body)
34
+ };
35
+ }
36
+ /**
37
+ * Main handler for AI services
38
+ */
39
+ const handler = async (event) => {
40
+ console.log('AI Services Event:', JSON.stringify(event, null, 2));
41
+ // Handle CORS preflight
42
+ if (event.httpMethod === 'OPTIONS') {
43
+ return createResponse(200, {});
44
+ }
45
+ // Verify authentication for all requests
46
+ if (!verifyAuth(event)) {
47
+ return createResponse(401, {
48
+ success: false,
49
+ error: 'Authentication required'
50
+ });
51
+ }
52
+ try {
53
+ const path = event.path;
54
+ const method = event.httpMethod;
55
+ // Route to appropriate handler
56
+ if (path.includes('/ai/enhance') && method === 'POST') {
57
+ return await handleEnhanceKnowledge(event);
58
+ }
59
+ else if (path.includes('/ai/embeddings') && method === 'POST') {
60
+ return await handleGenerateEmbeddings(event);
61
+ }
62
+ else if (path.includes('/ai/detect-secrets') && method === 'POST') {
63
+ return await handleDetectSecrets(event);
64
+ }
65
+ else if (path.includes('/secrets/list') && method === 'GET') {
66
+ return await handleListSecrets(event);
67
+ }
68
+ else if (path.includes('/storage/embeddings') && method === 'POST') {
69
+ return await handleStoreEmbedding(event);
70
+ }
71
+ else if (path.includes('/storage/embeddings') && method === 'GET') {
72
+ return await handleRetrieveEmbedding(event);
73
+ }
74
+ else if (path.includes('/storage/embeddings') && method === 'DELETE') {
75
+ return await handleDeleteEmbedding(event);
76
+ }
77
+ return createResponse(404, {
78
+ success: false,
79
+ error: 'Endpoint not found'
80
+ });
81
+ }
82
+ catch (error) {
83
+ console.error('AI Services Error:', error);
84
+ return createResponse(500, {
85
+ success: false,
86
+ error: 'Internal server error',
87
+ message: error instanceof Error ? error.message : 'Unknown error'
88
+ });
89
+ }
90
+ };
91
+ exports.handler = handler;
92
+ /**
93
+ * Handle knowledge enhancement using Bedrock
94
+ */
95
+ async function handleEnhanceKnowledge(event) {
96
+ try {
97
+ const body = JSON.parse(event.body || '{}');
98
+ const { content, authorId } = body;
99
+ // Log authorId for audit purposes
100
+ if (authorId) {
101
+ console.log('EnhanceKnowledge request authorId:', authorId);
102
+ }
103
+ if (!content) {
104
+ return createResponse(400, {
105
+ success: false,
106
+ error: 'Content is required'
107
+ });
108
+ }
109
+ // Build prompt for Bedrock
110
+ const prompt = `You are an AI assistant helping to enhance knowledge entries for a developer knowledge base.
111
+
112
+ Analyze the following learning entry and provide:
113
+ 1. Topics: 3-5 relevant technical topics
114
+ 2. Tags: 5-7 searchable tags
115
+ 3. Impact Score: Rate 1-10 how impactful this knowledge is
116
+ 4. Expertise Level: beginner, intermediate, or expert
117
+ 5. Summary: A brief 1-2 sentence summary
118
+
119
+ Learning Entry:
120
+ ${content}
121
+
122
+ Respond in JSON format:
123
+ {
124
+ "topics": ["topic1", "topic2"],
125
+ "tags": ["tag1", "tag2"],
126
+ "impactScore": 7.5,
127
+ "expertiseLevel": "intermediate",
128
+ "summary": "Brief summary here"
129
+ }`;
130
+ const command = new client_bedrock_runtime_1.InvokeModelCommand({
131
+ modelId: 'anthropic.claude-3-haiku-20240307-v1:0',
132
+ contentType: 'application/json',
133
+ body: JSON.stringify({
134
+ anthropic_version: 'bedrock-2023-05-31',
135
+ max_tokens: 1024,
136
+ messages: [{
137
+ role: 'user',
138
+ content: prompt
139
+ }]
140
+ })
141
+ });
142
+ const response = await bedrockClient.send(command);
143
+ const responseBody = JSON.parse(new TextDecoder().decode(response.body));
144
+ // Parse the response
145
+ const contentText = responseBody.content[0].text;
146
+ const jsonMatch = contentText.match(/\{[\s\S]*\}/);
147
+ if (!jsonMatch) {
148
+ throw new Error('Failed to parse Bedrock response');
149
+ }
150
+ let enhancedData;
151
+ try {
152
+ enhancedData = JSON.parse(jsonMatch[0]);
153
+ }
154
+ catch (parseError) {
155
+ console.error('Failed to parse JSON from Bedrock response:', jsonMatch[0], parseError);
156
+ throw new Error('Failed to parse JSON from Bedrock response');
157
+ }
158
+ return createResponse(200, {
159
+ success: true,
160
+ data: enhancedData
161
+ });
162
+ }
163
+ catch (error) {
164
+ console.error('Knowledge enhancement error:', error);
165
+ return createResponse(500, {
166
+ success: false,
167
+ error: 'Failed to enhance knowledge',
168
+ message: error instanceof Error ? error.message : 'Unknown error'
169
+ });
170
+ }
171
+ }
172
+ /**
173
+ * Handle vector embedding generation using Bedrock Titan
174
+ */
175
+ async function handleGenerateEmbeddings(event) {
176
+ try {
177
+ const body = JSON.parse(event.body || '{}');
178
+ const { texts, batchMode = false } = body;
179
+ if (!texts || (!Array.isArray(texts) && typeof texts !== 'string')) {
180
+ return createResponse(400, {
181
+ success: false,
182
+ error: 'Text or texts array is required'
183
+ });
184
+ }
185
+ const textArray = Array.isArray(texts) ? texts : [texts];
186
+ const embeddings = [];
187
+ let truncationWarnings = 0;
188
+ // Process in batches
189
+ for (const text of textArray) {
190
+ const originalLength = text.length;
191
+ const preprocessedText = text.trim().replace(/\s+/g, ' ').substring(0, 8000);
192
+ if (originalLength > 8000) {
193
+ truncationWarnings++;
194
+ console.warn(`Text truncated from ${originalLength} to 8000 characters for embedding generation`);
195
+ }
196
+ const command = new client_bedrock_runtime_1.InvokeModelCommand({
197
+ modelId: 'amazon.titan-embed-text-v2:0',
198
+ contentType: 'application/json',
199
+ body: JSON.stringify({
200
+ inputText: preprocessedText
201
+ })
202
+ });
203
+ const response = await bedrockClient.send(command);
204
+ const responseBody = JSON.parse(new TextDecoder().decode(response.body));
205
+ embeddings.push(responseBody.embedding || []);
206
+ // Add small delay between batches to avoid throttling
207
+ if (batchMode && embeddings.length < textArray.length) {
208
+ await new Promise(resolve => setTimeout(resolve, 100));
209
+ }
210
+ }
211
+ const result = {
212
+ success: true,
213
+ data: {
214
+ embeddings: Array.isArray(texts) ? embeddings : embeddings[0],
215
+ model: 'amazon.titan-embed-text-v2:0',
216
+ dimensions: embeddings[0]?.length || 0
217
+ }
218
+ };
219
+ if (truncationWarnings > 0) {
220
+ result.data.warnings = [`${truncationWarnings} text(s) were truncated to 8000 characters`];
221
+ }
222
+ return createResponse(200, result);
223
+ }
224
+ catch (error) {
225
+ console.error('Embedding generation error:', error);
226
+ return createResponse(500, {
227
+ success: false,
228
+ error: 'Failed to generate embeddings',
229
+ message: error instanceof Error ? error.message : 'Unknown error'
230
+ });
231
+ }
232
+ }
233
+ /**
234
+ * Handle secret detection using Comprehend and Bedrock
235
+ */
236
+ async function handleDetectSecrets(event) {
237
+ try {
238
+ const body = JSON.parse(event.body || '{}');
239
+ const { content } = body;
240
+ if (!content) {
241
+ return createResponse(400, {
242
+ success: false,
243
+ error: 'Content is required'
244
+ });
245
+ }
246
+ // Warn about content truncation
247
+ const contentLength = content.length;
248
+ if (contentLength > 5000) {
249
+ console.warn(`Content truncated from ${contentLength} to 5000 characters for Comprehend analysis`);
250
+ }
251
+ // Stage 1: Use Comprehend for PII detection
252
+ const piiCommand = new client_comprehend_1.DetectPiiEntitiesCommand({
253
+ Text: content.substring(0, 5000), // Comprehend limit
254
+ LanguageCode: 'en'
255
+ });
256
+ const piiResponse = await comprehendClient.send(piiCommand);
257
+ const piiDetections = piiResponse.Entities || [];
258
+ if (contentLength > 2000) {
259
+ console.warn(`Content truncated from ${contentLength} to 2000 characters for Bedrock analysis`);
260
+ }
261
+ // Stage 2: Use Bedrock for contextual analysis
262
+ const bedrockPrompt = `Analyze the following text for sensitive information like API keys, passwords, tokens, or credentials.
263
+ Identify any potential secrets and rate their risk level (low, medium, high, critical).
264
+
265
+ Text:
266
+ ${content.substring(0, 2000)}
267
+
268
+ Respond in JSON format:
269
+ {
270
+ "secrets": [
271
+ {
272
+ "type": "api_key",
273
+ "value": "partial_value",
274
+ "riskLevel": "high",
275
+ "context": "explanation"
276
+ }
277
+ ],
278
+ "overallRiskScore": 0.0-1.0,
279
+ "summary": "Brief summary"
280
+ }`;
281
+ const bedrockCommand = new client_bedrock_runtime_1.InvokeModelCommand({
282
+ modelId: 'anthropic.claude-3-haiku-20240307-v1:0',
283
+ contentType: 'application/json',
284
+ body: JSON.stringify({
285
+ anthropic_version: 'bedrock-2023-05-31',
286
+ max_tokens: 2048,
287
+ messages: [{
288
+ role: 'user',
289
+ content: bedrockPrompt
290
+ }]
291
+ })
292
+ });
293
+ const bedrockResponse = await bedrockClient.send(bedrockCommand);
294
+ const bedrockBody = JSON.parse(new TextDecoder().decode(bedrockResponse.body));
295
+ const bedrockText = bedrockBody.content[0].text;
296
+ // Parse Bedrock response
297
+ const jsonMatch = bedrockText.match(/\{[\s\S]*\}/);
298
+ const bedrockAnalysis = jsonMatch ? JSON.parse(jsonMatch[0]) : { secrets: [], overallRiskScore: 0, summary: '' };
299
+ // Combine PII and Bedrock detections
300
+ const combinedDetections = [
301
+ ...piiDetections.map(pii => ({
302
+ type: pii.Type || 'unknown',
303
+ value: content.substring(pii.BeginOffset || 0, pii.EndOffset || 0),
304
+ riskLevel: pii.Score && pii.Score > 0.9 ? 'high' : 'medium',
305
+ source: 'comprehend',
306
+ confidence: pii.Score || 0,
307
+ recommendations: ['Review and redact sensitive information']
308
+ })),
309
+ ...bedrockAnalysis.secrets.map((s) => ({
310
+ ...s,
311
+ source: 'bedrock',
312
+ recommendations: ['Replace with environment variable', 'Use secret management service']
313
+ }))
314
+ ];
315
+ return createResponse(200, {
316
+ success: true,
317
+ data: {
318
+ detections: combinedDetections,
319
+ overallRiskScore: bedrockAnalysis.overallRiskScore || (combinedDetections.length > 0 ? 0.6 : 0),
320
+ summary: bedrockAnalysis.summary || `${combinedDetections.length} potential secrets detected`,
321
+ shouldBlock: combinedDetections.some(d => d.riskLevel === 'critical')
322
+ }
323
+ });
324
+ }
325
+ catch (error) {
326
+ console.error('Secret detection error:', error);
327
+ return createResponse(500, {
328
+ success: false,
329
+ error: 'Failed to detect secrets',
330
+ message: error instanceof Error ? error.message : 'Unknown error'
331
+ });
332
+ }
333
+ }
334
+ /**
335
+ * Handle listing secrets from Secrets Manager
336
+ */
337
+ async function handleListSecrets(_event) {
338
+ try {
339
+ const command = new client_secrets_manager_1.ListSecretsCommand({
340
+ MaxResults: 100
341
+ });
342
+ const response = await secretsClient.send(command);
343
+ return createResponse(200, {
344
+ success: true,
345
+ data: {
346
+ secrets: response.SecretList || []
347
+ }
348
+ });
349
+ }
350
+ catch (error) {
351
+ console.error('List secrets error:', error);
352
+ return createResponse(500, {
353
+ success: false,
354
+ error: 'Failed to list secrets',
355
+ message: error instanceof Error ? error.message : 'Unknown error'
356
+ });
357
+ }
358
+ }
359
+ /**
360
+ * Handle storing embedding in S3
361
+ */
362
+ async function handleStoreEmbedding(event) {
363
+ try {
364
+ const body = JSON.parse(event.body || '{}');
365
+ const { entryId, embedding, teamId } = body;
366
+ if (!entryId || !embedding || !teamId) {
367
+ return createResponse(400, {
368
+ success: false,
369
+ error: 'entryId, embedding, and teamId are required'
370
+ });
371
+ }
372
+ // Use server-side configured bucket for security
373
+ const key = `embeddings/${teamId}/${entryId}.json`;
374
+ const command = new client_s3_1.PutObjectCommand({
375
+ Bucket: EMBEDDINGS_BUCKET,
376
+ Key: key,
377
+ Body: JSON.stringify(embedding), // Store embedding directly as array
378
+ ContentType: 'application/json'
379
+ });
380
+ await s3Client.send(command);
381
+ return createResponse(200, {
382
+ success: true,
383
+ data: {
384
+ key,
385
+ bucket: EMBEDDINGS_BUCKET
386
+ }
387
+ });
388
+ }
389
+ catch (error) {
390
+ console.error('Store embedding error:', error);
391
+ return createResponse(500, {
392
+ success: false,
393
+ error: 'Failed to store embedding',
394
+ message: error instanceof Error ? error.message : 'Unknown error'
395
+ });
396
+ }
397
+ }
398
+ /**
399
+ * Handle retrieving embedding from S3
400
+ */
401
+ async function handleRetrieveEmbedding(event) {
402
+ try {
403
+ const queryParams = event.queryStringParameters || {};
404
+ const { entryId, teamId } = queryParams;
405
+ if (!entryId || !teamId) {
406
+ return createResponse(400, {
407
+ success: false,
408
+ error: 'entryId and teamId query parameters are required'
409
+ });
410
+ }
411
+ // Use server-side configured bucket for security
412
+ const key = `embeddings/${teamId}/${entryId}.json`;
413
+ const command = new client_s3_1.GetObjectCommand({
414
+ Bucket: EMBEDDINGS_BUCKET,
415
+ Key: key
416
+ });
417
+ const response = await s3Client.send(command);
418
+ const body = await response.Body?.transformToString();
419
+ const embedding = body ? JSON.parse(body) : null;
420
+ return createResponse(200, {
421
+ success: true,
422
+ data: {
423
+ embedding: Array.isArray(embedding) ? embedding : []
424
+ }
425
+ });
426
+ }
427
+ catch (error) {
428
+ console.error('Retrieve embedding error:', error);
429
+ return createResponse(500, {
430
+ success: false,
431
+ error: 'Failed to retrieve embedding',
432
+ message: error instanceof Error ? error.message : 'Unknown error'
433
+ });
434
+ }
435
+ }
436
+ /**
437
+ * Handle deleting embedding from S3
438
+ */
439
+ async function handleDeleteEmbedding(event) {
440
+ try {
441
+ const body = JSON.parse(event.body || '{}');
442
+ const { entryId, teamId } = body;
443
+ if (!entryId || !teamId) {
444
+ return createResponse(400, {
445
+ success: false,
446
+ error: 'entryId and teamId are required'
447
+ });
448
+ }
449
+ // Use server-side configured bucket for security
450
+ const key = `embeddings/${teamId}/${entryId}.json`;
451
+ const command = new client_s3_1.DeleteObjectCommand({
452
+ Bucket: EMBEDDINGS_BUCKET,
453
+ Key: key
454
+ });
455
+ await s3Client.send(command);
456
+ return createResponse(200, {
457
+ success: true,
458
+ data: {
459
+ deleted: true
460
+ }
461
+ });
462
+ }
463
+ catch (error) {
464
+ console.error('Delete embedding error:', error);
465
+ return createResponse(500, {
466
+ success: false,
467
+ error: 'Failed to delete embedding',
468
+ message: error instanceof Error ? error.message : 'Unknown error'
469
+ });
470
+ }
471
+ }
472
+ //# sourceMappingURL=ai-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-services.js","sourceRoot":"","sources":["../../src/lambda/ai-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
2
+ export declare const handler: (event: APIGatewayProxyEvent) => Promise<APIGatewayProxyResult>;
3
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/lambda/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA+EzE,eAAO,MAAM,OAAO,GAClB,OAAO,oBAAoB,KAC1B,OAAO,CAAC,qBAAqB,CAkG/B,CAAC"}