App Framework

Types

Types

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"

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"

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"
Previous
Interfaces