researchdossier

package
v0.0.0-...-804b954 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package researchdossier is the public-contract Research Dossier application.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewWebHandler

func NewWebHandler(app *App) (http.Handler, error)

NewWebHandler creates the loopback Research Dossier web UI. Its server owns the public SDK credential; the browser never receives it. Mutations require a per-handler CSRF token and same-origin browser request.

func RunTerminal

func RunTerminal(ctx context.Context, app *App, input io.Reader, output io.Writer) error

RunTerminal runs the Research Dossier terminal UI through the same public App controller as the web UI. It never creates a direct worker or blob client.

Types

type App

type App struct {
	// contains filtered or unexported fields
}

App coordinates durable research work through the public runtime contract.

func NewApp

func NewApp(client Client, keys KeySource) (*App, error)

NewApp constructs a public-contract Research Dossier application controller.

func (*App) Artifacts

func (app *App) Artifacts(ctx context.Context, sessionID agentruntime.SessionID) (agentruntime.ArtifactPage, error)

Artifacts lists retained immutable output metadata for the exact Session.

func (*App) Download

func (app *App) Download(ctx context.Context, artifactID agentruntime.ArtifactID) (Dossier, error)

Download reads one exact caller-authorized dossier Artifact and derives its citation index from retained bytes; it never accepts an external storage URL.

func (*App) Research

func (app *App) Research(ctx context.Context, sessionID agentruntime.SessionID, question string) (agentruntime.SendInputResult, error)

Research appends one bounded research step behind earlier durable work.

func (*App) Resume

func (app *App) Resume(ctx context.Context, sessionID agentruntime.SessionID, after agentruntime.Cursor) (Progress, error)

Resume recovers current research state and Product events after a browser, terminal, or API-process interruption. A Gap remains explicit to callers.

func (*App) Start

Start creates one research Session and durably submits its initial brief.

type Citation

type Citation struct {
	URL string
}

Citation is one safe web citation found in a retained dossier Artifact.

func ExtractCitations

func ExtractCitations(body []byte) []Citation

ExtractCitations returns ordered, de-duplicated absolute HTTP(S) citations. Non-web schemes and malformed URLs never become clickable public citations.

type Client

Client is the narrow public SDK surface used by Research Dossier. It keeps the application independent of private state, Temporal, blob, and tool APIs.

type Dossier

type Dossier struct {
	Artifact  agentruntime.ArtifactReference
	Body      []byte
	Citations []Citation
}

Dossier is a downloaded immutable Artifact and its safe citation index.

type KeySource

type KeySource interface {
	Next(string) (string, error)
}

KeySource creates one opaque idempotency key for a user-initiated command.

type Progress

type Progress struct {
	Session agentruntime.SessionView
	Events  agentruntime.EventPage
}

Progress is a durable Session snapshot paired with a resumable event page.

type RandomKeys

type RandomKeys struct{}

RandomKeys creates opaque idempotency keys without deriving them from a research brief, source, citation, or Artifact body.

func (RandomKeys) Next

func (RandomKeys) Next(action string) (string, error)

Next returns one bounded opaque idempotency key for a dossier user action.

Directories

Path Synopsis
cmd
research-dossier command
Command research-dossier runs the Research Dossier web or terminal example through Agent Runtime's public Go SDK only.
Command research-dossier runs the Research Dossier web or terminal example through Agent Runtime's public Go SDK only.

Jump to

Keyboard shortcuts

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