@de-otio/trellis 0.10.0 → 0.10.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 (46) hide show
  1. package/dist/lambda/delete-account-worker.d.ts.map +1 -1
  2. package/dist/lambda/delete-account-worker.js +1 -16
  3. package/dist/lambda/delete-account-worker.js.map +1 -1
  4. package/dist/lambda/hourly-cron.d.ts.map +1 -1
  5. package/dist/lambda/hourly-cron.js +1 -17
  6. package/dist/lambda/hourly-cron.js.map +1 -1
  7. package/dist/lambda/maintenance-cron.d.ts.map +1 -1
  8. package/dist/lambda/maintenance-cron.js +1 -16
  9. package/dist/lambda/maintenance-cron.js.map +1 -1
  10. package/dist/lambda/media-processing-worker.js +1 -1
  11. package/dist/lambda/media-processing-worker.js.map +1 -1
  12. package/dist/lambda/nightly-cron.d.ts.map +1 -1
  13. package/dist/lambda/nightly-cron.js +2 -18
  14. package/dist/lambda/nightly-cron.js.map +1 -1
  15. package/dist/lambda/post-confirmation.d.ts.map +1 -1
  16. package/dist/lambda/post-confirmation.js +9 -17
  17. package/dist/lambda/post-confirmation.js.map +1 -1
  18. package/dist/lambda/pre-token-generation.d.ts.map +1 -1
  19. package/dist/lambda/pre-token-generation.js +6 -17
  20. package/dist/lambda/pre-token-generation.js.map +1 -1
  21. package/dist/lib/compliance/baseline.d.ts.map +1 -1
  22. package/dist/lib/compliance/baseline.js +1 -9
  23. package/dist/lib/compliance/baseline.js.map +1 -1
  24. package/dist/lib/graph/graph-service.d.ts +7 -12
  25. package/dist/lib/graph/graph-service.d.ts.map +1 -1
  26. package/dist/lib/graph/graph-service.js +6 -11
  27. package/dist/lib/graph/graph-service.js.map +1 -1
  28. package/dist/lib/graph/scoring-engine.d.ts +0 -3
  29. package/dist/lib/graph/scoring-engine.d.ts.map +1 -1
  30. package/dist/lib/graph/scoring-engine.js +0 -3
  31. package/dist/lib/graph/scoring-engine.js.map +1 -1
  32. package/dist/lib/lambda-prisma.d.ts +16 -0
  33. package/dist/lib/lambda-prisma.d.ts.map +1 -0
  34. package/dist/lib/lambda-prisma.js +29 -0
  35. package/dist/lib/lambda-prisma.js.map +1 -0
  36. package/dist/lib/services/media-upload-service.js +2 -2
  37. package/dist/lib/services/media-upload-service.js.map +1 -1
  38. package/package.json +1 -1
  39. package/prisma/schema.prisma +10 -11
  40. package/src/lambda/delete-account-worker.ts +1 -16
  41. package/src/lambda/hourly-cron.ts +1 -28
  42. package/src/lambda/maintenance-cron.ts +1 -21
  43. package/src/lambda/media-processing-worker.ts +1 -1
  44. package/src/lambda/nightly-cron.ts +2 -24
  45. package/src/lambda/post-confirmation.ts +8 -25
  46. package/src/lambda/pre-token-generation.ts +6 -25
@@ -1,20 +1,15 @@
1
1
  /**
2
2
  * GraphService Interface
3
3
  *
4
- * The abstraction layer between API handlers and the graph database.
5
- * Implementations exist for:
6
- * - Neo4j Community Edition (local development, bolt:// protocol)
7
- * - Neo4j AuraDB (bolt+s:// over the Bolt protocol with password auth)
8
- *
9
- * Both backends support the Cypher query language. This interface
10
- * exposes high-level operations — implementations translate them to
11
- * Cypher queries internally.
4
+ * The abstraction layer between API handlers and the social graph.
5
+ * The only shipped implementation is PostgresGraphService, which serves the
6
+ * graph from relational edge tables in the same PostgreSQL database using SQL
7
+ * joins and recursive CTEs. (An earlier dedicated graph backend was removed;
8
+ * GRAPH_BACKEND=neo4j now throws "no longer supported". The interface is kept
9
+ * so a dedicated backend could be reintroduced behind it.)
12
10
  *
13
11
  * Handlers never execute raw graph queries. They call GraphService methods
14
12
  * that return IDs, which are then used to fetch content from Postgres via Prisma.
15
- *
16
- * @see /analysis/redesign/07-graph-database/02-hybrid-architecture.md
17
- * @see /analysis/redesign/07-graph-database/04-graph-schema.md
18
13
  */
19
14
  import type { CircleEntityStatus, CircleMember, CircleTier, CircleTierStatus, CreateEntityRelationshipInput, CreateRelationshipInput, DiscoveryFilters, DiscoveryResult, EntityRelationship, EntityRelationshipStatus, GlanceItem, GraphConnectionConfig, GraphData, GraphHealthStatus, GraphNodeType, NearbyFilters, PaginatedResult, PaginationInput, Recommendation, RecordInteractionInput, Relationship, ScoreUpdate, SyncEntityInput, SyncOwnershipInput, SyncPostInput, SyncPostSubjectsInput, SyncUserInput, UpdateRelationshipScoreInput, VisiblePostResult } from "./types.js";
20
15
  /**
@@ -51,7 +46,7 @@ export interface GraphConnection {
51
46
  * All methods throw GraphError subclasses on failure.
52
47
  *
53
48
  * Handlers consume this interface — they never know which backend
54
- * (local Neo4j or AuraDB) is being used.
49
+ * implementation (currently Postgres) is being used.
55
50
  */
56
51
  export interface GraphService {
57
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"graph-service.d.ts","sourceRoot":"","sources":["../../../src/lib/graph/graph-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-service.d.ts","sourceRoot":"","sources":["../../../src/lib/graph/graph-service.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,15 @@
1
1
  /**
2
2
  * GraphService Interface
3
3
  *
4
- * The abstraction layer between API handlers and the graph database.
5
- * Implementations exist for:
6
- * - Neo4j Community Edition (local development, bolt:// protocol)
7
- * - Neo4j AuraDB (bolt+s:// over the Bolt protocol with password auth)
8
- *
9
- * Both backends support the Cypher query language. This interface
10
- * exposes high-level operations — implementations translate them to
11
- * Cypher queries internally.
4
+ * The abstraction layer between API handlers and the social graph.
5
+ * The only shipped implementation is PostgresGraphService, which serves the
6
+ * graph from relational edge tables in the same PostgreSQL database using SQL
7
+ * joins and recursive CTEs. (An earlier dedicated graph backend was removed;
8
+ * GRAPH_BACKEND=neo4j now throws "no longer supported". The interface is kept
9
+ * so a dedicated backend could be reintroduced behind it.)
12
10
  *
13
11
  * Handlers never execute raw graph queries. They call GraphService methods
14
12
  * that return IDs, which are then used to fetch content from Postgres via Prisma.
15
- *
16
- * @see /analysis/redesign/07-graph-database/02-hybrid-architecture.md
17
- * @see /analysis/redesign/07-graph-database/04-graph-schema.md
18
13
  */
19
14
  export {};
20
15
  //# sourceMappingURL=graph-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-service.js","sourceRoot":"","sources":["../../../src/lib/graph/graph-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
1
+ {"version":3,"file":"graph-service.js","sourceRoot":"","sources":["../../../src/lib/graph/graph-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -11,9 +11,6 @@
11
11
  * w_frequency=0.25, w_owner=0.15, w_creation=0.10, w_connection=0.10,
12
12
  * w_decay=0.05). Owned entities auto-pin at 1.0.
13
13
  *
14
- * @see /analysis/redesign/06-entities-over-people/09-scoring-without-reciprocity.md
15
- * @see /analysis/redesign/02-new-core-primitives.md
16
- *
17
14
  * CODEBOOK: Every constant in this file (weights, decay half-lives, engagement
18
15
  * scores, connection bonuses, tier thresholds) is documented with rationale in
19
16
  * the sibling file SCORING-CODEBOOK.md. The codebook and this file are
@@ -1 +1 @@
1
- {"version":3,"file":"scoring-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/graph/scoring-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoring-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/graph/scoring-engine.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,6 @@
11
11
  * w_frequency=0.25, w_owner=0.15, w_creation=0.10, w_connection=0.10,
12
12
  * w_decay=0.05). Owned entities auto-pin at 1.0.
13
13
  *
14
- * @see /analysis/redesign/06-entities-over-people/09-scoring-without-reciprocity.md
15
- * @see /analysis/redesign/02-new-core-primitives.md
16
- *
17
14
  * CODEBOOK: Every constant in this file (weights, decay half-lives, engagement
18
15
  * scores, connection bonuses, tier thresholds) is documented with rationale in
19
16
  * the sibling file SCORING-CODEBOOK.md. The codebook and this file are
@@ -1 +1 @@
1
- {"version":3,"file":"scoring-engine.js","sourceRoot":"","sources":["../../../src/lib/graph/scoring-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoring-engine.js","sourceRoot":"","sources":["../../../src/lib/graph/scoring-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ /**
3
+ * Build (and cache) a PrismaClient for standalone Lambda handlers.
4
+ *
5
+ * RDS enforces `force_ssl`, so the connection MUST negotiate TLS — otherwise
6
+ * Postgres rejects it with `28000 / no pg_hba.conf entry … no encryption`
7
+ * (surfaced by Prisma as P1010). The request-path client gets this via
8
+ * `DatabaseConnectionManager` (`ssl: { rejectUnauthorized: false }`); Lambda
9
+ * handlers must do the same. Prisma 7 supplies the connection through a pg
10
+ * driver adapter (the old `datasources` constructor option is gone), so the
11
+ * `ssl` option goes on the adapter's pool config.
12
+ *
13
+ * Cached at module scope so warm invocations reuse the client.
14
+ */
15
+ export declare function getLambdaPrisma(): Promise<PrismaClient>;
16
+ //# sourceMappingURL=lambda-prisma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-prisma.d.ts","sourceRoot":"","sources":["../../src/lib/lambda-prisma.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAY7D"}
@@ -0,0 +1,29 @@
1
+ import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
2
+ import { PrismaPg } from "@prisma/adapter-pg";
3
+ import { PrismaClient } from "@prisma/client";
4
+ let prisma = null;
5
+ /**
6
+ * Build (and cache) a PrismaClient for standalone Lambda handlers.
7
+ *
8
+ * RDS enforces `force_ssl`, so the connection MUST negotiate TLS — otherwise
9
+ * Postgres rejects it with `28000 / no pg_hba.conf entry … no encryption`
10
+ * (surfaced by Prisma as P1010). The request-path client gets this via
11
+ * `DatabaseConnectionManager` (`ssl: { rejectUnauthorized: false }`); Lambda
12
+ * handlers must do the same. Prisma 7 supplies the connection through a pg
13
+ * driver adapter (the old `datasources` constructor option is gone), so the
14
+ * `ssl` option goes on the adapter's pool config.
15
+ *
16
+ * Cached at module scope so warm invocations reuse the client.
17
+ */
18
+ export async function getLambdaPrisma() {
19
+ if (prisma)
20
+ return prisma;
21
+ const { username, password, host, port, dbname } = (await getSecret(process.env.DB_SECRET_ARN, { transform: "json" }));
22
+ const adapter = new PrismaPg({
23
+ connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
24
+ ssl: { rejectUnauthorized: false },
25
+ });
26
+ prisma = new PrismaClient({ adapter });
27
+ return prisma;
28
+ }
29
+ //# sourceMappingURL=lambda-prisma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-prisma.js","sourceRoot":"","sources":["../../src/lib/lambda-prisma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU9C,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEvC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CACjE,OAAO,CAAC,GAAG,CAAC,aAAc,EAC1B,EAAE,SAAS,EAAE,MAAM,EAAE,CACtB,CAAwB,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,qBAAqB;QACzH,GAAG,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE;KACnC,CAAC,CAAC;IACH,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -67,7 +67,7 @@ export class MediaUploadService {
67
67
  const fileBuffer = preReadBuffer ?? await file.arrayBuffer();
68
68
  const contentHash = await generateContentHash(fileBuffer);
69
69
  const ext = getExtensionFromMimeType(file.type);
70
- const originalKey = `media/${contentHash}.${ext}`;
70
+ const originalKey = `originals/user-${userId}/${contentHash}.${ext}`;
71
71
  logger.info("[MediaUpload] Starting upload", {
72
72
  contentHash,
73
73
  mimeType: file.type,
@@ -155,7 +155,7 @@ export class MediaUploadService {
155
155
  const fileBuffer = await file.arrayBuffer();
156
156
  const contentHash = await generateContentHash(fileBuffer);
157
157
  const ext = getExtensionFromMimeType(file.type);
158
- const originalKey = `media/${contentHash}.${ext}`;
158
+ const originalKey = `originals/user-${userId}/${contentHash}.${ext}`;
159
159
  const metadata = metadataArray?.[index];
160
160
  const r2Metadata = {
161
161
  contentHash,
@@ -1 +1 @@
1
- {"version":3,"file":"media-upload-service.js","sourceRoot":"","sources":["../../../src/lib/services/media-upload-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-upload-service.js","sourceRoot":"","sources":["../../../src/lib/services/media-upload-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@de-otio/trellis",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@ model Entity {
43
43
 
44
44
  // Co-ownership (replaces single ownerId)
45
45
  owners EntityOwnership[]
46
- // Relationships and follower counts live in the graph DB (AuraDB), not Prisma
46
+ // Relationships and follower counts live in the graph edge tables (served via graph-service.ts), not on this model
47
47
 
48
48
  subjectPosts PostSubject[]
49
49
  primaryPosts Post[] @relation("PrimaryEntityPosts")
@@ -93,10 +93,9 @@ model PostGeoIndex {
93
93
  @@map("post_geo_index")
94
94
  }
95
95
 
96
- /// Entity geo-location for proximity discovery (C7). Neptune (the graph DB) has
97
- /// no spatial type, so geo-proximity lives here and is queried with PostGIS
98
- /// (ST_DWithin / KNN over a GiST index) via $queryRaw. Populated from the
99
- /// dual-write (syncEntity). Location is sensitive → own tenant_id for direct RLS
96
+ /// Entity geo-location for proximity discovery (C7). Geo-proximity is queried
97
+ /// with PostGIS (ST_DWithin / KNN over a GiST index) via $queryRaw. Populated from
98
+ /// syncEntity. Location is sensitive own tenant_id for direct RLS
100
99
  /// (mirrors post_geo_index). See plans/redesign/entity-location-subsystem.md.
101
100
  model EntityLocation {
102
101
  entityId String @id @map("entity_id")
@@ -276,7 +275,7 @@ model User {
276
275
  ownedEntities EntityOwnership[] @relation("EntityOwners")
277
276
  addedOwnerships EntityOwnership[] @relation("OwnershipAddedBy")
278
277
 
279
- // Relationships and follower counts live in the graph DB (AuraDB), not Prisma
278
+ // Relationships and follower counts live in the graph edge tables (served via graph-service.ts), not on this model
280
279
 
281
280
  // Direct messages
282
281
  sentMessages DirectMessage[] @relation("SentMessages")
@@ -1133,8 +1132,8 @@ model ProductTaxonomyTag {
1133
1132
  }
1134
1133
 
1135
1134
  // ============================================================================
1136
- // Relationships (scored edges live in the graph DB — see graph-service.ts)
1137
- // Follow and Friendship models removed — replaced by :RELATES_TO edges in graph DB
1135
+ // Relationships (scored edges; served via graph-service.ts over these tables)
1136
+ // Follow and Friendship models removed — replaced by the relationship edge tables below
1138
1137
  // ============================================================================
1139
1138
 
1140
1139
  // ============================================================================
@@ -1666,7 +1665,7 @@ model NotificationPreference {
1666
1665
  }
1667
1666
 
1668
1667
  // Out-of-band invite codes — users share codes privately; redemption establishes
1669
- // a relationship in the graph DB. Entity-scoped codes can be created by entity owners.
1668
+ // a relationship edge. Entity-scoped codes can be created by entity owners.
1670
1669
  model ConnectionCode {
1671
1670
  id String @id @default(cuid())
1672
1671
  // Multi-tenancy (v0.7) — code's owning tenant (creator's active tenant at create time).
@@ -1934,8 +1933,8 @@ model TenantInvitation {
1934
1933
  // Graph edges in Postgres (graph-db revisit 2026-06: see
1935
1934
  // plans/redesign/graph-backend-contract.md)
1936
1935
  //
1937
- // These two tables hold the edges that previously lived only in the graph DB
1938
- // (RELATES_TO and typed entity-to-entity edges). OWNS (entity_ownerships) and
1936
+ // These two tables hold the relationship edges (user↔user and typed
1937
+ // entity-to-entity). OWNS (entity_ownerships) and
1939
1938
  // ABOUT (post_subjects) already existed in Postgres. Modeled as standalone
1940
1939
  // tables (no Prisma @relation) so the migration is self-contained and
1941
1940
  // non-breaking; targetId is polymorphic (user|entity) so it cannot carry a
@@ -1,10 +1,9 @@
1
1
  import type { SQSHandler } from "aws-lambda";
2
- import { PrismaPg } from "@prisma/adapter-pg";
3
2
  import { PrismaClient } from "@prisma/client";
4
3
  import { S3Client, DeleteObjectsCommand, ListObjectsV2Command } from "@aws-sdk/client-s3";
5
4
  import { CognitoIdentityProviderClient, AdminDeleteUserCommand } from "@aws-sdk/client-cognito-identity-provider";
6
5
  import { Logger } from "@aws-lambda-powertools/logger";
7
- import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
6
+ import { getLambdaPrisma as getPrisma } from "../lib/lambda-prisma.js";
8
7
 
9
8
  const logger = new Logger({ serviceName: "delete-account-worker" });
10
9
 
@@ -12,20 +11,6 @@ const s3 = new S3Client({ region: process.env.AWS_REGION });
12
11
 
13
12
  const MAX_PAGES = 100;
14
13
 
15
- let prisma: PrismaClient | null = null;
16
-
17
- async function getPrisma(): Promise<PrismaClient> {
18
- if (prisma) return prisma;
19
- const { username, password, host, port, dbname } = (await getSecret(process.env.DB_SECRET_ARN!, { transform: "json" })) as unknown as { username: string; password: string; host: string; port: string | number; dbname: string };
20
- // Prisma 7 removed the `datasources` constructor option; the connection URL
21
- // is now supplied via a driver adapter.
22
- const adapter = new PrismaPg({
23
- connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
24
- });
25
- prisma = new PrismaClient({ adapter });
26
- return prisma;
27
- }
28
-
29
14
  async function deleteUserMedia(userId: string, mediaBucket: string): Promise<void> {
30
15
  const prefix = `originals/user-${userId}/`;
31
16
  let continuationToken: string | undefined;
@@ -1,10 +1,9 @@
1
1
  import { Logger } from "@aws-lambda-powertools/logger";
2
2
  import { Metrics, MetricUnit } from "@aws-lambda-powertools/metrics";
3
- import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
4
3
  import { DynamoDBClient, PutItemCommand } from "@aws-sdk/client-dynamodb";
5
4
  import { marshall } from "@aws-sdk/util-dynamodb";
6
- import { PrismaPg } from "@prisma/adapter-pg";
7
5
  import { PrismaClient } from "@prisma/client";
6
+ import { getLambdaPrisma as getPrisma } from "../lib/lambda-prisma.js";
8
7
  import {
9
8
  batchedPruneExpired,
10
9
  resolveInteractionEventConfig,
@@ -23,32 +22,6 @@ const metrics = new Metrics({
23
22
  const dynamo = new DynamoDBClient({ region: process.env.AWS_REGION });
24
23
  const TABLE = process.env.DYNAMODB_TABLE!;
25
24
 
26
- let prisma: PrismaClient | null = null;
27
-
28
- interface DbSecret {
29
- username: string;
30
- password: string;
31
- host: string;
32
- port: string | number;
33
- dbname: string;
34
- }
35
-
36
- async function getPrisma(): Promise<PrismaClient> {
37
- if (prisma) return prisma;
38
- // getSecret caches + KMS-decrypts; transform:"json" parses the secret value.
39
- const { username, password, host, port, dbname } = (await getSecret(
40
- process.env.DB_SECRET_ARN!,
41
- { transform: "json" },
42
- )) as unknown as DbSecret;
43
- // Prisma 7 removed the `datasources` constructor option; the connection URL
44
- // is now supplied via a driver adapter.
45
- const adapter = new PrismaPg({
46
- connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
47
- });
48
- prisma = new PrismaClient({ adapter });
49
- return prisma;
50
- }
51
-
52
25
  export const handler = async (): Promise<void> => {
53
26
  const now = Math.floor(Date.now() / 1000);
54
27
 
@@ -1,34 +1,14 @@
1
1
  import { DynamoDBClient, PutItemCommand } from "@aws-sdk/client-dynamodb";
2
2
  import { marshall } from "@aws-sdk/util-dynamodb";
3
- import { PrismaPg } from "@prisma/adapter-pg";
4
3
  import { PrismaClient } from "@prisma/client";
5
4
  import { Logger } from "@aws-lambda-powertools/logger";
6
- import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
5
+ import { getLambdaPrisma as getPrisma } from "../lib/lambda-prisma.js";
7
6
 
8
7
  const logger = new Logger({ serviceName: "maintenance-cron" });
9
8
 
10
9
  const dynamo = new DynamoDBClient({ region: process.env.AWS_REGION });
11
10
  const TABLE = process.env.DYNAMODB_TABLE!;
12
11
 
13
- let prisma: PrismaClient | null = null;
14
-
15
- async function getPrisma(): Promise<PrismaClient> {
16
- if (prisma) return prisma;
17
- const { username, password, host, port, dbname } = (await getSecret(process.env.DB_SECRET_ARN!, { transform: "json" })) as unknown as {
18
- username: string;
19
- password: string;
20
- host: string;
21
- port: string | number;
22
- dbname: string;
23
- };
24
- // Prisma 7 removed the `datasources` constructor option; the connection URL
25
- // is now supplied via a driver adapter.
26
- const adapter = new PrismaPg({
27
- connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
28
- });
29
- prisma = new PrismaClient({ adapter });
30
- return prisma;
31
- }
32
12
 
33
13
  export const handler = async (): Promise<void> => {
34
14
  const now = Math.floor(Date.now() / 1000);
@@ -32,7 +32,7 @@ export const handler: SQSHandler = async (event) => {
32
32
  // Process with Sharp (must be installed as ARM64 binary)
33
33
  // dynamic import to avoid bundling issues
34
34
  const sharp = (await import("sharp")).default;
35
- const hash = key.replace("originals/", "").replace(/\.[^.]+$/, "");
35
+ const hash = key.split("/").pop()!.replace(/\.[^.]+$/, "");
36
36
 
37
37
  // Thumbnail: 300px WebP
38
38
  const thumbnail = await sharp(buffer)
@@ -3,11 +3,10 @@ import { S3Client, DeleteObjectsCommand, ListObjectsV2Command } from "@aws-sdk/c
3
3
  import { CognitoIdentityProviderClient, AdminDeleteUserCommand } from "@aws-sdk/client-cognito-identity-provider";
4
4
  import { SESClient, SendEmailCommand } from "@aws-sdk/client-ses";
5
5
  import { marshall } from "@aws-sdk/util-dynamodb";
6
- import { PrismaPg } from "@prisma/adapter-pg";
7
6
  import { PrismaClient } from "@prisma/client";
8
7
  import { Logger } from "@aws-lambda-powertools/logger";
9
8
  import { Metrics, MetricUnit } from "@aws-lambda-powertools/metrics";
10
- import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
9
+ import { getLambdaPrisma as getPrisma } from "../lib/lambda-prisma.js";
11
10
 
12
11
  const logger = new Logger({ serviceName: "nightly-cron" });
13
12
  const metrics = new Metrics({ namespace: "Trellis/Deletion", serviceName: "nightly-cron" });
@@ -17,26 +16,6 @@ const s3 = new S3Client({ region: process.env.AWS_REGION });
17
16
  const TABLE = process.env.DYNAMODB_TABLE!;
18
17
  const MEDIA_BUCKET = process.env.MEDIA_BUCKET_NAME!;
19
18
 
20
- let prisma: PrismaClient | null = null;
21
-
22
- async function getPrisma(): Promise<PrismaClient> {
23
- if (prisma) return prisma;
24
- const { username, password, host, port, dbname } = (await getSecret(process.env.DB_SECRET_ARN!, { transform: "json" })) as unknown as {
25
- username: string;
26
- password: string;
27
- host: string;
28
- port: string | number;
29
- dbname: string;
30
- };
31
- // Prisma 7 removed the `datasources` constructor option; the connection URL
32
- // is now supplied via a driver adapter.
33
- const adapter = new PrismaPg({
34
- connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
35
- });
36
- prisma = new PrismaClient({ adapter });
37
- return prisma;
38
- }
39
-
40
19
  export const handler = async (): Promise<void> => {
41
20
  const now = Math.floor(Date.now() / 1000);
42
21
 
@@ -117,8 +96,7 @@ export const handler = async (): Promise<void> => {
117
96
  logger.error("Invitation cleanup failed", { error: err });
118
97
  }
119
98
 
120
- // 3. Follower counts removed — relationships now live in graph DB (AuraDB)
121
- // TODO: Add graph-side consistency check when reconciliation service is wired up
99
+ // 3. Follower counts removed — relationships now live in graph edge tables (see graph-service.ts)
122
100
 
123
101
  // 4. Process scheduled account deletions (GDPR Article 17 compliance)
124
102
  try {
@@ -34,8 +34,7 @@ import type {
34
34
  PostConfirmationTriggerHandler,
35
35
  } from "aws-lambda";
36
36
  import { Logger } from "@aws-lambda-powertools/logger";
37
- import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
38
- import { PrismaPg } from "@prisma/adapter-pg";
37
+ import { getLambdaPrisma as getPrisma } from "../lib/lambda-prisma.js";
39
38
  import {
40
39
  PrismaClient,
41
40
  Prisma,
@@ -55,30 +54,8 @@ import {
55
54
  import type { SignupMethod } from "@prisma/client";
56
55
 
57
56
  const logger = new Logger({ serviceName: "post-confirmation" });
58
- let prisma: PrismaClient | null = null;
59
57
  let cache: ClaimsCache | null = null;
60
58
 
61
- async function getPrisma(): Promise<PrismaClient> {
62
- if (prisma) return prisma;
63
- const { username, password, host, port, dbname } = (await getSecret(
64
- process.env.DB_SECRET_ARN!,
65
- { transform: "json" },
66
- )) as unknown as {
67
- username: string;
68
- password: string;
69
- host: string;
70
- port: string | number;
71
- dbname: string;
72
- };
73
- // Prisma 7 removed the `datasources` constructor option; the connection URL
74
- // is now supplied via a driver adapter.
75
- const adapter = new PrismaPg({
76
- connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
77
- });
78
- prisma = new PrismaClient({ adapter });
79
- return prisma;
80
- }
81
-
82
59
  function getCache(): ClaimsCache {
83
60
  if (!cache) cache = createClaimsCacheFromEnv();
84
61
  return cache;
@@ -164,8 +141,14 @@ const SUPPORTED_TRIGGERS = new Set([
164
141
  export const handler: PostConfirmationTriggerHandler = async (event) => {
165
142
  if (!SUPPORTED_TRIGGERS.has(event.triggerSource)) return event;
166
143
 
167
- const cognitoSub = event.userName;
168
144
  const attrs = event.request.userAttributes;
145
+ // Identify the user by the immutable Cognito `sub` (the value carried in the
146
+ // issued ID/access tokens), NOT `event.userName`. `userName` is not stable
147
+ // across trigger contexts — PostConfirmation sees the sign-up username while
148
+ // PreTokenGeneration on alias (email) sign-in receives the `sub` — so keying
149
+ // the User row and the claims cache on it silently breaks the cache lookup
150
+ // (the claim is written under one key and read under another → 401s).
151
+ const cognitoSub = attrs.sub;
169
152
  const email = attrs.email?.toLowerCase();
170
153
  if (!email) {
171
154
  logger.warn("postconfirm.no_email", { cognitoSub });
@@ -24,9 +24,8 @@ import type {
24
24
  PreTokenGenerationV2TriggerHandler,
25
25
  } from "aws-lambda";
26
26
  import { Logger } from "@aws-lambda-powertools/logger";
27
- import { getSecret } from "@aws-lambda-powertools/parameters/secrets";
28
- import { PrismaPg } from "@prisma/adapter-pg";
29
27
  import { PrismaClient, type TenantRole } from "@prisma/client";
28
+ import { getLambdaPrisma as getPrisma } from "../lib/lambda-prisma.js";
30
29
  import {
31
30
  ClaimsCache,
32
31
  createClaimsCacheFromEnv,
@@ -36,30 +35,8 @@ import {
36
35
  import { resolveTenantRole, type RoleMappingInput } from "../lib/tenant/resolve-role.js";
37
36
 
38
37
  const logger = new Logger({ serviceName: "pre-token-generation" });
39
- let prisma: PrismaClient | null = null;
40
38
  let cache: ClaimsCache | null = null;
41
39
 
42
- async function getPrisma(): Promise<PrismaClient> {
43
- if (prisma) return prisma;
44
- const { username, password, host, port, dbname } = (await getSecret(
45
- process.env.DB_SECRET_ARN!,
46
- { transform: "json" },
47
- )) as unknown as {
48
- username: string;
49
- password: string;
50
- host: string;
51
- port: string | number;
52
- dbname: string;
53
- };
54
- // Prisma 7 removed the `datasources` constructor option; the connection URL
55
- // is now supplied via a driver adapter.
56
- const adapter = new PrismaPg({
57
- connectionString: `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbname}?connection_limit=1`,
58
- });
59
- prisma = new PrismaClient({ adapter });
60
- return prisma;
61
- }
62
-
63
40
  function getCache(): ClaimsCache {
64
41
  if (!cache) cache = createClaimsCacheFromEnv();
65
42
  return cache;
@@ -198,7 +175,11 @@ async function maybeRefreshFederatedRole(
198
175
  }
199
176
 
200
177
  export const handler: PreTokenGenerationV2TriggerHandler = async (event) => {
201
- const cognitoSub = event.userName;
178
+ // Read the claims cache + RDS fallback by the immutable Cognito `sub` — the
179
+ // same key PostConfirmation writes and the value carried in the token's `sub`
180
+ // claim. `event.userName` is NOT stable across triggers (it can be the
181
+ // sign-up username here vs the sub there), which caused every lookup to miss.
182
+ const cognitoSub = event.request.userAttributes.sub;
202
183
  const claimsCache = getCache();
203
184
  const federated = isFederatedEvent(event);
204
185
  const idpGroups = parseIdpGroups(event.request.userAttributes["custom:idpGroups"]);