Search packages, repositories and app categories

GitHub repositoryIstiN/fa_hub_client

fa_hub_client

DAP/1 hub client for flutter_agent_harness: MessagingRepository over a signed WebSocket, FahPlugin wiring delivery via Agent.externalSteeringSource.

fa_hub_client project cover
Stars
0
Forks
0
Last push (UTC)
Sep 27, 2026
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

fa_hub_client

CI Release License: MIT pub pub points

DAP/1 hub client for flutter_agent_harness: a MessagingRepository over a signed WebSocket, delivered into the agent loop via Agent.externalSteeringSource.

Install

dart pub add fa_hub_client

or in pubspec.yaml:

dependencies:
  fa_hub_client: ^0.2.0

Usage

import 'package:fa_hub_client/fa_hub_client.dart';

final plugin = HubPlugin();
plugin.register(context); // reads context.config['hub']
await plugin.start();     // loads identity, connects, starts inbox delivery
agent.externalSteeringSource = plugin.externalSteeringSource;

// later
await plugin.inviteTo('peer-name');            // dap_invite
await plugin.connectTo('hub.example.com');     // dap_connect
await plugin.status();                         // dap_status snapshot
await plugin.peers();                          // dap_peers list

Configuration

Zero-config by default; resolution order is environment > ~/.dap/config.json

built-in defaults (ws://127.0.0.1:8787/ws, identity ~/.dap/keys/fah/<name>.key, channels ~/.dap/channels.json).

Env var Purpose
DAP_HUB_URL Hub WebSocket URL
DAP_AGENT_NAME Display name / identity
DAP_KEY_PATH Signing key file
DAP_CHANNELS_FILE Channel store location
DAP_CONFIG_FILE Config file location (default ~/.dap/config.json)
DAP_MASTER_SECRET Hub master secret — first-connect enrollment
DAP_CLIENT_SECRET Hub-issued client secret (or enrolled once via master; also clientSecret in config)

First connect to a new hub needs DAP_MASTER_SECRET set (enrolls once, then the issued client secret is stored in ~/.dap/config.json).

Protocol

DAP protocol documentation lives in the dap repo.

Uladzimir Klyshevich GitHub avatar
GitHub author

Uladzimir Klyshevich ↗

LanguagesDartShell

Packages published by this repository

Dependencies used

Dependency list 3 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗