artifactbuiltin

package
v0.2.22 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	ApplicationDataDirectoryName = "flexigpt"

	SettingsDirectoryName         = "settings_v1"
	ConversationsDirectoryName    = "conversations_v1"
	ModelPresetsDirectoryName     = "model_presets_v1"
	ToolsDirectoryName            = "tools_v1"
	AssistantPresetsDirectoryName = "assistant_presets_v1"
	ArtifactStoreDirectoryName    = "artifacts_v1"

	ApplicationDirectoryMode = 0o700

	ArtifactStoreManifestFileName      = "store.json"
	ArtifactStoreMetadataFileName      = "app.sqlite"
	ArtifactStoreContentDirectoryName  = "content"
	ArtifactStoreStagingDirectoryName  = "staging"
	ArtifactStoreManifestTemporaryName = "store.json.tmp-"

	ArtifactStoreFormat        = "flexigpt-artifactstore/v1"
	ArtifactStoreContentLayout = "semantic-packages/v1"

	ArtifactStoreDirectoryMode = 0o750
	ArtifactStoreManifestMode  = 0o600

	ManagedPackageTemporaryPrefix = "package-"
	ManagedPackagePreviousPrefix  = "previous-package-"
	ManagedPackageRemovalPrefix   = "remove-"

	UnversionedPackageVersion basespec.LogicalVersion = "unversioned"

	AgentSkillPackageKind  source.PackageKind = "agent.skill"
	SkillBundlePackageKind source.PackageKind = "skill.bundle"
	MCPBundlePackageKind   source.PackageKind = "mcp.bundle"

	AgentSkillDefinitionFileName basespec.Locator = "SKILL.md"
	SkillCollectionFileName      basespec.Locator = "collection.json"
	MCPBundleDocumentFileName    basespec.Locator = "mcps.json"

	RepositoryRootLocator       basespec.Locator = "."
	WorkspaceDescriptorFileName basespec.Locator = "workspace.json"
	WorkspaceSkillRootLocator   basespec.Locator = "skills"
	WorkspaceMarkdownPattern                     = "*.md"

	WorkspaceAgentsFileName basespec.Locator = "AGENTS.md"
	WorkspaceClaudeFileName basespec.Locator = "CLAUDE.md"
	WorkspaceReadmeFileName basespec.Locator = "README.md"

	EmbeddedSkillRegistryFileName                  = "skill-registry.json"
	EmbeddedMCPRegistryFileName                    = "mcp_artifact_registry.json"
	EmbeddedSkillDataRoot         basespec.Locator = "skills"
	EmbeddedMCPDataRoot           basespec.Locator = "mcps"
	EmbeddedSkillRegistryLocator  basespec.Locator = "skills/skill-registry.json"
	EmbeddedMCPRegistryLocator    basespec.Locator = "mcps/mcp_artifact_registry.json"

	ExternalGitMetadataDirectoryName = ".git"
)
View Source
const (
	BuiltinRootID          root.RootID         = "0192c4c0-0000-7000-8000-000000000001"
	BuiltinRootStorageKey  basespec.StorageKey = "builtins"
	BuiltinRootDisplayName                     = "Application Built-ins"
	BuiltinRootDescription                     = "Protected application-provided portable artifact packages."

	BuiltinSourceID          source.SourceID     = "0192c4c0-0001-7000-8000-000000000001"
	BuiltinSourceStorageKey  basespec.StorageKey = "catalog"
	BuiltinSourceDisplayName                     = "Application Built-in Packages"

	WorkspaceRootID          root.RootID         = "0198f097-0d5b-7000-8000-000000000001"
	WorkspaceRootStorageKey  basespec.StorageKey = "workspaces"
	WorkspaceRootDisplayName                     = "FlexiGPT Workspaces"
	WorkspaceRootDescription                     = "Local namespace for user Workspace collections."

	MCPUserRootID          root.RootID         = "0198f097-0d5b-7000-8000-000000000002"
	MCPUserRootStorageKey  basespec.StorageKey = "mcp"
	MCPUserRootDisplayName                     = "FlexiGPT MCP Bundles"
	MCPUserRootDescription                     = "Local namespace for user-managed MCP Bundles."

	DefaultMCPBundleCollectionID collection.CollectionID = "0198f097-0d5b-7000-8000-000000000020"
	DefaultMCPBundleSourceID     source.SourceID         = "0198f097-0d5b-7000-8000-000000000021"
	DefaultMCPBundleSourceKey    basespec.StorageKey     = "base"
	DefaultMCPBundleLogicalName                          = "base"
	DefaultMCPBundleDisplayName                          = "Base MCP Servers"
	DefaultMCPBundleDescription                          = "Editable starter bundle for user-managed MCP server definitions."
)
View Source
const (
	MCPHostName    = "FlexiGPT"
	MCPHostVersion = "dev"

	MCPBuiltInInstallerName = "mcp.bundle"

	MCPBundleHydrationFingerprintSchemaVersion = "mcp.builtin-hydration/v1"

	MCPSchemaVersion = "v1"

	MCPServerSubresourceDirectory basespec.SubresourceLocator = "mcpServers"
	MCPPolicySubresourceDirectory basespec.SubresourceLocator = "policies"

	DecoderRevision                    = "mcp.bundle.discovery.v1"
	DecoderID       basespec.DecoderID = "mcp.bundle-json"
)
View Source
const (
	ManagedAttachmentRole collection.AttachmentRole = "managed"
	BuiltInAttachmentRole collection.AttachmentRole = "builtin"

	AgentSkillArtifactKind   artifact.ArtifactKind = "agent.skill"
	AgentSkillSchemaID       schema.SchemaID       = "agent.skill.v1"
	AgentSkillDecoderID      basespec.DecoderID    = "agent.skill-markdown"
	AgentSkillSchemaVersion                        = "v1"
	AgentSkillInsertLabelKey                       = "skill.insert"

	// AgentSkillBuiltInInstallerName is stable across built-in hydration
	// revisions so prior hydration records remain discoverable.
	AgentSkillBuiltInInstallerName = "agent.skill"

	AgentSkillHydrationFingerprintSchemaVersion = "agent.skill.builtin-hydration/v1"

	WorkspaceContextArtifactKind  artifact.ArtifactKind = "workspace.context"
	WorkspaceContextSchemaID      schema.SchemaID       = "workspace.context.v1"
	WorkspaceContextDecoderID     basespec.DecoderID    = "workspace.context-markdown"
	WorkspaceContextSchemaVersion                       = "v1"
	WorkspaceContextRoleLabelKey                        = "context.role"

	WorkspaceContextRoleAgentInstructions     WorkspaceContextRole = "agent-instructions"
	WorkspaceContextRoleAssistantInstructions WorkspaceContextRole = "assistant-instructions"
	WorkspaceContextRoleProjectReadme         WorkspaceContextRole = "project-readme"
	WorkspaceContextRoleProjectContext        WorkspaceContextRole = "project-context"

	WorkspaceContextMediaTypeMarkdown WorkspaceContextMediaType = "text/markdown"

	WorkspaceContextPreferenceIncludeReadme WorkspaceContextPreference = "include-readme"
)

Variables

This section is empty.

Functions

func ApplicationStorageNames

func ApplicationStorageNames() []string

func BuiltinTopologyDeclaration

func BuiltinTopologyDeclaration() topology.Declaration

func EmbeddedMCPPackages

func EmbeddedMCPPackages() (fs.FS, error)

func EmbeddedSkillPackages

func EmbeddedSkillPackages() (fs.FS, error)

func ExternalTraversalExcludedDirectoryNames

func ExternalTraversalExcludedDirectoryNames() []string

func ProtectedRootIDs

func ProtectedRootIDs() []root.RootID

func ReadEmbeddedMCPRegistry

func ReadEmbeddedMCPRegistry() ([]byte, error)

func ReadEmbeddedSkillRegistry

func ReadEmbeddedSkillRegistry() ([]byte, error)

func RetainedRootDrafts

func RetainedRootDrafts() []root.RootDraft

func RetainedRootIDs

func RetainedRootIDs() []root.RootID

func ValidateApplicationTopology

func ValidateApplicationTopology() error

func WorkspaceSkillRoots

func WorkspaceSkillRoots() []basespec.Locator

Types

type BootstrapRegistry

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

BootstrapRegistry owns application-level built-in installation order and shared topology. It is intentionally unaware of Skills, MCPs, or any other artifact format.

func NewBootstrapRegistry

func NewBootstrapRegistry(
	declaration topology.Declaration,
	ensurer topology.Ensurer,
	hydrator topology.HydrationCoordinator,
) (*BootstrapRegistry, error)

func (*BootstrapRegistry) Ensure

func (r *BootstrapRegistry) Ensure(ctx context.Context) error

func (*BootstrapRegistry) Register

func (r *BootstrapRegistry) Register(inst Installer) error

type HydrationInstaller

type HydrationInstaller interface {
	Installer

	DesiredHydration(ctx context.Context) (topology.Hydration, error)

	// EnsureHydration creates or repairs this artifact family's desired
	// topology and package state. It may publish managed Source content.
	EnsureHydration(ctx context.Context, current bool) error

	// FinalizeHydration runs after every hydration installer has completed its
	// package publication. It must reconcile source-derived state, such as
	// catalogs, against the final shared Source generation. It must not mutate
	// managed package content or topology.
	FinalizeHydration(ctx context.Context) error
}

HydrationInstaller supplies artifact-family desired state and receives the result of generic hydration comparison. It does not read or write hydration markers and it does not reset topology roots itself.

type Installer

type Installer interface {
	BuiltInName() string
	BuiltInIDs() []string
	BuiltInPackageScopes() []basespec.Locator
	Ensure(ctx context.Context) error
}

Installer is implemented by one artifact-family-owned built-in installerapi. The generic built-in layer deliberately does not inspect package contents, artifact definitions, or artifact-specific manifests.

type WorkspaceContextFileConvention

type WorkspaceContextFileConvention struct {
	FileName         basespec.Locator           `json:"fileName"`
	Role             WorkspaceContextRole       `json:"role"`
	DefaultDiscovery bool                       `json:"defaultDiscovery"`
	Preference       WorkspaceContextPreference `json:"preference,omitempty"`
	RuntimeOrder     int                        `json:"runtimeOrder"`
}

func WorkspaceContextFileConventions

func WorkspaceContextFileConventions() []WorkspaceContextFileConvention

type WorkspaceContextMediaType

type WorkspaceContextMediaType string

type WorkspaceContextPreference

type WorkspaceContextPreference string

type WorkspaceContextRole

type WorkspaceContextRole string

Jump to

Keyboard shortcuts

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