@igstack/app-catalog-backend-core 6.9.0 → 6.10.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 (39) hide show
  1. package/dist/db/syncAppCatalog.mjs +1 -0
  2. package/dist/db/syncAppCatalog.mjs.map +1 -1
  3. package/dist/generated/prisma/internal/class.mjs +4 -4
  4. package/dist/generated/prisma/internal/class.mjs.map +1 -1
  5. package/dist/generated/prisma/internal/prismaNamespace.d.mts +1 -0
  6. package/dist/generated/prisma/internal/prismaNamespace.d.mts.map +1 -1
  7. package/dist/generated/prisma/models/DbApprovalMethod.d.mts +1 -1
  8. package/dist/generated/prisma/models/DbAsset.d.mts +1 -1
  9. package/dist/generated/prisma/models/DbFeedback.d.mts +1 -1
  10. package/dist/generated/prisma/models/DbResource.d.mts +44 -1
  11. package/dist/generated/prisma/models/DbResource.d.mts.map +1 -1
  12. package/dist/index.d.mts +3 -3
  13. package/dist/index.mjs +2 -2
  14. package/dist/modules/appCatalog/service.d.mts +0 -1
  15. package/dist/modules/appCatalog/service.d.mts.map +1 -1
  16. package/dist/modules/appCatalog/service.mjs +2 -0
  17. package/dist/modules/appCatalog/service.mjs.map +1 -1
  18. package/dist/modules/feedback/feedbackRouter.mjs.map +1 -1
  19. package/dist/modules/feedback/service.d.mts +8 -1
  20. package/dist/modules/feedback/service.d.mts.map +1 -1
  21. package/dist/modules/feedback/service.mjs +12 -3
  22. package/dist/modules/feedback/service.mjs.map +1 -1
  23. package/dist/types/common/appCatalogTypes.d.mts +26 -1
  24. package/dist/types/common/appCatalogTypes.d.mts.map +1 -1
  25. package/package.json +4 -4
  26. package/prisma/schema.prisma +2 -0
  27. package/src/__tests__/rowToResourceClaims.test.ts +48 -0
  28. package/src/__tests__/stripHiddenText.test.ts +111 -0
  29. package/src/db/syncAppCatalog.ts +1 -0
  30. package/src/generated/prisma/internal/class.ts +4 -4
  31. package/src/generated/prisma/internal/prismaNamespace.ts +1 -0
  32. package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +1 -0
  33. package/src/generated/prisma/models/DbResource.ts +45 -1
  34. package/src/index.ts +1 -0
  35. package/src/modules/appCatalog/service.ts +6 -1
  36. package/src/modules/feedback/feedbackRouter.ts +4 -2
  37. package/src/modules/feedback/service.ts +20 -2
  38. package/src/prisma-json-types.d.ts +3 -0
  39. package/src/types/common/appCatalogTypes.ts +26 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DbResource.d.mts","names":[],"sources":["../../../../src/generated/prisma/models/DbResource.ts"],"mappings":"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"}
1
+ {"version":3,"file":"DbResource.d.mts","names":[],"sources":["../../../../src/generated/prisma/models/DbResource.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import { AcMetaDictionary, Tag } from "./types/common/sharedTypes.mjs";
2
2
  import { AcResourceIndexed } from "./types/common/resourceTypes.mjs";
3
3
  import { AccessRequest, AppAccessRequest, AppRole, ApprovalMethod, ApprovalMethodConfig, ApprovalMethodType, ApprovalUrl, CustomConfig, PersonTeamConfig, Role, ServiceConfig } from "./types/common/approvalMethodTypes.mjs";
4
4
  import { Group, Person, PersonOrGroup } from "./types/common/personGroupTypes.mjs";
5
- import { AppApprovalMethod, AppCatalogData, AppCategory, AppVersionInfo, Freshness, GroupingTagDefinition, GroupingTagValue, QuickJump, Resource, SourceCadence, SourceCheck, SourcePulse, SourcePulseState, SourceReference, SourceSchedule, TierVariant, VersionInfo } from "./types/common/appCatalogTypes.mjs";
5
+ import { AppApprovalMethod, AppCatalogData, AppCategory, AppVersionInfo, Claim, Freshness, GroupingTagDefinition, GroupingTagValue, QuickJump, Resource, SourceCadence, SourceCheck, SourcePulse, SourcePulseState, SourceReference, SourceSchedule, TierVariant, VersionInfo } from "./types/common/appCatalogTypes.mjs";
6
6
  import { AcEnvIndexed } from "./types/common/env/envTypes.mjs";
7
7
  import { AcAppPageIndexed, AcAppUiIndexed } from "./types/common/app/ui/appUiTypes.mjs";
8
8
  import { AcAppIndexed } from "./types/common/app/appTypes.mjs";
@@ -19,7 +19,7 @@ import { AcStaticControllerContract, staticControllerContract } from "./server/a
19
19
  import { getResourcesFromPrisma } from "./modules/appCatalog/service.mjs";
20
20
  import { registerAuthRoutes } from "./modules/auth/registerAuthRoutes.mjs";
21
21
  import { AuthRouter, createAuthRouter } from "./modules/auth/authRouter.mjs";
22
- import { EDIT_WINDOW_MS, FeedbackList, FeedbackView, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH } from "./modules/feedback/service.mjs";
22
+ import { EDIT_WINDOW_MS, FeedbackList, FeedbackView, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, stripHiddenText } from "./modules/feedback/service.mjs";
23
23
  import { createFeedbackRouter } from "./modules/feedback/feedbackRouter.mjs";
24
24
  import { IconRestControllerConfig, registerIconRestController } from "./modules/icons/iconRestController.mjs";
25
25
  import { UpsertIconInput, getAssetByName, upsertIcon, upsertIcons } from "./modules/icons/iconService.mjs";
@@ -40,4 +40,4 @@ import { injectCustomScripts } from "./middleware/htmlInjection.mjs";
40
40
  import { runLighthouseKeeperDemo } from "./modules/lighthouseKeeper/demo.mjs";
41
41
  import { APP_CATALOG_AI_SYSTEM_PROMPT, createAppCatalogAITools } from "./modules/lighthouseKeeper/tools.mjs";
42
42
  import { getBuildPipelineId, getFrontendPackageVersion, getVersionInfo } from "./utils/versionUtils.mjs";
43
- export { APP_CATALOG_AI_SYSTEM_PROMPT, AcAppIndexed, AcAppPageIndexed, AcAppUiIndexed, AcAppsMeta, type AcAuthConfig, AcBackendAppDto, AcBackendAppInput, AcBackendAppUIBaseInput, AcBackendAppUIInput, AcBackendCredentialInput, AcBackendDataFreshness, AcBackendDataSourceInput, AcBackendDataSourceInputCommon, AcBackendDataSourceInputDb, AcBackendDataSourceInputKafka, AcBackendDataVersion, AcBackendDeployableInput, AcBackendDeployment, AcBackendDeploymentInput, AcBackendEnvironmentInput, AcBackendPageInput, type AcBackendProvider, AcBackendTagDescriptionDataIndexed, AcBackendTagFixedTagValue, AcBackendTagsDescriptionDataIndexed, AcBackendUiDefaultsInput, AcBackendVersionsRequestParams, AcBackendVersionsReturn, AcContextIndexed, type AcDatabaseConfig, AcDatabaseManager, AcEnvIndexed, type AcFeatureToggles, type AcLifecycleHooks, type AcLighthouseKeeperConfig, type AcMcpServerConfig, AcMetaDictionary, type AcMiddlewareOptions, type AcMiddlewareResult, AcResourceIndexed, type AcStaticControllerContract, type AcTrpcContext, type AcTrpcContextOptions, AccessRequest, type Actor, type ActorKind, AppAccessRequest, AppApprovalMethod, AppCatalogCompanySpecificBackend, AppCatalogData, AppCategory, AppRole, AppVersionInfo, ApprovalMethod, ApprovalMethodConfig, ApprovalMethodType, ApprovalUrl, type AssetRestControllerConfig, type AuthRouter, type BetterAuth, CustomConfig, EDIT_WINDOW_MS, type FeedbackAttachmentControllerConfig, type FeedbackList, type FeedbackView, Freshness, Group, GroupingTagDefinition, GroupingTagValue, type IconRestControllerConfig, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, type MakeTFromPrismaModel, type MiddlewareContext, type ObjectKeys, Person, PersonOrGroup, PersonTeamConfig, QuickJump, type Resource, Role, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, ServiceConfig, SourceCadence, SourceCheck, SourcePulse, SourcePulseState, SourceReference, SourceSchedule, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TierVariant, type UpsertIconInput, VISITOR_COOKIE, VersionInfo, type Visitor, buildPgSchemaOptions, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createCorePrismaClient, createFeedbackRouter, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getResourcesFromPrisma, getVersionInfo, injectCustomScripts, printLinkCheckReport, publicIdFromHash, registerAssetRestController, registerAuthRoutes, registerFeedbackAttachmentController, registerIconRestController, registerScreenshotRestController, resolveActor, resolveDbSchema, resolveVisitor, runLighthouseKeeperDemo, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons, verifyDbSchema, visitorFromSeed };
43
+ export { APP_CATALOG_AI_SYSTEM_PROMPT, AcAppIndexed, AcAppPageIndexed, AcAppUiIndexed, AcAppsMeta, type AcAuthConfig, AcBackendAppDto, AcBackendAppInput, AcBackendAppUIBaseInput, AcBackendAppUIInput, AcBackendCredentialInput, AcBackendDataFreshness, AcBackendDataSourceInput, AcBackendDataSourceInputCommon, AcBackendDataSourceInputDb, AcBackendDataSourceInputKafka, AcBackendDataVersion, AcBackendDeployableInput, AcBackendDeployment, AcBackendDeploymentInput, AcBackendEnvironmentInput, AcBackendPageInput, type AcBackendProvider, AcBackendTagDescriptionDataIndexed, AcBackendTagFixedTagValue, AcBackendTagsDescriptionDataIndexed, AcBackendUiDefaultsInput, AcBackendVersionsRequestParams, AcBackendVersionsReturn, AcContextIndexed, type AcDatabaseConfig, AcDatabaseManager, AcEnvIndexed, type AcFeatureToggles, type AcLifecycleHooks, type AcLighthouseKeeperConfig, type AcMcpServerConfig, AcMetaDictionary, type AcMiddlewareOptions, type AcMiddlewareResult, AcResourceIndexed, type AcStaticControllerContract, type AcTrpcContext, type AcTrpcContextOptions, AccessRequest, type Actor, type ActorKind, AppAccessRequest, AppApprovalMethod, AppCatalogCompanySpecificBackend, AppCatalogData, AppCategory, AppRole, AppVersionInfo, ApprovalMethod, ApprovalMethodConfig, ApprovalMethodType, ApprovalUrl, type AssetRestControllerConfig, type AuthRouter, type BetterAuth, Claim, CustomConfig, EDIT_WINDOW_MS, type FeedbackAttachmentControllerConfig, type FeedbackList, type FeedbackView, Freshness, Group, GroupingTagDefinition, GroupingTagValue, type IconRestControllerConfig, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, type MakeTFromPrismaModel, type MiddlewareContext, type ObjectKeys, Person, PersonOrGroup, PersonTeamConfig, QuickJump, type Resource, Role, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, ServiceConfig, SourceCadence, SourceCheck, SourcePulse, SourcePulseState, SourceReference, SourceSchedule, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TierVariant, type UpsertIconInput, VISITOR_COOKIE, VersionInfo, type Visitor, buildPgSchemaOptions, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createCorePrismaClient, createFeedbackRouter, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getResourcesFromPrisma, getVersionInfo, injectCustomScripts, printLinkCheckReport, publicIdFromHash, registerAssetRestController, registerAuthRoutes, registerFeedbackAttachmentController, registerIconRestController, registerScreenshotRestController, resolveActor, resolveDbSchema, resolveVisitor, runLighthouseKeeperDemo, setDbClient, staticControllerContract, stripHiddenText, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons, verifyDbSchema, visitorFromSeed };
package/dist/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { buildPgSslConfig } from "./db/sslConfig.mjs";
2
2
  import { buildPgSchemaOptions, connectDb, createCorePrismaClient, disconnectDb, getDbClient, resolveDbSchema, setDbClient, verifyDbSchema } from "./db/client.mjs";
3
3
  import { getResourcesFromPrisma } from "./modules/appCatalog/service.mjs";
4
4
  import { createAuthRouter } from "./modules/auth/authRouter.mjs";
5
- import { EDIT_WINDOW_MS, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH } from "./modules/feedback/service.mjs";
5
+ import { EDIT_WINDOW_MS, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, stripHiddenText } from "./modules/feedback/service.mjs";
6
6
  import { createFeedbackRouter } from "./modules/feedback/feedbackRouter.mjs";
7
7
  import { createTrpcRouter } from "./server/controller.mjs";
8
8
  import { createAcTrpcContext } from "./server/acTrpcContext.mjs";
@@ -27,4 +27,4 @@ import { APP_CATALOG_AI_SYSTEM_PROMPT, createAppCatalogAITools } from "./modules
27
27
  import { runLighthouseKeeperDemo } from "./modules/lighthouseKeeper/demo.mjs";
28
28
  import { getBuildPipelineId, getFrontendPackageVersion, getVersionInfo } from "./utils/versionUtils.mjs";
29
29
 
30
- export { APP_CATALOG_AI_SYSTEM_PROMPT, AcDatabaseManager, EDIT_WINDOW_MS, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, TABLE_SYNC_MAGAZINE, VISITOR_COOKIE, buildPgSchemaOptions, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createCorePrismaClient, createFeedbackRouter, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getResourcesFromPrisma, getVersionInfo, injectCustomScripts, printLinkCheckReport, publicIdFromHash, registerAssetRestController, registerAuthRoutes, registerFeedbackAttachmentController, registerIconRestController, registerScreenshotRestController, resolveActor, resolveDbSchema, resolveVisitor, runLighthouseKeeperDemo, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons, verifyDbSchema, visitorFromSeed };
30
+ export { APP_CATALOG_AI_SYSTEM_PROMPT, AcDatabaseManager, EDIT_WINDOW_MS, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, TABLE_SYNC_MAGAZINE, VISITOR_COOKIE, buildPgSchemaOptions, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createCorePrismaClient, createFeedbackRouter, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getResourcesFromPrisma, getVersionInfo, injectCustomScripts, printLinkCheckReport, publicIdFromHash, registerAssetRestController, registerAuthRoutes, registerFeedbackAttachmentController, registerIconRestController, registerScreenshotRestController, resolveActor, resolveDbSchema, resolveVisitor, runLighthouseKeeperDemo, setDbClient, staticControllerContract, stripHiddenText, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons, verifyDbSchema, visitorFromSeed };
@@ -1,5 +1,4 @@
1
1
  import { Resource } from "../../types/common/appCatalogTypes.mjs";
2
-
3
2
  //#region src/modules/appCatalog/service.d.ts
4
3
  declare function getResourcesFromPrisma(): Promise<Resource[]>;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.mts","names":[],"sources":["../../../src/modules/appCatalog/service.ts"],"mappings":";;;iBA8NsB,sBAAA,CAAA,GAA0B,OAAA,CAAQ,QAAA"}
1
+ {"version":3,"file":"service.d.mts","names":[],"sources":["../../../src/modules/appCatalog/service.ts"],"mappings":";;iBAmOsB,sBAAA,CAAA,GAA0B,OAAA,CAAQ,QAAA"}
@@ -103,6 +103,7 @@ function rowToResource(row) {
103
103
  const urlIssues = row.urlIssues?.length ? row.urlIssues : void 0;
104
104
  const tiers = row.tiers == null ? void 0 : row.tiers;
105
105
  const quickJumps = row.quickJumps == null ? void 0 : row.quickJumps;
106
+ const claims = row.claims == null ? void 0 : row.claims;
106
107
  const freshness = computeFreshness({
107
108
  lastCheckedAt: row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,
108
109
  nextCheckAfter: row.nextCheckAfter ? row.nextCheckAfter.toISOString() : null,
@@ -131,6 +132,7 @@ function rowToResource(row) {
131
132
  urlIssues,
132
133
  tiers,
133
134
  quickJumps,
135
+ claims,
134
136
  childrenLabel: row.childrenLabel ?? void 0,
135
137
  parentSlug: row.parentSlug ?? void 0,
136
138
  tier: row.tier ?? void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":[],"sources":["../../../src/modules/appCatalog/service.ts"],"sourcesContent":["import { getDbClient } from '../../db/client'\nimport type { Prisma } from '../../generated/prisma/client'\nimport type {\n AppApprovalMethod,\n AppCatalogData,\n AppCategory,\n GroupingTagDefinition,\n Resource,\n SourceCheck,\n} from '../../types/common/appCatalogTypes'\nimport type { ServiceConfig } from '../../types/common/approvalMethodTypes'\nimport type { Group, Person } from '../../types/common/personGroupTypes'\nimport { omit } from 'radashi'\nimport { parseSourceSlug } from '../../utils/parseSourceSlug'\nimport { computeFreshness } from './freshness'\nimport { computeSourcePulse } from './sourcePulse'\n\n/** Prisma query result for DbResource with sourceRefs included (used by rowToResource) */\ntype ResourceRowWithSourceRefs = Prisma.DbResourceGetPayload<{\n include: { sourceRefs: true }\n}>\n\nfunction capitalize(word: string): string {\n if (!word) return word\n return word.charAt(0).toUpperCase() + word.slice(1)\n}\n\nexport async function getGroupingTagDefinitionsFromPrisma(): Promise<\n GroupingTagDefinition[]\n> {\n const prisma = getDbClient()\n\n // Fetch all tag definitions\n const rows = await prisma.dbAppTagDefinition.findMany()\n\n // Fetch all resources to count tag usage\n const resources = await prisma.dbResource.findMany({\n select: { tags: true },\n })\n\n // Count tag values across all resources\n const tagCounts = new Map<string, Map<string, number>>()\n\n for (const resource of resources) {\n const tags = (resource.tags as unknown as string[] | null) ?? []\n for (const tag of tags) {\n const [prefix, value] = tag.split(':')\n if (prefix && value) {\n if (!tagCounts.has(prefix)) {\n tagCounts.set(prefix, new Map())\n }\n const prefixCounts = tagCounts.get(prefix)!\n prefixCounts.set(value, (prefixCounts.get(value) ?? 0) + 1)\n }\n }\n }\n\n // Sort values by count and return definitions\n return rows.map((row) => {\n const definition = omit(row, ['id', 'updatedAt', 'createdAt'])\n const counts = tagCounts.get(definition.prefix) ?? new Map()\n\n // Sort values by count (descending)\n const sortedValues = [...definition.values].sort((a, b) => {\n const countA = counts.get(a.value) ?? 0\n const countB = counts.get(b.value) ?? 0\n return countB - countA\n })\n\n return {\n ...definition,\n values: sortedValues,\n }\n })\n}\n\nexport async function getApprovalMethodsFromPrisma(): Promise<\n AppApprovalMethod[]\n> {\n const prisma = getDbClient()\n\n // Fetch all approval methods\n const rows = await prisma.dbApprovalMethod.findMany()\n\n return rows.map((row) => {\n // Handle discriminated union by explicitly narrowing based on type\n const baseFields = {\n slug: row.slug,\n displayName: row.displayName,\n }\n\n // Provide default empty config if null, as AppApprovalMethod discriminated union requires config\n const config = row.config ?? {}\n\n switch (row.type) {\n case 'service':\n return {\n ...baseFields,\n type: 'service' as const,\n config: config as ServiceConfig,\n }\n case 'custom':\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config,\n }\n case 'noAccessRequired':\n return {\n ...baseFields,\n type: 'noAccessRequired' as const,\n config: config,\n }\n case 'unknown':\n return {\n ...baseFields,\n type: 'unknown' as const,\n config: config,\n }\n case 'personTeam':\n // Legacy: map personTeam to custom\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config,\n }\n }\n })\n}\n\nfunction rowToResource(row: ResourceRowWithSourceRefs): Resource {\n const accessRequest =\n row.accessRequest as unknown as Resource['accessRequest']\n const teams = (row.teams as unknown as string[] | null) ?? []\n const tags = (row.tags as unknown as Resource['tags']) ?? []\n const screenshotIds =\n (row.screenshotIds as unknown as Resource['screenshotIds']) ?? []\n const sources = row.sourceRefs.map((ref) => ({\n sourceSlug: ref.sourceSlug,\n url: ref.url,\n parseDate: ref.parseDate ? ref.parseDate.toISOString() : null,\n // Derived here rather than shipped raw so the pulse mark can stay a dumb\n // renderer, the same way `freshness` is computed for the entry below.\n pulse: computeSourcePulse({\n lastCheckedAt: ref.lastCheckedAt?.toISOString() ?? null,\n nextCheckAfter: ref.nextCheckAfter?.toISOString() ?? null,\n lastContentChangeAt: ref.lastContentChangeAt?.toISOString() ?? null,\n checkIntervalHours: ref.checkIntervalHours,\n changeHistory: ref.changeHistory as SourceCheck[] | null,\n }),\n }))\n const notes = row.notes == null ? undefined : row.notes\n const background = row.background == null ? undefined : row.background\n const appUrl = row.appUrl == null ? undefined : row.appUrl\n const iconName = row.iconName == null ? undefined : row.iconName\n const abbreviation = row.abbreviation == null ? undefined : row.abbreviation\n const nicknames = (row.nicknames as unknown as string[] | null)?.length\n ? row.nicknames\n : undefined\n const deprecated =\n row.deprecated == null\n ? undefined\n : (row.deprecated as unknown as Resource['deprecated'])\n const aiPrompt = row.aiPrompt == null ? undefined : row.aiPrompt\n const aiMemory = row.aiMemory == null ? undefined : row.aiMemory\n const urlIssues = (row.urlIssues as unknown as string[] | null)?.length\n ? row.urlIssues\n : undefined\n const tiers =\n row.tiers == null ? undefined : (row.tiers as unknown as Resource['tiers'])\n const quickJumps =\n row.quickJumps == null\n ? undefined\n : (row.quickJumps as unknown as Resource['quickJumps'])\n const freshness = computeFreshness({\n lastCheckedAt: row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,\n nextCheckAfter: row.nextCheckAfter\n ? row.nextCheckAfter.toISOString()\n : null,\n lastContentChangeAt: row.lastContentChangeAt\n ? row.lastContentChangeAt.toISOString()\n : null,\n })\n\n return {\n id: row.id,\n slug: row.slug,\n type: row.type,\n displayName: row.displayName,\n abbreviation,\n nicknames,\n description: row.description,\n accessRequest,\n teams,\n notes,\n background,\n tags,\n appUrl,\n iconName,\n screenshotIds,\n sources,\n deprecated,\n aiPrompt,\n aiMemory,\n urlIssues,\n tiers,\n quickJumps,\n childrenLabel: row.childrenLabel ?? undefined,\n // Fields from former SubResource\n parentSlug: row.parentSlug ?? undefined,\n tier: row.tier ?? undefined,\n aliases: row.aliases.length ? row.aliases : undefined,\n ownerPersonSlug: row.ownerPersonSlug ?? undefined,\n approverSlugs: row.approverSlugs.length ? row.approverSlugs : undefined,\n accessComments: row.accessComments ?? undefined,\n extra: row.extra ? row.extra : undefined,\n // Only surface freshness once the app has actually been scanned.\n freshness: freshness.lastCheckedAt ? freshness : undefined,\n createdAt: row.createdAt.toISOString(),\n }\n}\n\nexport async function getResourcesFromPrisma(): Promise<Resource[]> {\n const prisma = getDbClient()\n\n const rows = await prisma.dbResource.findMany({\n include: {\n sourceRefs: true,\n },\n })\n\n return rows.map(rowToResource)\n}\n\n/** @deprecated Use getResourcesFromPrisma instead */\nexport const getAppsFromPrisma = getResourcesFromPrisma\n\nexport interface UpdateAppInput {\n id: string\n data: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n sources?: string[]\n aiPrompt?: string | null\n }\n}\n\nexport async function updateApp(input: UpdateAppInput): Promise<Resource> {\n const prisma = getDbClient()\n const { id, data } = input\n\n const updatePayload: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n aiPrompt?: string | null\n } = {}\n if (data.displayName !== undefined)\n updatePayload.displayName = data.displayName\n if (data.abbreviation !== undefined)\n updatePayload.abbreviation = data.abbreviation\n if (data.slug !== undefined) updatePayload.slug = data.slug\n if (data.appUrl !== undefined) updatePayload.appUrl = data.appUrl\n if (data.description !== undefined)\n updatePayload.description = data.description\n if (data.aiPrompt !== undefined) updatePayload.aiPrompt = data.aiPrompt\n\n const updated = await prisma.dbResource.update({\n where: { id },\n data: updatePayload,\n include: { sourceRefs: true },\n })\n\n if (data.sources !== undefined) {\n const urls = [...new Set(data.sources.map((u) => u.trim()).filter(Boolean))]\n const uniqueSourceSlugs = [...new Set(urls.map(parseSourceSlug))]\n\n for (const sourceSlug of uniqueSourceSlugs) {\n await prisma.source.upsert({\n where: { slug: sourceSlug },\n create: { slug: sourceSlug },\n update: {},\n })\n }\n\n await prisma.sourceReference.deleteMany({\n where: { resourceId: updated.id },\n })\n\n if (urls.length > 0) {\n await prisma.sourceReference.createMany({\n data: urls.map((url) => ({\n resourceId: updated.id,\n sourceSlug: parseSourceSlug(url),\n url: url.trim(),\n })),\n })\n }\n\n const refetched = await prisma.dbResource.findUnique({\n where: { id },\n include: { sourceRefs: true },\n })\n if (!refetched) throw new Error('Resource not found after update')\n return rowToResource(refetched)\n }\n\n return rowToResource(updated)\n}\n\nexport interface UpdateAiMemoryInput {\n /** Resource id (DB id, not slug) */\n id: string\n /** New value for aiMemory. Pass null to clear. */\n aiMemory: string | null\n}\n\n/**\n * Updates the AI-owned scratchpad for a resource.\n * This mutation is intentionally separate from updateApp so AI agents can\n * write knowledge without a full MR cycle. It does NOT touch aiPrompt.\n */\nexport async function updateAiMemory(\n input: UpdateAiMemoryInput,\n): Promise<Resource> {\n const prisma = getDbClient()\n const updated = await prisma.dbResource.update({\n where: { id: input.id },\n data: { aiMemory: input.aiMemory },\n include: { sourceRefs: true },\n })\n return rowToResource(updated)\n}\n\nexport function deriveCategories(resources: Resource[]): AppCategory[] {\n const tagSet = new Set<string>()\n for (const resource of resources) {\n for (const tag of resource.tags ?? []) {\n const normalized = tag.trim().toLowerCase()\n if (normalized) tagSet.add(normalized)\n }\n }\n const categories: AppCategory[] = [{ id: 'all', name: 'All' }]\n for (const tag of Array.from(tagSet).sort()) {\n categories.push({ id: tag, name: capitalize(tag) })\n }\n return categories\n}\n\nexport async function getPersonsFromPrisma(): Promise<Person[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbPerson.findMany()\n return rows.map((row) => ({\n slug: row.slug,\n firstName: row.firstName,\n lastName: row.lastName,\n email: row.email ?? undefined,\n }))\n}\n\nexport async function getGroupsFromPrisma(): Promise<Group[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbGroup.findMany({\n include: { memberships: true },\n })\n return rows.map((row) => ({\n slug: row.slug,\n displayName: row.displayName ?? undefined,\n email: row.email ?? undefined,\n memberSlugs: row.memberships.map((m) => m.personSlug),\n }))\n}\n\nexport async function getAppCatalogData(\n getResourcesOptional?: () => Promise<Resource[]>,\n): Promise<AppCatalogData> {\n const resources = getResourcesOptional\n ? await getResourcesOptional()\n : await getResourcesFromPrisma()\n\n return {\n resources,\n tagsDefinitions: await getGroupingTagDefinitionsFromPrisma(),\n approvalMethods: await getApprovalMethodsFromPrisma(),\n persons: await getPersonsFromPrisma(),\n groups: await getGroupsFromPrisma(),\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"service.mjs","names":[],"sources":["../../../src/modules/appCatalog/service.ts"],"sourcesContent":["import { getDbClient } from '../../db/client'\nimport type { Prisma } from '../../generated/prisma/client'\nimport type {\n AppApprovalMethod,\n AppCatalogData,\n AppCategory,\n GroupingTagDefinition,\n Resource,\n SourceCheck,\n} from '../../types/common/appCatalogTypes'\nimport type { ServiceConfig } from '../../types/common/approvalMethodTypes'\nimport type { Group, Person } from '../../types/common/personGroupTypes'\nimport { omit } from 'radashi'\nimport { parseSourceSlug } from '../../utils/parseSourceSlug'\nimport { computeFreshness } from './freshness'\nimport { computeSourcePulse } from './sourcePulse'\n\n/** Prisma query result for DbResource with sourceRefs included (used by rowToResource) */\ntype ResourceRowWithSourceRefs = Prisma.DbResourceGetPayload<{\n include: { sourceRefs: true }\n}>\n\nfunction capitalize(word: string): string {\n if (!word) return word\n return word.charAt(0).toUpperCase() + word.slice(1)\n}\n\nexport async function getGroupingTagDefinitionsFromPrisma(): Promise<\n GroupingTagDefinition[]\n> {\n const prisma = getDbClient()\n\n // Fetch all tag definitions\n const rows = await prisma.dbAppTagDefinition.findMany()\n\n // Fetch all resources to count tag usage\n const resources = await prisma.dbResource.findMany({\n select: { tags: true },\n })\n\n // Count tag values across all resources\n const tagCounts = new Map<string, Map<string, number>>()\n\n for (const resource of resources) {\n const tags = (resource.tags as unknown as string[] | null) ?? []\n for (const tag of tags) {\n const [prefix, value] = tag.split(':')\n if (prefix && value) {\n if (!tagCounts.has(prefix)) {\n tagCounts.set(prefix, new Map())\n }\n const prefixCounts = tagCounts.get(prefix)!\n prefixCounts.set(value, (prefixCounts.get(value) ?? 0) + 1)\n }\n }\n }\n\n // Sort values by count and return definitions\n return rows.map((row) => {\n const definition = omit(row, ['id', 'updatedAt', 'createdAt'])\n const counts = tagCounts.get(definition.prefix) ?? new Map()\n\n // Sort values by count (descending)\n const sortedValues = [...definition.values].sort((a, b) => {\n const countA = counts.get(a.value) ?? 0\n const countB = counts.get(b.value) ?? 0\n return countB - countA\n })\n\n return {\n ...definition,\n values: sortedValues,\n }\n })\n}\n\nexport async function getApprovalMethodsFromPrisma(): Promise<\n AppApprovalMethod[]\n> {\n const prisma = getDbClient()\n\n // Fetch all approval methods\n const rows = await prisma.dbApprovalMethod.findMany()\n\n return rows.map((row) => {\n // Handle discriminated union by explicitly narrowing based on type\n const baseFields = {\n slug: row.slug,\n displayName: row.displayName,\n }\n\n // Provide default empty config if null, as AppApprovalMethod discriminated union requires config\n const config = row.config ?? {}\n\n switch (row.type) {\n case 'service':\n return {\n ...baseFields,\n type: 'service' as const,\n config: config as ServiceConfig,\n }\n case 'custom':\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config,\n }\n case 'noAccessRequired':\n return {\n ...baseFields,\n type: 'noAccessRequired' as const,\n config: config,\n }\n case 'unknown':\n return {\n ...baseFields,\n type: 'unknown' as const,\n config: config,\n }\n case 'personTeam':\n // Legacy: map personTeam to custom\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config,\n }\n }\n })\n}\n\nexport function rowToResource(row: ResourceRowWithSourceRefs): Resource {\n const accessRequest =\n row.accessRequest as unknown as Resource['accessRequest']\n const teams = (row.teams as unknown as string[] | null) ?? []\n const tags = (row.tags as unknown as Resource['tags']) ?? []\n const screenshotIds =\n (row.screenshotIds as unknown as Resource['screenshotIds']) ?? []\n const sources = row.sourceRefs.map((ref) => ({\n sourceSlug: ref.sourceSlug,\n url: ref.url,\n parseDate: ref.parseDate ? ref.parseDate.toISOString() : null,\n // Derived here rather than shipped raw so the pulse mark can stay a dumb\n // renderer, the same way `freshness` is computed for the entry below.\n pulse: computeSourcePulse({\n lastCheckedAt: ref.lastCheckedAt?.toISOString() ?? null,\n nextCheckAfter: ref.nextCheckAfter?.toISOString() ?? null,\n lastContentChangeAt: ref.lastContentChangeAt?.toISOString() ?? null,\n checkIntervalHours: ref.checkIntervalHours,\n changeHistory: ref.changeHistory as SourceCheck[] | null,\n }),\n }))\n const notes = row.notes == null ? undefined : row.notes\n const background = row.background == null ? undefined : row.background\n const appUrl = row.appUrl == null ? undefined : row.appUrl\n const iconName = row.iconName == null ? undefined : row.iconName\n const abbreviation = row.abbreviation == null ? undefined : row.abbreviation\n const nicknames = (row.nicknames as unknown as string[] | null)?.length\n ? row.nicknames\n : undefined\n const deprecated =\n row.deprecated == null\n ? undefined\n : (row.deprecated as unknown as Resource['deprecated'])\n const aiPrompt = row.aiPrompt == null ? undefined : row.aiPrompt\n const aiMemory = row.aiMemory == null ? undefined : row.aiMemory\n const urlIssues = (row.urlIssues as unknown as string[] | null)?.length\n ? row.urlIssues\n : undefined\n const tiers =\n row.tiers == null ? undefined : (row.tiers as unknown as Resource['tiers'])\n const quickJumps =\n row.quickJumps == null\n ? undefined\n : (row.quickJumps as unknown as Resource['quickJumps'])\n const claims =\n row.claims == null\n ? undefined\n : (row.claims as unknown as Resource['claims'])\n const freshness = computeFreshness({\n lastCheckedAt: row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,\n nextCheckAfter: row.nextCheckAfter\n ? row.nextCheckAfter.toISOString()\n : null,\n lastContentChangeAt: row.lastContentChangeAt\n ? row.lastContentChangeAt.toISOString()\n : null,\n })\n\n return {\n id: row.id,\n slug: row.slug,\n type: row.type,\n displayName: row.displayName,\n abbreviation,\n nicknames,\n description: row.description,\n accessRequest,\n teams,\n notes,\n background,\n tags,\n appUrl,\n iconName,\n screenshotIds,\n sources,\n deprecated,\n aiPrompt,\n aiMemory,\n urlIssues,\n tiers,\n quickJumps,\n claims,\n childrenLabel: row.childrenLabel ?? undefined,\n // Fields from former SubResource\n parentSlug: row.parentSlug ?? undefined,\n tier: row.tier ?? undefined,\n aliases: row.aliases.length ? row.aliases : undefined,\n ownerPersonSlug: row.ownerPersonSlug ?? undefined,\n approverSlugs: row.approverSlugs.length ? row.approverSlugs : undefined,\n accessComments: row.accessComments ?? undefined,\n extra: row.extra ? row.extra : undefined,\n // Only surface freshness once the app has actually been scanned.\n freshness: freshness.lastCheckedAt ? freshness : undefined,\n createdAt: row.createdAt.toISOString(),\n }\n}\n\nexport async function getResourcesFromPrisma(): Promise<Resource[]> {\n const prisma = getDbClient()\n\n const rows = await prisma.dbResource.findMany({\n include: {\n sourceRefs: true,\n },\n })\n\n return rows.map(rowToResource)\n}\n\n/** @deprecated Use getResourcesFromPrisma instead */\nexport const getAppsFromPrisma = getResourcesFromPrisma\n\nexport interface UpdateAppInput {\n id: string\n data: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n sources?: string[]\n aiPrompt?: string | null\n }\n}\n\nexport async function updateApp(input: UpdateAppInput): Promise<Resource> {\n const prisma = getDbClient()\n const { id, data } = input\n\n const updatePayload: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n aiPrompt?: string | null\n } = {}\n if (data.displayName !== undefined)\n updatePayload.displayName = data.displayName\n if (data.abbreviation !== undefined)\n updatePayload.abbreviation = data.abbreviation\n if (data.slug !== undefined) updatePayload.slug = data.slug\n if (data.appUrl !== undefined) updatePayload.appUrl = data.appUrl\n if (data.description !== undefined)\n updatePayload.description = data.description\n if (data.aiPrompt !== undefined) updatePayload.aiPrompt = data.aiPrompt\n\n const updated = await prisma.dbResource.update({\n where: { id },\n data: updatePayload,\n include: { sourceRefs: true },\n })\n\n if (data.sources !== undefined) {\n const urls = [...new Set(data.sources.map((u) => u.trim()).filter(Boolean))]\n const uniqueSourceSlugs = [...new Set(urls.map(parseSourceSlug))]\n\n for (const sourceSlug of uniqueSourceSlugs) {\n await prisma.source.upsert({\n where: { slug: sourceSlug },\n create: { slug: sourceSlug },\n update: {},\n })\n }\n\n await prisma.sourceReference.deleteMany({\n where: { resourceId: updated.id },\n })\n\n if (urls.length > 0) {\n await prisma.sourceReference.createMany({\n data: urls.map((url) => ({\n resourceId: updated.id,\n sourceSlug: parseSourceSlug(url),\n url: url.trim(),\n })),\n })\n }\n\n const refetched = await prisma.dbResource.findUnique({\n where: { id },\n include: { sourceRefs: true },\n })\n if (!refetched) throw new Error('Resource not found after update')\n return rowToResource(refetched)\n }\n\n return rowToResource(updated)\n}\n\nexport interface UpdateAiMemoryInput {\n /** Resource id (DB id, not slug) */\n id: string\n /** New value for aiMemory. Pass null to clear. */\n aiMemory: string | null\n}\n\n/**\n * Updates the AI-owned scratchpad for a resource.\n * This mutation is intentionally separate from updateApp so AI agents can\n * write knowledge without a full MR cycle. It does NOT touch aiPrompt.\n */\nexport async function updateAiMemory(\n input: UpdateAiMemoryInput,\n): Promise<Resource> {\n const prisma = getDbClient()\n const updated = await prisma.dbResource.update({\n where: { id: input.id },\n data: { aiMemory: input.aiMemory },\n include: { sourceRefs: true },\n })\n return rowToResource(updated)\n}\n\nexport function deriveCategories(resources: Resource[]): AppCategory[] {\n const tagSet = new Set<string>()\n for (const resource of resources) {\n for (const tag of resource.tags ?? []) {\n const normalized = tag.trim().toLowerCase()\n if (normalized) tagSet.add(normalized)\n }\n }\n const categories: AppCategory[] = [{ id: 'all', name: 'All' }]\n for (const tag of Array.from(tagSet).sort()) {\n categories.push({ id: tag, name: capitalize(tag) })\n }\n return categories\n}\n\nexport async function getPersonsFromPrisma(): Promise<Person[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbPerson.findMany()\n return rows.map((row) => ({\n slug: row.slug,\n firstName: row.firstName,\n lastName: row.lastName,\n email: row.email ?? undefined,\n }))\n}\n\nexport async function getGroupsFromPrisma(): Promise<Group[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbGroup.findMany({\n include: { memberships: true },\n })\n return rows.map((row) => ({\n slug: row.slug,\n displayName: row.displayName ?? undefined,\n email: row.email ?? undefined,\n memberSlugs: row.memberships.map((m) => m.personSlug),\n }))\n}\n\nexport async function getAppCatalogData(\n getResourcesOptional?: () => Promise<Resource[]>,\n): Promise<AppCatalogData> {\n const resources = getResourcesOptional\n ? await getResourcesOptional()\n : await getResourcesFromPrisma()\n\n return {\n resources,\n tagsDefinitions: await getGroupingTagDefinitionsFromPrisma(),\n approvalMethods: await getApprovalMethodsFromPrisma(),\n persons: await getPersonsFromPrisma(),\n groups: await getGroupsFromPrisma(),\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feedbackRouter.mjs","names":[],"sources":["../../../src/modules/feedback/feedbackRouter.ts"],"sourcesContent":["import { TRPCError } from '@trpc/server'\nimport { z } from 'zod'\nimport { publicProcedure, router } from '../../server/trpcSetup'\nimport type { Actor } from '../visitor/visitorIdentity'\nimport {\n FeedbackError,\n MAX_ATTACHMENTS,\n MAX_BODY_LENGTH,\n MAX_SUBJECT_LENGTH,\n addFeedback,\n dismissFeedback,\n editFeedback,\n listFeedback,\n listMyFeedback,\n} from './service'\n\n/**\n * Writing needs a visitor token, and the token is issued on the request that reads the\n * list — so by the time anyone can click Send, the cookie exists. A missing one here\n * means cookies are blocked, which no error code describes well; PRECONDITION_FAILED at\n * least separates it from a permission problem.\n */\nfunction requireActor(actor: Actor | null): Actor {\n if (!actor) {\n throw new TRPCError({\n code: 'PRECONDITION_FAILED',\n message: 'Sending this needs cookies enabled',\n })\n }\n return actor\n}\n\nconst REASON_CODES = {\n 'not-found': 'NOT_FOUND',\n 'not-author': 'FORBIDDEN',\n 'window-closed': 'FORBIDDEN',\n 'already-reviewed': 'FORBIDDEN',\n empty: 'BAD_REQUEST',\n 'too-many-attachments': 'BAD_REQUEST',\n} as const\n\nasync function mapErrors<T>(work: () => Promise<T>): Promise<T> {\n try {\n return await work()\n } catch (error) {\n if (error instanceof FeedbackError) {\n throw new TRPCError({\n code: REASON_CODES[error.reason],\n message: error.message,\n })\n }\n throw error\n }\n}\n\nexport function createFeedbackRouter() {\n return router({\n /** One entry's thread, plus its unreviewed count so the badge needs no second call. */\n list: publicProcedure\n .input(z.object({ resourceSlug: z.string() }))\n .query(({ input, ctx }) => listFeedback(input.resourceSlug, ctx.actor)),\n\n /** Everything this browser filed, for the tracker. Empty means render no button. */\n mine: publicProcedure.query(({ ctx }) => listMyFeedback(ctx.actor)),\n\n add: publicProcedure\n .input(\n z\n .object({\n resourceSlug: z.string().optional(),\n subject: z.string().max(MAX_SUBJECT_LENGTH).optional(),\n // Both optional on purpose: a bare flag with no words and no image is the\n // cheapest signal a passing visitor can send, and still worth having.\n body: z.string().max(MAX_BODY_LENGTH).optional(),\n attachmentIds: z.array(z.string()).max(MAX_ATTACHMENTS).optional(),\n })\n .refine((v) => !!v.resourceSlug || !!v.subject?.trim(), {\n message: 'Needs either an entry or a subject',\n }),\n )\n .mutation(({ input, ctx }) =>\n mapErrors(() => addFeedback(input, requireActor(ctx.actor))),\n ),\n\n edit: publicProcedure\n .input(\n z.object({ id: z.string(), body: z.string().max(MAX_BODY_LENGTH) }),\n )\n .mutation(({ input, ctx }) =>\n mapErrors(() =>\n editFeedback(input.id, input.body, requireActor(ctx.actor)),\n ),\n ),\n\n /** Withdraw your own, for as long as nobody has reviewed it. */\n dismiss: publicProcedure\n .input(z.object({ id: z.string() }))\n .mutation(({ input, ctx }) =>\n mapErrors(() => dismissFeedback(input.id, requireActor(ctx.actor))),\n ),\n })\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,SAAS,aAAa,OAA4B;AAChD,KAAI,CAAC,MACH,OAAM,IAAI,UAAU;EAClB,MAAM;EACN,SAAS;EACV,CAAC;AAEJ,QAAO;;AAGT,MAAM,eAAe;CACnB,aAAa;CACb,cAAc;CACd,iBAAiB;CACjB,oBAAoB;CACpB,OAAO;CACP,wBAAwB;CACzB;AAED,eAAe,UAAa,MAAoC;AAC9D,KAAI;AACF,SAAO,MAAM,MAAM;UACZ,OAAO;AACd,MAAI,iBAAiB,cACnB,OAAM,IAAI,UAAU;GAClB,MAAM,aAAa,MAAM;GACzB,SAAS,MAAM;GAChB,CAAC;AAEJ,QAAM;;;AAIV,SAAgB,uBAAuB;AACrC,QAAO,OAAO;EAEZ,MAAM,gBACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC7C,OAAO,EAAE,OAAO,UAAU,aAAa,MAAM,cAAc,IAAI,MAAM,CAAC;EAGzE,MAAM,gBAAgB,OAAO,EAAE,UAAU,eAAe,IAAI,MAAM,CAAC;EAEnE,KAAK,gBACF,MACC,EACG,OAAO;GACN,cAAc,EAAE,QAAQ,CAAC,UAAU;GACnC,SAAS,EAAE,QAAQ,CAAC,QAAuB,CAAC,UAAU;GAGtD,MAAM,EAAE,QAAQ,CAAC,IAAI,gBAAgB,CAAC,UAAU;GAChD,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAoB,CAAC,UAAU;GACnE,CAAC,CACD,QAAQ,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EACtD,SAAS,sCACV,CAAC,CACL,CACA,UAAU,EAAE,OAAO,UAClB,gBAAgB,YAAY,OAAO,aAAa,IAAI,MAAM,CAAC,CAAC,CAC7D;EAEH,MAAM,gBACH,MACC,EAAE,OAAO;GAAE,IAAI,EAAE,QAAQ;GAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,gBAAgB;GAAE,CAAC,CACpE,CACA,UAAU,EAAE,OAAO,UAClB,gBACE,aAAa,MAAM,IAAI,MAAM,MAAM,aAAa,IAAI,MAAM,CAAC,CAC5D,CACF;EAGH,SAAS,gBACN,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CACnC,UAAU,EAAE,OAAO,UAClB,gBAAgB,gBAAgB,MAAM,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,CACpE;EACJ,CAAC"}
1
+ {"version":3,"file":"feedbackRouter.mjs","names":[],"sources":["../../../src/modules/feedback/feedbackRouter.ts"],"sourcesContent":["import { TRPCError } from '@trpc/server'\nimport { z } from 'zod'\nimport { publicProcedure, router } from '../../server/trpcSetup'\nimport type { Actor } from '../visitor/visitorIdentity'\nimport {\n FeedbackError,\n MAX_ATTACHMENTS,\n MAX_BODY_LENGTH,\n MAX_SUBJECT_LENGTH,\n addFeedback,\n dismissFeedback,\n editFeedback,\n listFeedback,\n listMyFeedback,\n} from './service'\n\n/**\n * Writing needs a visitor token, and the token is issued on the request that reads the\n * list — so by the time anyone can click Send, the cookie exists. A missing one here\n * means cookies are blocked, which no error code describes well; PRECONDITION_FAILED at\n * least separates it from a permission problem.\n */\nfunction requireActor(actor: Actor | null): Actor {\n if (!actor) {\n throw new TRPCError({\n code: 'PRECONDITION_FAILED',\n message: 'Sending this needs cookies enabled',\n })\n }\n return actor\n}\n\nconst REASON_CODES = {\n 'not-found': 'NOT_FOUND',\n 'not-author': 'FORBIDDEN',\n 'window-closed': 'FORBIDDEN',\n 'already-reviewed': 'FORBIDDEN',\n empty: 'BAD_REQUEST',\n 'too-many-attachments': 'BAD_REQUEST',\n} as const\n\nasync function mapErrors<T>(work: () => Promise<T>): Promise<T> {\n try {\n return await work()\n } catch (error) {\n if (error instanceof FeedbackError) {\n throw new TRPCError({\n code: REASON_CODES[error.reason],\n message: error.message,\n })\n }\n throw error\n }\n}\n\nexport function createFeedbackRouter() {\n return router({\n /** One entry's thread, plus its unreviewed count so the badge needs no second call. */\n list: publicProcedure\n .input(z.object({ resourceSlug: z.string() }))\n .query(({ input, ctx }) => listFeedback(input.resourceSlug, ctx.actor)),\n\n /** Everything this browser filed, for the tracker. Empty means render no button. */\n mine: publicProcedure.query(({ ctx }) => listMyFeedback(ctx.actor)),\n\n add: publicProcedure\n .input(\n z\n .object({\n resourceSlug: z.string().optional(),\n subject: z.string().max(MAX_SUBJECT_LENGTH).optional(),\n // Both optional: a note can be words, screenshots or both, and a\n // catalog-level ask may carry only its subject. The entry's input asks\n // for words or an image, but the API still stores an empty note as a\n // bare flag, which is what older rows are.\n body: z.string().max(MAX_BODY_LENGTH).optional(),\n attachmentIds: z.array(z.string()).max(MAX_ATTACHMENTS).optional(),\n })\n .refine((v) => !!v.resourceSlug || !!v.subject?.trim(), {\n message: 'Needs either an entry or a subject',\n }),\n )\n .mutation(({ input, ctx }) =>\n mapErrors(() => addFeedback(input, requireActor(ctx.actor))),\n ),\n\n edit: publicProcedure\n .input(\n z.object({ id: z.string(), body: z.string().max(MAX_BODY_LENGTH) }),\n )\n .mutation(({ input, ctx }) =>\n mapErrors(() =>\n editFeedback(input.id, input.body, requireActor(ctx.actor)),\n ),\n ),\n\n /** Withdraw your own, for as long as nobody has reviewed it. */\n dismiss: publicProcedure\n .input(z.object({ id: z.string() }))\n .mutation(({ input, ctx }) =>\n mapErrors(() => dismissFeedback(input.id, requireActor(ctx.actor))),\n ),\n })\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,SAAS,aAAa,OAA4B;AAChD,KAAI,CAAC,MACH,OAAM,IAAI,UAAU;EAClB,MAAM;EACN,SAAS;EACV,CAAC;AAEJ,QAAO;;AAGT,MAAM,eAAe;CACnB,aAAa;CACb,cAAc;CACd,iBAAiB;CACjB,oBAAoB;CACpB,OAAO;CACP,wBAAwB;CACzB;AAED,eAAe,UAAa,MAAoC;AAC9D,KAAI;AACF,SAAO,MAAM,MAAM;UACZ,OAAO;AACd,MAAI,iBAAiB,cACnB,OAAM,IAAI,UAAU;GAClB,MAAM,aAAa,MAAM;GACzB,SAAS,MAAM;GAChB,CAAC;AAEJ,QAAM;;;AAIV,SAAgB,uBAAuB;AACrC,QAAO,OAAO;EAEZ,MAAM,gBACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC7C,OAAO,EAAE,OAAO,UAAU,aAAa,MAAM,cAAc,IAAI,MAAM,CAAC;EAGzE,MAAM,gBAAgB,OAAO,EAAE,UAAU,eAAe,IAAI,MAAM,CAAC;EAEnE,KAAK,gBACF,MACC,EACG,OAAO;GACN,cAAc,EAAE,QAAQ,CAAC,UAAU;GACnC,SAAS,EAAE,QAAQ,CAAC,QAAuB,CAAC,UAAU;GAKtD,MAAM,EAAE,QAAQ,CAAC,IAAI,gBAAgB,CAAC,UAAU;GAChD,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAoB,CAAC,UAAU;GACnE,CAAC,CACD,QAAQ,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EACtD,SAAS,sCACV,CAAC,CACL,CACA,UAAU,EAAE,OAAO,UAClB,gBAAgB,YAAY,OAAO,aAAa,IAAI,MAAM,CAAC,CAAC,CAC7D;EAEH,MAAM,gBACH,MACC,EAAE,OAAO;GAAE,IAAI,EAAE,QAAQ;GAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,gBAAgB;GAAE,CAAC,CACpE,CACA,UAAU,EAAE,OAAO,UAClB,gBACE,aAAa,MAAM,IAAI,MAAM,MAAM,aAAa,IAAI,MAAM,CAAC,CAC5D,CACF;EAGH,SAAS,gBACN,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CACnC,UAAU,EAAE,OAAO,UAClB,gBAAgB,gBAAgB,MAAM,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,CACpE;EACJ,CAAC"}
@@ -37,6 +37,13 @@ interface FeedbackList {
37
37
  /** Unreviewed count — what the badge shows. `status IS NULL` is the whole definition. */
38
38
  openCount: number;
39
39
  }
40
+ /**
41
+ * Strips invisible characters from text that AI agents will read.
42
+ *
43
+ * Removes zero-width characters (except ZWJ, needed for emoji), directional marks/overrides,
44
+ * and Unicode tag characters that could hide instructions or disguise links.
45
+ */
46
+ declare function stripHiddenText(text: string): string;
40
47
  //#endregion
41
- export { EDIT_WINDOW_MS, FeedbackList, FeedbackView, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH };
48
+ export { EDIT_WINDOW_MS, FeedbackList, FeedbackView, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, stripHiddenText };
42
49
  //# sourceMappingURL=service.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.mts","names":[],"sources":["../../../src/modules/feedback/service.ts"],"mappings":";AAIA;AAAA,cAAa,cAAA;AAAA,cAEA,eAAA;AAAA,cACA,kBAAA;AAAA,cACA,eAAA;AAFb;AAAA,UAKiB,YAAA;EACf,EAAA;EACA,UAAA;EAP0B;EAS1B,IAAA;EAR6B;EAU7B,OAAA;EAV6B;EAY7B,YAAA;EAXW;EAaX,YAAA;EACA,aAAA;EACA,MAAA;EACA,aAAA;EAbe;EAef,UAAA;EACA,SAAA;EACA,QAAA;EAhBA;EAkBA,MAAA;EAfA;;;;;EAqBA,YAAA;AAAA;AAAA,UAqDe,YAAA;EACf,KAAA,EAAO,YAAA;EA9DP;EAgEA,SAAA;AAAA"}
1
+ {"version":3,"file":"service.d.mts","names":[],"sources":["../../../src/modules/feedback/service.ts"],"mappings":";AAIA;AAAA,cAAa,cAAA;AAAA,cAEA,eAAA;AAAA,cACA,kBAAA;AAAA,cACA,eAAA;AAFb;AAAA,UAKiB,YAAA;EACf,EAAA;EACA,UAAA;EAP0B;EAS1B,IAAA;EAR6B;EAU7B,OAAA;EAV6B;EAY7B,YAAA;EAXW;EAaX,YAAA;EACA,aAAA;EACA,MAAA;EACA,aAAA;EAbe;EAef,UAAA;EACA,SAAA;EACA,QAAA;EAhBA;EAkBA,MAAA;EAfA;;;;;EAqBA,YAAA;AAAA;AAAA,UAqDe,YAAA;EACf,KAAA,EAAO,YAAA;EA9DP;EAgEA,SAAA;AAAA;;AAkDF;;;;;iBAAgB,eAAA,CAAgB,IAAA"}
@@ -73,6 +73,15 @@ async function listMyFeedback(actor) {
73
73
  include: WITH_RELATIONS
74
74
  })).map((row) => toView(row, actor));
75
75
  }
76
+ /**
77
+ * Strips invisible characters from text that AI agents will read.
78
+ *
79
+ * Removes zero-width characters (except ZWJ, needed for emoji), directional marks/overrides,
80
+ * and Unicode tag characters that could hide instructions or disguise links.
81
+ */
82
+ function stripHiddenText(text) {
83
+ return text.replace(/[\u{200B}\u{200C}\u{200E}-\u{200F}\u{202A}-\u{202E}\u{2060}\u{2066}-\u{2069}\u{E0000}-\u{E007F}\u{FEFF}]/gu, "");
84
+ }
76
85
  var FeedbackError = class extends Error {
77
86
  constructor(reason, message) {
78
87
  super(message);
@@ -81,7 +90,7 @@ var FeedbackError = class extends Error {
81
90
  };
82
91
  function normaliseBody(body) {
83
92
  if (body === void 0 || body === null) return null;
84
- const trimmed = body.trim();
93
+ const trimmed = stripHiddenText(body).trim();
85
94
  return trimmed ? trimmed.slice(0, MAX_BODY_LENGTH) : null;
86
95
  }
87
96
  async function addFeedback(input, actor) {
@@ -97,7 +106,7 @@ async function addFeedback(input, actor) {
97
106
  const created = await tx.dbFeedback.create({
98
107
  data: {
99
108
  resourceId,
100
- subject: resourceId ? null : subject.trim().slice(0, 120),
109
+ subject: resourceId ? null : stripHiddenText(subject).trim().slice(0, 120),
101
110
  authorHash: actor.hash,
102
111
  authorAlias: actor.alias,
103
112
  body: normaliseBody(body)
@@ -161,5 +170,5 @@ async function dismissFeedback(id, actor) {
161
170
  }
162
171
 
163
172
  //#endregion
164
- export { EDIT_WINDOW_MS, FeedbackError, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, addFeedback, dismissFeedback, editFeedback, listFeedback, listMyFeedback };
173
+ export { EDIT_WINDOW_MS, FeedbackError, MAX_ATTACHMENTS, MAX_BODY_LENGTH, MAX_SUBJECT_LENGTH, addFeedback, dismissFeedback, editFeedback, listFeedback, listMyFeedback, stripHiddenText };
165
174
  //# sourceMappingURL=service.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":[],"sources":["../../../src/modules/feedback/service.ts"],"sourcesContent":["import { getDbClient } from '../../db/client'\nimport type { Actor } from '../visitor/visitorIdentity'\n\n/** How long an author may edit their own wording. */\nexport const EDIT_WINDOW_MS = 60 * 60 * 1000\n\nexport const MAX_BODY_LENGTH = 1000\nexport const MAX_SUBJECT_LENGTH = 120\nexport const MAX_ATTACHMENTS = 3\n\n/** One piece of feedback as a client sees it. Never carries an author hash. */\nexport interface FeedbackView {\n id: string\n authorName: string\n /** Null when the visitor sent a bare flag with no words. */\n body: string | null\n /** What they were looking for, on a catalog-level ask. Null on entry feedback. */\n subject: string | null\n /** Slug of the entry this is about, or null for a catalog-level ask. */\n resourceSlug: string | null\n /** Display name of that entry, so the tracker can label a row without a second query. */\n resourceName: string | null\n attachmentIds: string[]\n status: 'applied' | 'acknowledged' | null\n reviewerReply: string | null\n /** When a maintainer last touched it — what \"unread\" is computed against. */\n reviewedAt: string | null\n createdAt: string\n editedAt: string | null\n /** Whether this browser wrote it — what makes Edit and Dismiss appear. */\n isMine: boolean\n /**\n * The absolute instant this browser's edit window closes, or null when it is not\n * theirs. Absolute rather than a remaining duration so a client with a skewed clock\n * hides the control at the same moment the server starts refusing the edit.\n */\n canEditUntil: string | null\n}\n\ntype Row = {\n id: string\n authorHash: string\n authorAlias: string\n body: string | null\n subject: string | null\n status: 'applied' | 'acknowledged' | null\n reviewerReply: string | null\n reviewedAt: Date | null\n editedAt: Date | null\n createdAt: Date\n resource?: { slug: string; displayName: string } | null\n attachments?: { id: string }[]\n}\n\nfunction toView(row: Row, actor: Actor | null): FeedbackView {\n const isMine = !!actor && row.authorHash === actor.hash\n return {\n id: row.id,\n authorName: row.authorAlias,\n body: row.body,\n subject: row.subject,\n resourceSlug: row.resource?.slug ?? null,\n resourceName: row.resource?.displayName ?? null,\n attachmentIds: (row.attachments ?? []).map((a) => a.id),\n status: row.status,\n reviewerReply: row.reviewerReply,\n reviewedAt: row.reviewedAt?.toISOString() ?? null,\n createdAt: row.createdAt.toISOString(),\n editedAt: row.editedAt?.toISOString() ?? null,\n isMine,\n canEditUntil: isMine\n ? new Date(row.createdAt.getTime() + EDIT_WINDOW_MS).toISOString()\n : null,\n }\n}\n\nconst WITH_RELATIONS = {\n resource: { select: { slug: true, displayName: true } },\n attachments: { select: { id: true } },\n} as const\n\nasync function resourceIdForSlug(slug: string): Promise<string | null> {\n const resource = await getDbClient().dbResource.findUnique({\n where: { slug },\n select: { id: true },\n })\n return resource?.id ?? null\n}\n\nexport interface FeedbackList {\n items: FeedbackView[]\n /** Unreviewed count — what the badge shows. `status IS NULL` is the whole definition. */\n openCount: number\n}\n\n/** Oldest first: a thread reads top to bottom. */\nexport async function listFeedback(\n resourceSlug: string,\n actor: Actor | null,\n): Promise<FeedbackList> {\n const resourceId = await resourceIdForSlug(resourceSlug)\n if (!resourceId) return { items: [], openCount: 0 }\n\n const rows = await getDbClient().dbFeedback.findMany({\n where: { resourceId },\n orderBy: { createdAt: 'asc' },\n include: WITH_RELATIONS,\n })\n return {\n items: rows.map((row) => toView(row, actor)),\n openCount: rows.filter((row) => row.status === null).length,\n }\n}\n\n/**\n * Everything this browser filed, across entries, for the tracker.\n *\n * Sorted the way the tracker renders: unreviewed first, then newest. Postgres sorts\n * NULLs last by default, so `status` ascending would bury the pending rows — hence the\n * explicit two-key ordering rather than relying on the default.\n */\nexport async function listMyFeedback(\n actor: Actor | null,\n): Promise<FeedbackView[]> {\n if (!actor) return []\n const rows = await getDbClient().dbFeedback.findMany({\n where: { authorHash: actor.hash },\n orderBy: [\n { status: { sort: 'asc', nulls: 'first' } },\n { createdAt: 'desc' },\n ],\n include: WITH_RELATIONS,\n })\n return rows.map((row) => toView(row, actor))\n}\n\nexport class FeedbackError extends Error {\n constructor(\n readonly reason:\n | 'not-found'\n | 'not-author'\n | 'window-closed'\n | 'already-reviewed'\n | 'empty'\n | 'too-many-attachments',\n message: string,\n ) {\n super(message)\n }\n}\n\nfunction normaliseBody(body: string | undefined | null): string | null {\n if (body === undefined || body === null) return null\n const trimmed = body.trim()\n // A bare flag is a valid signal, so empty is stored as absent rather than refused.\n return trimmed ? trimmed.slice(0, MAX_BODY_LENGTH) : null\n}\n\nexport interface AddFeedbackInput {\n /** Omitted for a catalog-level ask. */\n resourceSlug?: string\n /** Required when there is no resourceSlug — it is the substance of the ask. */\n subject?: string\n body?: string\n attachmentIds?: string[]\n}\n\nexport async function addFeedback(\n input: AddFeedbackInput,\n actor: Actor,\n): Promise<FeedbackView> {\n const { resourceSlug, subject, body, attachmentIds = [] } = input\n\n if (!resourceSlug && !subject?.trim()) {\n throw new FeedbackError(\n 'empty',\n 'Tell us which entry this is about, or what you were looking for',\n )\n }\n if (attachmentIds.length > MAX_ATTACHMENTS) {\n throw new FeedbackError(\n 'too-many-attachments',\n `Up to ${MAX_ATTACHMENTS} images`,\n )\n }\n\n let resourceId: string | null = null\n if (resourceSlug) {\n resourceId = await resourceIdForSlug(resourceSlug)\n if (!resourceId) {\n throw new FeedbackError('not-found', `Unknown resource: ${resourceSlug}`)\n }\n }\n\n const row = await getDbClient().$transaction(async (tx) => {\n const created = await tx.dbFeedback.create({\n data: {\n resourceId,\n subject: resourceId\n ? null\n : subject!.trim().slice(0, MAX_SUBJECT_LENGTH),\n authorHash: actor.hash,\n authorAlias: actor.alias,\n body: normaliseBody(body),\n },\n select: { id: true },\n })\n\n // Claim only images this browser uploaded and nobody has claimed yet, so an id\n // guessed from someone else's upload cannot be pulled onto your feedback.\n //\n // `updateMany` with the conditions in the WHERE, rather than a nested `connect`:\n // `connect` takes only the id, and because `feedbackId` is a single FK it would\n // MOVE a claimed image off its owner's feedback instead of refusing.\n if (attachmentIds.length > 0) {\n await tx.dbFeedbackAttachment.updateMany({\n where: {\n id: { in: attachmentIds },\n authorHash: actor.hash,\n feedbackId: null,\n },\n data: { feedbackId: created.id },\n })\n }\n\n return tx.dbFeedback.findUniqueOrThrow({\n where: { id: created.id },\n include: WITH_RELATIONS,\n })\n })\n return toView(row, actor)\n}\n\n/**\n * Load a row and check this actor may still change its wording.\n *\n * Enforced here, not in the UI: the control disappearing is a courtesy, and a request\n * that arrives a second late must still be refused.\n */\nasync function loadOwnForEdit(id: string, actor: Actor) {\n const row = await getDbClient().dbFeedback.findUnique({ where: { id } })\n if (!row) throw new FeedbackError('not-found', 'This no longer exists')\n if (row.authorHash !== actor.hash) {\n throw new FeedbackError('not-author', 'Only the author can change this')\n }\n if (Date.now() > row.createdAt.getTime() + EDIT_WINDOW_MS) {\n throw new FeedbackError(\n 'window-closed',\n 'Wording can only be changed in the first hour',\n )\n }\n return row\n}\n\nexport async function editFeedback(\n id: string,\n body: string,\n actor: Actor,\n): Promise<FeedbackView> {\n await loadOwnForEdit(id, actor)\n const row = await getDbClient().dbFeedback.update({\n where: { id },\n data: { body: normaliseBody(body), editedAt: new Date() },\n include: WITH_RELATIONS,\n })\n return toView(row, actor)\n}\n\n/**\n * Withdraw your own feedback.\n *\n * Allowed for as long as nobody has reviewed it, with no time limit — the edit window\n * exists to stop someone rewriting words others have already read, and that reasoning\n * does not apply to withdrawing something no maintainer has acted on. Once reviewed it\n * is public record carrying a maintainer's reply, so withdrawing would delete their\n * answer; from then on it is refused.\n */\nexport async function dismissFeedback(\n id: string,\n actor: Actor,\n): Promise<{ id: string }> {\n const row = await getDbClient().dbFeedback.findUnique({ where: { id } })\n if (!row) throw new FeedbackError('not-found', 'This no longer exists')\n if (row.authorHash !== actor.hash) {\n throw new FeedbackError('not-author', 'Only the author can withdraw this')\n }\n if (row.status !== null) {\n throw new FeedbackError(\n 'already-reviewed',\n 'This has been answered, so it stays on the entry',\n )\n }\n await getDbClient().dbFeedback.delete({ where: { id } })\n return { id }\n}\n"],"mappings":";;;;AAIA,MAAa,iBAAiB,OAAU;AAExC,MAAa,kBAAkB;AAC/B,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AA8C/B,SAAS,OAAO,KAAU,OAAmC;CAC3D,MAAM,SAAS,CAAC,CAAC,SAAS,IAAI,eAAe,MAAM;AACnD,QAAO;EACL,IAAI,IAAI;EACR,YAAY,IAAI;EAChB,MAAM,IAAI;EACV,SAAS,IAAI;EACb,cAAc,IAAI,UAAU,QAAQ;EACpC,cAAc,IAAI,UAAU,eAAe;EAC3C,gBAAgB,IAAI,eAAe,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG;EACvD,QAAQ,IAAI;EACZ,eAAe,IAAI;EACnB,YAAY,IAAI,YAAY,aAAa,IAAI;EAC7C,WAAW,IAAI,UAAU,aAAa;EACtC,UAAU,IAAI,UAAU,aAAa,IAAI;EACzC;EACA,cAAc,SACV,IAAI,KAAK,IAAI,UAAU,SAAS,GAAG,eAAe,CAAC,aAAa,GAChE;EACL;;AAGH,MAAM,iBAAiB;CACrB,UAAU,EAAE,QAAQ;EAAE,MAAM;EAAM,aAAa;EAAM,EAAE;CACvD,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE;CACtC;AAED,eAAe,kBAAkB,MAAsC;AAKrE,SAJiB,MAAM,aAAa,CAAC,WAAW,WAAW;EACzD,OAAO,EAAE,MAAM;EACf,QAAQ,EAAE,IAAI,MAAM;EACrB,CAAC,GACe,MAAM;;;AAUzB,eAAsB,aACpB,cACA,OACuB;CACvB,MAAM,aAAa,MAAM,kBAAkB,aAAa;AACxD,KAAI,CAAC,WAAY,QAAO;EAAE,OAAO,EAAE;EAAE,WAAW;EAAG;CAEnD,MAAM,OAAO,MAAM,aAAa,CAAC,WAAW,SAAS;EACnD,OAAO,EAAE,YAAY;EACrB,SAAS,EAAE,WAAW,OAAO;EAC7B,SAAS;EACV,CAAC;AACF,QAAO;EACL,OAAO,KAAK,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC;EAC5C,WAAW,KAAK,QAAQ,QAAQ,IAAI,WAAW,KAAK,CAAC;EACtD;;;;;;;;;AAUH,eAAsB,eACpB,OACyB;AACzB,KAAI,CAAC,MAAO,QAAO,EAAE;AASrB,SARa,MAAM,aAAa,CAAC,WAAW,SAAS;EACnD,OAAO,EAAE,YAAY,MAAM,MAAM;EACjC,SAAS,CACP,EAAE,QAAQ;GAAE,MAAM;GAAO,OAAO;GAAS,EAAE,EAC3C,EAAE,WAAW,QAAQ,CACtB;EACD,SAAS;EACV,CAAC,EACU,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC;;AAG9C,IAAa,gBAAb,cAAmC,MAAM;CACvC,YACE,AAAS,QAOT,SACA;AACA,QAAM,QAAQ;EATL;;;AAab,SAAS,cAAc,MAAgD;AACrE,KAAI,SAAS,UAAa,SAAS,KAAM,QAAO;CAChD,MAAM,UAAU,KAAK,MAAM;AAE3B,QAAO,UAAU,QAAQ,MAAM,GAAG,gBAAgB,GAAG;;AAYvD,eAAsB,YACpB,OACA,OACuB;CACvB,MAAM,EAAE,cAAc,SAAS,MAAM,gBAAgB,EAAE,KAAK;AAE5D,KAAI,CAAC,gBAAgB,CAAC,SAAS,MAAM,CACnC,OAAM,IAAI,cACR,SACA,kEACD;AAEH,KAAI,cAAc,WAChB,OAAM,IAAI,cACR,wBACA,WAAyB,SAC1B;CAGH,IAAI,aAA4B;AAChC,KAAI,cAAc;AAChB,eAAa,MAAM,kBAAkB,aAAa;AAClD,MAAI,CAAC,WACH,OAAM,IAAI,cAAc,aAAa,qBAAqB,eAAe;;AAwC7E,QAAO,OApCK,MAAM,aAAa,CAAC,aAAa,OAAO,OAAO;EACzD,MAAM,UAAU,MAAM,GAAG,WAAW,OAAO;GACzC,MAAM;IACJ;IACA,SAAS,aACL,OACA,QAAS,MAAM,CAAC,MAAM,OAAsB;IAChD,YAAY,MAAM;IAClB,aAAa,MAAM;IACnB,MAAM,cAAc,KAAK;IAC1B;GACD,QAAQ,EAAE,IAAI,MAAM;GACrB,CAAC;AAQF,MAAI,cAAc,SAAS,EACzB,OAAM,GAAG,qBAAqB,WAAW;GACvC,OAAO;IACL,IAAI,EAAE,IAAI,eAAe;IACzB,YAAY,MAAM;IAClB,YAAY;IACb;GACD,MAAM,EAAE,YAAY,QAAQ,IAAI;GACjC,CAAC;AAGJ,SAAO,GAAG,WAAW,kBAAkB;GACrC,OAAO,EAAE,IAAI,QAAQ,IAAI;GACzB,SAAS;GACV,CAAC;GACF,EACiB,MAAM;;;;;;;;AAS3B,eAAe,eAAe,IAAY,OAAc;CACtD,MAAM,MAAM,MAAM,aAAa,CAAC,WAAW,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxE,KAAI,CAAC,IAAK,OAAM,IAAI,cAAc,aAAa,wBAAwB;AACvE,KAAI,IAAI,eAAe,MAAM,KAC3B,OAAM,IAAI,cAAc,cAAc,kCAAkC;AAE1E,KAAI,KAAK,KAAK,GAAG,IAAI,UAAU,SAAS,QACtC,OAAM,IAAI,cACR,iBACA,gDACD;AAEH,QAAO;;AAGT,eAAsB,aACpB,IACA,MACA,OACuB;AACvB,OAAM,eAAe,IAAI,MAAM;AAM/B,QAAO,OALK,MAAM,aAAa,CAAC,WAAW,OAAO;EAChD,OAAO,EAAE,IAAI;EACb,MAAM;GAAE,MAAM,cAAc,KAAK;GAAE,0BAAU,IAAI,MAAM;GAAE;EACzD,SAAS;EACV,CAAC,EACiB,MAAM;;;;;;;;;;;AAY3B,eAAsB,gBACpB,IACA,OACyB;CACzB,MAAM,MAAM,MAAM,aAAa,CAAC,WAAW,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxE,KAAI,CAAC,IAAK,OAAM,IAAI,cAAc,aAAa,wBAAwB;AACvE,KAAI,IAAI,eAAe,MAAM,KAC3B,OAAM,IAAI,cAAc,cAAc,oCAAoC;AAE5E,KAAI,IAAI,WAAW,KACjB,OAAM,IAAI,cACR,oBACA,mDACD;AAEH,OAAM,aAAa,CAAC,WAAW,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxD,QAAO,EAAE,IAAI"}
1
+ {"version":3,"file":"service.mjs","names":[],"sources":["../../../src/modules/feedback/service.ts"],"sourcesContent":["import { getDbClient } from '../../db/client'\nimport type { Actor } from '../visitor/visitorIdentity'\n\n/** How long an author may edit their own wording. */\nexport const EDIT_WINDOW_MS = 60 * 60 * 1000\n\nexport const MAX_BODY_LENGTH = 1000\nexport const MAX_SUBJECT_LENGTH = 120\nexport const MAX_ATTACHMENTS = 3\n\n/** One piece of feedback as a client sees it. Never carries an author hash. */\nexport interface FeedbackView {\n id: string\n authorName: string\n /** Null when the visitor sent a bare flag with no words. */\n body: string | null\n /** What they were looking for, on a catalog-level ask. Null on entry feedback. */\n subject: string | null\n /** Slug of the entry this is about, or null for a catalog-level ask. */\n resourceSlug: string | null\n /** Display name of that entry, so the tracker can label a row without a second query. */\n resourceName: string | null\n attachmentIds: string[]\n status: 'applied' | 'acknowledged' | null\n reviewerReply: string | null\n /** When a maintainer last touched it — what \"unread\" is computed against. */\n reviewedAt: string | null\n createdAt: string\n editedAt: string | null\n /** Whether this browser wrote it — what makes Edit and Dismiss appear. */\n isMine: boolean\n /**\n * The absolute instant this browser's edit window closes, or null when it is not\n * theirs. Absolute rather than a remaining duration so a client with a skewed clock\n * hides the control at the same moment the server starts refusing the edit.\n */\n canEditUntil: string | null\n}\n\ntype Row = {\n id: string\n authorHash: string\n authorAlias: string\n body: string | null\n subject: string | null\n status: 'applied' | 'acknowledged' | null\n reviewerReply: string | null\n reviewedAt: Date | null\n editedAt: Date | null\n createdAt: Date\n resource?: { slug: string; displayName: string } | null\n attachments?: { id: string }[]\n}\n\nfunction toView(row: Row, actor: Actor | null): FeedbackView {\n const isMine = !!actor && row.authorHash === actor.hash\n return {\n id: row.id,\n authorName: row.authorAlias,\n body: row.body,\n subject: row.subject,\n resourceSlug: row.resource?.slug ?? null,\n resourceName: row.resource?.displayName ?? null,\n attachmentIds: (row.attachments ?? []).map((a) => a.id),\n status: row.status,\n reviewerReply: row.reviewerReply,\n reviewedAt: row.reviewedAt?.toISOString() ?? null,\n createdAt: row.createdAt.toISOString(),\n editedAt: row.editedAt?.toISOString() ?? null,\n isMine,\n canEditUntil: isMine\n ? new Date(row.createdAt.getTime() + EDIT_WINDOW_MS).toISOString()\n : null,\n }\n}\n\nconst WITH_RELATIONS = {\n resource: { select: { slug: true, displayName: true } },\n attachments: { select: { id: true } },\n} as const\n\nasync function resourceIdForSlug(slug: string): Promise<string | null> {\n const resource = await getDbClient().dbResource.findUnique({\n where: { slug },\n select: { id: true },\n })\n return resource?.id ?? null\n}\n\nexport interface FeedbackList {\n items: FeedbackView[]\n /** Unreviewed count — what the badge shows. `status IS NULL` is the whole definition. */\n openCount: number\n}\n\n/** Oldest first: a thread reads top to bottom. */\nexport async function listFeedback(\n resourceSlug: string,\n actor: Actor | null,\n): Promise<FeedbackList> {\n const resourceId = await resourceIdForSlug(resourceSlug)\n if (!resourceId) return { items: [], openCount: 0 }\n\n const rows = await getDbClient().dbFeedback.findMany({\n where: { resourceId },\n orderBy: { createdAt: 'asc' },\n include: WITH_RELATIONS,\n })\n return {\n items: rows.map((row) => toView(row, actor)),\n openCount: rows.filter((row) => row.status === null).length,\n }\n}\n\n/**\n * Everything this browser filed, across entries, for the tracker.\n *\n * Sorted the way the tracker renders: unreviewed first, then newest. Postgres sorts\n * NULLs last by default, so `status` ascending would bury the pending rows — hence the\n * explicit two-key ordering rather than relying on the default.\n */\nexport async function listMyFeedback(\n actor: Actor | null,\n): Promise<FeedbackView[]> {\n if (!actor) return []\n const rows = await getDbClient().dbFeedback.findMany({\n where: { authorHash: actor.hash },\n orderBy: [\n { status: { sort: 'asc', nulls: 'first' } },\n { createdAt: 'desc' },\n ],\n include: WITH_RELATIONS,\n })\n return rows.map((row) => toView(row, actor))\n}\n\n/**\n * Strips invisible characters from text that AI agents will read.\n *\n * Removes zero-width characters (except ZWJ, needed for emoji), directional marks/overrides,\n * and Unicode tag characters that could hide instructions or disguise links.\n */\nexport function stripHiddenText(text: string): string {\n // Zero-width: U+200B, U+200C, U+2060, U+FEFF\n // Directional: U+200E-U+200F, U+202A-U+202E, U+2066-U+2069\n // Tag chars: U+E0000-U+E007F\n // Preserves U+200D (ZWJ) for emoji\n return text.replace(\n /[\\u{200B}\\u{200C}\\u{200E}-\\u{200F}\\u{202A}-\\u{202E}\\u{2060}\\u{2066}-\\u{2069}\\u{E0000}-\\u{E007F}\\u{FEFF}]/gu,\n '',\n )\n}\n\nexport class FeedbackError extends Error {\n constructor(\n readonly reason:\n | 'not-found'\n | 'not-author'\n | 'window-closed'\n | 'already-reviewed'\n | 'empty'\n | 'too-many-attachments',\n message: string,\n ) {\n super(message)\n }\n}\n\nfunction normaliseBody(body: string | undefined | null): string | null {\n if (body === undefined || body === null) return null\n const stripped = stripHiddenText(body)\n const trimmed = stripped.trim()\n // A bare flag is a valid signal, so empty is stored as absent rather than refused.\n return trimmed ? trimmed.slice(0, MAX_BODY_LENGTH) : null\n}\n\nexport interface AddFeedbackInput {\n /** Omitted for a catalog-level ask. */\n resourceSlug?: string\n /** Required when there is no resourceSlug — it is the substance of the ask. */\n subject?: string\n body?: string\n attachmentIds?: string[]\n}\n\nexport async function addFeedback(\n input: AddFeedbackInput,\n actor: Actor,\n): Promise<FeedbackView> {\n const { resourceSlug, subject, body, attachmentIds = [] } = input\n\n if (!resourceSlug && !subject?.trim()) {\n throw new FeedbackError(\n 'empty',\n 'Tell us which entry this is about, or what you were looking for',\n )\n }\n if (attachmentIds.length > MAX_ATTACHMENTS) {\n throw new FeedbackError(\n 'too-many-attachments',\n `Up to ${MAX_ATTACHMENTS} images`,\n )\n }\n\n let resourceId: string | null = null\n if (resourceSlug) {\n resourceId = await resourceIdForSlug(resourceSlug)\n if (!resourceId) {\n throw new FeedbackError('not-found', `Unknown resource: ${resourceSlug}`)\n }\n }\n\n const row = await getDbClient().$transaction(async (tx) => {\n const created = await tx.dbFeedback.create({\n data: {\n resourceId,\n subject: resourceId\n ? null\n : stripHiddenText(subject!).trim().slice(0, MAX_SUBJECT_LENGTH),\n authorHash: actor.hash,\n authorAlias: actor.alias,\n body: normaliseBody(body),\n },\n select: { id: true },\n })\n\n // Claim only images this browser uploaded and nobody has claimed yet, so an id\n // guessed from someone else's upload cannot be pulled onto your feedback.\n //\n // `updateMany` with the conditions in the WHERE, rather than a nested `connect`:\n // `connect` takes only the id, and because `feedbackId` is a single FK it would\n // MOVE a claimed image off its owner's feedback instead of refusing.\n if (attachmentIds.length > 0) {\n await tx.dbFeedbackAttachment.updateMany({\n where: {\n id: { in: attachmentIds },\n authorHash: actor.hash,\n feedbackId: null,\n },\n data: { feedbackId: created.id },\n })\n }\n\n return tx.dbFeedback.findUniqueOrThrow({\n where: { id: created.id },\n include: WITH_RELATIONS,\n })\n })\n return toView(row, actor)\n}\n\n/**\n * Load a row and check this actor may still change its wording.\n *\n * Enforced here, not in the UI: the control disappearing is a courtesy, and a request\n * that arrives a second late must still be refused.\n */\nasync function loadOwnForEdit(id: string, actor: Actor) {\n const row = await getDbClient().dbFeedback.findUnique({ where: { id } })\n if (!row) throw new FeedbackError('not-found', 'This no longer exists')\n if (row.authorHash !== actor.hash) {\n throw new FeedbackError('not-author', 'Only the author can change this')\n }\n if (Date.now() > row.createdAt.getTime() + EDIT_WINDOW_MS) {\n throw new FeedbackError(\n 'window-closed',\n 'Wording can only be changed in the first hour',\n )\n }\n return row\n}\n\nexport async function editFeedback(\n id: string,\n body: string,\n actor: Actor,\n): Promise<FeedbackView> {\n await loadOwnForEdit(id, actor)\n const row = await getDbClient().dbFeedback.update({\n where: { id },\n data: { body: normaliseBody(body), editedAt: new Date() },\n include: WITH_RELATIONS,\n })\n return toView(row, actor)\n}\n\n/**\n * Withdraw your own feedback.\n *\n * Allowed for as long as nobody has reviewed it, with no time limit — the edit window\n * exists to stop someone rewriting words others have already read, and that reasoning\n * does not apply to withdrawing something no maintainer has acted on. Once reviewed it\n * is public record carrying a maintainer's reply, so withdrawing would delete their\n * answer; from then on it is refused.\n */\nexport async function dismissFeedback(\n id: string,\n actor: Actor,\n): Promise<{ id: string }> {\n const row = await getDbClient().dbFeedback.findUnique({ where: { id } })\n if (!row) throw new FeedbackError('not-found', 'This no longer exists')\n if (row.authorHash !== actor.hash) {\n throw new FeedbackError('not-author', 'Only the author can withdraw this')\n }\n if (row.status !== null) {\n throw new FeedbackError(\n 'already-reviewed',\n 'This has been answered, so it stays on the entry',\n )\n }\n await getDbClient().dbFeedback.delete({ where: { id } })\n return { id }\n}\n"],"mappings":";;;;AAIA,MAAa,iBAAiB,OAAU;AAExC,MAAa,kBAAkB;AAC/B,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AA8C/B,SAAS,OAAO,KAAU,OAAmC;CAC3D,MAAM,SAAS,CAAC,CAAC,SAAS,IAAI,eAAe,MAAM;AACnD,QAAO;EACL,IAAI,IAAI;EACR,YAAY,IAAI;EAChB,MAAM,IAAI;EACV,SAAS,IAAI;EACb,cAAc,IAAI,UAAU,QAAQ;EACpC,cAAc,IAAI,UAAU,eAAe;EAC3C,gBAAgB,IAAI,eAAe,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG;EACvD,QAAQ,IAAI;EACZ,eAAe,IAAI;EACnB,YAAY,IAAI,YAAY,aAAa,IAAI;EAC7C,WAAW,IAAI,UAAU,aAAa;EACtC,UAAU,IAAI,UAAU,aAAa,IAAI;EACzC;EACA,cAAc,SACV,IAAI,KAAK,IAAI,UAAU,SAAS,GAAG,eAAe,CAAC,aAAa,GAChE;EACL;;AAGH,MAAM,iBAAiB;CACrB,UAAU,EAAE,QAAQ;EAAE,MAAM;EAAM,aAAa;EAAM,EAAE;CACvD,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE;CACtC;AAED,eAAe,kBAAkB,MAAsC;AAKrE,SAJiB,MAAM,aAAa,CAAC,WAAW,WAAW;EACzD,OAAO,EAAE,MAAM;EACf,QAAQ,EAAE,IAAI,MAAM;EACrB,CAAC,GACe,MAAM;;;AAUzB,eAAsB,aACpB,cACA,OACuB;CACvB,MAAM,aAAa,MAAM,kBAAkB,aAAa;AACxD,KAAI,CAAC,WAAY,QAAO;EAAE,OAAO,EAAE;EAAE,WAAW;EAAG;CAEnD,MAAM,OAAO,MAAM,aAAa,CAAC,WAAW,SAAS;EACnD,OAAO,EAAE,YAAY;EACrB,SAAS,EAAE,WAAW,OAAO;EAC7B,SAAS;EACV,CAAC;AACF,QAAO;EACL,OAAO,KAAK,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC;EAC5C,WAAW,KAAK,QAAQ,QAAQ,IAAI,WAAW,KAAK,CAAC;EACtD;;;;;;;;;AAUH,eAAsB,eACpB,OACyB;AACzB,KAAI,CAAC,MAAO,QAAO,EAAE;AASrB,SARa,MAAM,aAAa,CAAC,WAAW,SAAS;EACnD,OAAO,EAAE,YAAY,MAAM,MAAM;EACjC,SAAS,CACP,EAAE,QAAQ;GAAE,MAAM;GAAO,OAAO;GAAS,EAAE,EAC3C,EAAE,WAAW,QAAQ,CACtB;EACD,SAAS;EACV,CAAC,EACU,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC;;;;;;;;AAS9C,SAAgB,gBAAgB,MAAsB;AAKpD,QAAO,KAAK,QACV,8GACA,GACD;;AAGH,IAAa,gBAAb,cAAmC,MAAM;CACvC,YACE,AAAS,QAOT,SACA;AACA,QAAM,QAAQ;EATL;;;AAab,SAAS,cAAc,MAAgD;AACrE,KAAI,SAAS,UAAa,SAAS,KAAM,QAAO;CAEhD,MAAM,UADW,gBAAgB,KAAK,CACb,MAAM;AAE/B,QAAO,UAAU,QAAQ,MAAM,GAAG,gBAAgB,GAAG;;AAYvD,eAAsB,YACpB,OACA,OACuB;CACvB,MAAM,EAAE,cAAc,SAAS,MAAM,gBAAgB,EAAE,KAAK;AAE5D,KAAI,CAAC,gBAAgB,CAAC,SAAS,MAAM,CACnC,OAAM,IAAI,cACR,SACA,kEACD;AAEH,KAAI,cAAc,WAChB,OAAM,IAAI,cACR,wBACA,WAAyB,SAC1B;CAGH,IAAI,aAA4B;AAChC,KAAI,cAAc;AAChB,eAAa,MAAM,kBAAkB,aAAa;AAClD,MAAI,CAAC,WACH,OAAM,IAAI,cAAc,aAAa,qBAAqB,eAAe;;AAwC7E,QAAO,OApCK,MAAM,aAAa,CAAC,aAAa,OAAO,OAAO;EACzD,MAAM,UAAU,MAAM,GAAG,WAAW,OAAO;GACzC,MAAM;IACJ;IACA,SAAS,aACL,OACA,gBAAgB,QAAS,CAAC,MAAM,CAAC,MAAM,OAAsB;IACjE,YAAY,MAAM;IAClB,aAAa,MAAM;IACnB,MAAM,cAAc,KAAK;IAC1B;GACD,QAAQ,EAAE,IAAI,MAAM;GACrB,CAAC;AAQF,MAAI,cAAc,SAAS,EACzB,OAAM,GAAG,qBAAqB,WAAW;GACvC,OAAO;IACL,IAAI,EAAE,IAAI,eAAe;IACzB,YAAY,MAAM;IAClB,YAAY;IACb;GACD,MAAM,EAAE,YAAY,QAAQ,IAAI;GACjC,CAAC;AAGJ,SAAO,GAAG,WAAW,kBAAkB;GACrC,OAAO,EAAE,IAAI,QAAQ,IAAI;GACzB,SAAS;GACV,CAAC;GACF,EACiB,MAAM;;;;;;;;AAS3B,eAAe,eAAe,IAAY,OAAc;CACtD,MAAM,MAAM,MAAM,aAAa,CAAC,WAAW,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxE,KAAI,CAAC,IAAK,OAAM,IAAI,cAAc,aAAa,wBAAwB;AACvE,KAAI,IAAI,eAAe,MAAM,KAC3B,OAAM,IAAI,cAAc,cAAc,kCAAkC;AAE1E,KAAI,KAAK,KAAK,GAAG,IAAI,UAAU,SAAS,QACtC,OAAM,IAAI,cACR,iBACA,gDACD;AAEH,QAAO;;AAGT,eAAsB,aACpB,IACA,MACA,OACuB;AACvB,OAAM,eAAe,IAAI,MAAM;AAM/B,QAAO,OALK,MAAM,aAAa,CAAC,WAAW,OAAO;EAChD,OAAO,EAAE,IAAI;EACb,MAAM;GAAE,MAAM,cAAc,KAAK;GAAE,0BAAU,IAAI,MAAM;GAAE;EACzD,SAAS;EACV,CAAC,EACiB,MAAM;;;;;;;;;;;AAY3B,eAAsB,gBACpB,IACA,OACyB;CACzB,MAAM,MAAM,MAAM,aAAa,CAAC,WAAW,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxE,KAAI,CAAC,IAAK,OAAM,IAAI,cAAc,aAAa,wBAAwB;AACvE,KAAI,IAAI,eAAe,MAAM,KAC3B,OAAM,IAAI,cAAc,cAAc,oCAAoC;AAE5E,KAAI,IAAI,WAAW,KACjB,OAAM,IAAI,cACR,oBACA,mDACD;AAEH,OAAM,aAAa,CAAC,WAAW,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxD,QAAO,EAAE,IAAI"}