daemonclient

package
v2.8.2 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package daemonclient adapts the app host to the daemon's typed RPC surface. It can carry read, preview, and paired-device action requests, but capability to call a method is not authority: the daemon retains policy, preview-token, account, mode, freeze, and broker-write enforcement.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidNudgesCutoverReviewResult = errors.New("invalid nudges cutover-review result")
	ErrInvalidAlertCandidateSnapshot    = errors.New("invalid alert candidate snapshot")
)

Result-validation errors identify daemon responses rejected at the app RPC boundary without including private payload data.

Functions

This section is empty.

Types

type Client

type Client interface {
	Status(context.Context) (*rpc.HealthResult, error)
	MarketCalendar(context.Context) (*rpc.MarketCalendarResult, error)
	MarketCalendarFor(context.Context, string) (*rpc.MarketCalendarResult, error)
	Account(context.Context) (*rpc.AccountResult, error)
	Positions(context.Context) (*rpc.PositionsResult, error)
	Quote(context.Context, rpc.ContractParams) (*rpc.Quote, error)
	StreamQuote(context.Context, rpc.ContractParams, func(rpc.Frame) error) error
	MarketEvents(context.Context, rpc.MarketEventsParams) (*rpc.MarketEventsResult, error)
	Stress(context.Context) (*rpc.StressResult, error)
	StressWithRegime(context.Context) (*rpc.StressResult, *rpc.RegimeMonitorResult, error)
	Rules(context.Context) (*rpc.RulesResult, error)
	Brief(context.Context) (*rpc.BriefResult, error)
	NudgesSnapshot(context.Context) (*rpc.NudgesSnapshotResult, error)
	NudgesCutoverReview(context.Context, rpc.NudgesCutoverReviewParams) (*rpc.NudgesCutoverReviewResult, error)
	BriefAck(context.Context, rpc.BriefAckParams) (*rpc.BriefAckResult, error)
	ReconcileSignoff(context.Context, rpc.CapitalEventParams) (*rpc.RiskPolicyWriteResult, error)
	TradingStatus(context.Context) (*rpc.TradingStatus, error)
	AutoTradeStatus(context.Context) (*rpc.AutoTradeStatus, error)
	OpportunitiesStatus(context.Context) (*rpc.OpportunityStatus, error)
	OpportunitiesSnapshot(context.Context, rpc.OpportunitySnapshotParams) (*rpc.OpportunitySnapshot, error)
	OpportunitiesRefresh(context.Context, rpc.OpportunityRefreshParams) (*rpc.OpportunitySnapshot, error)
	OpportunitiesPreviewExercise(context.Context, rpc.OpportunityExercisePreviewParams) (*rpc.OpportunityExercisePreviewResult, error)
	OpportunitiesSubmitExercise(context.Context, rpc.OpportunityExerciseSubmitParams) (*rpc.OpportunityExerciseSubmitResult, error)
	OpportunitiesIgnore(context.Context, rpc.OpportunityIgnoreParams) (*rpc.OpportunityIgnoreResult, error)
	TradeProposalsSnapshot(context.Context, rpc.TradeProposalSnapshotParams) (*rpc.TradeProposalSnapshot, error)
	TradeProposalsRefresh(context.Context, rpc.TradeProposalRefreshParams) (*rpc.TradeProposalSnapshot, error)
	TradeProposalsPreview(context.Context, rpc.TradeProposalPreviewParams) (*rpc.TradeProposalPreviewResult, error)
	TradeProposalsSubmit(context.Context, rpc.TradeProposalSubmitParams) (*rpc.TradeProposalSubmitResult, error)
	TradeProposalsReducePreview(context.Context, rpc.TradeProposalReduceParams) (*rpc.TradeProposalReduceResult, error)
	TradeProposalsReduceSubmit(context.Context, rpc.TradeProposalReduceParams) (*rpc.TradeProposalReduceResult, error)
	TradeProposalsReducePortfolioPreview(context.Context, rpc.TradeProposalReducePortfolioParams) (*rpc.TradeProposalReducePortfolioResult, error)
	TradeProposalsReducePortfolioSubmit(context.Context, rpc.TradeProposalReducePortfolioParams) (*rpc.TradeProposalReducePortfolioResult, error)
	TradeProposalsIgnore(context.Context, rpc.TradeProposalIgnoreParams) (*rpc.TradeProposalIgnoreResult, error)
	Settings(context.Context) (*rpc.PlatformSettings, error)
	UpdateSettings(context.Context, json.RawMessage) (*rpc.PlatformSettings, error)
	OrderPreview(context.Context, rpc.OrderPreviewParams) (*rpc.OrderPreviewResult, error)
	OrderPlace(context.Context, rpc.OrderPlaceParams) (*rpc.OrderPlaceResult, error)
	OrderModify(context.Context, rpc.OrderModifyParams) (*rpc.OrderModifyResult, error)
	OrderCancel(context.Context, rpc.OrderCancelParams) (*rpc.OrderCancelResult, error)
	OrdersOpen(context.Context, rpc.OrdersOpenParams) (*rpc.OrdersOpenResult, error)
	OrderStatus(context.Context, rpc.OrderStatusParams) (*rpc.OrderStatusResult, error)
	PurgeStatus(context.Context, rpc.PurgeStatusParams) (*rpc.PurgeStatusResult, error)
	PurgeExecute(context.Context, rpc.PurgeExecuteParams) (*rpc.PurgeExecuteResult, error)
	PurgeRestorePreview(context.Context, rpc.PurgeRestoreParams) (*rpc.PurgeRestoreResult, error)
	PurgeRestoreExecute(context.Context, rpc.PurgeRestoreParams) (*rpc.PurgeRestoreResult, error)
}

Client is the app host's typed daemon capability surface. Implementations transport requests only; callers and the daemon retain their respective authentication, confirmation, policy, and broker-write gates.

type Real

type Real struct {
	SocketPath string
	AutoSpawn  bool
}

Real opens a short-lived daemon connection for each typed call and can optionally autospawn the daemon when its socket is absent.

func (Real) Account

func (c Real) Account(ctx context.Context) (*rpc.AccountResult, error)

Account returns the daemon's typed account-summary result.

func (Real) AlertCandidates

func (c Real) AlertCandidates(ctx context.Context) (*rpc.AlertCandidateSnapshot, error)

AlertCandidates is an optional capability rather than part of Client so app adapters compiled against older daemon surfaces continue to work. The live service discovers it explicitly and keeps failures fail-closed.

func (Real) AutoTradeStatus

func (c Real) AutoTradeStatus(ctx context.Context) (*rpc.AutoTradeStatus, error)

AutoTradeStatus returns the daemon-owned automation readiness surface.

func (Real) Brief

func (c Real) Brief(ctx context.Context) (*rpc.BriefResult, error)

Brief returns the daemon-authored trading brief snapshot.

func (Real) BriefAck

func (c Real) BriefAck(ctx context.Context, params rpc.BriefAckParams) (*rpc.BriefAckResult, error)

BriefAck forwards a paired-app acknowledgement to the daemon.

func (Real) MarketCalendar

func (c Real) MarketCalendar(ctx context.Context) (*rpc.MarketCalendarResult, error)

MarketCalendar returns the default US market calendar window.

func (Real) MarketCalendarFor

func (c Real) MarketCalendarFor(ctx context.Context, market string) (*rpc.MarketCalendarResult, error)

MarketCalendarFor returns a three-day daemon calendar window for market.

func (Real) MarketEvents

func (c Real) MarketEvents(ctx context.Context, params rpc.MarketEventsParams) (*rpc.MarketEventsResult, error)

MarketEvents returns the daemon-classified market-event snapshot.

func (Real) NudgesCutoverReview

func (c Real) NudgesCutoverReview(ctx context.Context, params rpc.NudgesCutoverReviewParams) (*rpc.NudgesCutoverReviewResult, error)

NudgesCutoverReview forwards a typed cutover-review request and validates that the result remains JSON-encodable at the app boundary.

func (Real) NudgesSnapshot

func (c Real) NudgesSnapshot(ctx context.Context) (*rpc.NudgesSnapshotResult, error)

NudgesSnapshot returns the daemon-authored governance candidates and source health without granting app-side evaluation authority.

func (Real) OpportunitiesIgnore

func (c Real) OpportunitiesIgnore(ctx context.Context, params rpc.OpportunityIgnoreParams) (*rpc.OpportunityIgnoreResult, error)

OpportunitiesIgnore asks the daemon to apply an opportunity-ignore action.

func (Real) OpportunitiesPreviewExercise

func (c Real) OpportunitiesPreviewExercise(ctx context.Context, params rpc.OpportunityExercisePreviewParams) (*rpc.OpportunityExercisePreviewResult, error)

OpportunitiesPreviewExercise requests the daemon's guarded exercise preview.

func (Real) OpportunitiesRefresh

func (c Real) OpportunitiesRefresh(ctx context.Context, params rpc.OpportunityRefreshParams) (*rpc.OpportunitySnapshot, error)

OpportunitiesRefresh asks the daemon to refresh its opportunity snapshot.

func (Real) OpportunitiesSnapshot

func (c Real) OpportunitiesSnapshot(ctx context.Context, params rpc.OpportunitySnapshotParams) (*rpc.OpportunitySnapshot, error)

OpportunitiesSnapshot returns the daemon-authored opportunity snapshot.

func (Real) OpportunitiesStatus

func (c Real) OpportunitiesStatus(ctx context.Context) (*rpc.OpportunityStatus, error)

OpportunitiesStatus returns the daemon-owned opportunity-engine status.

func (Real) OpportunitiesSubmitExercise

func (c Real) OpportunitiesSubmitExercise(ctx context.Context, params rpc.OpportunityExerciseSubmitParams) (*rpc.OpportunityExerciseSubmitResult, error)

OpportunitiesSubmitExercise transports a paired-device submit request; the daemon still enforces preview, eligibility, account, mode, and write policy.

func (Real) OrderCancel

func (c Real) OrderCancel(ctx context.Context, params rpc.OrderCancelParams) (*rpc.OrderCancelResult, error)

OrderCancel transports a paired-device cancellation request; cancellation policy and broker authority remain daemon-owned.

func (Real) OrderModify

func (c Real) OrderModify(ctx context.Context, params rpc.OrderModifyParams) (*rpc.OrderModifyResult, error)

OrderModify transports a paired-device modification request; the daemon retains preview-token and broker-write authority.

func (Real) OrderPlace

func (c Real) OrderPlace(ctx context.Context, params rpc.OrderPlaceParams) (*rpc.OrderPlaceResult, error)

OrderPlace transports a paired-device place request; the daemon retains all preview-token, account, mode, freeze, eligibility, and journaling gates.

func (Real) OrderPreview

func (c Real) OrderPreview(ctx context.Context, params rpc.OrderPreviewParams) (*rpc.OrderPreviewResult, error)

OrderPreview requests the daemon's broker WhatIf and policy-gated preview.

func (Real) OrderStatus

func (c Real) OrderStatus(ctx context.Context, params rpc.OrderStatusParams) (*rpc.OrderStatusResult, error)

OrderStatus returns the daemon's status for one locally journaled order.

func (Real) OrdersOpen

func (c Real) OrdersOpen(ctx context.Context, params rpc.OrdersOpenParams) (*rpc.OrdersOpenResult, error)

OrdersOpen returns the daemon's open-order journal view.

func (Real) Positions

func (c Real) Positions(ctx context.Context) (*rpc.PositionsResult, error)

Positions returns the daemon's current typed positions view.

func (Real) PurgeExecute

func (c Real) PurgeExecute(ctx context.Context, params rpc.PurgeExecuteParams) (*rpc.PurgeExecuteResult, error)

PurgeExecute transports a paired-device purge request; the daemon retains target validation, confirmation, policy, and execution authority.

func (Real) PurgeRestoreExecute

func (c Real) PurgeRestoreExecute(ctx context.Context, params rpc.PurgeRestoreParams) (*rpc.PurgeRestoreResult, error)

PurgeRestoreExecute transports a paired-device restore request; execution authority and safety checks remain daemon-owned.

func (Real) PurgeRestorePreview

func (c Real) PurgeRestorePreview(ctx context.Context, params rpc.PurgeRestoreParams) (*rpc.PurgeRestoreResult, error)

PurgeRestorePreview requests the daemon's restore preview without executing the restore.

func (Real) PurgeStatus

func (c Real) PurgeStatus(ctx context.Context, params rpc.PurgeStatusParams) (*rpc.PurgeStatusResult, error)

PurgeStatus returns the daemon-owned purge state projection.

func (Real) Quote

func (c Real) Quote(ctx context.Context, contract rpc.ContractParams) (*rpc.Quote, error)

Quote requests a bounded daemon snapshot for contract.

func (Real) ReconcileCheck

func (c Real) ReconcileCheck(ctx context.Context) (*rpc.ReconCheckResult, error)

ReconcileCheck requests a daemon reconciliation check and validates the typed result.

func (Real) ReconcileSignoff

func (c Real) ReconcileSignoff(ctx context.Context, params rpc.CapitalEventParams) (*rpc.RiskPolicyWriteResult, error)

ReconcileSignoff records a typed reconciliation capital event through the daemon; it forces the event type to reconcile.

func (Real) ReconcileStatus

func (c Real) ReconcileStatus(ctx context.Context) (*rpc.ReconStatusResult, error)

ReconcileStatus returns and validates the daemon's reconciliation automation status.

func (Real) Rules

func (c Real) Rules(ctx context.Context) (*rpc.RulesResult, error)

Rules returns the daemon-authored rulebook snapshot.

func (Real) Settings

func (c Real) Settings(ctx context.Context) (*rpc.PlatformSettings, error)

Settings returns the daemon-owned platform settings snapshot.

func (Real) Status

func (c Real) Status(ctx context.Context) (*rpc.HealthResult, error)

Status returns the daemon health snapshot.

func (Real) StreamQuote

func (c Real) StreamQuote(ctx context.Context, contract rpc.ContractParams, onFrame func(rpc.Frame) error) error

StreamQuote forwards decoded quote frames until ctx, the daemon stream, or onFrame terminates. A nil onFrame consumes frames without a callback.

func (Real) Stress

func (c Real) Stress(ctx context.Context) (*rpc.StressResult, error)

Stress fetches the daemon-authored portfolio-stress result over one connection.

func (Real) StressWithRegime

func (c Real) StressWithRegime(ctx context.Context) (*rpc.StressResult, *rpc.RegimeMonitorResult, error)

StressWithRegime fetches one coordinated stress/regime snapshot and compacts the regime result for app consumption.

func (Real) TradeProposalsIgnore

func (c Real) TradeProposalsIgnore(ctx context.Context, params rpc.TradeProposalIgnoreParams) (*rpc.TradeProposalIgnoreResult, error)

TradeProposalsIgnore asks the daemon to apply a proposal-ignore action.

func (Real) TradeProposalsPreview

func (c Real) TradeProposalsPreview(ctx context.Context, params rpc.TradeProposalPreviewParams) (*rpc.TradeProposalPreviewResult, error)

TradeProposalsPreview requests the daemon's guarded proposal preview.

func (Real) TradeProposalsReducePortfolioPreview

func (c Real) TradeProposalsReducePortfolioPreview(ctx context.Context, params rpc.TradeProposalReducePortfolioParams) (*rpc.TradeProposalReducePortfolioResult, error)

TradeProposalsReducePortfolioPreview requests the daemon's guarded portfolio reduction preview.

func (Real) TradeProposalsReducePortfolioSubmit

func (c Real) TradeProposalsReducePortfolioSubmit(ctx context.Context, params rpc.TradeProposalReducePortfolioParams) (*rpc.TradeProposalReducePortfolioResult, error)

TradeProposalsReducePortfolioSubmit transports a paired-device portfolio reduction request; daemon broker-write gates remain binding.

func (Real) TradeProposalsReducePreview

func (c Real) TradeProposalsReducePreview(ctx context.Context, params rpc.TradeProposalReduceParams) (*rpc.TradeProposalReduceResult, error)

TradeProposalsReducePreview requests the daemon's guarded single-proposal reduction preview.

func (Real) TradeProposalsReduceSubmit

func (c Real) TradeProposalsReduceSubmit(ctx context.Context, params rpc.TradeProposalReduceParams) (*rpc.TradeProposalReduceResult, error)

TradeProposalsReduceSubmit transports a paired-device reduction request; daemon broker-write gates remain binding.

func (Real) TradeProposalsRefresh

func (c Real) TradeProposalsRefresh(ctx context.Context, params rpc.TradeProposalRefreshParams) (*rpc.TradeProposalSnapshot, error)

TradeProposalsRefresh asks the daemon to refresh its proposal snapshot.

func (Real) TradeProposalsSnapshot

func (c Real) TradeProposalsSnapshot(ctx context.Context, params rpc.TradeProposalSnapshotParams) (*rpc.TradeProposalSnapshot, error)

TradeProposalsSnapshot returns the daemon-authored proposal snapshot.

func (Real) TradeProposalsSubmit

func (c Real) TradeProposalsSubmit(ctx context.Context, params rpc.TradeProposalSubmitParams) (*rpc.TradeProposalSubmitResult, error)

TradeProposalsSubmit transports a paired-device submit request; all broker authorization and preview-token checks remain daemon-owned.

func (Real) TradingStatus

func (c Real) TradingStatus(ctx context.Context) (*rpc.TradingStatus, error)

TradingStatus returns the daemon's current broker-write readiness surface.

func (Real) UpdateSettings

func (c Real) UpdateSettings(ctx context.Context, patch json.RawMessage) (*rpc.PlatformSettings, error)

UpdateSettings transports an opaque JSON merge patch to the daemon's typed settings handler; this adapter does not reinterpret or authorize fields.

type ReconciliationClient

type ReconciliationClient interface {
	ReconcileStatus(context.Context) (*rpc.ReconStatusResult, error)
	ReconcileCheck(context.Context) (*rpc.ReconCheckResult, error)
}

ReconciliationClient is an optional paired-app capability. Keeping it separate from Client lets older adapters remain read-compatible while the HTTP layer fails closed when the daemon does not support the new surface.

Jump to

Keyboard shortcuts

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