@de-otio/chaoskb-server 0.2.0 → 0.2.2

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 (54) hide show
  1. package/dist/lib/constructs/blob-store.js +1 -1
  2. package/dist/lib/constructs/blob-store.js.map +1 -1
  3. package/dist/lib/handler/index.d.ts.map +1 -1
  4. package/dist/lib/handler/index.js +20 -4
  5. package/dist/lib/handler/index.js.map +1 -1
  6. package/dist/lib/handler/index.ts +19 -4
  7. package/dist/lib/handler/middleware/rate-limit.d.ts.map +1 -1
  8. package/dist/lib/handler/middleware/rate-limit.js +13 -9
  9. package/dist/lib/handler/middleware/rate-limit.js.map +1 -1
  10. package/dist/lib/handler/middleware/rate-limit.ts +14 -9
  11. package/dist/lib/handler/middleware/ssh-auth.d.ts.map +1 -1
  12. package/dist/lib/handler/middleware/ssh-auth.js +66 -6
  13. package/dist/lib/handler/middleware/ssh-auth.js.map +1 -1
  14. package/dist/lib/handler/middleware/ssh-auth.ts +74 -7
  15. package/dist/lib/handler/routes/audit.js +1 -1
  16. package/dist/lib/handler/routes/audit.js.map +1 -1
  17. package/dist/lib/handler/routes/audit.ts +1 -1
  18. package/dist/lib/handler/routes/blobs.d.ts.map +1 -1
  19. package/dist/lib/handler/routes/blobs.js +2 -3
  20. package/dist/lib/handler/routes/blobs.js.map +1 -1
  21. package/dist/lib/handler/routes/blobs.ts +2 -3
  22. package/dist/lib/handler/routes/devices.d.ts.map +1 -1
  23. package/dist/lib/handler/routes/devices.js +19 -12
  24. package/dist/lib/handler/routes/devices.js.map +1 -1
  25. package/dist/lib/handler/routes/devices.ts +20 -12
  26. package/dist/lib/handler/routes/github.d.ts +15 -2
  27. package/dist/lib/handler/routes/github.d.ts.map +1 -1
  28. package/dist/lib/handler/routes/github.js +96 -22
  29. package/dist/lib/handler/routes/github.js.map +1 -1
  30. package/dist/lib/handler/routes/github.ts +68 -35
  31. package/dist/lib/handler/routes/invites.d.ts.map +1 -1
  32. package/dist/lib/handler/routes/invites.js +11 -13
  33. package/dist/lib/handler/routes/invites.js.map +1 -1
  34. package/dist/lib/handler/routes/invites.ts +11 -13
  35. package/dist/lib/handler/routes/notifications.js +1 -1
  36. package/dist/lib/handler/routes/notifications.js.map +1 -1
  37. package/dist/lib/handler/routes/notifications.ts +1 -1
  38. package/dist/lib/handler/routes/projects.d.ts.map +1 -1
  39. package/dist/lib/handler/routes/projects.js.map +1 -1
  40. package/dist/lib/handler/routes/projects.ts +0 -1
  41. package/dist/lib/handler/routes/register.d.ts +1 -1
  42. package/dist/lib/handler/routes/register.d.ts.map +1 -1
  43. package/dist/lib/handler/routes/register.js +104 -58
  44. package/dist/lib/handler/routes/register.js.map +1 -1
  45. package/dist/lib/handler/routes/register.ts +113 -66
  46. package/dist/lib/handler/routes/restore.d.ts.map +1 -1
  47. package/dist/lib/handler/routes/restore.js +1 -2
  48. package/dist/lib/handler/routes/restore.js.map +1 -1
  49. package/dist/lib/handler/routes/restore.ts +1 -2
  50. package/dist/lib/handler/routes/rotation.d.ts.map +1 -1
  51. package/dist/lib/handler/routes/rotation.js +23 -2
  52. package/dist/lib/handler/routes/rotation.js.map +1 -1
  53. package/dist/lib/handler/routes/rotation.ts +30 -2
  54. package/package.json +1 -1
@@ -1,13 +1,7 @@
1
+ import * as crypto from 'crypto';
1
2
  import { DynamoDBDocumentClient, PutCommand, GetCommand } from '@aws-sdk/lib-dynamodb';
2
3
  import { logger } from '../logger.js';
3
4
 
4
- interface HandlerResponse {
5
- statusCode: number;
6
- body: string;
7
- headers: Record<string, string>;
8
- }
9
-
10
- const JSON_HEADERS = { 'Content-Type': 'application/json' };
11
5
 
12
6
  // In-memory cache for GitHub keys (5 min TTL)
13
7
  interface CacheEntry {
@@ -17,11 +11,21 @@ interface CacheEntry {
17
11
  const githubKeyCache = new Map<string, CacheEntry>();
18
12
  const CACHE_TTL_MS = 5 * 60 * 1000;
19
13
 
14
+ /** GitHub username constraints: 1-39 alphanumeric or hyphen, no leading/trailing hyphen, no consecutive hyphens. */
15
+ const GITHUB_USERNAME_RE = /^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9])){0,38}$/;
16
+
17
+ export function isValidGitHubUsername(username: string): boolean {
18
+ return GITHUB_USERNAME_RE.test(username);
19
+ }
20
+
20
21
  /**
21
22
  * Fetch SSH public keys from GitHub for a username.
22
23
  * Returns one key per line. Uses a 5-minute in-memory cache.
23
24
  */
24
25
  export async function fetchGitHubKeys(username: string): Promise<string[]> {
26
+ if (!isValidGitHubUsername(username)) {
27
+ throw new GitHubVerificationError('github_verification_failed', 'Could not verify key against GitHub account');
28
+ }
25
29
  const now = Date.now();
26
30
  const cached = githubKeyCache.get(username);
27
31
  if (cached && now < cached.expiresAt) {
@@ -34,11 +38,11 @@ export async function fetchGitHubKeys(username: string): Promise<string[]> {
34
38
  );
35
39
 
36
40
  if (response.status === 404) {
37
- throw new GitHubVerificationError('github_user_not_found', `GitHub user "${username}" not found`);
41
+ throw new GitHubVerificationError('github_verification_failed', 'Could not verify key against GitHub account');
38
42
  }
39
43
 
40
44
  if (!response.ok) {
41
- throw new GitHubVerificationError('github_unreachable', `GitHub returned status ${response.status}`);
45
+ throw new GitHubVerificationError('github_verification_failed', 'Could not verify key against GitHub account');
42
46
  }
43
47
 
44
48
  const text = await response.text();
@@ -52,29 +56,42 @@ export async function fetchGitHubKeys(username: string): Promise<string[]> {
52
56
  }
53
57
 
54
58
  /**
55
- * Verify that a public key (in SSH authorized_keys format or base64) appears
56
- * on a GitHub account.
59
+ * Fetch SSH keys from GitHub, bypassing the in-memory cache.
60
+ * Used at auto-link time to ensure we have the latest key list.
57
61
  */
58
- export async function verifyKeyOnGitHub(
59
- publicKeyBase64: string,
60
- githubUsername: string,
61
- ): Promise<boolean> {
62
- const githubKeys = await fetchGitHubKeys(githubUsername);
62
+ export async function fetchGitHubKeysFresh(username: string): Promise<string[]> {
63
+ githubKeyCache.delete(username);
64
+ return fetchGitHubKeys(username);
65
+ }
63
66
 
67
+ /**
68
+ * Check whether a public key (base64 blob) appears in a list of GitHub SSH key lines.
69
+ */
70
+ export function keyAppearsInGitHubKeys(publicKeyBase64: string, githubKeys: string[]): boolean {
71
+ const suppliedBuf = Buffer.from(publicKeyBase64);
64
72
  for (const ghKey of githubKeys) {
65
73
  const parts = ghKey.split(/\s+/);
66
- if (parts.length >= 2 && parts[1] === publicKeyBase64) {
67
- return true;
68
- }
69
- // Also match if the full key blob matches
70
- if (ghKey === publicKeyBase64) {
74
+ const candidate = parts.length >= 2 ? parts[1] : ghKey;
75
+ const candidateBuf = Buffer.from(candidate);
76
+ if (suppliedBuf.length === candidateBuf.length && crypto.timingSafeEqual(suppliedBuf, candidateBuf)) {
71
77
  return true;
72
78
  }
73
79
  }
74
-
75
80
  return false;
76
81
  }
77
82
 
83
+ /**
84
+ * Verify that a public key (in SSH authorized_keys format or base64) appears
85
+ * on a GitHub account.
86
+ */
87
+ export async function verifyKeyOnGitHub(
88
+ publicKeyBase64: string,
89
+ githubUsername: string,
90
+ ): Promise<boolean> {
91
+ const githubKeys = await fetchGitHubKeys(githubUsername);
92
+ return keyAppearsInGitHubKeys(publicKeyBase64, githubKeys);
93
+ }
94
+
78
95
  export class GitHubVerificationError extends Error {
79
96
  constructor(
80
97
  public readonly code: string,
@@ -135,25 +152,41 @@ export async function findTenantByGitHub(
135
152
  }
136
153
 
137
154
  /**
138
- * Store a reverse lookup record: GITHUB#{username} -> tenantId
155
+ * Store a reverse lookup record: GITHUB#{username} -> tenantId.
156
+ * Uses a conditional write to prevent a different tenant from claiming
157
+ * a username that is already associated with another tenant.
158
+ * Returns true if stored, false if already claimed by a different tenant.
139
159
  */
140
160
  export async function storeGitHubReverseLookup(
141
161
  githubUsername: string,
142
162
  tenantId: string,
143
163
  ddb: DynamoDBDocumentClient,
144
164
  tableName: string,
145
- ): Promise<void> {
146
- await ddb.send(
147
- new PutCommand({
148
- TableName: tableName,
149
- Item: {
150
- PK: `GITHUB#${githubUsername}`,
151
- SK: 'META',
152
- tenantId,
153
- createdAt: new Date().toISOString(),
154
- },
155
- }),
156
- );
165
+ ): Promise<boolean> {
166
+ try {
167
+ await ddb.send(
168
+ new PutCommand({
169
+ TableName: tableName,
170
+ Item: {
171
+ PK: `GITHUB#${githubUsername}`,
172
+ SK: 'META',
173
+ tenantId,
174
+ createdAt: new Date().toISOString(),
175
+ },
176
+ ConditionExpression: 'attribute_not_exists(PK) OR tenantId = :tid',
177
+ ExpressionAttributeValues: {
178
+ ':tid': tenantId,
179
+ },
180
+ }),
181
+ );
182
+ return true;
183
+ } catch (err: unknown) {
184
+ if ((err as { name?: string }).name === 'ConditionalCheckFailedException') {
185
+ logger.warn('GitHub username already claimed by another tenant', { githubUsername });
186
+ return false;
187
+ }
188
+ throw err;
189
+ }
157
190
  }
158
191
 
159
192
  // Export for testing
@@ -1 +1 @@
1
- {"version":3,"file":"invites.d.ts","sourceRoot":"","sources":["../../../../lib/handler/routes/invites.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAKvB,MAAM,uBAAuB,CAAC;AAI/B,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAgHD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAyH1B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA0G1B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAiG1B"}
1
+ {"version":3,"file":"invites.d.ts","sourceRoot":"","sources":["../../../../lib/handler/routes/invites.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAKvB,MAAM,uBAAuB,CAAC;AAI/B,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AA8GD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAwH1B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA2G1B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAiG1B"}
@@ -65,15 +65,14 @@ async function checkInviteRateLimit(senderFingerprint, ddb, tableName) {
65
65
  PK: `RATE#INVITE#${senderFingerprint}`,
66
66
  SK: `HOUR#${hourWindow}`,
67
67
  },
68
- UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, #ttl = :ttl',
68
+ UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, expiresAt = :expiresAt',
69
69
  ExpressionAttributeNames: {
70
70
  '#count': 'count',
71
- '#ttl': 'ttl',
72
71
  },
73
72
  ExpressionAttributeValues: {
74
73
  ':zero': 0,
75
74
  ':one': 1,
76
- ':ttl': hourWindow * HOUR_SECONDS + HOUR_SECONDS + 120,
75
+ ':expiresAt': hourWindow * HOUR_SECONDS + HOUR_SECONDS + 120,
77
76
  },
78
77
  ReturnValues: 'UPDATED_NEW',
79
78
  }));
@@ -88,15 +87,14 @@ async function checkInviteRateLimit(senderFingerprint, ddb, tableName) {
88
87
  PK: `RATE#INVITE#${senderFingerprint}`,
89
88
  SK: `DAY#${dayWindow}`,
90
89
  },
91
- UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, #ttl = :ttl',
90
+ UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, expiresAt = :expiresAt',
92
91
  ExpressionAttributeNames: {
93
92
  '#count': 'count',
94
- '#ttl': 'ttl',
95
93
  },
96
94
  ExpressionAttributeValues: {
97
95
  ':zero': 0,
98
96
  ':one': 1,
99
- ':ttl': dayWindow * DAY_SECONDS + DAY_SECONDS + 120,
97
+ ':expiresAt': dayWindow * DAY_SECONDS + DAY_SECONDS + 120,
100
98
  },
101
99
  ReturnValues: 'UPDATED_NEW',
102
100
  }));
@@ -208,8 +206,7 @@ async function handleCreateInvite(tenantId, fingerprint, body, ddb, tableName) {
208
206
  encryptedPayload: parsed.encryptedPayload,
209
207
  role: parsed.role,
210
208
  createdAt,
211
- expiresAt,
212
- ttl,
209
+ expiresAt: ttl,
213
210
  },
214
211
  }));
215
212
  await (0, audit_js_1.logAuditEvent)(ddb, tableName, tenantId, {
@@ -280,8 +277,10 @@ async function handleAcceptInvite(tenantId, fingerprint, inviteId, ddb, tableNam
280
277
  };
281
278
  }
282
279
  const invite = result.Item;
283
- // Check recipient matches
284
- if (invite['recipientFingerprint'] !== fingerprint) {
280
+ // Check recipient matches (constant-time to prevent fingerprint probing)
281
+ const storedFp = Buffer.from(invite['recipientFingerprint']);
282
+ const suppliedFp = Buffer.from(fingerprint);
283
+ if (storedFp.length !== suppliedFp.length || !crypto.timingSafeEqual(storedFp, suppliedFp)) {
285
284
  return {
286
285
  statusCode: 403,
287
286
  headers: JSON_HEADERS,
@@ -326,15 +325,14 @@ async function handleAcceptInvite(tenantId, fingerprint, inviteId, ddb, tableNam
326
325
  PK: `INVITE#${inviteId}`,
327
326
  SK: 'META',
328
327
  },
329
- UpdateExpression: 'SET #status = :accepted, acceptedAt = :acceptedAt, #ttl = :ttl',
328
+ UpdateExpression: 'SET #status = :accepted, acceptedAt = :acceptedAt, expiresAt = :expiresAt',
330
329
  ExpressionAttributeNames: {
331
330
  '#status': 'status',
332
- '#ttl': 'ttl',
333
331
  },
334
332
  ExpressionAttributeValues: {
335
333
  ':accepted': 'accepted',
336
334
  ':acceptedAt': acceptedAt,
337
- ':ttl': cleanupTtl,
335
+ ':expiresAt': cleanupTtl,
338
336
  },
339
337
  }));
340
338
  await (0, audit_js_1.logAuditEvent)(ddb, tableName, tenantId, {
@@ -1 +1 @@
1
- {"version":3,"file":"invites.js","sourceRoot":"","sources":["../../../../lib/handler/routes/invites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invites.js","sourceRoot":"","sources":["../../../../lib/handler/routes/invites.ts"],"names":[],"mappings":"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"}
@@ -48,15 +48,14 @@ async function checkInviteRateLimit(
48
48
  PK: `RATE#INVITE#${senderFingerprint}`,
49
49
  SK: `HOUR#${hourWindow}`,
50
50
  },
51
- UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, #ttl = :ttl',
51
+ UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, expiresAt = :expiresAt',
52
52
  ExpressionAttributeNames: {
53
53
  '#count': 'count',
54
- '#ttl': 'ttl',
55
54
  },
56
55
  ExpressionAttributeValues: {
57
56
  ':zero': 0,
58
57
  ':one': 1,
59
- ':ttl': hourWindow * HOUR_SECONDS + HOUR_SECONDS + 120,
58
+ ':expiresAt': hourWindow * HOUR_SECONDS + HOUR_SECONDS + 120,
60
59
  },
61
60
  ReturnValues: 'UPDATED_NEW',
62
61
  }),
@@ -75,15 +74,14 @@ async function checkInviteRateLimit(
75
74
  PK: `RATE#INVITE#${senderFingerprint}`,
76
75
  SK: `DAY#${dayWindow}`,
77
76
  },
78
- UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, #ttl = :ttl',
77
+ UpdateExpression: 'SET #count = if_not_exists(#count, :zero) + :one, expiresAt = :expiresAt',
79
78
  ExpressionAttributeNames: {
80
79
  '#count': 'count',
81
- '#ttl': 'ttl',
82
80
  },
83
81
  ExpressionAttributeValues: {
84
82
  ':zero': 0,
85
83
  ':one': 1,
86
- ':ttl': dayWindow * DAY_SECONDS + DAY_SECONDS + 120,
84
+ ':expiresAt': dayWindow * DAY_SECONDS + DAY_SECONDS + 120,
87
85
  },
88
86
  ReturnValues: 'UPDATED_NEW',
89
87
  }),
@@ -231,8 +229,7 @@ export async function handleCreateInvite(
231
229
  encryptedPayload: parsed.encryptedPayload,
232
230
  role: parsed.role,
233
231
  createdAt,
234
- expiresAt,
235
- ttl,
232
+ expiresAt: ttl,
236
233
  },
237
234
  }),
238
235
  );
@@ -330,8 +327,10 @@ export async function handleAcceptInvite(
330
327
 
331
328
  const invite = result.Item;
332
329
 
333
- // Check recipient matches
334
- if (invite['recipientFingerprint'] !== fingerprint) {
330
+ // Check recipient matches (constant-time to prevent fingerprint probing)
331
+ const storedFp = Buffer.from(invite['recipientFingerprint'] as string);
332
+ const suppliedFp = Buffer.from(fingerprint);
333
+ if (storedFp.length !== suppliedFp.length || !crypto.timingSafeEqual(storedFp, suppliedFp)) {
335
334
  return {
336
335
  statusCode: 403,
337
336
  headers: JSON_HEADERS,
@@ -382,15 +381,14 @@ export async function handleAcceptInvite(
382
381
  PK: `INVITE#${inviteId}`,
383
382
  SK: 'META',
384
383
  },
385
- UpdateExpression: 'SET #status = :accepted, acceptedAt = :acceptedAt, #ttl = :ttl',
384
+ UpdateExpression: 'SET #status = :accepted, acceptedAt = :acceptedAt, expiresAt = :expiresAt',
386
385
  ExpressionAttributeNames: {
387
386
  '#status': 'status',
388
- '#ttl': 'ttl',
389
387
  },
390
388
  ExpressionAttributeValues: {
391
389
  ':accepted': 'accepted',
392
390
  ':acceptedAt': acceptedAt,
393
- ':ttl': cleanupTtl,
391
+ ':expiresAt': cleanupTtl,
394
392
  },
395
393
  }),
396
394
  );
@@ -60,7 +60,7 @@ async function createNotification(tenantId, type, deviceInfo, ddb, tableName) {
60
60
  deviceInfo,
61
61
  acknowledged: false,
62
62
  timestamp: now,
63
- ttl,
63
+ expiresAt: ttl,
64
64
  },
65
65
  }));
66
66
  logger_js_1.logger.info('Notification created', { tenantId, type });
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../lib/handler/routes/notifications.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,gDA2BC;AAKD,wDAgCC;AAKD,8DAqCC;AASD,8CAaC;AAlKD,+CAAiC;AACjC,wDAK+B;AAC/B,4CAAsC;AAQtC,MAAM,YAAY,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAC5D,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAatC;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAsB,EACtB,UAAsB,EACtB,GAA2B,EAC3B,SAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC;IAExD,MAAM,GAAG,CAAC,IAAI,CACZ,IAAI,yBAAU,CAAC;QACb,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE;YACJ,EAAE,EAAE,UAAU,QAAQ,EAAE;YACxB,EAAE,EAAE,gBAAgB,GAAG,IAAI,MAAM,EAAE;YACnC,IAAI;YACJ,UAAU;YACV,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,GAAG;YACd,GAAG;SACJ;KACF,CAAC,CACH,CAAC;IAEF,kBAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,GAA2B,EAC3B,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAC3B,IAAI,2BAAY,CAAC;QACf,SAAS,EAAE,SAAS;QACpB,sBAAsB,EAAE,uCAAuC;QAC/D,gBAAgB,EAAE,uBAAuB;QACzC,yBAAyB,EAAE;YACzB,KAAK,EAAE,UAAU,QAAQ,EAAE;YAC3B,SAAS,EAAE,eAAe;YAC1B,QAAQ,EAAE,KAAK;SAChB;QACD,gBAAgB,EAAE,KAAK,EAAE,eAAe;QACxC,KAAK,EAAE,EAAE;KACV,CAAC,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,cAAsB,EACtB,GAA2B,EAC3B,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,CACZ,IAAI,4BAAa,CAAC;YAChB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE;gBACH,EAAE,EAAE,UAAU,QAAQ,EAAE;gBACxB,EAAE,EAAE,cAAc;aACnB;YACD,gBAAgB,EAAE,0BAA0B;YAC5C,mBAAmB,EAAE,sBAAsB;YAC3C,yBAAyB,EAAE;gBACzB,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CACH,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAAyB,CAAC,IAAI,KAAK,iCAAiC,EAAE,CAAC;YAC1E,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,OAA+B;IAC/D,oEAAoE;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,OAAO,CAAC,wBAAwB,CAAC,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,uCAAuC,CAAC,IAAI,OAAO,CAAC,uCAAuC,CAAC,CAAC;IAEpH,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../lib/handler/routes/notifications.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export async function createNotification(
53
53
  deviceInfo,
54
54
  acknowledged: false,
55
55
  timestamp: now,
56
- ttl,
56
+ expiresAt: ttl,
57
57
  },
58
58
  }),
59
59
  );
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../../lib/handler/routes/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEvB,MAAM,uBAAuB,CAAC;AAI/B,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAmC1B"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../../lib/handler/routes/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAI/B,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAmC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../../lib/handler/routes/projects.ts"],"names":[],"mappings":";;AA6BA,kEAuCC;AAhED,+DAA+E;AAC/E,4CAAsC;AAetC;;;;;;;;GAQG;AACI,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,GAA2B,EAC3B,SAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,IAAA,8BAAc,EAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAA,gCAAgB,EAAC,UAAU,CAAC,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,yDAAyD;IACzD,EAAE;IACF,yBAAyB;IACzB,qDAAqD;IACrD,4BAA4B;IAC5B,iCAAiC;IACjC,gDAAgD;IAChD,+DAA+D;IAC/D,SAAS;IACT,6CAA6C;IAE7C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,kBAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QACvC,QAAQ;QACR,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAA,gCAAgB,EAAC,UAAU,CAAC,EAAE;QAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../../lib/handler/routes/projects.ts"],"names":[],"mappings":";;AA4BA,kEAuCC;AAhED,+DAA+E;AAC/E,4CAAsC;AAetC;;;;;;;;GAQG;AACI,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,GAA2B,EAC3B,SAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,IAAA,8BAAc,EAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAA,gCAAgB,EAAC,UAAU,CAAC,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,yDAAyD;IACzD,EAAE;IACF,yBAAyB;IACzB,qDAAqD;IACrD,4BAA4B;IAC5B,iCAAiC;IACjC,gDAAgD;IAChD,+DAA+D;IAC/D,SAAS;IACT,6CAA6C;IAE7C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,kBAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QACvC,QAAQ;QACR,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAA,gCAAgB,EAAC,UAAU,CAAC,EAAE;QAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  DynamoDBDocumentClient,
3
- QueryCommand,
4
3
  } from '@aws-sdk/lib-dynamodb';
5
4
  import { checkRateLimit, rateLimitHeaders } from '../middleware/rate-limit.js';
6
5
  import { logger } from '../logger.js';
@@ -14,6 +14,6 @@ export declare function _resetSignupsCache(): void;
14
14
  * Challenge expires after 60 seconds and is single-use.
15
15
  */
16
16
  export declare function handleChallenge(ddb: DynamoDBDocumentClient, tableName: string): Promise<HandlerResponse>;
17
- export declare function handleRegister(body: string | null | undefined, ddb: DynamoDBDocumentClient, tableName: string, signupsParamName: string): Promise<HandlerResponse>;
17
+ export declare function handleRegister(body: string | null | undefined, ddb: DynamoDBDocumentClient, tableName: string, signupsParamName: string, headers?: Record<string, string>): Promise<HandlerResponse>;
18
18
  export {};
19
19
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../lib/handler/routes/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAyC,MAAM,uBAAuB,CAAC;AAmBtG,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAUD,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB7E;AAGD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAkDD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAyB1B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CAqN1B"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../lib/handler/routes/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAA6B,MAAM,uBAAuB,CAAC;AAsB1F,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAUD,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB7E;AAGD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAkDD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAyB1B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,sBAAsB,EAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACnC,OAAO,CAAC,eAAe,CAAC,CAgQ1B"}