prepare_create_asset

package
v0.0.30 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTool

func NewTool(collibraClient *http.Client) *chip.Tool[Input, Output]

NewTool creates the prepare_create_asset tool.

Types

type AssetTypeOption

type AssetTypeOption struct {
	ID       string `json:"id" jsonschema:"The internal ID of the asset type"`
	PublicID string `json:"publicId" jsonschema:"The public ID of the asset type"`
	Name     string `json:"name" jsonschema:"The name of the asset type"`
}

AssetTypeOption represents an asset type option returned when the asset type is missing.

type AttributeSchema

type AttributeSchema struct {
	ID              string                            `json:"id" jsonschema:"The ID of the attribute type"`
	Name            string                            `json:"name" jsonschema:"The name of the attribute type"`
	Kind            string                            `json:"kind" jsonschema:"The data type of the attribute"`
	Required        bool                              `json:"required" jsonschema:"Whether the attribute is mandatory"`
	Constraints     *clients.PrepareCreateConstraints `json:"constraints,omitempty" jsonschema:"Optional. Validation constraints for the attribute"`
	AllowedValues   []string                          `json:"allowedValues,omitempty" jsonschema:"Optional. List of permitted values if restricted"`
	Direction       string                            `json:"direction,omitempty" jsonschema:"Optional. Direction for relation attributes"`
	TargetAssetType *AssetTypeOption                  `json:"targetAssetType,omitempty" jsonschema:"Optional. Target asset type for relation attributes"`
}

AttributeSchema represents the full schema for an attribute type.

type DomainOption

type DomainOption struct {
	ID   string `json:"id" jsonschema:"The ID of the domain"`
	Name string `json:"name" jsonschema:"The name of the domain"`
}

DomainOption represents a domain option returned when the domain is missing.

type DuplicateAsset

type DuplicateAsset struct {
	ID   string `json:"id" jsonschema:"The ID of the duplicate asset"`
	Name string `json:"name" jsonschema:"The name of the duplicate asset"`
}

DuplicateAsset represents an existing asset found during duplicate checking.

type Input

type Input struct {
	AssetName        string   `json:"assetName" jsonschema:"The name of the asset to create"`
	AssetTypeID      string   `json:"assetTypeId,omitempty" jsonschema:"Optional. The publicId of the asset type"`
	DomainID         string   `json:"domainId,omitempty" jsonschema:"Optional. The ID of the target domain"`
	AttributeTypeIDs []string `json:"attributeTypeIds,omitempty" jsonschema:"Optional. List of attribute type IDs to hydrate schema for"`
}

Input defines the input parameters for the prepare_create_asset tool.

type Output

type Output struct {
	Status           string            `json:"status" jsonschema:"The preparation status: ready, incomplete, needs_clarification, or duplicate_found"`
	Message          string            `json:"message" jsonschema:"A human-readable message explaining the status"`
	Resolved         *ResolvedInfo     `` /* 151-byte string literal not displayed */
	AssetTypeOptions []AssetTypeOption `json:"assetTypeOptions,omitempty" jsonschema:"Optional. Available asset types when asset type is missing"`
	DomainOptions    []DomainOption    `json:"domainOptions,omitempty" jsonschema:"Optional. Available domains when domain is missing"`
	OptionsTruncated bool              `json:"optionsTruncated" jsonschema:"Whether options were truncated to the maximum limit of 20"`
	AttributeSchema  []AttributeSchema `json:"attributeSchema,omitempty" jsonschema:"Optional. Full attribute schemas for the asset type"`
	Duplicates       []DuplicateAsset  `json:"duplicates,omitempty" jsonschema:"Optional. Existing assets that may be duplicates"`
}

Output defines the output of the prepare_create_asset tool.

type ResolvedInfo

type ResolvedInfo struct {
	AssetTypeID   string `json:"assetTypeId" jsonschema:"The resolved UUID of the asset type — pass this to create_asset"`
	AssetTypeName string `json:"assetTypeName" jsonschema:"The resolved name of the asset type"`
	DomainID      string `json:"domainId" jsonschema:"The resolved UUID of the domain — pass this to create_asset"`
	DomainName    string `json:"domainName" jsonschema:"The resolved name of the domain"`
}

ResolvedInfo contains the resolved UUIDs needed by create_asset.

Jump to

Keyboard shortcuts

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