conversation

package
v0.2.21 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2026 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ResolveConversationUsageStatus

func ResolveConversationUsageStatus(usage *ConversationUsage)

ResolveConversationUsageStatus recomputes the aggregate status after an adapter or Skill Runtime adds authoritative send-time information.

Types

type ConversationContextUsage

type ConversationContextUsage struct {
	Artifact                 artifact.ArtifactRef           `json:"artifact"`
	Name                     string                         `json:"name,omitempty"`
	Locator                  basespec.Locator               `json:"locator,omitempty"`
	SelectedDefinitionDigest cryptoutil.Digest              `json:"selectedDefinitionDigest,omitempty"`
	UsedDefinitionDigest     cryptoutil.Digest              `json:"usedDefinitionDigest,omitempty"`
	UsedArtifactRevision     uint64                         `json:"usedArtifactRevision,omitempty"`
	Status                   ConversationContextUsageStatus `json:"status"`
	Code                     string                         `json:"code,omitempty"`
	OriginalBytes            int                            `json:"originalBytes,omitempty"`
	IncludedBytes            int                            `json:"includedBytes,omitempty"`
	Changed                  bool                           `json:"changed,omitempty"`
	Diagnostics              []diagnostic.Diagnostic        `json:"diagnostics,omitempty"`
}

type ConversationContextUsageStatus

type ConversationContextUsageStatus string
const (
	ConversationContextUsageIncluded    ConversationContextUsageStatus = "included"
	ConversationContextUsageTruncated   ConversationContextUsageStatus = "truncated"
	ConversationContextUsageExcluded    ConversationContextUsageStatus = "excluded"
	ConversationContextUsageDenied      ConversationContextUsageStatus = "denied"
	ConversationContextUsageUnavailable ConversationContextUsageStatus = "unavailable"
)

type ConversationResolution

type ConversationResolution struct {
	Usage  ConversationUsage
	Prompt string
}

type ConversationResolver

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

func NewConversationResolver

func NewConversationResolver(
	workspaceAPI WorkspaceSource,
) (*ConversationResolver, error)

func (*ConversationResolver) ResolveConversationSelection

func (cr *ConversationResolver) ResolveConversationSelection(
	ctx context.Context,
	selection ConversationSelection,
) (ConversationResolution, error)

type ConversationResourceSelectionRef

type ConversationResourceSelectionRef struct {
	Artifact         artifact.ArtifactRef `json:"artifact"`
	Name             string               `json:"name,omitempty"`
	Locator          basespec.Locator     `json:"locator,omitempty"`
	DefinitionDigest cryptoutil.Digest    `json:"definitionDigest,omitempty"`
	ArtifactRevision uint64               `json:"artifactRevision,omitempty"`
}

type ConversationSelection

type ConversationSelection struct {
	Workspace         workspaceDomain.WorkspaceRef       `json:"workspace"`
	DisplayName       string                             `json:"displayName,omitempty"`
	WorkspaceRevision uint64                             `json:"workspaceRevision,omitempty"`
	CatalogRevision   uint64                             `json:"catalogRevision,omitempty"`
	ContextRefs       []ConversationResourceSelectionRef `json:"contextRefs,omitempty"`
	SkillRefs         []ConversationResourceSelectionRef `json:"skillRefs,omitempty"`
}

type ConversationSelectionStatus

type ConversationSelectionStatus string
const (
	ConversationSelectionReady       ConversationSelectionStatus = "ready"
	ConversationSelectionPartial     ConversationSelectionStatus = "partial"
	ConversationSelectionUnavailable ConversationSelectionStatus = "unavailable"
)

type ConversationSkillUsage

type ConversationSkillUsage struct {
	Artifact                 artifact.ArtifactRef         `json:"artifact"`
	Name                     string                       `json:"name,omitempty"`
	DisplayName              string                       `json:"displayName,omitempty"`
	Locator                  basespec.Locator             `json:"locator,omitempty"`
	SelectedDefinitionDigest cryptoutil.Digest            `json:"selectedDefinitionDigest,omitempty"`
	UsedDefinitionDigest     cryptoutil.Digest            `json:"usedDefinitionDigest,omitempty"`
	UsedArtifactRevision     uint64                       `json:"usedArtifactRevision,omitempty"`
	Status                   ConversationSkillUsageStatus `json:"status"`
	Changed                  bool                         `json:"changed,omitempty"`
	SessionAvailable         bool                         `json:"sessionAvailable,omitempty"`
	Active                   bool                         `json:"active,omitempty"`
	Advertised               bool                         `json:"advertised,omitempty"`
	Diagnostics              []diagnostic.Diagnostic      `json:"diagnostics,omitempty"`
}

type ConversationSkillUsageStatus

type ConversationSkillUsageStatus string
const (
	ConversationSkillUsageAvailable   ConversationSkillUsageStatus = "available"
	ConversationSkillUsageUnavailable ConversationSkillUsageStatus = "unavailable"
)

type ConversationUsage

type ConversationUsage struct {
	Workspace         workspaceDomain.WorkspaceRef `json:"workspace"`
	DisplayName       string                       `json:"displayName,omitempty"`
	WorkspaceRevision uint64                       `json:"workspaceRevision,omitempty"`
	CatalogRevision   uint64                       `json:"catalogRevision,omitempty"`
	Status            ConversationSelectionStatus  `json:"status"`
	Contexts          []ConversationContextUsage   `json:"contexts,omitempty"`
	Skills            []ConversationSkillUsage     `json:"skills,omitempty"`
	Diagnostics       []diagnostic.Diagnostic      `json:"diagnostics,omitempty"`
}

type WorkspaceSource

WorkspaceSource is the minimal aggregate-facing port required to resolve persisted Workspace selections at inference time.

Jump to

Keyboard shortcuts

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