feat(P6/T01): Phase 6 schema — WidgetAdapterSpec, contracts, widgets.adapter_spec_id
Adds Phase 6 tables: envelope_emission_contracts, interaction_reporting_contracts, widget_adapter_specs. Adds adapter_spec_id FK to widgets and api_key to hubs. Seeds v1.0 contracts in migration. Registers Phase 6 controller types and routes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
e00aa126c8
commit
55af11342d
5 changed files with 191 additions and 1 deletions
|
|
@ -17,6 +17,9 @@ import Web.Controller.Requirements ()
|
|||
import Web.Controller.DecisionRecords ()
|
||||
import Web.Controller.DeploymentRecords ()
|
||||
import Web.Controller.AgentProposals ()
|
||||
import Web.Controller.EnvelopeEmissionContracts ()
|
||||
import Web.Controller.InteractionReportingContracts ()
|
||||
import Web.Controller.WidgetAdapterSpecs ()
|
||||
import Web.Controller.Sessions ()
|
||||
|
||||
instance FrontController WebApplication where
|
||||
|
|
@ -32,6 +35,9 @@ instance FrontController WebApplication where
|
|||
, parseRoute @DecisionRecordsController
|
||||
, parseRoute @DeploymentRecordsController
|
||||
, parseRoute @AgentProposalsController
|
||||
, parseRoute @EnvelopeEmissionContractsController
|
||||
, parseRoute @InteractionReportingContractsController
|
||||
, parseRoute @WidgetAdapterSpecsController
|
||||
]
|
||||
|
||||
instance InitControllerContext WebApplication where
|
||||
|
|
@ -62,6 +68,7 @@ defaultLayout inner = [hsx|
|
|||
<a href={DecisionRecordsAction} class="text-sm text-gray-600 hover:text-gray-900">Decisions</a>
|
||||
<a href={DeploymentRecordsAction} class="text-sm text-gray-600 hover:text-gray-900">Deployments</a>
|
||||
<a href={AgentProposalsAction} class="text-sm text-gray-600 hover:text-gray-900">Agent</a>
|
||||
<a href={WidgetAdapterSpecsAction} class="text-sm text-gray-600 hover:text-gray-900">Adapters</a>
|
||||
<div class="ml-auto">
|
||||
<a href={DeleteSessionAction} class="text-sm text-gray-500 hover:text-gray-700">Sign out</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -34,5 +34,10 @@ instance AutoRoute DeploymentRecordsController
|
|||
-- Agent Proposals (Phase 5)
|
||||
instance AutoRoute AgentProposalsController
|
||||
|
||||
-- Phase 6 — Cross-Framework UI Adaptation
|
||||
instance AutoRoute EnvelopeEmissionContractsController
|
||||
instance AutoRoute InteractionReportingContractsController
|
||||
instance AutoRoute WidgetAdapterSpecsController
|
||||
|
||||
-- Sessions
|
||||
instance AutoRoute SessionsController
|
||||
|
|
|
|||
22
Web/Types.hs
22
Web/Types.hs
|
|
@ -26,7 +26,8 @@ data HubsController
|
|||
| TriageDashboardAction { hubId :: !(Id Hub) }
|
||||
| GovernanceDashboardAction { hubId :: !(Id Hub) }
|
||||
| AntifragilityDashboardAction { hubId :: !(Id Hub) }
|
||||
| AgentAuditDashboardAction { hubId :: !(Id Hub) }
|
||||
| AgentAuditDashboardAction { hubId :: !(Id Hub) }
|
||||
| AdapterCompatibilityDashboardAction { hubId :: !(Id Hub) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data WidgetsController
|
||||
|
|
@ -111,6 +112,25 @@ data AgentProposalsController
|
|||
| RejectProposalAction { agentProposalId :: !(Id AgentProposal) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data EnvelopeEmissionContractsController
|
||||
= EnvelopeEmissionContractsAction
|
||||
| ShowEnvelopeEmissionContractAction { envelopeEmissionContractId :: !(Id EnvelopeEmissionContract) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data InteractionReportingContractsController
|
||||
= InteractionReportingContractsAction
|
||||
| ShowInteractionReportingContractAction { interactionReportingContractId :: !(Id InteractionReportingContract) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data WidgetAdapterSpecsController
|
||||
= WidgetAdapterSpecsAction
|
||||
| ShowWidgetAdapterSpecAction { widgetAdapterSpecId :: !(Id WidgetAdapterSpec) }
|
||||
| NewWidgetAdapterSpecAction
|
||||
| CreateWidgetAdapterSpecAction
|
||||
| EditWidgetAdapterSpecAction { widgetAdapterSpecId :: !(Id WidgetAdapterSpec) }
|
||||
| UpdateWidgetAdapterSpecAction { widgetAdapterSpecId :: !(Id WidgetAdapterSpec) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data SessionsController
|
||||
= NewSessionAction
|
||||
| CreateSessionAction
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue