desktop

package
v0.57.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package desktop holds code that exists purely for the Hive desktop app. Subpackages implement the desktop's service backends and pipeline support; the desktop/ main package is thin Wails wiring over them. Anything reusable beyond the desktop (the GitHub client, session/core logic) does not belong here.

Index

Constants

View Source
const EnvActionsPath = "HIVE_DESKTOP_ACTIONS"

EnvActionsPath overrides the actions.yml file location, mirroring how EnvFlowsDir overrides the flows directory.

View Source
const EnvConfigPath = "HIVE_DESKTOP_CONFIG"

EnvConfigPath overrides the legacy profiles config path. New desktop configuration derives its default directory from this path so existing HIVE_DESKTOP_CONFIG setups keep flows/ and actions.yml in the same config root.

View Source
const EnvFlowsDir = "HIVE_DESKTOP_FLOWS"

EnvFlowsDir overrides the flows/*.yaml directory location, mirroring how EnvConfigPath anchors the default desktop config directory.

View Source
const EnvMockMode = "HIVE_DESKTOP_MOCK"

EnvMockMode selects deterministic offline backends instead of live GitHub: "feed" starts authenticated with fixture data (the e2e default), "pipeline" starts authenticated with the isolated source-to-commit smoke fixture, and "onboarding" starts signed out with a self-granting fake device flow.

Variables

This section is empty.

Functions

func ActionsPath

func ActionsPath() string

ActionsPath is the actions.yml file location: launch-session/shell/ publish-event action definitions consumed by the desktop pipeline's output worker and detail-pane action picker (see internal/desktop/pipeline/actions). The design doc calls this ".hive/actions.yml" (repo-scoped), but the desktop app's config is global rather than repo-scoped — there is no single repo it belongs to — so it lives in the desktop config root instead. EnvActionsPath overrides the derived location outright, mirroring EnvFlowsDir/EnvConfigPath.

func ConfigPath

func ConfigPath() string

ConfigPath is the legacy profiles config file path. The flow-backed desktop no longer reads this file directly, but FlowsDir and ActionsPath still derive their default config root from its directory for compatibility with existing HIVE_DESKTOP_CONFIG overrides. It follows the CLI's config convention: XDG_CONFIG_HOME, then ~/.config, with a desktop/ subdirectory.

func FlowsDir

func FlowsDir() string

FlowsDir is where the desktop pipeline's flow definitions (flows/<id>.yaml, plus each flow's sibling flows/<id>.ui.yaml layout) live: a user-editable, dotfiles-managed "flows" directory under the desktop config root. It follows the same override convention as ConfigPath: EnvFlowsDir wins outright over the derived location.

func MockMode

func MockMode() string

MockMode returns the requested mock mode, or "" for live backends.

func StateDir

func StateDir() string

StateDir is where the desktop app persists its app-local state (read-state). It follows the CLI's data-dir convention: HIVE_DATA_DIR, then XDG_DATA_HOME, then ~/.local/share — with a desktop/ subdirectory keeping app state apart from CLI state.

Types

This section is empty.

Directories

Path Synopsis
Package auth implements GitHub authentication for the Hive desktop app: the Wails auth service, its live (device flow + PAT) and mock backends, and the wire types the onboarding UI consumes.
Package auth implements GitHub authentication for the Hive desktop app: the Wails auth service, its live (device flow + PAT) and mock backends, and the wire types the onboarding UI consumes.
Package feed is the desktop's GitHub fetch layer: the wire Item type and a cached, coalesced LiveProvider the pipeline producer uses to turn a source into event_log rows.
Package feed is the desktop's GitHub fetch layer: the wire Item type and a cached, coalesced LiveProvider the pipeline producer uses to turn a source into event_log rows.
Package pipeline is the desktop pipeline's producer side: the Source seam that turns a configured data source into event_log rows, and the Producer that drives it on a poll tick.
Package pipeline is the desktop pipeline's producer side: the Source seam that turns a configured data source into event_log rows, and the Producer that drives it on a poll tick.
actions
Package actions implements the desktop pipeline's actions.yml schema: the output/action layer a flow's terminal `action` node targets (see internal/desktop/pipeline/flow's ActionConfig) and the source for the desktop detail pane's action buttons.
Package actions implements the desktop pipeline's actions.yml schema: the output/action layer a flow's terminal `action` node targets (see internal/desktop/pipeline/flow's ActionConfig) and the source for the desktop detail pane's action buttons.
flow
Package flow implements the flows/*.yaml config schema for the desktop pipeline's Node-RED-style graph: a strict decoder, a per-node-type registry, cross-file reference validation, and directory loaders.
Package flow implements the flows/*.yaml config schema for the desktop pipeline's Node-RED-style graph: a strict decoder, a per-node-type registry, cross-file reference validation, and directory loaders.
pipelinedb
Package pipelinedb is the dedicated desktop-pipeline SQLite store: the event log (event_log/consumer_offset), persisted pipeline outputs (feed_item/output_command), and per-node run metrics (node_run).
Package pipelinedb is the dedicated desktop-pipeline SQLite store: the event log (event_log/consumer_offset), persisted pipeline outputs (feed_item/output_command), and per-node run metrics (node_run).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL