Skip to content

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

typescript
// 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?

optional connections: Connection[]

Defined in: packages/chaingraph-types/src/port/base/types.ts:118


description?

optional description: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:123


direction?

optional direction: PortDirectionEnum

Defined in: packages/chaingraph-types/src/port/base/types.ts:116


id?

optional id: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:112

Override fields (merged with template when resolved)


key?

optional key: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:113


metadata?

optional metadata: Record<string, unknown>

Defined in: packages/chaingraph-types/src/port/base/types.ts:120


name?

optional name: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:121


nodeId?

optional nodeId: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:115


order?

optional order: number

Defined in: packages/chaingraph-types/src/port/base/types.ts:117


parentId?

optional parentId: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:114


required?

optional required: boolean

Defined in: packages/chaingraph-types/src/port/base/types.ts:124


title?

optional title: string

Defined in: packages/chaingraph-types/src/port/base/types.ts:122


ui?

optional ui: 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

Licensed under BUSL-1.1