feat: add institutional governance and recovery contracts
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Activity, Bell, BookUser, Building2, CalendarClock, CalendarDays, ClipboardPenLine, DatabaseZap, Folder, Form, Inbox, LayoutDashboard, LayoutTemplate, ListTree, Mail, Mails, RadioTower, Shield, ShieldCheck, Users, Waypoints, Workflow as WorkflowIcon, type LucideIcon } from "lucide-react";
|
||||
import { Activity, Bell, BookUser, BriefcaseBusiness, Building2, CalendarClock, CalendarDays, ClipboardPenLine, DatabaseZap, Folder, FolderKanban, Form, Gavel, Inbox, Landmark, LayoutDashboard, LayoutTemplate, ListTree, Mail, Mails, RadioTower, Shield, ShieldCheck, Users, Waypoints, Workflow as WorkflowIcon, type LucideIcon } from "lucide-react";
|
||||
import installedWebModuleLoaderSource from "virtual:govoplan-installed-modules";
|
||||
import type { AuthInfo, DashboardWidgetContribution, DashboardWidgetsUiCapability, EffectiveViewProjection, PlatformModuleInfo, PlatformNavItem, PlatformPublicModuleInfo, PlatformViewSurface, PlatformWebModule } from "../types";
|
||||
import {
|
||||
@@ -56,6 +56,7 @@ const iconByName: Record<string, LucideIcon> = {
|
||||
admin: Shield,
|
||||
bell: Bell,
|
||||
"book-user": BookUser,
|
||||
"briefcase-business": BriefcaseBusiness,
|
||||
building: Building2,
|
||||
"building-2": Building2,
|
||||
calendar: CalendarDays,
|
||||
@@ -67,8 +68,11 @@ const iconByName: Record<string, LucideIcon> = {
|
||||
file: Folder,
|
||||
files: Folder,
|
||||
folder: Folder,
|
||||
"folder-kanban": FolderKanban,
|
||||
form: Form,
|
||||
gavel: Gavel,
|
||||
inbox: Inbox,
|
||||
landmark: Landmark,
|
||||
"layout-template": LayoutTemplate,
|
||||
"list-tree": ListTree,
|
||||
mail: Mail,
|
||||
|
||||
@@ -1057,6 +1057,31 @@ export type PlatformModuleInfo = {
|
||||
dependencies: string[];
|
||||
optional_dependencies: string[];
|
||||
enabled: boolean;
|
||||
architecture?: {
|
||||
contract_version: string;
|
||||
layer: string;
|
||||
kind: string;
|
||||
maturity: string;
|
||||
evidence: Array<{ kind: string; reference: string; summary: string }>;
|
||||
known_limits: string[];
|
||||
supported_authority_modes: string[];
|
||||
owned_concepts: string[];
|
||||
non_owned_concepts: string[];
|
||||
reference_packages: string[];
|
||||
target_tested_providers: string[];
|
||||
documentation: Record<string, string[]>;
|
||||
} | null;
|
||||
external_providers?: Array<{
|
||||
contract_version: string;
|
||||
id: string;
|
||||
module_id: string;
|
||||
label: string;
|
||||
maturity: string;
|
||||
operations: string[];
|
||||
authority_modes: string[];
|
||||
objects: Array<Record<string, unknown>>;
|
||||
behavior: Record<string, unknown>;
|
||||
}>;
|
||||
runtime_ui_capabilities?: string[];
|
||||
nav: Array<{
|
||||
path: string;
|
||||
|
||||
Reference in New Issue
Block a user