internal/

directory
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2026 License: MIT

Directories

Path Synopsis
Package acp implements the Agent Client Protocol (https://agentclientprotocol.com) transport: a stdio JSON-RPC 2.0 agent that editors and other host clients speak to drive fairpeer.
Package acp implements the Agent Client Protocol (https://agentclientprotocol.com) transport: a stdio JSON-RPC 2.0 agent that editors and other host clients speak to drive fairpeer.
argsdelta.go — upgrade spec 3-3: live tool-argument previews.
argsdelta.go — upgrade spec 3-3: live tool-argument previews.
testutil
Package testutil provides reusable test helpers for the agent package.
Package testutil provides reusable test helpers for the agent package.
Package apihelper provides a small set of shared HTTP helpers reused by the scheduler LLM time-parser, the RAG ask path, and the RAG extractor.
Package apihelper provides a small set of shared HTTP helpers reused by the scheduler LLM time-parser, the RAG ask path, and the RAG extractor.
Package assets embeds the built-in, cross-platform skill payloads that fairpeer ships with its binary.
Package assets embeds the built-in, cross-platform skill payloads that fairpeer ships with its binary.
Package boot assembles a ready-to-drive control.Controller from configuration: it loads config, resolves the model(s), builds the tool registry (built-ins + plugins), wires the permission gate, and constructs the executor.
Package boot assembles a ready-to-drive control.Controller from configuration: it loads config, resolves the model(s), builds the tool registry (built-ins + plugins), wires the permission gate, and constructs the executor.
bot
Package bot 实现 fairpeer 多渠道 IM bot 消息网关,支持 QQ、飞书、微信、Telegram。
Package bot 实现 fairpeer 多渠道 IM bot 消息网关,支持 QQ、飞书、微信、Telegram。
feishu
Package feishu 实现飞书自建应用 Bot 适配器。
Package feishu 实现飞书自建应用 Bot 适配器。
qq
Package qq 实现 QQ 官方 Bot API v2 适配器。
Package qq 实现 QQ 官方 Bot API v2 适配器。
telegram
Package telegram 实现 Telegram Bot API 适配器。
Package telegram 实现 Telegram Bot API 适配器。
weixin
Package weixin 实现微信 iLink Bot 适配器。
Package weixin 实现微信 iLink Bot 适配器。
Package browserlaunch launches a system-installed Chromium-based browser (Chrome / Edge / Brave / Chromium) with a CDP remote-debugging endpoint and exposes the resulting websocket URL so a driver — the Python browser-use sidecar, or chromedp elsewhere — can attach to the very same browser instead of each driver spawning its own.
Package browserlaunch launches a system-installed Chromium-based browser (Chrome / Edge / Brave / Chromium) with a CDP remote-debugging endpoint and exposes the resulting websocket URL so a driver — the Python browser-use sidecar, or chromedp elsewhere — can attach to the very same browser instead of each driver spawning its own.
Package browseruse is the Go client for the Python browser-use sidecar (browseruse_server.py).
Package browseruse is the Go client for the Python browser-use sidecar (browseruse_server.py).
Package calendar provides a local SQLite-backed calendar for FairPeer.
Package calendar provides a local SQLite-backed calendar for FairPeer.
Package checkpoint is fairpeer's snapshot-based edit safety net.
Package checkpoint is fairpeer's snapshot-based edit safety net.
Package cli implements fairpeer's command-line entry: subcommand routing, flag parsing, assembly from config, and exit codes.
Package cli implements fairpeer's command-line entry: subcommand routing, flag parsing, assembly from config, and exit codes.
Package codegraph integrates the CodeGraph code-intelligence engine (https://github.com/colbymchenry/codegraph) as a built-in MCP server.
Package codegraph integrates the CodeGraph code-intelligence engine (https://github.com/colbymchenry/codegraph) as a built-in MCP server.
Package command loads custom slash commands from Markdown files.
Package command loads custom slash commands from Markdown files.
Package compose implements fairpeer's structured development workflow: after a plan is approved, a multi-task feature runs through Implement → Verify → (Review) with bounded retries, instead of a single execution turn that never validates the result.
Package compose implements fairpeer's structured development workflow: after a plan is approved, a multi-task feature runs through Implement → Verify → (Review) with bounded retries, instead of a single execution turn that never validates the result.
Package config loads fairpeer's runtime configuration from TOML.
Package config loads fairpeer's runtime configuration from TOML.
Package control is the transport-agnostic session driver.
Package control is the transport-agnostic session driver.
Package diff computes a line-level diff between two versions of a file and renders it as a unified diff, with added/removed line counts.
Package diff computes a line-level diff between two versions of a file and renders it as a unified diff, with added/removed line counts.
Package docconv centralizes the external Python-script document-conversion helpers (markitdown via doc_converter.py, and PDF OCR via ocr_pdf.py) that were previously duplicated across three packages (rag, tool/builtin, control).
Package docconv centralizes the external Python-script document-conversion helpers (markitdown via doc_converter.py, and PDF OCR via ocr_pdf.py) that were previously duplicated across three packages (rag, tool/builtin, control).
Package doctor collects local, redacted diagnostics for issue reports.
Package doctor collects local, redacted diagnostics for issue reports.
Package event defines the typed event stream the agent emits as it runs a turn, and the Sink it emits to.
Package event defines the typed event stream the agent emits as it runs a turn, and the Sink it emits to.
Package eventwire is the shared JSON codec for event.Event streams that cross a process boundary: the remote host serializes typed controller events into the wire form, and the desktop deserializes them back so its tab sink sees the same stream a local controller would emit.
Package eventwire is the shared JSON codec for event.Event streams that cross a process boundary: the remote host serializes typed controller events into the wire form, and the desktop deserializes them back so its tab sink sees the same stream a local controller would emit.
encoding
Package encoding detects and converts file encodings for the built-in file tools.
Package encoding detects and converts file encodings for the built-in file tools.
Package frontmatter provides a minimal, dependency-free parser for the ---fenced "key: value" blocks that prefix skill, command, and memory files.
Package frontmatter provides a minimal, dependency-free parser for the ---fenced "key: value" blocks that prefix skill, command, and memory files.
Package hook runs user-configured shell-command hooks around the agent loop: PreToolUse / PostToolUse fire around each tool call, UserPromptSubmit before a turn, Stop after it.
Package hook runs user-configured shell-command hooks around the agent loop: PreToolUse / PostToolUse fire around each tool call, UserPromptSubmit before a turn, Stop after it.
Package i18n holds the CLI's translatable strings and a small detection helper.
Package i18n holds the CLI's translatable strings and a small detection helper.
Package installsource implements the `install_source` tool: a two-phase installer for fairpeer skills and MCP servers.
Package installsource implements the `install_source` tool: a two-phase installer for fairpeer skills and MCP servers.
Package jobs is the session-scoped background-job registry behind the agent's background tools (bash run_in_background, task run_in_background) and the bash_output / kill_shell / wait tools.
Package jobs is the session-scoped background-job registry behind the agent's background tools (bash run_in_background, task run_in_background) and the bash_output / kill_shell / wait tools.
Package linkpeersignal implements the cloud signaling server (K) for the linkpeer × fairpeer mobile bridge.
Package linkpeersignal implements the cloud signaling server (K) for the linkpeer × fairpeer mobile bridge.
Package lsp is a minimal Language Server Protocol client: it spawns a language server per language on demand, syncs queried documents from disk, and adapts a few read-only capabilities (definition, references, hover, diagnostics) to the tool.Tool interface.
Package lsp is a minimal Language Server Protocol client: it spawns a language server per language on demand, syncs queried documents from disk, and adapts a few read-only capabilities (definition, references, hover, diagnostics) to the tool.Tool interface.
Package mcpregistry provides the explicit browse/install path for the official Model Context Protocol Registry.
Package mcpregistry provides the explicit browse/install path for the official Model Context Protocol Registry.
Package memory implements fairpeer's persistent memory.
Package memory implements fairpeer's persistent memory.
Package mobilebridge bridges fairpeer's desktop Controller to linkpeer mobile clients over an end-to-end-encrypted WebRTC P2P link.
Package mobilebridge bridges fairpeer's desktop Controller to linkpeer mobile clients over an end-to-end-encrypted WebRTC P2P link.
proto
Package proto holds the wire-format message types shared between fairpeer desktop (S), linkpeer-signal cloud (K), and linkpeer mobile (C).
Package proto holds the wire-format message types shared between fairpeer desktop (S), linkpeer-signal cloud (K), and linkpeer mobile (C).
Package netclient builds HTTP clients and proxy resolvers that share fairpeer's user-facing proxy settings.
Package netclient builds HTTP clients and proxy resolvers that share fairpeer's user-facing proxy settings.
Package netdev is the network-device operations capability (NETDEV_SPEC): connection transport (internal/netdev/transport), device inventory, and the credential plumbing.
Package netdev is the network-device operations capability (NETDEV_SPEC): connection transport (internal/netdev/transport), device inventory, and the credential plumbing.
driver
Package driver holds the per-vendor network-device CLI knowledge: how to classify a command (the structural read-only seal), how to disable paging, what the prompt looks like, and what error output looks like.
Package driver holds the per-vendor network-device CLI knowledge: how to classify a command (the structural read-only seal), how to disable paging, what the prompt looks like, and what error output looks like.
transport
Package transport is the netdev SSH connection layer: host resolution (configured entries + ~/.ssh/config layering), authentication, host-key verification (system known_hosts read-only + a netdev-managed TOFU file), and a supervised connection with keepalive and exponential-backoff reconnect.
Package transport is the netdev SSH connection layer: host resolution (configured entries + ~/.ssh/config layering), authentication, host-key verification (system known_hosts read-only + a netdev-managed TOFU file), and a supervised connection with keepalive and exponential-backoff reconnect.
Package outputstyle adds a selectable "output style" — a block of persona / tone instructions appended to (or replacing) the system prompt — so the user can shift how the agent communicates without rewriting the system prompt.
Package outputstyle adds a selectable "output style" — a block of persona / tone instructions appended to (or replacing) the system prompt — so the user can shift how the agent communicates without rewriting the system prompt.
Package permission decides, per tool call, whether to allow it, deny it, or ask the user first.
Package permission decides, per tool call, whether to allow it, deny it, or ask the user first.
Package-internal cache for MCP handshake results.
Package-internal cache for MCP handshake results.
Package ppttemplate provides PPT template rendering utilities.
Package ppttemplate provides PPT template rendering utilities.
Package present records the presentation event stream — the rich, view-only view of a turn (tool dispatches with readOnly/profile/parentId, tool progress chunks, results with durationMs/truncated/attachments, notice/phase/compaction cards, expert-collab cards) — so a frontend can rebuild the exact transcript a user saw even after a tab switch, reload, or crash.
Package present records the presentation event stream — the rich, view-only view of a turn (tool dispatches with readOnly/profile/parentId, tool progress chunks, results with durationMs/truncated/attachments, notice/phase/compaction cards, expert-collab cards) — so a frontend can rebuild the exact transcript a user saw even after a tab switch, reload, or crash.
Package provider defines the model-backend abstraction and a registry mapping a provider "kind" to a factory.
Package provider defines the model-backend abstraction and a registry mapping a provider "kind" to a factory.
anthropic
Package anthropic implements the Anthropic Messages API provider (POST /v1/messages, SSE streaming) with a hand-written net/http client — no SDK.
Package anthropic implements the Anthropic Messages API provider (POST /v1/messages, SSE streaming) with a hand-written net/http client — no SDK.
openai
Package openai implements the OpenAI-compatible /chat/completions provider.
Package openai implements the OpenAI-compatible /chat/completions provider.
Package rag implements a knowledge-base store for the coWork profile: import documents, chunk them, and search them.
Package rag implements a knowledge-base store for the coWork profile: import documents, chunk them, and search them.
Package remotehost is the fairpeer remote-workspace host: a headless process (spawned inside WSL, a container, or over SSH) that owns the real controllers for remote workspaces and exposes them to the desktop over a stdio NDJSON JSON-RPC connection.
Package remotehost is the fairpeer remote-workspace host: a headless process (spawned inside WSL, a container, or over SSH) that owns the real controllers for remote workspaces and exposes them to the desktop over a stdio NDJSON JSON-RPC connection.
Package sandbox wraps a shell command in an OS-level jail so the model's `bash` calls are confined: it may read freely but write only inside the workspace (plus temp and toolchain caches) and reach the network only when allowed.
Package sandbox wraps a shell command in an OS-level jail so the model's `bash` calls are confined: it may read freely but write only inside the workspace (plus temp and toolchain caches) and reach the network only when allowed.
Package scheduler is a persistent, session-independent task scheduler for the coWork profile.
Package scheduler is a persistent, session-independent task scheduler for the coWork profile.
Package serve exposes a control.Controller over HTTP: the typed event stream as Server-Sent Events, and the commands as small JSON POST endpoints.
Package serve exposes a control.Controller over HTTP: the typed event stream as Server-Sent Events, and the commands as small JSON POST endpoints.
Package skill loads invokable playbooks ("skills") from Markdown files.
Package skill loads invokable playbooks ("skills") from Markdown files.
Package sysproxy resolves the OS-level proxy (Windows system/PAC settings) for a target URL.
Package sysproxy resolves the OS-level proxy (Windows system/PAC settings) for a target URL.
Package tool defines the Tool abstraction and a Registry.
Package tool defines the Tool abstraction and a Registry.
builtin
browserconsole_axcss.go — CSS computation for AX-listed elements.
browserconsole_axcss.go — CSS computation for AX-listed elements.
Package trustdomain implements the private-network trust domain ledger defined by docs/TRUSTDOMAIN_SPEC.md: a permissioned, quorum-signed replicated log carrying member admissions, revocations, capability tokens, audit anchors and self-attestations.
Package trustdomain implements the private-network trust domain ledger defined by docs/TRUSTDOMAIN_SPEC.md: a permissioned, quorum-signed replicated log carrying member admissions, revocations, capability tokens, audit anchors and self-attestations.
nettrans
Package nettrans implements the trust domain Peer transport over TCP with mutual authentication: both sides sign ephemeral X25519 keys with their long-term Ed25519 domain identity, and each side resolves the other's static key from its OWN copy of the ledger — the chain's member registry IS the trust store (spec §四/§5.1).
Package nettrans implements the trust domain Peer transport over TCP with mutual authentication: both sides sign ephemeral X25519 keys with their long-term Ed25519 domain identity, and each side resolves the other's static key from its OWN copy of the ledger — the chain's member registry IS the trust store (spec §四/§5.1).
Package validation provides pre-write syntax validation for the editor tools (write_file/edit_file/multi_edit).
Package validation provides pre-write syntax validation for the editor tools (write_file/edit_file/multi_edit).

Jump to

Keyboard shortcuts

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