Expand description
Catalog negotiation and declarative app packages (VAPP-82: a manifest + A2UI templates + bindings, data never code).
Structs§
- Available
Extension - VAPP-161: an extension as a host registered it (
available_extensions). - Package
Issue
Constants§
- EXTENSION_
VERSION_ PATTERN package.extensions.versionPattern.- PACKAGE_
FORMAT_ VERSION - VAPP-161: the package format version this host reads
(catalog/host.json
package.formatVersion; docs/package-format.md). A package names it, and it is exactly this one: no older format is read (eApps keeps no backwards compatibility). - QUERY_
NAME_ PATTERN - VAPP-190: a package query’s name (catalog/host.json
package.records.query.queryNamePattern).
Functions§
- available_
extensions - A host’s extension catalogs as
validate_package_withchecks them: the version when set (an empty one is unset), the components then the macros. - client_
capabilities - A2UI’s
a2uiClientCapabilities. - is_
query_ name QUERY_NAME_PATTERNwithout a regex engine.- merge_
data - The template’s data under the caller’s (objects merge one level deep in
key order; anything else: the caller’s wins).
None= undefined. - package_
sources - A package’s
sourcesallowlist (None= unset: any source). - source_
allowed - VAPP-107: may a package whose
sourceslist isallowedfollow this source URI?None= yes; else the URI’sscheme:name(scheme lower-cased, the query dropped) must match a listed source exactly or aprefix*pattern. - supported_
catalog_ ids - The core, the core lite, the A2UI basic catalog, then every registered extension id in order, de-duplicated.
- template_
messages - A template as the messages that create it: createSurface, the components,
the merged initial data, one bindDataModel per binding.
Nonewhen the package has no such template.data= the caller’s data (Some(Null)is a value, unlikeNone). - validate_
package - Every problem with a package, each with a JSON pointer into it.
catalog_ids= the supported ids (default:supported_catalog_idsof none). A declared extension only has to be incatalog_ids(validate_package_withchecks versions and components too). - validate_
package_ in validate_package_withreducing the templates againstview(VAPP-203: the core plus the extensions the host has definitions for; the TSAvailableExtension.def). A catalog the view does not know leaves its component names open.- validate_
package_ with validate_packagewith the host’s registeredextensions(versions and components);None= a declared extension only has to be incatalog_ids.- version_
satisfies - Caret:
havehaswant’s major and is not lower.