views

package
v0.1.107 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: AGPL-3.0, AGPL-3.0-or-later Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const ComponentRegistryDoc = `` /* 4865-byte string literal not displayed */

Variables

View Source
var ErrInvalidViewColumnKey = errors.New("invalid view column key")
View Source
var ErrNoOutputsForTask = errors.New("no outputs found for task")
View Source
var ErrViewRowNotFound = errors.New("view row not found")

Functions

func MappingSchemaHash added in v0.1.104

func MappingSchemaHash(sheet types.SheetSpec, comp types.ComponentSpec) string

func NormalizeDefinition

func NormalizeDefinition(def *types.ViewDefinition)

NormalizeDefinition canonicalizes a view definition for persistence. It enforces the same schema invariants used by the copilot publish path.

func OutputMatchesDataSource

func OutputMatchesDataSource(output *types.TaskOutput, ds *types.DataSource) bool

Types

type Artifact

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

Artifact derives stable identity and display properties from a TaskOutput. BAML ExtractOutputs provides artifact_key, artifact_label, and artifact_kind at generation time. The methods below prefer those explicit values and fall back to lightweight heuristics for outputs created before the BAML enrichment.

func ArtifactOf

func ArtifactOf(o *types.TaskOutput) Artifact

func (Artifact) Key

func (a Artifact) Key() string

func (Artifact) Kind

func (a Artifact) Kind() string

func (Artifact) Label

func (a Artifact) Label() string

func (Artifact) MatchesKey

func (a Artifact) MatchesKey(artifactKey string) bool

type Copilot

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

func NewCopilot

func NewCopilot(s2 *common.S2Client, redis *common.RedisClient, backend repository.BackendRepository, storage *clients.StorageClient, agentAPI *orchestration.AgentAPI) *Copilot

func (*Copilot) BuildWorkspaceContext

func (c *Copilot) BuildWorkspaceContext(ctx context.Context, workspaceID uint) string

func (*Copilot) CreateDraft

func (c *Copilot) CreateDraft(workspaceID string) *Draft

func (*Copilot) DeleteDraft

func (c *Copilot) DeleteDraft(ctx context.Context, workspaceID, draftID string) error

func (*Copilot) DraftsAvailable

func (c *Copilot) DraftsAvailable() bool

func (*Copilot) ExecuteOperations

func (c *Copilot) ExecuteOperations(ctx context.Context, workspaceID uint, ops []bamltypes.Operation) []OperationResult

func (*Copilot) FormatHistory

func (c *Copilot) FormatHistory(messages []DraftMessage) string

func (*Copilot) GenerateStream

func (c *Copilot) GenerateStream(
	ctx context.Context,
	draft *Draft,
	workspaceID uint,
	userMessage string,
	onChunk func(partial *PartialViewDraftResponse),
) (*bamltypes.ViewDraftResponse, error)

func (*Copilot) IndexDraftCreated

func (c *Copilot) IndexDraftCreated(ctx context.Context, workspaceID, draftID, desc, viewName, viewID string) error

func (*Copilot) IndexDraftPublished

func (c *Copilot) IndexDraftPublished(ctx context.Context, workspaceID, draftID, viewName, viewID string) error

func (*Copilot) IndexDraftPublishedAsync added in v0.1.107

func (c *Copilot) IndexDraftPublishedAsync(workspaceID, draftID, viewName, viewID string)

func (*Copilot) ListDrafts

func (c *Copilot) ListDrafts(ctx context.Context, workspaceID string) ([]DraftSummary, error)

func (*Copilot) LoadDraft

func (c *Copilot) LoadDraft(ctx context.Context, workspaceID, draftID string) (*Draft, error)

func (*Copilot) PersistMeta

func (c *Copilot) PersistMeta(ctx context.Context, draft *Draft) error

Public persistence API — thin wrappers for callers.

func (*Copilot) PersistPublishedViewID

func (c *Copilot) PersistPublishedViewID(ctx context.Context, draftID, viewID string) error

func (*Copilot) PersistViewContent

func (c *Copilot) PersistViewContent(ctx context.Context, draftID, viewContent string) error

func (*Copilot) PublishView

func (c *Copilot) PublishView(ctx context.Context, draft *Draft, workspaceID uint) (*types.View, error)

func (*Copilot) ReconcileViewContent

func (c *Copilot) ReconcileViewContent(ctx context.Context, workspaceID uint, viewContent string, opResults []OperationResult) (string, error)

type DataResolver

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

func NewDataResolver

func NewDataResolver(backend repository.BackendRepository, store *ViewStore) *DataResolver

func (*DataResolver) RegenerateRow

func (r *DataResolver) RegenerateRow(ctx context.Context, workspaceID uint, viewID string, sheet types.SheetSpec, comp types.ComponentSpec, taskID string, opts ResolveOptions) (*types.ResolvedData, error)

RegenerateRow re-maps a single task's outputs through BAML for one sheet, replacing the cached rows for that task. Returns the full re-assembled table.

func (*DataResolver) Resolve

func (r *DataResolver) Resolve(ctx context.Context, workspaceID uint, viewID string, sheet types.SheetSpec, comp types.ComponentSpec, opts ResolveOptions) (*types.ResolvedData, error)

Resolve maps task outputs to a sheet table's schema using BAML.

func (*DataResolver) Store

func (r *DataResolver) Store() *ViewStore

Store returns the ViewStore for direct access (used by the views API for cell edits).

type Draft

type Draft struct {
	ID              string         `json:"id"`
	WorkspaceID     string         `json:"workspace_id"`
	Status          string         `json:"status"`
	ViewContent     string         `json:"view_content"`
	PublishedViewID string         `json:"published_view_id,omitempty"`
	Messages        []DraftMessage `json:"messages"`
	CreatedAt       int64          `json:"created_at"`
	UpdatedAt       int64          `json:"updated_at"`
}

type DraftMessage

type DraftMessage struct {
	Role      string `json:"role"`
	Content   string `json:"content"`
	Timestamp int64  `json:"ts"`
}

type DraftSummary

type DraftSummary struct {
	ID          string `json:"id"`
	Status      string `json:"status"`
	ViewName    string `json:"view_name,omitempty"`
	ViewID      string `json:"view_id,omitempty"`
	Description string `json:"description,omitempty"`
	CreatedAt   int64  `json:"created_at"`
	UpdatedAt   int64  `json:"updated_at"`
}

type OperationResult

type OperationResult struct {
	Type    string `json:"type"`
	Name    string `json:"name"`
	Status  string `json:"status"`
	Error   string `json:"error,omitempty"`
	AgentID string `json:"agent_id,omitempty"`
}

type PartialViewDraftResponse

type PartialViewDraftResponse struct {
	Message     string
	ViewContent string
	UpdateType  string
}

type ResolveOptions

type ResolveOptions struct {
	ForceRefresh  bool
	ViewAgentRefs []string
}

type ViewRow

type ViewRow struct {
	ID              string            `bson:"_id"`
	SheetID         string            `bson:"sheet_id"`
	ComponentID     string            `bson:"component_id,omitempty"`
	GroupID         string            `bson:"group_id"`
	TaskID          string            `bson:"task_id"`
	RowKey          string            `bson:"row_key"`
	SchemaHash      string            `bson:"schema_hash"`
	OutputIDs       []string          `bson:"output_ids"`
	SourceOutputIDs []string          `bson:"source_output_ids,omitempty"`
	Cells           map[string]string `bson:"cells"`
	Manual          map[string]string `bson:"manual,omitempty"`
	UpdatedAt       time.Time         `bson:"updated_at"`
}

ViewRow is the MongoDB document schema for a single rendered row in a sheet.

func (*ViewRow) MergedCells

func (r *ViewRow) MergedCells() map[string]string

MergedCells returns cells with manual edits overlaid on top of BAML-mapped cells.

type ViewStore

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

func NewViewStore

func NewViewStore(mongo *common.MongoClient) *ViewStore

func (*ViewStore) Available

func (s *ViewStore) Available() bool

func (*ViewStore) ClearManualCells

func (s *ViewStore) ClearManualCells(ctx context.Context, viewID, sheetID, componentID string, rowIDs, columnKeys []string) error

ClearManualCells removes manual overlays for the given rows and columns.

func (*ViewStore) DeleteColumn

func (s *ViewStore) DeleteColumn(ctx context.Context, viewID, sheetID, componentID, key, schemaHash string) error

DeleteColumn removes a column key from cells and manual across a component scope.

func (*ViewStore) DeleteRowsNotInGroups

func (s *ViewStore) DeleteRowsNotInGroups(ctx context.Context, viewID, sheetID, componentID string, groupIDs, keepRowIDs []string) error

DeleteRowsNotInGroups removes stale rows for the remapped groups.

func (*ViewStore) DeleteSheet

func (s *ViewStore) DeleteSheet(ctx context.Context, viewID, sheetID string) error

DeleteSheet removes all rows for a sheet.

func (*ViewStore) DropView

func (s *ViewStore) DropView(ctx context.Context, viewID string) error

DropView drops the entire MongoDB collection for a view.

func (*ViewStore) ExcludeRow

func (s *ViewStore) ExcludeRow(ctx context.Context, viewID, sheetID, rowID string) error

ExcludeRow adds a row ID to the per-sheet exclusion set.

func (*ViewStore) GetExcludedRowIDs

func (s *ViewStore) GetExcludedRowIDs(ctx context.Context, viewID, sheetID string) (map[string]bool, error)

GetExcludedRowIDs returns the set of excluded row IDs for a sheet.

func (*ViewStore) GetRow

func (s *ViewStore) GetRow(ctx context.Context, viewID, sheetID, rowID string) (*ViewRow, error)

func (*ViewStore) GetRows

func (s *ViewStore) GetRows(ctx context.Context, viewID, sheetID, componentID string) ([]ViewRow, error)

func (*ViewStore) RenameColumn

func (s *ViewStore) RenameColumn(ctx context.Context, viewID, sheetID, componentID, oldKey, newKey, schemaHash string) error

RenameColumn renames a column key in cells and manual across a component scope.

func (*ViewStore) RestoreRow

func (s *ViewStore) RestoreRow(ctx context.Context, viewID, sheetID, rowID string) error

RestoreRow removes a row ID from the per-sheet exclusion set.

func (*ViewStore) UpdateCells

func (s *ViewStore) UpdateCells(ctx context.Context, viewID, sheetID, rowID string, cells map[string]string) error

UpdateCells writes user-edited values into the manual overlay.

func (*ViewStore) UpsertRows

func (s *ViewStore) UpsertRows(ctx context.Context, viewID string, rows []ViewRow) error

UpsertRows bulk-upserts rows into the view collection. Existing manual edits are preserved — only computed row data is replaced.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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