ChainGraph API Documentation / @badaitech/chaingraph-types / IPortConfigReference
Interface: IPortConfigReference
Defined in: packages/chaingraph-types/src/port/base/types.ts:103
Reference to a template config (incomplete, requires resolution)
Reference configs are lightweight configs that inherit from templates. They MUST be resolved via ConfigResolver.resolve() before use.
Size: ~50 bytes vs ~2KB for full config (97% reduction!)
Example
// Reference config (stored):
const ref: IPortConfigReference = {
$ref: 'items[*]',
key: '5',
parentId: 'items'
}
// Resolved config (runtime):
const resolved = ConfigResolver.resolve(ref, storage)
// → { type: 'object', schema: {...}, key: '5', parentId: 'items' }Properties
$ref
$ref:
string
Defined in: packages/chaingraph-types/src/port/base/types.ts:107
Path to template config that provides type, schema, defaultValue, etc.
connections?
optionalconnections:Connection[]
Defined in: packages/chaingraph-types/src/port/base/types.ts:118
description?
optionaldescription:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:123
direction?
optionaldirection:PortDirectionEnum
Defined in: packages/chaingraph-types/src/port/base/types.ts:116
id?
optionalid:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:112
Override fields (merged with template when resolved)
key?
optionalkey:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:113
metadata?
optionalmetadata:Record<string,unknown>
Defined in: packages/chaingraph-types/src/port/base/types.ts:120
name?
optionalname:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:121
nodeId?
optionalnodeId:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:115
order?
optionalorder:number
Defined in: packages/chaingraph-types/src/port/base/types.ts:117
parentId?
optionalparentId:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:114
required?
optionalrequired:boolean
Defined in: packages/chaingraph-types/src/port/base/types.ts:124
title?
optionaltitle:string
Defined in: packages/chaingraph-types/src/port/base/types.ts:122
ui?
optionalui:objectOutputType<{bgColor:ZodOptional<ZodString>;borderColor:ZodOptional<ZodString>;disabled:ZodOptional<ZodBoolean>;hidden:ZodOptional<ZodBoolean>;hideEditor:ZodOptional<ZodBoolean>;hidePort:ZodOptional<ZodBoolean>; },ZodTypeAny,"passthrough">
Defined in: packages/chaingraph-types/src/port/base/types.ts:119