agentsurface

package
v0.42.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SchemaVersion    = "stackkit.agent-surface/v1"
	WorkspaceRelPath = ".stackkit/agent-surface.json"
)
View Source
const AgentDirRelPath = ".stackkit/agent"

Variables

This section is empty.

Functions

func CatalogBytes

func CatalogBytes(surfaces map[string]Surface) ([]byte, error)

func Encode

func Encode(doc Document) ([]byte, error)

func LoadEmbeddedCatalog

func LoadEmbeddedCatalog() (map[string]Surface, error)

func LoadPackageSurfaces

func LoadPackageSurfaces(repoRoot string) (map[string]Surface, error)

func WriteProductMCPClients

func WriteProductMCPClients(root string, spec map[string]any, doc Document) error

func WriteWorkspace

func WriteWorkspace(root string, selected []string) error

func WriteWorkspaceFromSpec

func WriteWorkspaceFromSpec(root, specPath string) error

Types

type API

type API struct {
	ID       string `json:"id"`
	Protocol string `json:"protocol"`
	Purpose  string `json:"purpose"`
	Auth     string `json:"auth"`
}

type CLIHelper

type CLIHelper struct {
	Command string `json:"command"`
	Purpose string `json:"purpose"`
}

type ConfigBaseline

type ConfigBaseline struct {
	Status         string `json:"status"`
	Reason         string `json:"reason,omitempty"`
	ModuleInputRef string `json:"moduleInputRef,omitempty"`
}

type Document

type Document struct {
	SchemaVersion        string    `json:"schemaVersion"`
	ContainsSecretValues bool      `json:"containsSecretValues"`
	UseCases             []Surface `json:"useCases"`
}

func Project

func Project(selected []string, catalog map[string]Surface) Document

type LifecycleMCP

type LifecycleMCP struct {
	Ref                  string `json:"ref"`
	Owner                string `json:"owner"`
	Endpoint             string `json:"endpoint"`
	Transport            string `json:"transport"`
	Auth                 string `json:"auth"`
	GenerateClientConfig bool   `json:"generateClientConfig"`
}

type ProductMCP

type ProductMCP struct {
	ID                   string `json:"id"`
	Owner                string `json:"owner"`
	Endpoint             string `json:"endpoint"`
	Transport            string `json:"transport"`
	Auth                 string `json:"auth"`
	GenerateClientConfig bool   `json:"generateClientConfig"`
	Reason               string `json:"reason,omitempty"`
}

type Skill

type Skill struct {
	ID       string `json:"id"`
	Audience string `json:"audience"`
	Source   string `json:"source"`
	Path     string `json:"path"`
}

type Surface

type Surface struct {
	Ref            string         `json:"ref"`
	EquipPolicy    string         `json:"equipPolicy"`
	LifecycleMCP   LifecycleMCP   `json:"lifecycleMcp"`
	ProductMCPs    []ProductMCP   `json:"productMcps"`
	APIs           []API          `json:"apis"`
	Skills         []Skill        `json:"skills"`
	CLIHelpers     []CLIHelper    `json:"cliHelpers"`
	ConfigBaseline ConfigBaseline `json:"configBaseline"`
}

Directories

Path Synopsis
cmd
gen command

Jump to

Keyboard shortcuts

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