Interface: Model
Defined in: packages/core/src/model/defineModel.ts:248
The compiled Model object returned by defineModel()
Properties
defaults
readonly defaults: Record<string, unknown>;Defined in: packages/core/src/model/defineModel.ts:262
Default values (Prisma @default)
fields
readonly fields: Record<string, FieldDef>;Defined in: packages/core/src/model/defineModel.ts:254
Field definitions map
guarded
readonly guarded: string[];Defined in: packages/core/src/model/defineModel.ts:258
Guarded fields — never fillable (Rails attr_protected)
hidden
readonly hidden: string[];Defined in: packages/core/src/model/defineModel.ts:256
Hidden fields — never shown in output (Spring @JsonIgnore)
infer
readonly infer: {
[key: string]: any;
};Defined in: packages/core/src/model/defineModel.ts:277
Type helper — typeof model.infer gives you the TS type
Index Signature
[key: string]: anyinput
readonly input: Record<string, string[]>;Defined in: packages/core/src/model/defineModel.ts:260
Input profiles per operation (Laravel $fillable)
name
readonly name: string;Defined in: packages/core/src/model/defineModel.ts:250
Model name (e.g. 'Task')
schema
readonly schema: ZodObject<ZodRawShape>;Defined in: packages/core/src/model/defineModel.ts:252
Compiled Zod schema — compatible with Presenter.schema()
toApi()
readonly toApi: (data) => Record<string, unknown>;Defined in: packages/core/src/model/defineModel.ts:275
Apply field aliases — renames agent-facing keys to API-facing keys. Pydantic-inspired model_dump(by_alias=True). Strips undefined values. Non-aliased keys pass through unchanged.
Parameters
| Parameter | Type |
|---|---|
data | Record<string, unknown> |
Returns
Record<string, unknown>
Example
// Model: content → .alias('description')
ProposalModel.toApi({ title: 'X', content: 'Y' })
// → { title: 'X', description: 'Y' }