App Framework
Types
Types
NavigationFallback
Navigation callback for commands without handlers Called when a command exists but the providing app isn't mounted
type NavigationFallback = (route: string, commandId: string) => Promise<void>
CommandHandler
Command handler function type
type CommandHandler = (args: TArgs, context: CommandContext) => TResult | Promise<TResult>
CommandExecutionListener
Listener for command execution events
type CommandExecutionListener = (event: CommandExecutionEvent) => void
CommandErrorCode
Error codes for command failures
type CommandErrorCode = "COMMAND_NOT_FOUND" | "HANDLER_NOT_REGISTERED" | "COMMAND_DISABLED" | "HANDLER_ERROR" | "INVALID_ARGS" | "UNAUTHORIZED"
PresetType
Available preset types for attribute seeding
type PresetType = "software-development" | "marketing" | "product-management" | "personal" | "general"
PanelDockPosition
Panel dock position type
type PanelDockPosition = "bottom" | "right"
RightPanelMode
Right panel mode type
type RightPanelMode = "overlay" | "expanded" | "fixed"
ContributionChangeListener
Listener for contribution changes
type ContributionChangeListener = (pointId: string, contributions: ProcessedContribution[]) => void
AppNavigateFunction
Type for the navigation function returned by useAppNavigate
type AppNavigateFunction = { (to: string, options?: AppNavigateOptions): Promise<void>; (delta: number): void; }
LoadingType
Type of loading indicator to display
type LoadingType = "overlay" | "content" | "topnav" | "inline"
LoadingOperationState
State of a loading operation
type LoadingOperationState = "active" | "complete" | "error"
ActivationEvent
Activation events that trigger plugin loading
- onRoute:<path> - Activate when route matches
- onCommand:<id> - Activate when command is invoked
- onStartup - Activate on application startup
- Always activate (eager loading, default)
type ActivationEvent = `onRoute:${string}` | `onCommand:${string}` | "onStartup" | "*"
PluginCategory
Plugin category for organization in UI
type PluginCategory = "business" | "technical"
PluginPermission
Available permissions that plugins can request
type PluginPermission = "database" | "notifications" | "network" | "storage" | "clipboard" | "camera" | "microphone" | "geolocation"
MenuLocation
Menu locations where plugins can contribute items
type MenuLocation = "header.actions" | "header.left" | "sidebar.apps" | "sidebar.footer" | "context.task" | "context.project" | "context.milestone" | "context.editor"
StatusBarAlignment
Status bar item alignment
type StatusBarAlignment = "right" | "left" | "center"
NavigableEntityType
Navigation Service Types
Type definitions for the Event-Driven Navigation Service.
type NavigableEntityType = "project" | "milestone" | "task" | "goal" | "workspace" | "org"
ReplicationState
type ReplicationState = "error" | "offline" | "syncing" | "synced"
QuickNavEntityType
Extended entity type for QuickNav (includes custom plugin entities)
type QuickNavEntityType = string
QuickNavListItem
Union type for all QuickNav list items
type QuickNavListItem = QuickNavItem | QuickNavCategory
ValidationResult
Result of a validation operation
Either returns the validated data on success, or an array of error details on failure.
type ValidationResult = { success: true; data: T; } | { success: false; errors: Array<{ path: string; message: string; }>; }
SyncProviderFactory
Factory function type for creating sync provider instances. Used for provider registration and lazy instantiation.
type SyncProviderFactory = () => SyncProvider
SyncDirectionType
Type representing valid sync direction values
type SyncDirectionType = "push" | "pull" | "bidirectional"
SyncStatusType
Type representing valid sync status values
type SyncStatusType = "error" | "syncing" | "idle" | "success" | "paused"
SyncEntityTypeValue
Type representing valid sync entity type values
type SyncEntityTypeValue = "project" | "milestone" | "task"
SyncEventType
Types of sync events that can be emitted
type SyncEventType = "sync:start" | "sync:progress" | "sync:complete" | "sync:error" | "sync:conflict"
SyncEventHandler
Handler function for sync events
type SyncEventHandler = (event: SyncEvent) => void
ThemeMode
Available theme modes
- 'light': Force light mode
- 'dark': Force dark mode
- 'system': Follow system preference
type ThemeMode = "light" | "dark" | "system"
LoadingItemState
Loading item state
type LoadingItemState = "error" | "success" | "pending" | "loading"
EventType
Project-specific event types that can appear on the calendar
type EventType = "project" | "milestone" | "task" | "custom" | "recurring-task" | "deadline"
CalendarEventStatus
Status indicators for calendar events with visual mapping
type CalendarEventStatus = "pending" | "in-progress" | "completed" | "overdue" | "blocked" | "on-hold"
CalendarViewMode
Available calendar view modes
type CalendarViewMode = "dayGridMonth" | "dayGridWeek" | "timeGridWeek" | "timeGridDay" | "listWeek" | "listMonth" | "timeline" | "gantt"
CalendarScope
Calendar scope for different page contexts
type CalendarScope = "project" | "milestone" | "task" | "custom" | "global" | "user" | "team"
RecurrenceFrequency
Task Recurrence Types
Type definitions for task recurrence patterns and instances.
type RecurrenceFrequency = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY" | "CUSTOM"
WeekDay
type WeekDay = "MO" | "TU" | "WE" | "TH" | "FR" | "SA" | "SU"
MonthlyRecurrenceType
type MonthlyRecurrenceType = "BY_DATE" | "BY_WEEKDAY"
AttributeTab
type AttributeTab = "tag" | "category"
LoginStep
type LoginStep = "code" | "email"
DateDisplayFormat
type DateDisplayFormat = "date-only" | "datetime" | "time-only" | "datetime-short" | "relative"
ColorFamilyName
type ColorFamilyName = "Blue" | "Purple" | "Green" | "Orange" | "Pink" | "Teal" | "Indigo" | "Rose"
BadgeType
Badge type for selecting the appropriate color from the family
type BadgeType = "project" | "milestone" | "workspace" | "org"
SessionListPosition
type SessionListPosition = "right" | "left"
DockerContainerStatus
Docker container status types
type DockerContainerStatus = "error" | "unknown" | "running" | "stopped"
OnboardingMode
Onboarding mode - server connection or offline-first
type OnboardingMode = "offline" | "server"
SyncStatus
Sync status during server onboarding
type SyncStatus = "complete" | "error" | "syncing" | "pending"
SyncProviderContribution
type SyncProviderContribution = { id?: string; name?: string; description?: string; icon?: string; supportsOAuth?: boolean; oauthConfig?: { authorizationUrl?: string; tokenUrl?: string; scopes?: string[]; clientIdEnvVar?: string; }; supportedDirections?: ("push" | "pull" | "bidirectional")[]; providerModule?: string; providerExport?: string; }
TimerLoadingState
type TimerLoadingState = "error" | "syncing" | "idle" | "success" | "loading" | "starting" | "stopping" | "saving"
TimerState
type TimerState = "idle" | "paused" | "running" | "stopped" | "starting" | "stopping"
CustomApiAuthType
Custom API Sync Provider Types
type CustomApiAuthType = "none" | "api-key" | "bearer" | "basic"
HttpMethod
HTTP methods
type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE"