Readonly~@dxos/echo/Optional ReadonlydescriptionReadonlyidOptional ReadonlynameOptional ReadonlyspecThe action to run: either an Operation (spec.runnable, bound directly) or the routine's own owned
Instructions (spec.instructions). For an Operation action the trigger's runnable points at this
Operation. For an Instructions action spec.instructions is the owned Instructions object (the operation
is implicitly the static RunInstructions, so no separate operation ref is stored), and the trigger's
runnable is RunInstructions with this instructions bound as its input.
Readonlyinstructions: Ref<Instructions.Instructions & OfKind<Object> & Unknown>Owned by the routine: SetParent cascades it.
Readonlykind: "instructions"ReadonlytriggersExplicit membership, bi-directional with trigger.runnable → runnable. Required (not derived by query)
because the runnable may be a shared registry operation referenced by multiple automations, which would
conflate triggers. MVP enforces length <= 1.
Static Readonly~@dxos/echo/Entity-kind brand of the type-entity value itself — always EntityKind.Type.
The kind of instance the type describes lives on [SchemaKindId]
(Object / Relation / Type). Lets Obj.isObject / Relation.isRelation
reject type entities by a single [KindId] check.
Static Readonly~@dxos/echo/Schema-kind brand (object).
Static Optional Readonly~@dxos/echo/Static Readonly~@dxos/echo/Source Effect Schema — used internally by Type.getSchema(self).
Static ReadonlyfieldsThe fields defined in the original struct schema. Allows accessing field definitions for introspection.
Static ReadonlyidObject id. Like all ECHO entities, type entities always carry an id —
stamped at construction for in-memory (static) declarations and assigned by
the database once persisted. The id does NOT determine the entity's URI:
static types resolve to their typename DXN, persisted types to echo:///<id>
(see getTypeURIFromSpecifier).
Static ReadonlyjsonStatic Optional Readonlyname
User-facing routine: a thin aggregate of an action (
runnable) and the triggers that fire it. App-level only — EDGE stays unaware of it (triggers point directly at the runnable).