generated from coulomb/repo-seed
fix: resolve all GHC 9.10.3 / IHP 1.5 compile errors (all 616 modules load)
Some checks failed
Test / test (push) Has been cancelled
Some checks failed
Test / test (push) Has been cancelled
Fix 13 modules that blocked compilation on Alpine: - FrontController: remove annotationLauncherScript helper (IHP Html is a constrained type synonym); add (?context, ?request) constraint to defaultLayout matching what setLayout expects - HubCapabilityManifests: switch JSONB fill to paramList+toJSON; fix dynamic SQL Text→Query via fromString/cs; void sqlExec; add Control.Monad.void - Hubs: replace raw Array sqlQuery with filterWhereIn query builder; fix isInList validators - DecisionRecords: remove unregistered DistilDecisionAction; fix hub resolution chain via candidateId→sourceWidgetId; BridgeResponse(..) - RequirementCandidates: BridgeResponse(..); remove @Widget type apps from fetchOneOrNothing; void ConfidenceAnnotation createRecord - AdaptiveThresholds: fix sqlQuery tuple param (Only hubId) - AgentDelegations, AgentRegistrations, Widgets: BridgeResponse(..) - Annotations, DeploymentRecords, GovernanceTemplates: minor type fixes - DecisionRecords/Edit view: extract formAction before HSX block Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -39,13 +39,17 @@ instance Controller HubsController where
|
||||
|> filterWhere (#hubId, hubId)
|
||||
|> orderByAsc #name
|
||||
|> fetch
|
||||
widgetIds <- pure (map (.id) widgets)
|
||||
recentEvents <- sqlQuery
|
||||
"SELECT * FROM interaction_events WHERE widget_id = ANY(?) ORDER BY occurred_at DESC LIMIT 50"
|
||||
(Only (PGArray widgetIds))
|
||||
recentAnnotations <- sqlQuery
|
||||
"SELECT * FROM annotations WHERE widget_id = ANY(?) ORDER BY created_at DESC LIMIT 20"
|
||||
(Only (PGArray widgetIds))
|
||||
let widgetIds = map (.id) widgets
|
||||
recentEvents <- query @InteractionEvent
|
||||
|> filterWhereIn (#widgetId, widgetIds)
|
||||
|> orderByDesc #occurredAt
|
||||
|> limit 50
|
||||
|> fetch
|
||||
recentAnnotations <- query @Annotation
|
||||
|> filterWhereIn (#widgetId, widgetIds)
|
||||
|> orderByDesc #createdAt
|
||||
|> limit 20
|
||||
|> fetch
|
||||
mManifest <- query @HubCapabilityManifest
|
||||
|> filterWhere (#hubId, hubId)
|
||||
|> fetchOneOrNothing
|
||||
@@ -58,7 +62,7 @@ instance Controller HubsController where
|
||||
|> validateField #slug nonEmpty
|
||||
|> validateField #name nonEmpty
|
||||
|> validateField #domain nonEmpty
|
||||
|> validateField #hubKind (`elem` ["domain", "shared"])
|
||||
|> validateField #hubKind (isInList ["domain", "shared"])
|
||||
-- 'framework' cannot be set via the UI
|
||||
|> ifValid \case
|
||||
Left hub -> render NewView { hub }
|
||||
@@ -78,7 +82,7 @@ instance Controller HubsController where
|
||||
|> validateField #slug nonEmpty
|
||||
|> validateField #name nonEmpty
|
||||
|> validateField #domain nonEmpty
|
||||
|> validateField #hubKind (`elem` ["framework", "domain", "shared"])
|
||||
|> validateField #hubKind (isInList ["framework", "domain", "shared"])
|
||||
|> ifValid \case
|
||||
Left hub -> render EditView { hub }
|
||||
Right hub -> do
|
||||
@@ -265,8 +269,7 @@ instance Controller HubsController where
|
||||
widgets <- query @Widget |> filterWhere (#hubId, hubId) |> fetch
|
||||
let widgetIds = map (.id) widgets
|
||||
annotations <- query @Annotation |> filterWhereIn (#widgetId, widgetIds) |> fetch
|
||||
events <- sqlQuery "SELECT * FROM interaction_events WHERE widget_id = ANY(?)"
|
||||
(Only (PGArray widgetIds))
|
||||
events <- query @InteractionEvent |> filterWhereIn (#widgetId, widgetIds) |> fetch
|
||||
signals <- query @OutcomeSignal |> filterWhereIn (#widgetId, widgetIds) |> fetch
|
||||
candidates <- query @RequirementCandidate |> filterWhereIn (#sourceWidgetId, widgetIds) |> fetch
|
||||
let regressionWids = regressedWidgetIds signals annotations
|
||||
|
||||
Reference in New Issue
Block a user