workspace

package
v0.2.10 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

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

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) 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) 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) 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) SetWorkspaceRecordEnabled added in v0.2.10

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

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"`
	Priority             int                          `json:"priority"`
	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
}

func DefaultConfig added in v0.2.10

func DefaultConfig() Config

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"`
	TrustReference string             `json:"trustReference,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"`
	TrustReference string             `json:"trustReference,omitempty"`
	Discovery      WorkspaceDiscovery `json:"discovery"`
}

type CreateFilesystemWorkspaceResponse added in v0.2.10

type CreateFilesystemWorkspaceResponse struct {
	Body *WorkspaceView
}

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 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 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 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
}

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 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"`
	Priority                   int                          `json:"priority"`
	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"`
	TrustReference   string             `json:"trustReference,omitempty"`
	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"`
	Priority int                          `json:"priority"`
	Enabled  bool                         `json:"enabled"`
	Settings WorkspaceAttachmentSettings  `json:"settings"`
}

type WorkspaceCatalogView added in v0.2.10

type WorkspaceCatalogView struct {
	Workspace             WorkspaceView           `json:"workspace"`
	CatalogRevision       uint64                  `json:"catalogRevision"`
	Resources             []WorkspaceResourceView `json:"resources"`
	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"`
	Priority         int                    `json:"priority"`
	Name             string                 `json:"name"`
	Role             string                 `json:"role"`
	MediaType        string                 `json:"mediaType"`
	Content          string                 `json:"content"`
}

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"`
}

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 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              string                     `json:"state"`
	ResolvedDefinition *artifactstore.Digest      `json:"resolvedDefinition,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 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"`
}

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 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        string                   `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"`
}

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              string                    `json:"mode"`
	PrimarySourceID   artifactstore.SourceID    `json:"primarySourceID,omitempty"`
	HasTrustReference bool                      `json:"hasTrustReference"`
	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, source filesystem paths, and the trust reference itself.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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