Spec
Spec : Dict
Spec models a type specification and the metadata slots.
Spec qname as ref identifier
Simple name of spec
Qualified name of spec formatted as lib::Type[.slot]
Spec reference - always sys::Lib
Parent library
Parent spec for member specs
Base type of inheritance or null for sys::Obj
Value type
Map of children slot and global members
Map of children slot members
Map of children global members
Abstract types cannot be implemented directly by instance data
Indicates an asynchronous operation or function call
Indicates an immutable value
Documentation formatted as xetodoc
Indicates a global slot that defines a shape for all types that might override
Annotates a slot as a fixed value that must be equal to val
Inverse query to run against parent
String key
Applied to strings and lists to specify inclusive maximum length
Inclusive maximum value for numbers
Indicates an optional type
Applied to strings and lists to specify inclusive minimum length
Inclusive minimum value for numbers
Indicates a mixin that adds meta/slots to an existing type
Applied to Choices to allow multiple selections
Indicates a constructor function
Marks spec as undocumented and not officially supported
Do not include source code in documentation
Marks a function or operation as having no side effects
Indicates a meta tag that is not inherited into subtypes
Applied to strings to require value is non-empty when trimmed of whitespace
Item type for parameterized Collection/Query
Types used in compound types like And and Or
Marks a function as an operation published to the generated OpenAPI schema
Marks an op whose request grid is passed whole as its single parameter when the request arrives as a grid, rather than mapping the first row's cells to arguments by name
Regex pattern for scalar string encoding
Restrict number or unit enum to specific quantity
Indicates a readonly value that may not be written (but may mutate)
Sealed types cannot be extended outside of their own lib
Marks a function as having side effects that modify observable state or invoke external actions (writes, commits, notifications, etc)
Indicates a spec level slot versus an instance level slot
Sugar marks a spec as a convenience name for its nominal anchor type plus a set of structural tag constraints - see docs
Mark data as summary level for display in summarized tables and other views
Indicates data which should not be persisted
Restrict number or unit enum to specific unit
Restrict a number to have no unit
Default value for this slot
Marks a func as the check for a ValidateRule
Named path to traverse to execute query
Used on a interface non-static slot to indicate it can be overridden subtypes
Ref <sealed>
Spec qname as ref identifier
Str <sealed>
Simple name of spec
Str <sealed>
Qualified name of spec formatted as lib::Type[.slot]
Ref <of:Spec, sealed>
Spec reference - always sys::Lib
Ref <of:Lib, sealed>
Parent library
Ref? <of:Spec, sealed>
Parent spec for member specs
Ref? <of:Spec, sealed>
Base type of inheritance or null for sys::Obj
Ref? <of:Spec, sealed>
Value type
Dict <of:Spec, sealed>
Map of children slot and global members
Dict <of:Spec, sealed>
Map of children slot members
Dict <of:Spec, sealed>
Map of children global members
Marker? <noInherit>
Abstract types cannot be implemented directly by instance data
Marker?
Indicates an asynchronous operation or function call
Marker?
Indicates an immutable value
Str?
Documentation formatted as xetodoc
Marker? <noInherit>
Indicates a global slot that defines a shape for all types that might override
Marker?
Annotates a slot as a fixed value that must be equal to val.
Str?
Inverse query to run against parent
Str?
String key; used in enums to define normalized string identifier
Int?
Applied to strings and lists to specify inclusive maximum length
This?
Inclusive maximum value for numbers
Marker?
Indicates an optional type
Int?
Applied to strings and lists to specify inclusive minimum length
This?
Inclusive minimum value for numbers
Marker?
Indicates a mixin that adds meta/slots to an existing type
Marker?
Applied to Choices to allow multiple selections
Marker?
Indicates a constructor function
Marker?
Marks spec as undocumented and not officially supported
Marker?
Do not include source code in documentation
Marker?
Marks a function or operation as having no side effects. The function may or may not be pure in that calling it multiple times with the same arguments always evaluates to the same result. HTTP operations with this tag may be called with a GET, otherwise a POST is required.
Marker?
Indicates a meta tag that is not inherited into subtypes
Marker?
Applied to strings to require value is non-empty when trimmed of whitespace
Ref? <of:Spec>
Item type for parameterized Collection/Query; target type for Ref/MultiRef
List? <of:_0>
Types used in compound types like And and Or
Marker?
Marks a function as an operation published to the generated OpenAPI schema. All functions are callable over HTTP; this marks the ones which are part of the documented API surface.
Marker?
Marks an op whose request grid is passed whole as its single parameter when the request arrives as a grid, rather than mapping the first row's cells to arguments by name. Used by batch and tabular ops which carry semantics in grid meta and multiple rows.
Str?
Regex pattern for scalar string encoding
UnitQuantity?
Restrict number or unit enum to specific quantity
Marker?
Indicates a readonly value that may not be written (but may mutate)
Marker? <noInherit>
Sealed types cannot be extended outside of their own lib. If used on a interface slot, the slot cannot be overridden in a subtype.
Marker?
Marks a function as having side effects that modify observable state
or invoke external actions (writes, commits, notifications, etc).
Agent harnesses use this marker to require confirmation before
evaluation, or to raise an error in plan mode. This marker is the
dual of noSideEffects; unmarked functions are assumed to be safe.
Marker?
Indicates a spec level slot versus an instance level slot
Marker?
Sugar marks a spec as a convenience name for its nominal anchor type plus a set of structural tag constraints - see docs.
Marker?
Mark data as summary level for display in summarized tables and other views
Marker?
Indicates data which should not be persisted
Unit?
Restrict number or unit enum to specific unit
Marker?
Restrict a number to have no unit
Obj?
Default value for this slot
Ref? <of:ValidateRule>
Marks a func as the check for a ValidateRule. The func is called
as 'func(spec, val)' where val is the value at the position the rule
fired on: the instance itself for a rule registered on a dict type,
or the slot value for one registered on a value type.
Return null or an empty list when the value is ok. Otherwise return
a dict per problem, or a list of them. An empty dict reports the
rule at its own position; a 'slot' tag reports it against that tag
of the dict instead, and any other tags are msg template args.
// ok, or flag the min tag of the instance if (val->min > val->max) {slot:"min"}
Str?
Named path to traverse to execute query
Marker?
Used on a interface non-static slot to indicate it can be overridden subtypes