/** Signet OS types — manifest schema, app tray, and event bus definitions. */ export interface SignetAppEvents { readonly subscribe?: readonly string[]; readonly emit?: readonly string[]; } export interface SignetAppSize { readonly w: number; readonly h: number; } /** The `signet` block that MCP servers can declare in their metadata. */ export interface SignetAppManifest { readonly name: string; readonly icon?: string; /** URL of the widget UI. Auto-card rendered if absent. */ readonly ui?: string; /** Pre-built HTML widget content (Signet schema). */ readonly html?: string; readonly defaultSize?: SignetAppSize; readonly events?: SignetAppEvents; readonly menuItems?: readonly string[]; /** Pin to dock on install. Default: false. */ readonly dock?: boolean; } export declare const DEFAULT_APP_SIZE: SignetAppSize; export declare const WIDGET_SIZES: { readonly small: { readonly w: 3; readonly h: 2; }; readonly medium: { readonly w: 4; readonly h: 3; }; readonly large: { readonly w: 6; readonly h: 4; }; }; export type WidgetSizePreset = keyof typeof WIDGET_SIZES; export interface AutoCardToolAction { readonly name: string; readonly description: string; /** From MCP annotations readOnlyHint */ readonly readOnly: boolean; readonly inputSchema: unknown; } export interface AutoCardResource { readonly uri: string; readonly name: string; readonly description?: string; readonly mimeType?: string; } /** Auto-generated card manifest when no `signet` block or UI is declared. */ export interface AutoCardManifest { readonly name: string; readonly icon?: string; readonly tools: readonly AutoCardToolAction[]; readonly resources: readonly AutoCardResource[]; /** Whether app:// resources were found (MCP Apps SDK) */ readonly hasAppResources: boolean; readonly defaultSize: SignetAppSize; } export interface McpProbeResult { readonly serverId: string; readonly ok: boolean; readonly error?: string; readonly declaredManifest?: SignetAppManifest; readonly autoCard: AutoCardManifest; readonly toolCount: number; readonly resourceCount: number; readonly hasAppResources: boolean; readonly probedAt: string; } export type AppTrayState = "tray" | "grid" | "dock"; /** Persisted to ~/.agents/marketplace/app-tray.json */ export interface AppTrayEntry { readonly id: string; readonly name: string; readonly icon?: string; readonly state: AppTrayState; readonly manifest: SignetAppManifest; readonly autoCard: AutoCardManifest; readonly hasDeclaredManifest: boolean; /** Only set when state === 'grid' */ readonly gridPosition?: { x: number; y: number; w: number; h: number; }; readonly createdAt: string; readonly updatedAt: string; } export interface SignetOSEvent { readonly id: string; /** "browser" | "mcp:" | "system" */ readonly source: string; readonly type: string; readonly timestamp: number; readonly payload: Record; } export type BrowserEventType = "browser.navigate" | "browser.form" | "browser.dom.change" | "browser.extract" | "browser.checkout" | "browser.login"; export interface EventBusSubscription { readonly type: string; readonly id: string; readonly unsubscribe: () => void; } export interface ContextSnapshot { readonly events: readonly SignetOSEvent[]; readonly totalEvents: number; readonly windowStart: number; readonly windowEnd: number; readonly activeSources: number; readonly generatedAt: number; } //# sourceMappingURL=signet-os-types.d.ts.map