workspace

package
v0.2.12 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2026 License: MPL-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const WorkspaceSkillIdentityPrefix = "workspace/"

Variables

This section is empty.

Functions

func BuiltinArtifactSupports added in v0.2.10

func BuiltinArtifactSupports() []engine.ArtifactSupport

func BuiltinDecoders added in v0.2.10

func BuiltinDecoders() []discovery.Decoder

func BuiltinDiscoveryProfiles added in v0.2.10

func BuiltinDiscoveryProfiles() engine.DiscoveryProfiles

func ParseWorkspaceSkillIdentity added in v0.2.12

func ParseWorkspaceSkillIdentity(
	identity string,
) (artifactstore.RootID, artifactstore.RecordID, error)

func ResolveConversationUsageStatus added in v0.2.12

func ResolveConversationUsageStatus(usage *ConversationUsage)

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

func WorkspaceSkillIdentity added in v0.2.12

func WorkspaceSkillIdentity(
	rootID artifactstore.RootID,
	recordID artifactstore.RecordID,
) string

Types

type API added in v0.2.10

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

API is the workspace aggregate boundary for HTTP, Wails, CLI, and other application transports. It owns API-safe projections and never exposes raw source configuration or artifact-store composition details.

func Open added in v0.2.10

func Open(
	ctx context.Context,
	config OpenConfig,
) (*API, error)

func (*API) AttachWorkspaceSource added in v0.2.10

func (a *API) AttachWorkspaceSource(
	ctx context.Context,
	request *AttachWorkspaceSourceRequest,
) (*AttachWorkspaceSourceResponse, error)

func (*API) Close added in v0.2.10

func (a *API) Close() error

func (*API) ComposeWorkspaceContext added in v0.2.10

func (a *API) ComposeWorkspaceContext(
	ctx context.Context,
	request *ComposeWorkspaceContextRequest,
) (*ComposeWorkspaceContextResponse, error)

func (*API) CreateEmptyWorkspace added in v0.2.10

func (a *API) CreateEmptyWorkspace(
	ctx context.Context,
	request *CreateEmptyWorkspaceRequest,
) (*CreateEmptyWorkspaceResponse, error)

func (*API) CreateFilesystemWorkspace added in v0.2.10

func (a *API) CreateFilesystemWorkspace(
	ctx context.Context,
	request *CreateFilesystemWorkspaceRequest,
) (*CreateFilesystemWorkspaceResponse, error)

func (*API) DeleteWorkspace added in v0.2.10

func (a *API) DeleteWorkspace(
	ctx context.Context,
	request *DeleteWorkspaceRequest,
) (*DeleteWorkspaceResponse, error)

func (*API) DeleteWorkspaceRecord added in v0.2.11

func (a *API) DeleteWorkspaceRecord(
	ctx context.Context,
	request *DeleteWorkspaceRecordRequest,
) (*DeleteWorkspaceRecordResponse, error)

func (*API) DetachWorkspaceSource added in v0.2.10

func (a *API) DetachWorkspaceSource(
	ctx context.Context,
	request *DetachWorkspaceSourceRequest,
) (*DetachWorkspaceSourceResponse, error)

func (*API) GetWorkspace added in v0.2.10

func (a *API) GetWorkspace(
	ctx context.Context,
	request *GetWorkspaceRequest,
) (*GetWorkspaceResponse, error)

func (*API) GetWorkspaceCatalog added in v0.2.10

func (a *API) GetWorkspaceCatalog(
	ctx context.Context,
	request *GetWorkspaceCatalogRequest,
) (*GetWorkspaceCatalogResponse, error)

func (*API) GetWorkspaceRecord added in v0.2.11

func (a *API) GetWorkspaceRecord(
	ctx context.Context,
	request *GetWorkspaceRecordRequest,
) (*GetWorkspaceRecordResponse, error)

func (*API) ListWorkspaceContexts added in v0.2.11

func (a *API) ListWorkspaceContexts(
	ctx context.Context,
	request *ListWorkspaceContextsRequest,
) (*ListWorkspaceContextsResponse, error)

func (*API) ListWorkspaceSkills added in v0.2.10

func (a *API) ListWorkspaceSkills(
	ctx context.Context,
	request *ListWorkspaceSkillsRequest,
) (*ListWorkspaceSkillsResponse, error)

func (*API) ListWorkspaces added in v0.2.10

func (a *API) ListWorkspaces(
	ctx context.Context,
	_ *ListWorkspacesRequest,
) (*ListWorkspacesResponse, error)

func (*API) LoadWorkspaceContexts added in v0.2.11

func (a *API) LoadWorkspaceContexts(
	ctx context.Context,
	request *LoadWorkspaceContextsRequest,
) (*LoadWorkspaceContextsResponse, error)

func (*API) LoadWorkspaceSkills added in v0.2.10

func (a *API) LoadWorkspaceSkills(
	ctx context.Context,
	request *LoadWorkspaceSkillsRequest,
) (*LoadWorkspaceSkillsResponse, error)

func (*API) RefreshWorkspace added in v0.2.10

func (a *API) RefreshWorkspace(
	ctx context.Context,
	request *RefreshWorkspaceRequest,
) (*RefreshWorkspaceResponse, error)

func (*API) ResolveConversationSelection added in v0.2.12

func (a *API) ResolveConversationSelection(
	ctx context.Context,
	selection ConversationSelection,
) (ConversationResolution, error)

func (*API) SetWorkspaceRecordEnabled added in v0.2.10

func (a *API) SetWorkspaceRecordEnabled(
	ctx context.Context,
	request *SetWorkspaceRecordEnabledRequest,
) (*SetWorkspaceRecordEnabledResponse, error)

func (*API) SetWorkspaceRecordRuntimeDisabled added in v0.2.12

func (a *API) SetWorkspaceRecordRuntimeDisabled(
	ctx context.Context,
	request *SetWorkspaceRecordRuntimeDisabledRequest,
) (*SetWorkspaceRecordRuntimeDisabledResponse, error)

func (*API) SkillAdapter added in v0.2.11

func (a *API) SkillAdapter() *skilladapter.Adapter

SkillAdapter returns the Workspace-owned Skill source adapter. Consumers may list or load Workspace Skills, but lifecycle policy remains outside workspace.

func (*API) UpdateWorkspace added in v0.2.10

func (a *API) UpdateWorkspace(
	ctx context.Context,
	request *UpdateWorkspaceRequest,
) (*UpdateWorkspaceResponse, error)

func (*API) UpdateWorkspaceAttachment added in v0.2.10

func (a *API) UpdateWorkspaceAttachment(
	ctx context.Context,
	request *UpdateWorkspaceAttachmentRequest,
) (*UpdateWorkspaceAttachmentResponse, error)

type AttachWorkspaceSourceRequest added in v0.2.10

type AttachWorkspaceSourceRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
	Body   *AttachWorkspaceSourceRequestBody
}

type AttachWorkspaceSourceRequestBody added in v0.2.10

type AttachWorkspaceSourceRequestBody struct {
	ExpectedRootRevision uint64                       `json:"expectedRootRevision" required:"true"`
	SourceID             artifactstore.SourceID       `json:"sourceID"             required:"true"`
	Role                 artifactstore.AttachmentRole `json:"role"                 required:"true"`
	Enabled              bool                         `json:"enabled"              required:"true"`
	Settings             WorkspaceAttachmentSettings  `json:"settings"`
}

type AttachWorkspaceSourceResponse added in v0.2.10

type AttachWorkspaceSourceResponse struct {
	Body *WorkspaceView
}

type ComposeWorkspaceContextRequest added in v0.2.10

type ComposeWorkspaceContextRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
	Body   *ComposeWorkspaceContextRequestBody
}

type ComposeWorkspaceContextRequestBody added in v0.2.10

type ComposeWorkspaceContextRequestBody struct {
	RecordIDs []artifactstore.RecordID `json:"recordIDs,omitempty"`
}

type ComposeWorkspaceContextResponse added in v0.2.10

type ComposeWorkspaceContextResponse struct {
	Body *WorkspaceContextLoadPlan
}

type Config added in v0.2.10

type Config struct {
	Supports           []engine.ArtifactSupport
	DiscoveryProfiles  engine.DiscoveryProfiles
	SkillRoots         []artifactstore.Locator
	ContextComposition contextadapter.CompositionPolicy
	SourceUsePolicy    engine.SourceUsePolicy
}

func DefaultConfig added in v0.2.10

func DefaultConfig() Config

type ConversationContextUsage added in v0.2.12

type ConversationContextUsage struct {
	RecordID                 artifactstore.RecordID         `json:"recordID"`
	Name                     string                         `json:"name,omitempty"`
	Locator                  artifactstore.Locator          `json:"locator,omitempty"`
	SelectedDefinitionDigest artifactstore.Digest           `json:"selectedDefinitionDigest,omitempty"`
	UsedDefinitionDigest     artifactstore.Digest           `json:"usedDefinitionDigest,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              []artifactstore.Diagnostic     `json:"diagnostics,omitempty"`
}

type ConversationContextUsageStatus added in v0.2.12

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

type ConversationResolution added in v0.2.12

type ConversationResolution struct {
	Usage  ConversationUsage
	Prompt string
}

type ConversationResourceSelectionRef added in v0.2.12

type ConversationResourceSelectionRef struct {
	RecordID         artifactstore.RecordID `json:"recordID"`
	Name             string                 `json:"name,omitempty"`
	Locator          artifactstore.Locator  `json:"locator,omitempty"`
	DefinitionDigest artifactstore.Digest   `json:"definitionDigest,omitempty"`
	RecordRevision   uint64                 `json:"recordRevision,omitempty"`
}

type ConversationSelection added in v0.2.12

type ConversationSelection struct {
	RootID            artifactstore.RootID               `json:"rootID"`
	DisplayName       string                             `json:"displayName,omitempty"`
	WorkspaceRevision uint64                             `json:"workspaceRevision,omitempty"`
	CatalogRevision   uint64                             `json:"catalogRevision,omitempty"`
	ContextRefs       []ConversationResourceSelectionRef `json:"contextRefs,omitempty"`
	SkillRefs         []ConversationSkillSelectionRef    `json:"skillRefs,omitempty"`
}

type ConversationSelectionStatus added in v0.2.12

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

type ConversationSkillSelectionRef added in v0.2.12

type ConversationSkillSelectionRef struct {
	ConversationResourceSelectionRef

	Identity    string               `json:"identity"`
	DisplayName string               `json:"displayName,omitempty"`
	Insert      WorkspaceSkillInsert `json:"insert,omitempty"`
}

type ConversationSkillUsage added in v0.2.12

type ConversationSkillUsage struct {
	RecordID                 artifactstore.RecordID       `json:"recordID"`
	Identity                 string                       `json:"identity"`
	Name                     string                       `json:"name,omitempty"`
	DisplayName              string                       `json:"displayName,omitempty"`
	Locator                  artifactstore.Locator        `json:"locator,omitempty"`
	SelectedDefinitionDigest artifactstore.Digest         `json:"selectedDefinitionDigest,omitempty"`
	UsedDefinitionDigest     artifactstore.Digest         `json:"usedDefinitionDigest,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              []artifactstore.Diagnostic   `json:"diagnostics,omitempty"`
}

type ConversationSkillUsageStatus added in v0.2.12

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

type ConversationUsage added in v0.2.12

type ConversationUsage struct {
	RootID            artifactstore.RootID        `json:"rootID"`
	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       []artifactstore.Diagnostic  `json:"diagnostics,omitempty"`
}

type CreateEmptyWorkspaceRequest added in v0.2.10

type CreateEmptyWorkspaceRequest struct {
	Body *CreateEmptyWorkspaceRequestBody
}

type CreateEmptyWorkspaceRequestBody added in v0.2.10

type CreateEmptyWorkspaceRequestBody struct {
	DisplayName string             `json:"displayName"           required:"true"`
	Description string             `json:"description,omitempty"`
	Discovery   WorkspaceDiscovery `json:"discovery"`
}

type CreateEmptyWorkspaceResponse added in v0.2.10

type CreateEmptyWorkspaceResponse struct {
	Body *WorkspaceView
}

type CreateFilesystemWorkspaceRequest added in v0.2.10

type CreateFilesystemWorkspaceRequest struct {
	Body *CreateFilesystemWorkspaceRequestBody
}

type CreateFilesystemWorkspaceRequestBody added in v0.2.10

type CreateFilesystemWorkspaceRequestBody struct {
	DisplayName string             `json:"displayName"           required:"true"`
	Description string             `json:"description,omitempty"`
	RootPath    string             `json:"rootPath"              required:"true"`
	Discovery   WorkspaceDiscovery `json:"discovery"`
}

type CreateFilesystemWorkspaceResponse added in v0.2.10

type CreateFilesystemWorkspaceResponse struct {
	Body *WorkspaceView
}

type DeleteWorkspaceRecordRequest added in v0.2.11

type DeleteWorkspaceRecordRequest struct {
	RootID           artifactstore.RootID   `path:"rootID"   required:"true"`
	RecordID         artifactstore.RecordID `path:"recordID" required:"true"`
	ExpectedRevision uint64                 `                required:"true" query:"expectedRevision"`
}

type DeleteWorkspaceRecordResponse added in v0.2.11

type DeleteWorkspaceRecordResponse struct {
	Body *DeleteWorkspaceRecordResponseBody
}

type DeleteWorkspaceRecordResponseBody added in v0.2.11

type DeleteWorkspaceRecordResponseBody struct {
	RecordID artifactstore.RecordID `json:"recordID"`
}

type DeleteWorkspaceRequest added in v0.2.9

type DeleteWorkspaceRequest struct {
	RootID           artifactstore.RootID `path:"rootID" required:"true"`
	ExpectedRevision uint64               `              required:"true" query:"expectedRevision"`
}

type DeleteWorkspaceResponse added in v0.2.10

type DeleteWorkspaceResponse struct {
	Body *DeleteWorkspaceResponseBody
}

type DeleteWorkspaceResponseBody added in v0.2.10

type DeleteWorkspaceResponseBody struct {
	RootID   artifactstore.RootID `json:"rootID"`
	Revision uint64               `json:"revision"`
}

type DetachWorkspaceSourceRequest added in v0.2.10

type DetachWorkspaceSourceRequest struct {
	RootID                     artifactstore.RootID   `path:"rootID"   required:"true"`
	SourceID                   artifactstore.SourceID `path:"sourceID" required:"true"`
	ExpectedRootRevision       uint64                 `                required:"true" query:"expectedRootRevision"`
	ExpectedAttachmentRevision uint64                 `                required:"true" query:"expectedAttachmentRevision"`
}

type DetachWorkspaceSourceResponse added in v0.2.10

type DetachWorkspaceSourceResponse struct {
	Body *WorkspaceView
}

type GetWorkspaceCatalogRequest added in v0.2.10

type GetWorkspaceCatalogRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
}

type GetWorkspaceCatalogResponse added in v0.2.10

type GetWorkspaceCatalogResponse struct {
	Body *WorkspaceCatalogView
}

type GetWorkspaceRecordRequest added in v0.2.11

type GetWorkspaceRecordRequest struct {
	RootID   artifactstore.RootID   `path:"rootID"   required:"true"`
	RecordID artifactstore.RecordID `path:"recordID" required:"true"`
}

type GetWorkspaceRecordResponse added in v0.2.11

type GetWorkspaceRecordResponse struct {
	Body *WorkspaceRecordView
}

type GetWorkspaceRequest added in v0.2.10

type GetWorkspaceRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
}

type GetWorkspaceResponse added in v0.2.10

type GetWorkspaceResponse struct {
	Body *WorkspaceView
}

type ListWorkspaceContextsRequest added in v0.2.11

type ListWorkspaceContextsRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
}

type ListWorkspaceContextsResponse added in v0.2.11

type ListWorkspaceContextsResponse struct {
	Body *ListWorkspaceContextsResponseBody
}

type ListWorkspaceContextsResponseBody added in v0.2.11

type ListWorkspaceContextsResponseBody struct {
	Contexts []WorkspaceContextView `json:"contexts"`
}

type ListWorkspaceSkillsRequest added in v0.2.10

type ListWorkspaceSkillsRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
}

type ListWorkspaceSkillsResponse added in v0.2.10

type ListWorkspaceSkillsResponse struct {
	Body *ListWorkspaceSkillsResponseBody
}

type ListWorkspaceSkillsResponseBody added in v0.2.10

type ListWorkspaceSkillsResponseBody struct {
	Skills []WorkspaceSkillView `json:"skills"`
}

type ListWorkspacesRequest added in v0.2.10

type ListWorkspacesRequest struct{}

type ListWorkspacesResponse added in v0.2.10

type ListWorkspacesResponse struct {
	Body *ListWorkspacesResponseBody
}

type ListWorkspacesResponseBody added in v0.2.10

type ListWorkspacesResponseBody struct {
	Workspaces []WorkspaceView `json:"workspaces"`
}

type LoadWorkspaceContextsRequest added in v0.2.11

type LoadWorkspaceContextsRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
	Body   *LoadWorkspaceContextsRequestBody
}

type LoadWorkspaceContextsRequestBody added in v0.2.11

type LoadWorkspaceContextsRequestBody struct {
	RecordIDs []artifactstore.RecordID `json:"recordIDs,omitempty"`
}

type LoadWorkspaceContextsResponse added in v0.2.11

type LoadWorkspaceContextsResponse struct {
	Body *WorkspaceContextInspectionView
}

type LoadWorkspaceSkillsRequest added in v0.2.10

type LoadWorkspaceSkillsRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
	Body   *LoadWorkspaceSkillsRequestBody
}

type LoadWorkspaceSkillsRequestBody added in v0.2.10

type LoadWorkspaceSkillsRequestBody struct {
	RecordIDs []artifactstore.RecordID `json:"recordIDs"`
}

type LoadWorkspaceSkillsResponse added in v0.2.10

type LoadWorkspaceSkillsResponse struct {
	Body *WorkspaceSkillLoadView
}

type OpenConfig added in v0.2.10

type OpenConfig struct {
	BaseDirectory string

	EmbeddedProviders        map[string]fs.FS
	AdditionalSourceAdapters []source.Adapter
	AdditionalDecoders       []discovery.Decoder

	Clock       artifactstore.Clock
	IDGenerator artifactstore.IDGenerator

	WorkspaceConfig           Config
	FilesystemTraversalPolicy *fsdir.TraversalPolicy
}

OpenConfig configures the workspace aggregate and its private artifact-store runtime. Additional adapters and decoders are extension seams, not API transport contracts.

type RefreshWorkspaceRequest added in v0.2.10

type RefreshWorkspaceRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
}

type RefreshWorkspaceResponse added in v0.2.10

type RefreshWorkspaceResponse struct {
	Body *WorkspaceRefreshResult
}

type SetWorkspaceRecordEnabledRequest added in v0.2.10

type SetWorkspaceRecordEnabledRequest struct {
	RootID   artifactstore.RootID   `path:"rootID"   required:"true"`
	RecordID artifactstore.RecordID `path:"recordID" required:"true"`
	Body     *SetWorkspaceRecordEnabledRequestBody
}

type SetWorkspaceRecordEnabledRequestBody added in v0.2.10

type SetWorkspaceRecordEnabledRequestBody struct {
	ExpectedRevision uint64 `json:"expectedRevision" required:"true"`
	Enabled          bool   `json:"enabled"          required:"true"`
}

type SetWorkspaceRecordEnabledResponse added in v0.2.10

type SetWorkspaceRecordEnabledResponse struct {
	Body *WorkspaceRecordView
}

type SetWorkspaceRecordRuntimeDisabledRequest added in v0.2.12

type SetWorkspaceRecordRuntimeDisabledRequest struct {
	RootID   artifactstore.RootID   `path:"rootID"   required:"true"`
	RecordID artifactstore.RecordID `path:"recordID" required:"true"`
	Body     *SetWorkspaceRecordRuntimeDisabledRequestBody
}

type SetWorkspaceRecordRuntimeDisabledRequestBody added in v0.2.12

type SetWorkspaceRecordRuntimeDisabledRequestBody struct {
	ExpectedRevision uint64 `json:"expectedRevision" required:"true"`
	RuntimeDisabled  bool   `json:"runtimeDisabled"  required:"true"`
}

type SetWorkspaceRecordRuntimeDisabledResponse added in v0.2.12

type SetWorkspaceRecordRuntimeDisabledResponse struct {
	Body *WorkspaceRecordView
}

type UpdateWorkspaceAttachmentRequest added in v0.2.10

type UpdateWorkspaceAttachmentRequest struct {
	RootID   artifactstore.RootID   `path:"rootID"   required:"true"`
	SourceID artifactstore.SourceID `path:"sourceID" required:"true"`
	Body     *UpdateWorkspaceAttachmentRequestBody
}

type UpdateWorkspaceAttachmentRequestBody added in v0.2.10

type UpdateWorkspaceAttachmentRequestBody struct {
	ExpectedRootRevision       uint64                       `json:"expectedRootRevision"       required:"true"`
	ExpectedAttachmentRevision uint64                       `json:"expectedAttachmentRevision" required:"true"`
	Role                       artifactstore.AttachmentRole `json:"role"                       required:"true"`
	Enabled                    bool                         `json:"enabled"                    required:"true"`
	Settings                   WorkspaceAttachmentSettings  `json:"settings"`
}

type UpdateWorkspaceAttachmentResponse added in v0.2.10

type UpdateWorkspaceAttachmentResponse struct {
	Body *WorkspaceView
}

type UpdateWorkspaceRequest added in v0.2.9

type UpdateWorkspaceRequest struct {
	RootID artifactstore.RootID `path:"rootID" required:"true"`
	Body   *UpdateWorkspaceRequestBody
}

type UpdateWorkspaceRequestBody added in v0.2.10

type UpdateWorkspaceRequestBody struct {
	ExpectedRevision uint64             `json:"expectedRevision"      required:"true"`
	DisplayName      string             `json:"displayName"           required:"true"`
	Description      string             `json:"description,omitempty"`
	Enabled          bool               `json:"enabled"               required:"true"`
	Discovery        WorkspaceDiscovery `json:"discovery"`
}

type UpdateWorkspaceResponse added in v0.2.10

type UpdateWorkspaceResponse struct {
	Body *WorkspaceView
}

type WorkspaceAttachmentSettings added in v0.2.10

type WorkspaceAttachmentSettings struct {
	Recursive     *bool `json:"recursive,omitempty"`
	Authoritative *bool `json:"authoritative,omitempty"`
}

type WorkspaceAttachmentView added in v0.2.10

type WorkspaceAttachmentView struct {
	SourceID          artifactstore.SourceID       `json:"sourceID"`
	Revision          uint64                       `json:"revision"`
	Role              artifactstore.AttachmentRole `json:"role"`
	Enabled           bool                         `json:"enabled"`
	SourceDisplayName string                       `json:"sourceDisplayName,omitempty"`
	SourceKind        string                       `json:"sourceKind,omitempty"`
	Path              string                       `json:"path,omitempty"`
	Settings          WorkspaceAttachmentSettings  `json:"settings"`
}

type WorkspaceCatalogView added in v0.2.10

type WorkspaceCatalogView struct {
	Workspace             WorkspaceView                `json:"workspace"`
	CatalogRevision       uint64                       `json:"catalogRevision"`
	CatalogCurrent        bool                         `json:"catalogCurrent"`
	Diagnostics           []artifactstore.Diagnostic   `json:"diagnostics,omitempty"`
	Resources             []WorkspaceResourceView      `json:"resources"`
	Groups                []WorkspaceResourceGroupView `json:"groups"`
	Occurrences           []WorkspaceOccurrenceView    `json:"occurrences"`
	ValidOccurrences      []WorkspaceOccurrenceView    `json:"validOccurrences"`
	InvalidOccurrences    []WorkspaceOccurrenceView    `json:"invalidOccurrences"`
	MissingOccurrences    []WorkspaceOccurrenceView    `json:"missingOccurrences"`
	UnrecordedOccurrences []WorkspaceOccurrenceView    `json:"unrecordedOccurrences"`
	UnresolvedRecords     []WorkspaceRecordView        `json:"unresolvedRecords"`
	UnrecordedCount       int                          `json:"unrecordedCount"`
	UnresolvedRecordCount int                          `json:"unresolvedRecordCount"`
}

type WorkspaceContextContribution added in v0.2.10

type WorkspaceContextContribution struct {
	RecordID         artifactstore.RecordID    `json:"recordID"`
	DefinitionDigest artifactstore.Digest      `json:"definitionDigest"`
	SourceID         artifactstore.SourceID    `json:"sourceID"`
	Locator          artifactstore.Locator     `json:"locator"`
	Name             string                    `json:"name"`
	Role             WorkspaceContextRole      `json:"role"`
	MediaType        WorkspaceContextMediaType `json:"mediaType"`
	Content          string                    `json:"content"`
	ConventionOrder  int                       `json:"conventionOrder"`
	OriginalBytes    int                       `json:"originalBytes"`
	IncludedBytes    int                       `json:"includedBytes"`
	Truncated        bool                      `json:"truncated"`
}

type WorkspaceContextDecision added in v0.2.11

type WorkspaceContextDecision struct {
	RecordID      artifactstore.RecordID           `json:"recordID"`
	Status        contextadapter.CompositionStatus `json:"status"`
	Code          string                           `json:"code,omitempty"`
	OriginalBytes int                              `json:"originalBytes"`
	IncludedBytes int                              `json:"includedBytes"`
}

type WorkspaceContextInspectionView added in v0.2.11

type WorkspaceContextInspectionView struct {
	RootID          artifactstore.RootID           `json:"rootID"`
	CatalogRevision uint64                         `json:"catalogRevision"`
	Contributions   []WorkspaceContextContribution `json:"contributions"`
	Diagnostics     []artifactstore.Diagnostic     `json:"diagnostics,omitempty"`
}

type WorkspaceContextLoadPlan added in v0.2.10

type WorkspaceContextLoadPlan struct {
	RootID          artifactstore.RootID           `json:"rootID"`
	CatalogRevision uint64                         `json:"catalogRevision"`
	Contributions   []WorkspaceContextContribution `json:"contributions"`
	Prompt          string                         `json:"prompt"`
	Diagnostics     []artifactstore.Diagnostic     `json:"diagnostics,omitempty"`
	Decisions       []WorkspaceContextDecision     `json:"decisions"`
	PromptBytes     int                            `json:"promptBytes"`
}

type WorkspaceContextMediaType added in v0.2.12

type WorkspaceContextMediaType string
const (
	WorkspaceContextMediaTypeMarkdown WorkspaceContextMediaType = "text/markdown"
)

type WorkspaceContextRole added in v0.2.12

type WorkspaceContextRole string
const (
	WorkspaceContextRoleAgentInstructions     WorkspaceContextRole = "agent-instructions"
	WorkspaceContextRoleAssistantInstructions WorkspaceContextRole = "assistant-instructions"
	WorkspaceContextRoleProjectReadme         WorkspaceContextRole = "project-readme"
	WorkspaceContextRoleProjectContext        WorkspaceContextRole = "project-context"
)

type WorkspaceContextView added in v0.2.11

type WorkspaceContextView struct {
	RecordID         artifactstore.RecordID     `json:"recordID"`
	RecordRevision   uint64                     `json:"recordRevision"`
	DefinitionDigest artifactstore.Digest       `json:"definitionDigest"`
	SourceID         artifactstore.SourceID     `json:"sourceID"`
	Locator          artifactstore.Locator      `json:"locator"`
	Name             string                     `json:"name"`
	Role             WorkspaceContextRole       `json:"role"`
	MediaType        WorkspaceContextMediaType  `json:"mediaType"`
	Enabled          bool                       `json:"enabled"`
	State            record.State               `json:"state"`
	CatalogCurrent   bool                       `json:"catalogCurrent"`
	ProjectionValid  bool                       `json:"projectionValid"`
	RuntimeDisabled  bool                       `json:"runtimeDisabled"`
	Diagnostics      []artifactstore.Diagnostic `json:"diagnostics,omitempty"`
}

type WorkspaceDiscovery added in v0.2.10

type WorkspaceDiscovery struct {
	AdditionalLocators []artifactstore.Locator  `json:"additionalLocators,omitempty"`
	AdditionalRoots    []WorkspaceDiscoveryRoot `json:"additionalRoots,omitempty"`
	IncludeReadme      bool                     `json:"includeReadme,omitempty"`
}

type WorkspaceDiscoveryRoot added in v0.2.10

type WorkspaceDiscoveryRoot struct {
	Root            artifactstore.Locator `json:"root"`
	Recursive       bool                  `json:"recursive"`
	IncludePatterns []string              `json:"includePatterns,omitempty"`
}

type WorkspaceOccurrenceView added in v0.2.11

type WorkspaceOccurrenceView struct {
	SourceID            artifactstore.SourceID           `json:"sourceID"`
	Locator             artifactstore.Locator            `json:"locator"`
	SubresourceLocator  artifactstore.SubresourceLocator `json:"subresourceLocator,omitempty"`
	Kind                artifactstore.ArtifactKind       `json:"kind,omitempty"`
	LogicalName         artifactstore.LogicalName        `json:"logicalName,omitempty"`
	LogicalVersion      artifactstore.LogicalVersion     `json:"logicalVersion,omitempty"`
	DefinitionDigest    *artifactstore.Digest            `json:"definitionDigest,omitempty"`
	SourceContentDigest *artifactstore.Digest            `json:"sourceContentDigest,omitempty"`
	State               string                           `json:"state"`
	Recorded            bool                             `json:"recorded"`
	RecordID            *artifactstore.RecordID          `json:"recordID,omitempty"`
	Diagnostics         []artifactstore.Diagnostic       `json:"diagnostics,omitempty"`
}

type WorkspaceRecordView added in v0.2.10

type WorkspaceRecordView struct {
	ID                 artifactstore.RecordID           `json:"id"`
	Revision           uint64                           `json:"revision"`
	Name               string                           `json:"name"`
	Kind               artifactstore.ArtifactKind       `json:"kind"`
	Enabled            bool                             `json:"enabled"`
	State              record.State                     `json:"state"`
	ResolvedDefinition *artifactstore.Digest            `json:"resolvedDefinition,omitempty"`
	SourceID           artifactstore.SourceID           `json:"sourceID"`
	Locator            artifactstore.Locator            `json:"locator"`
	SubresourceLocator artifactstore.SubresourceLocator `json:"subresourceLocator,omitempty"`
	RuntimeDisabled    bool                             `json:"runtimeDisabled"`
	Diagnostics        []artifactstore.Diagnostic       `json:"diagnostics,omitempty"`
}

type WorkspaceRefreshResult added in v0.2.10

type WorkspaceRefreshResult struct {
	RootID          artifactstore.RootID       `json:"rootID"`
	CatalogRevision uint64                     `json:"catalogRevision"`
	CreatedRecords  []artifactstore.RecordID   `json:"createdRecords"`
	UpdatedRecords  []artifactstore.RecordID   `json:"updatedRecords"`
	Diagnostics     []artifactstore.Diagnostic `json:"diagnostics,omitempty"`
	Candidates      int                        `json:"candidates"`
}

type WorkspaceResourceGroupView added in v0.2.11

type WorkspaceResourceGroupView struct {
	Kind       artifactstore.ArtifactKind `json:"kind"`
	Resources  []WorkspaceResourceView    `json:"resources"`
	Unrecorded []WorkspaceOccurrenceView  `json:"unrecorded"`
}

type WorkspaceResourceView added in v0.2.10

type WorkspaceResourceView struct {
	Record           WorkspaceRecordView        `json:"record"`
	DefinitionDigest artifactstore.Digest       `json:"definitionDigest"`
	SourceID         artifactstore.SourceID     `json:"sourceID"`
	Locator          artifactstore.Locator      `json:"locator"`
	CatalogCurrent   bool                       `json:"catalogCurrent"`
	ProjectionValid  bool                       `json:"projectionValid"`
	Diagnostics      []artifactstore.Diagnostic `json:"diagnostics,omitempty"`
}

type WorkspaceSkillArgument added in v0.2.10

type WorkspaceSkillArgument struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	Default     string `json:"default,omitempty"`
}

type WorkspaceSkillInsert added in v0.2.12

type WorkspaceSkillInsert string
const (
	WorkspaceSkillInsertInstructions WorkspaceSkillInsert = "instructions"
	WorkspaceSkillInsertUserMessage  WorkspaceSkillInsert = "user-message"
)

type WorkspaceSkillLoadView added in v0.2.10

type WorkspaceSkillLoadView struct {
	RootID          artifactstore.RootID       `json:"rootID"`
	CatalogRevision uint64                     `json:"catalogRevision"`
	Skills          []WorkspaceSkillView       `json:"skills"`
	Diagnostics     []artifactstore.Diagnostic `json:"diagnostics,omitempty"`
}

type WorkspaceSkillSummary added in v0.2.10

type WorkspaceSkillSummary struct {
	SchemaVersion string                   `json:"schemaVersion"`
	ID            artifactstore.RecordID   `json:"id"`
	Slug          string                   `json:"slug"`
	Name          string                   `json:"name"`
	DisplayName   string                   `json:"displayName"`
	Description   string                   `json:"description"`
	Tags          []string                 `json:"tags,omitempty"`
	Insert        WorkspaceSkillInsert     `json:"insert"`
	Arguments     []WorkspaceSkillArgument `json:"arguments,omitempty"`
	IsEnabled     bool                     `json:"isEnabled"`
	CreatedAt     time.Time                `json:"createdAt"`
	ModifiedAt    time.Time                `json:"modifiedAt"`
}

type WorkspaceSkillView added in v0.2.10

type WorkspaceSkillView struct {
	RootID           artifactstore.RootID       `json:"rootID"`
	RecordID         artifactstore.RecordID     `json:"recordID"`
	DefinitionDigest artifactstore.Digest       `json:"definitionDigest"`
	SourceID         artifactstore.SourceID     `json:"sourceID"`
	Locator          artifactstore.Locator      `json:"locator"`
	Skill            WorkspaceSkillSummary      `json:"skill"`
	MarkdownBody     string                     `json:"markdownBody,omitempty"`
	RecordRevision   uint64                     `json:"recordRevision"`
	State            record.State               `json:"state"`
	ProjectionValid  bool                       `json:"projectionValid"`
	CatalogCurrent   bool                       `json:"catalogCurrent"`
	RuntimeDisabled  bool                       `json:"runtimeDisabled"`
	Diagnostics      []artifactstore.Diagnostic `json:"diagnostics,omitempty"`
}

type WorkspaceView added in v0.2.10

type WorkspaceView struct {
	RootID          artifactstore.RootID      `json:"rootID"`
	Revision        uint64                    `json:"revision"`
	DisplayName     string                    `json:"displayName"`
	Description     string                    `json:"description,omitempty"`
	Enabled         bool                      `json:"enabled"`
	Mode            engine.Mode               `json:"mode"`
	PrimarySourceID artifactstore.SourceID    `json:"primarySourceID,omitempty"`
	PrimaryPath     string                    `json:"primaryPath,omitempty"`
	Discovery       WorkspaceDiscovery        `json:"discovery"`
	Attachments     []WorkspaceAttachmentView `json:"attachments"`
}

WorkspaceView is the API-safe representation of a workspace.

It deliberately excludes source configuration, root data, attachment raw data, and the trust-reference contents. Local filesystem paths are included because the local Workspace management UI intentionally displays them.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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