Skip to content

Telo v0.113.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 20:22
2aec2f7

Packages

Package Version
@telorun/cli 0.113.0
@telorun/analyzer 0.113.0
@telorun/cel 0.113.0
@telorun/ide-support 0.113.0
@telorun/kernel 0.113.0
@telorun/language-server 0.113.0
@telorun/sdk 0.113.0
@telorun/templating 0.113.0

Minor

A resource rule whose in: or resolve: pointer names a field the kind inherits is accepted wherever the parent is declared. Before, the pointer resolved only when the parent kind was registered ahead of the child, so a rule over a field inherited from a kind declared later in the same file, or in an imported module, was reported as RESOURCE_RULE_INVALID ("which this kind's schema does not declare") by telo check on the declaring library. — analyzer

A template body's bare self.<path> may continue past a reference slot. model: !cel "self.model.schemas.list", where model references a resource whose own schemas.list is a reference, hands the entry what that resource was declared with there — the live instance for a reference, the value for plain data. The kernel continues in the referenced resource's declaration wherever its instance has no such member; before, the path yielded nothing and the entry failed creation as missing a required field. telo check builds the same view — the forwarded value is checked as the entry's own field and reported at the reference the consumer wrote — when the referenced resource is declared in the consumer's own module, and TEMPLATE_FORWARD_INCOMPATIBLE judges such a path against the schema of the kind the slot names. — analyzer, kernel

A rule's resolve: reads a named shape with its parents folded in. In x-telo-resource-rules and x-telo-referrer-rules, a referenced Telo.JsonSchema declaring extends: binds with the inherited properties and required in its schema, as every other reader of a shape sees it. A rule such as this.property in self.model.schema.properties reported an inherited property as undeclared; it no longer does.

Patch

The compiled-validator cache key covers every registered shape a schema reaches by $ref. A contract whose own text was unchanged while a named shape it references changed was served the validator compiled before the change, so a correct resource was refused with ERR_OUTPUT_INVALID (or a wrong one accepted) until .telo/validators/ was cleared. — kernel


Changelogs: cli · analyzer · cel · ide-support · kernel · language-server · sdk · templating