trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
34 lines • 1.53 kB
TypeScript
/**
* Form Resolution — the end-to-end path: schemas → derive → graph overrides.
*
* `resolveFormDescriptor` is the entry point UIs and tools should use: it
* finds the schema for an entity type, derives the headless descriptor, and
* layers any `trellis:Form` override entities on top.
*
* @module trellis/forms
*/
import type { SchemaDefinition } from '../core/ontology/types.js';
import type { FormDescriptor, FormEntityLike, FormMode, FormOverride } from './types.js';
export interface ResolveFormOptions {
/** Derive for one interaction mode (default: `create`). */
mode?: FormMode;
/** Graph `Form` override entities (pre-resolved relations). */
forms?: Array<FormEntityLike | FormOverride>;
/** Pre-normalized overrides (wins over `forms` for overlapping ids). */
overrides?: FormOverride[];
}
/**
* Resolve the headless form descriptor for an entity type.
*
* Pure over kernel state — pass the registered schemas (`kernel.listOntologies()`)
* and any `Form` entities read from the graph. Returns `undefined` when the
* type has no registered schema.
*/
export declare function resolveFormDescriptor(ontologies: Iterable<SchemaDefinition>, type: string, opts?: ResolveFormOptions): FormDescriptor | undefined;
/** List entity types with registered schemas (form derivable). */
export declare function listFormableTypes(ontologies: Iterable<SchemaDefinition>): Array<{
entityType: string;
schemaId: string;
label: string;
}>;
//# sourceMappingURL=resolve.d.ts.map