Documentation
¶
Overview ¶
Code generated by Candacegen (csf/compiler/api_codegen). DO NOT EDIT.
Code generated by Candacegen from the pinned OpenSearch SDK using ifacemaker; DO NOT EDIT.
Package csf composes the brain-spine harness's capabilities and their generated HTTP/MCP operations in one Go process. The low-level spine controller is external and ROS-side: CSF reaches it only through the ipc/ros capability and interprets no controller program itself. It makes no hard-real-time or physical-safety guarantee.
Index ¶
- Constants
- Variables
- func CLIOperations() []string
- func CheckSourceSnapshot(ctx context.Context, request CheckRequest) (*pb.CommandReceipt, error)
- func ImportantSourcePaths() []string
- func PrepareAgentAssignment(recipe *pb.AgentAssignmentRecipe) (*pb.AgentAssignmentPlan, error)
- func SubmitAgentAssignment(ctx context.Context, brain IAgentAssignmentBrain, endpoint string, ...) (*pb.AgentAssignmentReceipt, error)
- type AcknowledgeAgentInboxInput
- type AcknowledgeAgentInboxOutput
- type AgentEnvelopeView
- type AgentMCPAuthenticator
- type AgentRegistrationView
- type AgentWorkbenchRequests
- type Artifacts
- type Change
- type CheckRequest
- type Client
- func (client *Client) CallOperation(ctx context.Context, operation string, input []byte) ([]byte, error)
- func (client *Client) CancelAgentSession(ctx context.Context, request *contract2.CancelAgentSessionRequest) (*contract2.CancelAgentSessionResponse, error)
- func (client *Client) CancelSimulation(ctx context.Context, request *contract0.CancelSimulationRequest) (*contract0.CancelSimulationResponse, error)
- func (client *Client) GetAgentSession(ctx context.Context, request *contract2.GetAgentSessionRequest) (*contract2.GetAgentSessionResponse, error)
- func (client *Client) GetDocument(ctx context.Context, request *contract0.GetDocumentRequest) (*contract0.GetDocumentResponse, error)
- func (client *Client) GetGraph(ctx context.Context, request *contract0.GetGraphRequest) (*contract0.GetGraphResponse, error)
- func (client *Client) GetOwnAgentConfiguration(ctx context.Context, request *contract0.GetOwnAgentConfigurationRequest) (*contract0.GetOwnAgentConfigurationResponse, error)
- func (client *Client) GetSnapshot(ctx context.Context, request *contract0.GetSnapshotRequest) (*contract0.GetSnapshotResponse, error)
- func (client *Client) GetWorkbenchTheme(ctx context.Context, request *contract0.GetWorkbenchThemeRequest) (*contract0.GetWorkbenchThemeResponse, error)
- func (client *Client) IngestDocument(ctx context.Context, request *contract0.IngestDocumentRequest) (*contract0.IngestDocumentResponse, error)
- func (client *Client) InspectSimulation(ctx context.Context, request *contract0.InspectSimulationRequest) (*contract0.InspectSimulationResponse, error)
- func (client *Client) LearnAboutCSF(ctx context.Context, request *contract0.LearnAboutCSFRequest) (*contract0.LearnAboutCSFResponse, error)
- func (client *Client) ListAgentSessions(ctx context.Context, request *contract2.ListAgentSessionsRequest) (*contract2.ListAgentSessionsResponse, error)
- func (client *Client) ListSimulations(ctx context.Context, request *contract0.ListSimulationsRequest) (*contract0.ListSimulationsResponse, error)
- func (client *Client) PrepareAgentAssignment(ctx context.Context, request *contract0.PrepareAgentAssignmentRequest) (*contract0.PrepareAgentAssignmentResponse, error)
- func (client *Client) PutEdge(ctx context.Context, request *contract0.PutEdgeRequest) (*contract0.PutEdgeResponse, error)
- func (client *Client) PutNode(ctx context.Context, request *contract0.PutNodeRequest) (*contract0.PutNodeResponse, error)
- func (client *Client) ReadSimulationLogs(ctx context.Context, request *contract0.ReadSimulationLogsRequest) (*contract0.ReadSimulationLogsResponse, error)
- func (client *Client) RebuildSimulationTrace(ctx context.Context, request *contract0.RebuildSimulationTraceRequest) (*contract0.RebuildSimulationTraceResponse, error)
- func (client *Client) RecordSimulationEvents(ctx context.Context, request *contract0.RecordSimulationEventsRequest) (*contract0.RecordSimulationEventsResponse, error)
- func (client *Client) ReloadWorkbenchTheme(ctx context.Context, request *contract0.ReloadWorkbenchThemeRequest) (*contract0.ReloadWorkbenchThemeResponse, error)
- func (client *Client) Search(ctx context.Context, request *contract0.SearchRequest) (*contract0.SearchResponse, error)
- func (client *Client) SendAgentSessionMessage(ctx context.Context, request *contract2.SendAgentSessionMessageRequest) (*contract2.SendAgentSessionMessageResponse, error)
- func (client *Client) SendEmail(ctx context.Context, request *contract1.SendEmailRequest) (*contract1.SendEmailResponse, error)
- func (client *Client) StopHarness(ctx context.Context, request *contract2.StopHarnessRequest) (*contract2.StopHarnessResponse, error)
- func (client *Client) SubmitAgentSession(ctx context.Context, request *contract2.SubmitAgentSessionRequest) (*contract2.SubmitAgentSessionResponse, error)
- func (client *Client) SubmitSimulation(ctx context.Context, request *contract0.SubmitSimulationRequest) (*contract0.SubmitSimulationResponse, error)
- func (client *Client) UpdateOwnAgentConfiguration(ctx context.Context, request *contract0.UpdateOwnAgentConfigurationRequest) (*contract0.UpdateOwnAgentConfigurationResponse, error)
- type CopilotHistoryReader
- type Dashboard
- type EmailProvenance
- type FarmAgent
- type FarmAgentSource
- type FarmCheck
- type FarmCheckpoint
- type FarmDashboard
- func (dashboard *FarmDashboard) ActiveConnections() int
- func (dashboard *FarmDashboard) Close(ctx context.Context) error
- func (dashboard *FarmDashboard) Observe(ctx context.Context)
- func (dashboard *FarmDashboard) Register(router gin.IRouter)
- func (dashboard *FarmDashboard) RenderFarm() ([]byte, error)
- func (dashboard *FarmDashboard) Snapshot() FarmView
- type FarmEvent
- type FarmLink
- type FarmOption
- type FarmScore
- type FarmTask
- type FarmView
- type FetchAgentInboxInput
- type FetchAgentInboxOutput
- type HumanOperation
- type IAgentAssignmentBrain
- type IAgentConfigurationStore
- type IAgentSessions
- type IDispatch
- type IEmailSender
- type IHTTPDoer
- type IKnowledgeIndex
- type IKnowledgeStore
- type IOpenSearchClient
- type ISimulationTraces
- type Inspection
- type InspectionOption
- func WithInspectionBrowserConnections(source func() int) InspectionOption
- func WithInspectionProjectionWorkers(workers *ProjectionWorkers) InspectionOption
- func WithInspectionReceipts(path string) InspectionOption
- func WithInspectionRegistry(registry *prometheus.Registry) InspectionOption
- func WithInspectionSimulations(simulations *Simulations) InspectionOption
- func WithInspectionSnapshot(snapshot func() FarmView) InspectionOption
- func WithInspectionTelemetry(source func(ctx context.Context) (api.TelemetrySnapshot, error)) InspectionOption
- type LocalSimulations
- type OnboardingConfig
- type OpenSearch
- func (search *OpenSearch) Close() error
- func (search *OpenSearch) Index(ctx context.Context, document *pb.SourceDocument, text string) error
- func (search *OpenSearch) IndexSimulationSource(ctx context.Context, index string, source *pb.SimulationTraceSource) (string, error)
- func (search *OpenSearch) Search(ctx context.Context, request *pb.SearchRequest) (*pb.SearchResult, error)
- func (search *OpenSearch) SimulationSource(ctx context.Context, index string, runID string) (*pb.SimulationLogRecord, error)
- type Option
- func WithAgentConfigurations(store IAgentConfigurationStore) Option
- func WithAgentMessaging(core *relay.Relay[*agentv1.AgentMessage]) Option
- func WithAgentSessions(sessions IAgentSessions) Option
- func WithDashboard(dashboard *Dashboard) Option
- func WithDispatch(dispatch IDispatch) Option
- func WithEmail(sender IEmailSender) Option
- func WithKnowledge(store IKnowledgeStore, index IKnowledgeIndex, artifacts *Artifacts) Option
- func WithMCPTool[In, Out any](tool mcp.Tool, handler mcp.ToolHandlerFor[In, Out]) Option
- func WithOnboarding(config OnboardingConfig) Option
- func WithSimulations(simulations *Simulations) Option
- func WithSpine(spine ros.ISpine) Option
- func WithWorkbenchThemeDirectory(directory string) Option
- type Postgres
- func (store *Postgres) ClaimProjection(ctx context.Context) (*pb.ProjectionTask, error)
- func (store *Postgres) CompleteProjection(ctx context.Context, task *pb.ProjectionTask) error
- func (store *Postgres) CountProjections(ctx context.Context) ([]*pb.ProjectionCount, error)
- func (store *Postgres) FailProjection(ctx context.Context, task *pb.ProjectionTask, problem string) error
- func (store *Postgres) GetAgentConfiguration(ctx context.Context, agentID string) (*pb.AgentConfiguration, error)
- func (store *Postgres) GetDocument(ctx context.Context, request *pb.DocumentRequest) (*pb.SourceDocument, error)
- func (store *Postgres) GetGraph(ctx context.Context, request *pb.GraphRequest) (*pb.GraphSnapshot, error)
- func (store *Postgres) GetProjection(ctx context.Context, request *pb.DocumentRequest) (*pb.ProjectionTask, error)
- func (store *Postgres) PutAgentConfiguration(ctx context.Context, agentID string, expectedRevision uint32, ...) (*pb.AgentConfiguration, error)
- func (store *Postgres) PutDocument(ctx context.Context, document *pb.SourceDocument) (*pb.SourceDocument, error)
- func (store *Postgres) PutEdge(ctx context.Context, edge *pb.KnowledgeEdge) (*pb.KnowledgeEdge, error)
- func (store *Postgres) PutNode(ctx context.Context, node *pb.KnowledgeNode) (*pb.KnowledgeNode, error)
- type ProjectionWorkers
- type RegisterAgentAddressInput
- type SendAgentMessageInput
- type Service
- func (service *Service) AgentMCPHandler(authenticator *AgentMCPAuthenticator) http.Handler
- func (service *Service) CancelAgentSession(ctx context.Context, request *harnessv1.CancelAgentSessionRequest) (*harnessv1.CancelAgentSessionResponse, error)
- func (service *Service) CancelSimulation(ctx context.Context, request *pb.CancelSimulationRequest) (*pb.CancelSimulationResponse, error)
- func (service *Service) DeclareIntent(ctx context.Context, request *dispatchv1.DeclareIntentRequest) (*dispatchv1.DeclareIntentResponse, error)
- func (service *Service) EnqueueSlice(ctx context.Context, request *dispatchv1.EnqueueSliceRequest) (*dispatchv1.EnqueueSliceResponse, error)
- func (service *Service) GetAgentSession(ctx context.Context, request *harnessv1.GetAgentSessionRequest) (*harnessv1.GetAgentSessionResponse, error)
- func (service *Service) GetDocument(ctx context.Context, request *pb.GetDocumentRequest) (*pb.GetDocumentResponse, error)
- func (service *Service) GetFrontier(ctx context.Context, request *dispatchv1.GetFrontierRequest) (*dispatchv1.GetFrontierResponse, error)
- func (service *Service) GetGraph(ctx context.Context, request *pb.GetGraphRequest) (*pb.GetGraphResponse, error)
- func (service *Service) GetOwnAgentConfiguration(ctx context.Context, _ *pb.GetOwnAgentConfigurationRequest) (*pb.GetOwnAgentConfigurationResponse, error)
- func (service *Service) GetSnapshot(ctx context.Context, request *pb.GetSnapshotRequest) (*pb.GetSnapshotResponse, error)
- func (service *Service) GetWorkbenchTheme(ctx context.Context, request *pb.GetWorkbenchThemeRequest) (*pb.GetWorkbenchThemeResponse, error)
- func (service *Service) IngestDocument(ctx context.Context, request *pb.IngestDocumentRequest) (*pb.IngestDocumentResponse, error)
- func (service *Service) InspectSimulation(ctx context.Context, request *pb.InspectSimulationRequest) (*pb.InspectSimulationResponse, error)
- func (service *Service) LearnAboutCSF(ctx context.Context, request *pb.LearnAboutCSFRequest) (*pb.LearnAboutCSFResponse, error)
- func (service *Service) ListAgentSessions(ctx context.Context, request *harnessv1.ListAgentSessionsRequest) (*harnessv1.ListAgentSessionsResponse, error)
- func (service *Service) ListSimulations(ctx context.Context, request *pb.ListSimulationsRequest) (*pb.ListSimulationsResponse, error)
- func (service *Service) ListSlices(ctx context.Context, request *dispatchv1.ListSlicesRequest) (*dispatchv1.ListSlicesResponse, error)
- func (service *Service) MCPHandler() *mcp.StreamableHTTPHandler
- func (service *Service) MarkSliceMerged(ctx context.Context, request *dispatchv1.MarkSliceMergedRequest) (*dispatchv1.MarkSliceMergedResponse, error)
- func (service *Service) PrepareAgentAssignment(ctx context.Context, request *pb.PrepareAgentAssignmentRequest) (*pb.PrepareAgentAssignmentResponse, error)
- func (service *Service) PutEdge(ctx context.Context, request *pb.PutEdgeRequest) (*pb.PutEdgeResponse, error)
- func (service *Service) PutNode(ctx context.Context, request *pb.PutNodeRequest) (*pb.PutNodeResponse, error)
- func (service *Service) ReadSimulationLogs(ctx context.Context, request *pb.ReadSimulationLogsRequest) (*pb.ReadSimulationLogsResponse, error)
- func (service *Service) RebuildSimulationTrace(ctx context.Context, request *pb.RebuildSimulationTraceRequest) (*pb.RebuildSimulationTraceResponse, error)
- func (service *Service) RecordSimulationEvents(ctx context.Context, request *pb.RecordSimulationEventsRequest) (*pb.RecordSimulationEventsResponse, error)
- func (service *Service) Register(router gin.IRouter)
- func (service *Service) ReloadWorkbenchTheme(ctx context.Context, request *pb.ReloadWorkbenchThemeRequest) (*pb.ReloadWorkbenchThemeResponse, error)
- func (service *Service) Reprioritize(ctx context.Context, request *dispatchv1.ReprioritizeRequest) (*dispatchv1.ReprioritizeResponse, error)
- func (service *Service) RouteMessage(ctx context.Context, request *dispatchv1.RouteMessageRequest) (*dispatchv1.RouteMessageResponse, error)
- func (service *Service) Search(ctx context.Context, request *pb.SearchRequest) (*pb.SearchResponse, error)
- func (service *Service) SendAgentSessionMessage(ctx context.Context, request *harnessv1.SendAgentSessionMessageRequest) (*harnessv1.SendAgentSessionMessageResponse, error)
- func (service *Service) SendEmail(ctx context.Context, request *emailv1.SendEmailRequest) (*emailv1.SendEmailResponse, error)
- func (service *Service) ServeStdioMCP(ctx context.Context) error
- func (service *Service) StartProjectionWorkers(ctx context.Context) (*ProjectionWorkers, error)
- func (service *Service) StopHarness(ctx context.Context, request *harnessv1.StopHarnessRequest) (*harnessv1.StopHarnessResponse, error)
- func (service *Service) SubmitAgentSession(ctx context.Context, request *harnessv1.SubmitAgentSessionRequest) (*harnessv1.SubmitAgentSessionResponse, error)
- func (service *Service) SubmitSimulation(ctx context.Context, request *pb.SubmitSimulationRequest) (*pb.SubmitSimulationResponse, error)
- func (service *Service) UpdateOwnAgentConfiguration(ctx context.Context, request *pb.UpdateOwnAgentConfigurationRequest) (*pb.UpdateOwnAgentConfigurationResponse, error)
- type SimulationJob
- type SimulationOption
- type SimulationSpec
- type Simulations
- type SourceCheck
- type SourceFile
- type SourceWatch
- type WatchResult
Constants ¶
const ( // AgentMCPAuthorizationHeader carries a session-bound credential for an agent MCP request. AgentMCPAuthorizationHeader = "Authorization" // AgentMCPAgentIDHeader identifies the agent making an authenticated MCP request. AgentMCPAgentIDHeader = "X-CSF-Agent-ID" // AgentMCPSessionIDHeader identifies the agent session making an authenticated MCP request. AgentMCPSessionIDHeader = "X-CSF-Session-ID" )
const ( RegisterAgentAddressTool = "RegisterAgentAddress" SendAgentMessageTool = "SendAgentMessage" FetchAgentInboxTool = "FetchAgentInbox" AcknowledgeAgentInboxTool = "AcknowledgeAgentInbox" )
Agent messaging MCP tool names. A host or network agent calls them through AgentMCPHandler, so every call carries a verified agent identity.
const ( ChangeCreated = "created" ChangeModified = "modified" ChangeDeleted = "deleted" )
const SchemaVersion = 1
SchemaVersion is the research event schema the dashboard accepts.
const (
SnapshotPath = "/api/snapshot"
)
const (
WatchRegistryID = "brainspine.source-checks.v1"
)
const WorkbenchThemeFileName = "workbench-theme.css"
WorkbenchThemeFileName is the only stylesheet the theme capability reads.
Variables ¶
var ( ErrInvalidRequest = errors.New("invalid request") ErrNotFound = errors.New("not found") ErrConflict = errors.New("revision conflict") ErrMCPToolConflict = errors.New("MCP tool name already registered") ErrInvalidMCPTool = errors.New("invalid MCP tool registration") )
Input, identity and revision errors are stable transport classifications. Backend and encoding failures remain server errors at the HTTP boundary.
ErrAgentSessionsUnavailable reports a harness operation on a host that mounted no agent harness.
ErrDispatchUnavailable reports a dispatch operation on a host that mounted no dispatch service.
Functions ¶
func CLIOperations ¶
func CLIOperations() []string
func CheckSourceSnapshot ¶
func CheckSourceSnapshot(ctx context.Context, request CheckRequest) (*pb.CommandReceipt, error)
CheckSourceSnapshot returns a generated receipt for the bounded registry. Command identifies an in-process invocation, never a shell execution.
func ImportantSourcePaths ¶
func ImportantSourcePaths() []string
ImportantSourcePaths is a fresh explicit allowlist, never a recursive scan.
func PrepareAgentAssignment ¶
func PrepareAgentAssignment(recipe *pb.AgentAssignmentRecipe) (*pb.AgentAssignmentPlan, error)
PrepareAgentAssignment freezes a recipe into an independently owned plan. Retry keys depend on assignment identity, not content: editing an already submitted recipe must conflict with Workbench's existing idempotency receipt.
func SubmitAgentAssignment ¶ added in v0.2.0
func SubmitAgentAssignment(ctx context.Context, brain IAgentAssignmentBrain, endpoint string, plan *pb.AgentAssignmentPlan) (*pb.AgentAssignmentReceipt, error)
SubmitAgentAssignment asks brain to take up a prepared plan and links the proposed turn to the plan in a receipt. endpoint is the Workbench URL the receipt's session link points at. A partial receipt is returned if the session exists but prompt acceptance is unconfirmed. Retry the original plan to recover its identities. A receipt records a proposal that was accepted; it does not prove the work completed.
Types ¶
type AcknowledgeAgentInboxInput ¶ added in v0.2.0
type AcknowledgeAgentInboxInput struct {
IDs []string `json:"ids" jsonschema:"envelope identifiers returned by FetchAgentInbox"`
}
AcknowledgeAgentInboxInput names fetched envelopes the caller has handled.
type AcknowledgeAgentInboxOutput ¶ added in v0.2.0
type AcknowledgeAgentInboxOutput struct {
Acknowledged int `json:"acknowledged"`
}
AcknowledgeAgentInboxOutput counts envelopes removed from the inbox.
type AgentEnvelopeView ¶ added in v0.2.0
type AgentEnvelopeView struct {
ID string `json:"id"`
From string `json:"from"`
To string `json:"to"`
Tier string `json:"tier"`
// Message is the sender's message, relayed unchanged.
Message *agentv1.AgentMessage `json:"message"`
SentAt string `json:"sent_at"`
}
AgentEnvelopeView is one envelope as an MCP caller sees it.
type AgentMCPAuthenticator ¶
type AgentMCPAuthenticator struct {
// contains filtered or unexported fields
}
AgentMCPAuthenticator signs and verifies identity-bound session credentials for CSF's protected streamable MCP route. Its signing key stays with the host.
func NewAgentMCPAuthenticator ¶
func NewAgentMCPAuthenticator(key []byte) (*AgentMCPAuthenticator, error)
NewAgentMCPAuthenticator creates an authenticator from one caller-owned signing key. Credentials remain valid for their identity tuple until key rotation.
func (*AgentMCPAuthenticator) AgentMCPHeaders ¶
func (authenticator *AgentMCPAuthenticator) AgentMCPHeaders(agentID string, sessionID string) (http.Header, error)
AgentMCPHeaders returns the complete bearer and identity headers for one validated agent session without disclosing the signing key. It is intended for the trusted local in-process bridge, not for untrusted callers to mint identities.
type AgentRegistrationView ¶ added in v0.2.0
type AgentRegistrationView struct {
Agent string `json:"agent"`
Tier string `json:"tier"`
Address string `json:"address"`
}
AgentRegistrationView is a registration as an MCP caller sees it.
type AgentWorkbenchRequests ¶
type AgentWorkbenchRequests = copilot.Assignment
AgentWorkbenchRequests uses the Workbench's generated request types. This translation is the sole boundary between CSF recipes and its current backend; it is the context the Copilot brain decides on.
func NewAgentWorkbenchRequests ¶
func NewAgentWorkbenchRequests(plan *pb.AgentAssignmentPlan) (*AgentWorkbenchRequests, error)
NewAgentWorkbenchRequests verifies a prepared plan before translating it. The same keys safely replay session creation and prompt acceptance; retries never claim that a backend completed work whose result was not observed.
type Artifacts ¶
type Artifacts struct {
// contains filtered or unexported fields
}
Artifacts retains bytes under their SHA256. Writes never replace a blob.
func NewArtifacts ¶
type CheckRequest ¶
type CheckRequest struct {
Changes []Change
Files []SourceFile
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client uses generated method signatures with protobuf's JSON codec.
func (*Client) CallOperation ¶
func (*Client) CancelAgentSession ¶ added in v0.2.0
func (client *Client) CancelAgentSession(ctx context.Context, request *contract2.CancelAgentSessionRequest) (*contract2.CancelAgentSessionResponse, error)
func (*Client) CancelSimulation ¶
func (client *Client) CancelSimulation(ctx context.Context, request *contract0.CancelSimulationRequest) (*contract0.CancelSimulationResponse, error)
func (*Client) GetAgentSession ¶ added in v0.2.0
func (client *Client) GetAgentSession(ctx context.Context, request *contract2.GetAgentSessionRequest) (*contract2.GetAgentSessionResponse, error)
func (*Client) GetDocument ¶
func (client *Client) GetDocument(ctx context.Context, request *contract0.GetDocumentRequest) (*contract0.GetDocumentResponse, error)
func (*Client) GetGraph ¶
func (client *Client) GetGraph(ctx context.Context, request *contract0.GetGraphRequest) (*contract0.GetGraphResponse, error)
func (*Client) GetOwnAgentConfiguration ¶
func (client *Client) GetOwnAgentConfiguration(ctx context.Context, request *contract0.GetOwnAgentConfigurationRequest) (*contract0.GetOwnAgentConfigurationResponse, error)
func (*Client) GetSnapshot ¶
func (client *Client) GetSnapshot(ctx context.Context, request *contract0.GetSnapshotRequest) (*contract0.GetSnapshotResponse, error)
func (*Client) GetWorkbenchTheme ¶
func (client *Client) GetWorkbenchTheme(ctx context.Context, request *contract0.GetWorkbenchThemeRequest) (*contract0.GetWorkbenchThemeResponse, error)
func (*Client) IngestDocument ¶
func (client *Client) IngestDocument(ctx context.Context, request *contract0.IngestDocumentRequest) (*contract0.IngestDocumentResponse, error)
func (*Client) InspectSimulation ¶
func (client *Client) InspectSimulation(ctx context.Context, request *contract0.InspectSimulationRequest) (*contract0.InspectSimulationResponse, error)
func (*Client) LearnAboutCSF ¶
func (client *Client) LearnAboutCSF(ctx context.Context, request *contract0.LearnAboutCSFRequest) (*contract0.LearnAboutCSFResponse, error)
func (*Client) ListAgentSessions ¶ added in v0.2.0
func (client *Client) ListAgentSessions(ctx context.Context, request *contract2.ListAgentSessionsRequest) (*contract2.ListAgentSessionsResponse, error)
func (*Client) ListSimulations ¶
func (client *Client) ListSimulations(ctx context.Context, request *contract0.ListSimulationsRequest) (*contract0.ListSimulationsResponse, error)
func (*Client) PrepareAgentAssignment ¶
func (client *Client) PrepareAgentAssignment(ctx context.Context, request *contract0.PrepareAgentAssignmentRequest) (*contract0.PrepareAgentAssignmentResponse, error)
func (*Client) PutEdge ¶
func (client *Client) PutEdge(ctx context.Context, request *contract0.PutEdgeRequest) (*contract0.PutEdgeResponse, error)
func (*Client) PutNode ¶
func (client *Client) PutNode(ctx context.Context, request *contract0.PutNodeRequest) (*contract0.PutNodeResponse, error)
func (*Client) ReadSimulationLogs ¶
func (client *Client) ReadSimulationLogs(ctx context.Context, request *contract0.ReadSimulationLogsRequest) (*contract0.ReadSimulationLogsResponse, error)
func (*Client) RebuildSimulationTrace ¶
func (client *Client) RebuildSimulationTrace(ctx context.Context, request *contract0.RebuildSimulationTraceRequest) (*contract0.RebuildSimulationTraceResponse, error)
func (*Client) RecordSimulationEvents ¶
func (client *Client) RecordSimulationEvents(ctx context.Context, request *contract0.RecordSimulationEventsRequest) (*contract0.RecordSimulationEventsResponse, error)
func (*Client) ReloadWorkbenchTheme ¶
func (client *Client) ReloadWorkbenchTheme(ctx context.Context, request *contract0.ReloadWorkbenchThemeRequest) (*contract0.ReloadWorkbenchThemeResponse, error)
func (*Client) Search ¶
func (client *Client) Search(ctx context.Context, request *contract0.SearchRequest) (*contract0.SearchResponse, error)
func (*Client) SendAgentSessionMessage ¶ added in v0.2.0
func (client *Client) SendAgentSessionMessage(ctx context.Context, request *contract2.SendAgentSessionMessageRequest) (*contract2.SendAgentSessionMessageResponse, error)
func (*Client) SendEmail ¶
func (client *Client) SendEmail(ctx context.Context, request *contract1.SendEmailRequest) (*contract1.SendEmailResponse, error)
func (*Client) StopHarness ¶ added in v0.2.0
func (client *Client) StopHarness(ctx context.Context, request *contract2.StopHarnessRequest) (*contract2.StopHarnessResponse, error)
func (*Client) SubmitAgentSession ¶ added in v0.2.0
func (client *Client) SubmitAgentSession(ctx context.Context, request *contract2.SubmitAgentSessionRequest) (*contract2.SubmitAgentSessionResponse, error)
func (*Client) SubmitSimulation ¶
func (client *Client) SubmitSimulation(ctx context.Context, request *contract0.SubmitSimulationRequest) (*contract0.SubmitSimulationResponse, error)
func (*Client) UpdateOwnAgentConfiguration ¶
func (client *Client) UpdateOwnAgentConfiguration(ctx context.Context, request *contract0.UpdateOwnAgentConfigurationRequest) (*contract0.UpdateOwnAgentConfigurationResponse, error)
type CopilotHistoryReader ¶
type CopilotHistoryReader func(ctx context.Context, sessionID string) (copilotbridge.HistorySnapshot, error)
CopilotHistoryReader reads one explicitly selected native Copilot session. The bridge owns SDK lifecycle, source isolation and typed event decoding.
type Dashboard ¶
type Dashboard struct {
// contains filtered or unexported fields
}
Dashboard observes one run's append-only artifact. It never owns the runtime.
func NewDashboard ¶
func (*Dashboard) Register ¶
Register mounts the basic metric view; Service owns its generated APIs.
func (*Dashboard) Snapshot ¶
func (dashboard *Dashboard) Snapshot() *brainspinev1.Snapshot
type EmailProvenance ¶
type EmailProvenance struct {
// contains filtered or unexported fields
}
EmailProvenance observes host-owned metadata at send time. It reads only the explicitly configured observer file, never a Docker socket or other sessions.
func NewEmailProvenance ¶
func NewEmailProvenance(configuration *emailv1.EmailHostConfiguration, now func() time.Time) *EmailProvenance
func (*EmailProvenance) Snapshot ¶
func (source *EmailProvenance) Snapshot(ctx context.Context) (*provenancev1.ReceiptMetadata, error)
type FarmAgent ¶
type FarmAgent struct {
Name, Role, State, Task, Note, ObservedAt, SessionID, Worktree, TicketURL string
Model, StartedAt, FinishedAt, Duration, DurationLabel string
Tokens *api.UsageObservation
PremiumRequests *float64
}
These are the board's presentation inputs, not a second domain contract. Runtime/program/knowledge contracts remain in their generated protobufs.
type FarmAgentSource ¶
FarmAgentSource supplies observed workers without owning another durable store.
type FarmCheckpoint ¶
type FarmDashboard ¶
type FarmDashboard struct {
// contains filtered or unexported fields
}
FarmDashboard mounts into an existing process. Observe owns publication and priority writes; sessions only consume immutable published views.
func NewFarmDashboard ¶
func NewFarmDashboard(origins []string, options ...FarmOption) (*FarmDashboard, error)
func (*FarmDashboard) ActiveConnections ¶
func (dashboard *FarmDashboard) ActiveConnections() int
ActiveConnections counts live board WebSockets, including connection cleanup. Workbench chat streams and terminal sockets have different owners and are excluded.
func (*FarmDashboard) Observe ¶
func (dashboard *FarmDashboard) Observe(ctx context.Context)
Observe runs under the caller's process context; it owns no listener.
func (*FarmDashboard) Register ¶
func (dashboard *FarmDashboard) Register(router gin.IRouter)
func (*FarmDashboard) RenderFarm ¶
func (dashboard *FarmDashboard) RenderFarm() ([]byte, error)
RenderFarm is useful for deterministic page inspection without opening a listener.
func (*FarmDashboard) Snapshot ¶
func (dashboard *FarmDashboard) Snapshot() FarmView
Snapshot returns the latest immutable view for sibling in-process mounts.
type FarmOption ¶
type FarmOption func(dashboard *FarmDashboard)
func WithFarmAgentSource ¶
func WithFarmAgentSource(source FarmAgentSource) FarmOption
func WithFarmWorkPath ¶
func WithFarmWorkPath(path string) FarmOption
type FarmView ¶
type FarmView struct {
BrowserConnections int
Title, Phase, UpdatedAt, Now, Uptime, Elapsed, StartedAt, Branch, TicketURL string
RuntimeCount, Goroutines, GoMaxProcs, HeapMiB, Containers, WorktreeCount int
ContainersObservedAt, WorktreesObservedAt, SourceError, AgentSourceError, Notice string
Agents []FarmAgent
Tasks []FarmTask
Feed []FarmEvent
Scores []FarmScore
Operations []HumanOperation
DashboardLinks []FarmLink
Checkpoint FarmCheckpoint
}
type FetchAgentInboxInput ¶ added in v0.2.0
type FetchAgentInboxInput struct {
Limit int `json:"limit,omitempty" jsonschema:"at most this many envelopes, oldest first; default 16, maximum 256"`
}
FetchAgentInboxInput bounds one fetch of the caller's inbox.
type FetchAgentInboxOutput ¶ added in v0.2.0
type FetchAgentInboxOutput struct {
Envelopes []AgentEnvelopeView `json:"envelopes"`
}
FetchAgentInboxOutput lists unacknowledged envelopes, oldest first.
type HumanOperation ¶
type HumanOperation struct{ Name, Description string }
func HumanOperations ¶
func HumanOperations() []HumanOperation
type IAgentAssignmentBrain ¶ added in v0.2.0
type IAgentAssignmentBrain = model.IBrain[*AgentWorkbenchRequests, copilot.Turn]
IAgentAssignmentBrain is the brain an agent assignment is handed to: given the prepared Workbench requests it proposes one agent turn. Production wires copilot.NewCopilotBrain over the adapter's generated client; specs wire stub.NewCannedBrain and need no model at all.
type IAgentConfigurationStore ¶
type IAgentConfigurationStore interface {
GetAgentConfiguration(ctx context.Context, agentID string) (*pb.AgentConfiguration, error)
PutAgentConfiguration(ctx context.Context, agentID string, expectedRevision uint32, configuration *pb.AgentConfigurationInput) (*pb.AgentConfiguration, error)
}
IAgentConfigurationStore retains one revisioned external-tool configuration per authenticated agent. It stores opaque secret references, never values.
type IAgentSessions ¶ added in v0.2.0
type IAgentSessions interface {
Submit(ctx context.Context, request *harnessv1.SubmitAgentSessionRequest) (*harnessv1.SubmitAgentSessionResponse, error)
Send(ctx context.Context, request *harnessv1.SendAgentSessionMessageRequest) (*harnessv1.SendAgentSessionMessageResponse, error)
List(ctx context.Context, request *harnessv1.ListAgentSessionsRequest) (*harnessv1.ListAgentSessionsResponse, error)
Get(ctx context.Context, request *harnessv1.GetAgentSessionRequest) (*harnessv1.GetAgentSessionResponse, error)
Cancel(ctx context.Context, request *harnessv1.CancelAgentSessionRequest) (*harnessv1.CancelAgentSessionResponse, error)
Stop(ctx context.Context, request *harnessv1.StopHarnessRequest) (*harnessv1.StopHarnessResponse, error)
}
IAgentSessions is the agent harness capability behind the generated harness operations: the service in candace/services/harness that runs agent sessions in this process. The transport adapter delegates to it and owns no session of its own.
type IDispatch ¶ added in v0.2.0
type IDispatch interface {
Enqueue(ctx context.Context, request *dispatchv1.EnqueueSliceRequest) (*dispatchv1.EnqueueSliceResponse, error)
DeclareIntent(ctx context.Context, request *dispatchv1.DeclareIntentRequest) (*dispatchv1.DeclareIntentResponse, error)
Route(ctx context.Context, request *dispatchv1.RouteMessageRequest) (*dispatchv1.RouteMessageResponse, error)
Frontier(ctx context.Context, request *dispatchv1.GetFrontierRequest) (*dispatchv1.GetFrontierResponse, error)
List(ctx context.Context, request *dispatchv1.ListSlicesRequest) (*dispatchv1.ListSlicesResponse, error)
Reprioritize(ctx context.Context, request *dispatchv1.ReprioritizeRequest) (*dispatchv1.ReprioritizeResponse, error)
MarkMerged(ctx context.Context, request *dispatchv1.MarkSliceMergedRequest) (*dispatchv1.MarkSliceMergedResponse, error)
}
IDispatch is the slice graph capability behind the generated dispatch operations: the service in candace/services/dispatch that ranks slices and dispatches the frontier onto this process's agent harness. The transport adapter delegates to it and owns no slice of its own.
type IEmailSender ¶
type IEmailSender interface {
Send(ctx context.Context, message *emailv1.EmailMessage) (*emailv1.EmailReceipt, error)
}
IEmailSender is the shared capability, not an SMTP implementation.
type IKnowledgeIndex ¶
type IKnowledgeIndex interface {
Index(ctx context.Context, document *pb.SourceDocument, text string) error
Search(ctx context.Context, request *pb.SearchRequest) (*pb.SearchResult, error)
}
IKnowledgeIndex is a rebuildable projection, never the evidence authority.
type IKnowledgeStore ¶
type IKnowledgeStore interface {
PutDocument(ctx context.Context, document *pb.SourceDocument) (*pb.SourceDocument, error)
GetDocument(ctx context.Context, request *pb.DocumentRequest) (*pb.SourceDocument, error)
PutNode(ctx context.Context, node *pb.KnowledgeNode) (*pb.KnowledgeNode, error)
PutEdge(ctx context.Context, edge *pb.KnowledgeEdge) (*pb.KnowledgeEdge, error)
GetGraph(ctx context.Context, request *pb.GraphRequest) (*pb.GraphSnapshot, error)
ClaimProjection(ctx context.Context) (*pb.ProjectionTask, error)
CompleteProjection(ctx context.Context, task *pb.ProjectionTask) error
FailProjection(ctx context.Context, task *pb.ProjectionTask, problem string) error
GetProjection(ctx context.Context, request *pb.DocumentRequest) (*pb.ProjectionTask, error)
CountProjections(ctx context.Context) ([]*pb.ProjectionCount, error)
}
IKnowledgeStore owns durable source identities and immutable symbolic facts.
type IOpenSearchClient ¶
type IOpenSearchClient interface {
Index(ctx context.Context, req opensearchapi.IndexReq) (*opensearchapi.IndexResp, error)
Search(ctx context.Context, req *opensearchapi.SearchReq) (*opensearchapi.SearchResp, error)
}
IOpenSearchClient is the shared generated Index/Search contract.
type ISimulationTraces ¶
type Inspection ¶
type Inspection struct {
// contains filtered or unexported fields
}
Inspection mounts observations in the caller's router and registry. It owns no listener or background task. Receipts remain the event ledger; their retained counts are gauges because retention can remove records.
func NewInspection ¶
func NewInspection(options ...InspectionOption) *Inspection
func (*Inspection) Collect ¶
func (inspection *Inspection) Collect(output chan<- prometheus.Metric)
func (*Inspection) Describe ¶
func (inspection *Inspection) Describe(output chan<- *prometheus.Desc)
func (*Inspection) Register ¶
func (inspection *Inspection) Register(router gin.IRouter)
type InspectionOption ¶
type InspectionOption func(inspection *Inspection)
func WithInspectionBrowserConnections ¶
func WithInspectionBrowserConnections(source func() int) InspectionOption
WithInspectionBrowserConnections samples the live board's connection registry. Without a source the series is absent, rather than reporting a measured zero.
func WithInspectionProjectionWorkers ¶
func WithInspectionProjectionWorkers(workers *ProjectionWorkers) InspectionOption
func WithInspectionReceipts ¶
func WithInspectionReceipts(path string) InspectionOption
func WithInspectionRegistry ¶
func WithInspectionRegistry(registry *prometheus.Registry) InspectionOption
WithInspectionRegistry shares the host's registry with optional capabilities. The host owns this registry and must not register Go/process collectors twice.
func WithInspectionSimulations ¶
func WithInspectionSimulations(simulations *Simulations) InspectionOption
func WithInspectionSnapshot ¶
func WithInspectionSnapshot(snapshot func() FarmView) InspectionOption
func WithInspectionTelemetry ¶
func WithInspectionTelemetry(source func(ctx context.Context) (api.TelemetrySnapshot, error)) InspectionOption
type LocalSimulations ¶
type LocalSimulations struct {
// contains filtered or unexported fields
}
LocalSimulations is an optional capability of the shared host: the operator's local simulator profiles and the Docker client the binary owns. It never owns a listener or a goroutine; the job ledger's local Docker executor drives each container from Simulations.Work.
func NewLocalSimulations ¶
func NewLocalSimulations(docker jobs.IDockerEngine, config *pb.LocalSimulationConfig) (*LocalSimulations, error)
type OnboardingConfig ¶
type OnboardingConfig struct {
CSFRoot string
CSFRevision string
ConsumerRoot string
ConsumerRevision string
// CopilotHistoryReader is opt-in and reads from the bridge's disposable
// native snapshot for explicitly selected session IDs.
CopilotHistoryReader CopilotHistoryReader
}
OnboardingConfig is supplied by the host. ConsumerRoot is an explicitly authorized checkout; callers select relative paths within it. Empty CSFRoot uses the documentation embedded in this exact build. Omitted revisions use each document's content hash, so uncommitted edits retain distinct identities.
type OpenSearch ¶
type OpenSearch struct {
// contains filtered or unexported fields
}
OpenSearch projects canonical documents using a configured ML Commons model. Empty model configuration means lexical search, explicitly labelled as such.
func ConnectOpenSearch ¶
func ConnectOpenSearch(endpoint string, index string, model string, transport IHTTPDoer) (*OpenSearch, error)
ConnectOpenSearch owns a configured upstream SDK client until Close.
func NewOpenSearch ¶
func NewOpenSearch(index string, model string, client IOpenSearchClient) (*OpenSearch, error)
NewOpenSearch composes the document projection with generated SDK contracts. The caller owns the supplied clients and their lifecycle.
func (*OpenSearch) Close ¶
func (search *OpenSearch) Close() error
Close releases SDK background resources without closing the caller's HTTP client.
func (*OpenSearch) Index ¶
func (search *OpenSearch) Index(ctx context.Context, document *pb.SourceDocument, text string) error
func (*OpenSearch) IndexSimulationSource ¶
func (search *OpenSearch) IndexSimulationSource(ctx context.Context, index string, source *pb.SimulationTraceSource) (string, error)
IndexSimulationSource uses the same generated SDK client as knowledge search. Source records retain original event/trajectory text, not only rendered spans.
func (*OpenSearch) Search ¶
func (search *OpenSearch) Search(ctx context.Context, request *pb.SearchRequest) (*pb.SearchResult, error)
func (*OpenSearch) SimulationSource ¶
func (search *OpenSearch) SimulationSource(ctx context.Context, index string, runID string) (*pb.SimulationLogRecord, error)
type Option ¶
type Option func(service *Service)
func WithAgentConfigurations ¶
func WithAgentConfigurations(store IAgentConfigurationStore) Option
func WithAgentMessaging ¶ added in v0.2.0
func WithAgentMessaging(core *relay.Relay[*agentv1.AgentMessage]) Option
WithAgentMessaging adds the agent messaging MCP tools over core. A host or network agent registers its address, sends to another agent by identifier, and fetches and acknowledges its own inbox; the tools act only as the caller's verified identity, so they work only behind AgentMCPHandler. The relay carries the agent message contract, so every tool speaks it.
func WithAgentSessions ¶ added in v0.2.0
func WithAgentSessions(sessions IAgentSessions) Option
WithAgentSessions mounts the agent harness behind the generated harness operations.
func WithDashboard ¶
func WithDispatch ¶ added in v0.2.0
WithDispatch mounts the slice graph behind the generated dispatch operations.
func WithEmail ¶
func WithEmail(sender IEmailSender) Option
func WithKnowledge ¶
func WithKnowledge(store IKnowledgeStore, index IKnowledgeIndex, artifacts *Artifacts) Option
func WithMCPTool ¶
WithMCPTool adds one typed consumer-owned tool to the same MCP server as CSF's generated operations. The MCP SDK derives and validates the input and output schemas from In and Out; CSF only supplies registration ordering and collision checks.
func WithOnboarding ¶
func WithOnboarding(config OnboardingConfig) Option
func WithSimulations ¶
func WithSimulations(simulations *Simulations) Option
func WithSpine ¶ added in v0.2.0
WithSpine grants the low-level spine controller capability. Without it the service holds ros.DisconnectedSpine and its views report "no spine connected".
func WithWorkbenchThemeDirectory ¶
WithWorkbenchThemeDirectory selects where the host reads workbench-theme.css. Missing or empty files use the default theme. Agents edit the file, then call ReloadWorkbenchTheme; they cannot choose a file path through an operation.
type Postgres ¶
type Postgres struct {
// contains filtered or unexported fields
}
Postgres owns the relational projection of retained source and experiment data in the CSF schema that csfpg owns. It reads and writes through the database capability it is given and never opens or closes a pool; the binary brings the schema up to date with csfpg.ApplySchema before constructing it.
func NewPostgres ¶
NewPostgres returns the store over the database capability.
func (*Postgres) ClaimProjection ¶
func (*Postgres) CompleteProjection ¶
func (*Postgres) CountProjections ¶
func (*Postgres) FailProjection ¶
func (*Postgres) GetAgentConfiguration ¶
func (*Postgres) GetDocument ¶
func (store *Postgres) GetDocument(ctx context.Context, request *pb.DocumentRequest) (*pb.SourceDocument, error)
func (*Postgres) GetGraph ¶
func (store *Postgres) GetGraph(ctx context.Context, request *pb.GraphRequest) (*pb.GraphSnapshot, error)
func (*Postgres) GetProjection ¶
func (store *Postgres) GetProjection(ctx context.Context, request *pb.DocumentRequest) (*pb.ProjectionTask, error)
func (*Postgres) PutAgentConfiguration ¶
func (store *Postgres) PutAgentConfiguration(ctx context.Context, agentID string, expectedRevision uint32, configuration *pb.AgentConfigurationInput) (*pb.AgentConfiguration, error)
func (*Postgres) PutDocument ¶
func (store *Postgres) PutDocument(ctx context.Context, document *pb.SourceDocument) (*pb.SourceDocument, error)
func (*Postgres) PutEdge ¶
func (store *Postgres) PutEdge(ctx context.Context, edge *pb.KnowledgeEdge) (*pb.KnowledgeEdge, error)
func (*Postgres) PutNode ¶
func (store *Postgres) PutNode(ctx context.Context, node *pb.KnowledgeNode) (*pb.KnowledgeNode, error)
type ProjectionWorkers ¶
type ProjectionWorkers struct {
// contains filtered or unexported fields
}
ProjectionWorkers runs bounded, at-least-once projection work in its caller's process. PostgreSQL owns claims and retries; wakeups are only a latency hint.
func (*ProjectionWorkers) Active ¶
func (workers *ProjectionWorkers) Active() int64
func (*ProjectionWorkers) Close ¶
func (workers *ProjectionWorkers) Close()
func (*ProjectionWorkers) Configured ¶
func (workers *ProjectionWorkers) Configured() int
func (*ProjectionWorkers) Counts ¶
func (workers *ProjectionWorkers) Counts(ctx context.Context) ([]*pb.ProjectionCount, error)
type RegisterAgentAddressInput ¶ added in v0.2.0
type RegisterAgentAddressInput struct {
Provider string `` /* 143-byte string literal not displayed */
Endpoint string `json:"endpoint" jsonschema:"claudecode: unix:/absolute/socket/path or a loopback host:port; copilot: the adapter's host:port"`
}
RegisterAgentAddressInput declares where the calling agent's session is.
type SendAgentMessageInput ¶ added in v0.2.0
type SendAgentMessageInput struct {
To string `json:"to" jsonschema:"the recipient agent's identifier"`
Message *agentv1.AgentMessage `` /* 192-byte string literal not displayed */
}
SendAgentMessageInput addresses a message to a registered agent. The message is the shared contract candace.agent.v1.AgentMessage; the tool's input schema is derived from its generated type, and the message must pass its Liquid Proto refinements before it is relayed.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service composes CSF capabilities and their generated HTTP/MCP operations. It opens no listener and owns no process.
func (*Service) AgentMCPHandler ¶
func (service *Service) AgentMCPHandler(authenticator *AgentMCPAuthenticator) http.Handler
AgentMCPHandler returns a streamable MCP HTTP handler that checks the bearer credential against both identity headers before exposing CSF's private request identity.
func (*Service) CancelAgentSession ¶ added in v0.2.0
func (service *Service) CancelAgentSession(ctx context.Context, request *harnessv1.CancelAgentSessionRequest) (*harnessv1.CancelAgentSessionResponse, error)
CancelAgentSession asks a session's owner to stop at its next safepoint.
func (*Service) CancelSimulation ¶
func (service *Service) CancelSimulation(ctx context.Context, request *pb.CancelSimulationRequest) (*pb.CancelSimulationResponse, error)
func (*Service) DeclareIntent ¶ added in v0.2.0
func (service *Service) DeclareIntent(ctx context.Context, request *dispatchv1.DeclareIntentRequest) (*dispatchv1.DeclareIntentResponse, error)
DeclareIntent records a typed intent and attaches it to the slices it routes to.
func (*Service) EnqueueSlice ¶ added in v0.2.0
func (service *Service) EnqueueSlice(ctx context.Context, request *dispatchv1.EnqueueSliceRequest) (*dispatchv1.EnqueueSliceResponse, error)
EnqueueSlice admits one slice with its edges, touch-set and provenance.
func (*Service) GetAgentSession ¶ added in v0.2.0
func (service *Service) GetAgentSession(ctx context.Context, request *harnessv1.GetAgentSessionRequest) (*harnessv1.GetAgentSessionResponse, error)
GetAgentSession reports one session's state.
func (*Service) GetDocument ¶
func (service *Service) GetDocument(ctx context.Context, request *pb.GetDocumentRequest) (*pb.GetDocumentResponse, error)
func (*Service) GetFrontier ¶ added in v0.2.0
func (service *Service) GetFrontier(ctx context.Context, request *dispatchv1.GetFrontierRequest) (*dispatchv1.GetFrontierResponse, error)
GetFrontier reports the slices ready to run, in dispatch order.
func (*Service) GetGraph ¶
func (service *Service) GetGraph(ctx context.Context, request *pb.GetGraphRequest) (*pb.GetGraphResponse, error)
func (*Service) GetOwnAgentConfiguration ¶
func (service *Service) GetOwnAgentConfiguration(ctx context.Context, _ *pb.GetOwnAgentConfigurationRequest) (*pb.GetOwnAgentConfigurationResponse, error)
GetOwnAgentConfiguration returns the configuration selected by the signed transport identity. Callers cannot choose an agent ID through this API.
func (*Service) GetSnapshot ¶
func (service *Service) GetSnapshot(ctx context.Context, request *pb.GetSnapshotRequest) (*pb.GetSnapshotResponse, error)
GetSnapshot reports the observed run and the spine's connection status. A missing spine is an issue the view renders, not an operation failure.
func (*Service) GetWorkbenchTheme ¶
func (service *Service) GetWorkbenchTheme(ctx context.Context, request *pb.GetWorkbenchThemeRequest) (*pb.GetWorkbenchThemeResponse, error)
func (*Service) IngestDocument ¶
func (service *Service) IngestDocument(ctx context.Context, request *pb.IngestDocumentRequest) (*pb.IngestDocumentResponse, error)
func (*Service) InspectSimulation ¶
func (service *Service) InspectSimulation(ctx context.Context, request *pb.InspectSimulationRequest) (*pb.InspectSimulationResponse, error)
func (*Service) LearnAboutCSF ¶
func (service *Service) LearnAboutCSF(ctx context.Context, request *pb.LearnAboutCSFRequest) (*pb.LearnAboutCSFResponse, error)
func (*Service) ListAgentSessions ¶ added in v0.2.0
func (service *Service) ListAgentSessions(ctx context.Context, request *harnessv1.ListAgentSessionsRequest) (*harnessv1.ListAgentSessionsResponse, error)
ListAgentSessions reports every session the harness holds.
func (*Service) ListSimulations ¶
func (service *Service) ListSimulations(ctx context.Context, request *pb.ListSimulationsRequest) (*pb.ListSimulationsResponse, error)
func (*Service) ListSlices ¶ added in v0.2.0
func (service *Service) ListSlices(ctx context.Context, request *dispatchv1.ListSlicesRequest) (*dispatchv1.ListSlicesResponse, error)
ListSlices reports every slice with its priority breakdown.
func (*Service) MCPHandler ¶
func (service *Service) MCPHandler() *mcp.StreamableHTTPHandler
MCPHandler supports legacy clients and per-request protocol metadata. Durable knowledge belongs to the service stores, so the HTTP transport is stateless.
func (*Service) MarkSliceMerged ¶ added in v0.2.0
func (service *Service) MarkSliceMerged(ctx context.Context, request *dispatchv1.MarkSliceMergedRequest) (*dispatchv1.MarkSliceMergedResponse, error)
MarkSliceMerged records a merged pull request and releases the slices that depended on it.
func (*Service) PrepareAgentAssignment ¶
func (service *Service) PrepareAgentAssignment(ctx context.Context, request *pb.PrepareAgentAssignmentRequest) (*pb.PrepareAgentAssignmentResponse, error)
PrepareAgentAssignment prepares data only. The caller decides when to submit it; this capability allocates no session, worker, process or persistent state.
func (*Service) PutEdge ¶
func (service *Service) PutEdge(ctx context.Context, request *pb.PutEdgeRequest) (*pb.PutEdgeResponse, error)
func (*Service) PutNode ¶
func (service *Service) PutNode(ctx context.Context, request *pb.PutNodeRequest) (*pb.PutNodeResponse, error)
func (*Service) ReadSimulationLogs ¶
func (service *Service) ReadSimulationLogs(ctx context.Context, request *pb.ReadSimulationLogsRequest) (*pb.ReadSimulationLogsResponse, error)
func (*Service) RebuildSimulationTrace ¶
func (service *Service) RebuildSimulationTrace(ctx context.Context, request *pb.RebuildSimulationTraceRequest) (*pb.RebuildSimulationTraceResponse, error)
RebuildSimulationTrace derives versioned spans from OpenSearch alone. The durable delivery ledger prevents repeating an accepted or ambiguous export.
func (*Service) RecordSimulationEvents ¶
func (service *Service) RecordSimulationEvents(ctx context.Context, request *pb.RecordSimulationEventsRequest) (*pb.RecordSimulationEventsResponse, error)
func (*Service) ReloadWorkbenchTheme ¶
func (service *Service) ReloadWorkbenchTheme(ctx context.Context, request *pb.ReloadWorkbenchThemeRequest) (*pb.ReloadWorkbenchThemeResponse, error)
func (*Service) Reprioritize ¶ added in v0.2.0
func (service *Service) Reprioritize(ctx context.Context, request *dispatchv1.ReprioritizeRequest) (*dispatchv1.ReprioritizeResponse, error)
Reprioritize re-declares an existing intent.
func (*Service) RouteMessage ¶ added in v0.2.0
func (service *Service) RouteMessage(ctx context.Context, request *dispatchv1.RouteMessageRequest) (*dispatchv1.RouteMessageResponse, error)
RouteMessage steers, queues, creates or answers already done.
func (*Service) Search ¶
func (service *Service) Search(ctx context.Context, request *pb.SearchRequest) (*pb.SearchResponse, error)
func (*Service) SendAgentSessionMessage ¶ added in v0.2.0
func (service *Service) SendAgentSessionMessage(ctx context.Context, request *harnessv1.SendAgentSessionMessageRequest) (*harnessv1.SendAgentSessionMessageResponse, error)
SendAgentSessionMessage queues one message for an open session's next turn.
func (*Service) SendEmail ¶
func (service *Service) SendEmail(ctx context.Context, request *emailv1.SendEmailRequest) (*emailv1.SendEmailResponse, error)
SendEmail accepts content only, and never accepts a caller-selected recipient or claimed provenance. Legacy unauthenticated HTTP/MCP routes fail closed.
func (*Service) ServeStdioMCP ¶
ServeStdioMCP serves the same generated tools over the caller process's standard input and output. The application still owns the process lifetime and cancellation context.
func (*Service) StartProjectionWorkers ¶
func (service *Service) StartProjectionWorkers(ctx context.Context) (*ProjectionWorkers, error)
StartProjectionWorkers starts one pool for this service. The caller closes it before closing the store, artifacts or shared OpenSearch client.
func (*Service) StopHarness ¶ added in v0.2.0
func (service *Service) StopHarness(ctx context.Context, request *harnessv1.StopHarnessRequest) (*harnessv1.StopHarnessResponse, error)
StopHarness asks the harness process to shut down in order.
func (*Service) SubmitAgentSession ¶ added in v0.2.0
func (service *Service) SubmitAgentSession(ctx context.Context, request *harnessv1.SubmitAgentSessionRequest) (*harnessv1.SubmitAgentSessionResponse, error)
SubmitAgentSession admits one assignment recipe as a session of the mounted harness and returns its receipt.
func (*Service) SubmitSimulation ¶
func (service *Service) SubmitSimulation(ctx context.Context, request *pb.SubmitSimulationRequest) (*pb.SubmitSimulationResponse, error)
func (*Service) UpdateOwnAgentConfiguration ¶
func (service *Service) UpdateOwnAgentConfiguration(ctx context.Context, request *pb.UpdateOwnAgentConfigurationRequest) (*pb.UpdateOwnAgentConfigurationResponse, error)
UpdateOwnAgentConfiguration replaces only the signed caller's references. expected_revision is a compare-and-swap precondition owned by the store.
type SimulationJob ¶ added in v0.2.0
type SimulationJob = jobs.Job[SimulationSpec]
SimulationJob is one simulation in the job ledger.
type SimulationOption ¶
type SimulationOption func(simulations *Simulations)
func WithLocalSimulations ¶
func WithLocalSimulations(local *LocalSimulations) SimulationOption
func WithSimulationLogSearch ¶
func WithSimulationLogSearch(search *OpenSearch) SimulationOption
func WithSimulationTraces ¶
func WithSimulationTraces(client ISimulationTraces) SimulationOption
type SimulationSpec ¶ added in v0.2.0
type SimulationSpec struct {
CaptureEvery uint32 `json:"capture_every"`
ArtifactVolume string `json:"artifact_volume,omitempty"`
}
SimulationSpec is the simulation-specific part of a job request, stored in the job ledger beside the generic admission.
type Simulations ¶
type Simulations struct {
// contains filtered or unexported fields
}
Simulations owns simulation admission and observation over the job ledger; the application owns its worker lifetime.
func NewSimulations ¶
func NewSimulations(store *Postgres, artifacts *Artifacts, config *pb.SimulationConfig, provider jobs.IBatch, logs jobs.ICloudWatchLogs, options ...SimulationOption) (*Simulations, error)
type SourceCheck ¶
type SourceCheck func(ctx context.Context, request CheckRequest) error
type SourceFile ¶
These are in-process snapshots, not wire DTOs. Each check sees the exact bytes whose digest caused notification, including explicit missing files.
type SourceWatch ¶
type SourceWatch struct {
// contains filtered or unexported fields
}
func NewSourceWatch ¶
func NewSourceWatch(root string, paths []string, interval time.Duration, check SourceCheck) (*SourceWatch, error)
NewSourceWatch accepts only explicit relative files, bounded in count and size. Checks must honor ctx; a callback owns no additional watcher goroutine.
func (*SourceWatch) Start ¶
func (watch *SourceWatch) Start(ctx context.Context) (<-chan WatchResult, error)
Start captures the baseline before returning. One goroutine owns observation, checks and coalescing. A slow consumer applies backpressure, cancellably.
type WatchResult ¶
Source Files
¶
- agent_assignment.go
- agent_configuration.go
- agent_configuration_postgres.go
- agent_mcp_authentication.go
- agent_messaging.go
- agent_sessions.go
- agent_workbench.go
- api_cgen.go
- dashboard.go
- dispatch.go
- email.go
- farm.go
- knowledge.go
- metrics.go
- metrics_simulations.go
- metrics_telemetry.go
- onboarding.go
- opensearch.go
- opensearch_client_cgen.go
- postgres.go
- projection.go
- projection_postgres.go
- service.go
- simulation_artifacts.go
- simulation_local.go
- simulation_logs.go
- simulation_progress.go
- simulation_traces.go
- simulation_views.go
- simulation_views_gen.go
- simulation_views_seam.go
- simulations.go
- watch.go
- watch_checks.go
- workbench_theme.go

