Libertas schema annotations: compact codebot inventory

Use only the canonical source forms below. The parser owns native spelling and extraction; Studio owns portable placement, host-type, value, conflict, and compatibility validation. The table is exhaustive for App source, but each linked canonical section remains the detailed contract. Rule ids in the effect column name the generated rules on the task cards: the data model card and the cards each row links.

Declare semantic attributes instead of adding AI encoding instructions to comments: AI Import and the Hub generate value-representation hints and send declared answer labels (annot.comments-domain-meaning).

— means that the language has no corresponding source annotation. SDK serialization derives and runtime functions are outside this inventory.

TypeScript source Rust source Placement Author effect Canonical details
/// @LibertasDefaultLocale("en-US") //! #[libertas_default_locale("en-US")] Entry-file package documentation Chooses the locale of extracted source documentation (annot.default-locale.placement, attr.package.default-locale). Details
/// @LibertasTypesOnly //! #[libertas_types_only] Entry-file package documentation Publishes root-exported types without executable functions (attr.package.types-only, types-only.roots). Details
/// @LibertasStringResources(NAME) //! #[libertas_string_resources(NAME)] Entry-file package documentation Selects the one package-owned LMF1 resource catalog by positional constant name (annot.string-resources.catalog, lmf.resources.one-catalog). Details
@LibertasIgnored outer rustdoc /// #[libertas_ignored] Public function or named type Excludes a declaration from schema roots (annot.ignored.placement, annot.ignored.rustdoc-line, types-only.roots). Details
@LibertasExport #[libertas_export], #[derive(LibertasExport)], or Union rustdoc /// #[libertas_export(content = "payload")] Public function; Rust schema type or Union representation Compiler/parser helper: enables the language's App wrapper (in Rust, consuming parser-only argument attributes) or helper attributes (annot.export.helper-only, annot.export.union-content, attr.export-no-attribute, schema.functions.exported). Details
file-leading /** @LibertasConstEnum */ — Dedicated TypeScript numeric-constant file Builds a documented numeric Enumeration from one exported constant per statement (annot.const-enum.file). Details
@LibertasSingleton #[libertas_singleton] Public function Limits the App function to one task on a Hub (attr.function.singleton, attr.function.singleton-hub-check). Details
@LibertasDataErrorStatus #[libertas_data_error_status] Public App function Opts the function into checked Data API status returns; load the persistent data card (attr.function.data-error-status). Details
@LibertasPermissions(NAME) #[libertas_permissions(NAME)] Public function or server Endpoint field Declares a positional permission constant; the Endpoint protocol card holds the permission rules (annot.permissions.placement, perm.function-reason, perm.endpoint-downstream). Details
@LibertasAccessHost("api.example.com,{network_access_local}") #[libertas_access_host("api.example.com,{network_access_local}")] Public function Declares the network hosts or reserved grants of the function's task process; rules in the network-access card (net.declare.reason-key, net.default-denied). Details
@LibertasValidationRules('expression : "KEY";') #[libertas_validation_rules(r#"expression : "KEY";"#)] Function, named type, variant, or data field Adds cumulative semantic rules with typed first-non-null fallback and no general truthiness. Every rule requires a quoted package StringResources error key. FinalOnly defaults to false (incremental and final); explicit FinalOnly=true; makes the rule set final-only. Details
@LibertasDataSchema(key=DataKey,value=StoredData) #[libertas_data_schema(key = DataKey, value = StoredData)] Public function Names the function's persistent key and value Unions; load the persistent data card (annot.data-schema.placement, annot.data-schema.both-arguments, data-schema.function-binding). Details
@LibertasDefault(value) #[libertas_default(value)] Data field/type; client Endpoint has its documented task-process meaning Supplies editable initial data, on a Union field a variant native name, or on a client Endpoint a provisioning recommendation (attr.default, defaults.*, user.*, init.ordinary, endpoint.client-selectors); in Rust a bound or default may name a crate const as $NAME (constants). Details
@LibertasFixed(value) #[libertas_fixed(value)] Data field/type; client Endpoint has its documented task-process meaning Fixes ordinary data, or constrains a client Endpoint to the named process and package dependency (attr.fixed, fixed-user.*, copy.fixed.no-copyfrom, endpoint.client-selectors). Details
@LibertasNumber(type=u32, min=..., max=..., step=...) #[libertas_number(min=..., max=..., step=...)] on a concrete numeric type Numeric or DateTime field/type Declares integer or floating representation, bounds and step; a quoted bound such as max="[^/maximum]" is dynamic (annot.number.bounds, attr.number-bounds, attr.range, types.number.*, defaults.value-attribute-dollar). Details
@LibertasRangeMin("expression") #[libertas_range_min("expression")] Number or DateTime field/type Requires one Data Validation bound expression compatible with the host type for an inclusive GUI and final-validation minimum; incompatible result types are errors, null means no bound. Typed dates follow the range contract (attr.range). Details
@LibertasRangeMax("expression") #[libertas_range_max("expression")] Number or DateTime field/type Requires one Data Validation bound expression compatible with the host type for an inclusive GUI and final-validation maximum; incompatible result types are errors, null means no bound. Typed dates follow the range contract (attr.range). Details
@LibertasSize(min=..., max=...) #[libertas_size(min=..., max=...)] String, Bytes, or List field/type Declares inclusive size bounds (annot.size.bounds, attr.size). Details
@LibertasPattern("pattern") or @LibertasPattern($CONST) #[libertas_pattern(r"pattern")] or #[libertas_pattern($CONST)] Effective String field, list element, or named type, including nullable String Requires the complete String to match a portable regex; normal format errors use the standard localized message. The argument decodes under the source layer (annot.pattern.argument, attr.pattern, defaults.pattern-dollar-literal). Details
@LibertasUnique or @LibertasUnique(level) #[libertas_unique] or #[libertas_unique(level)] Scalar field below one or more Lists Requires uniqueness in the selected ancestor-List scope; omission uses the default scope (annot.unique.scope, attr.unique). Details
@LibertasUnordered #[libertas_unordered] List field/type Declares that List order has no semantic meaning (attr.unordered). Details
@LibertasAskOnAdd #[libertas_ask_on_add] List member field, or a List whose member has its own value Add asks this value first; no value, no member (attr.ask-on-add). Details
@LibertasSuppressLabel #[libertas_suppress_label] Scalar, struct, or Union field/type; List field/type whose member is a struct Compiled into the Display Template as suppress_label; its hosts and effect are on the field presentation card (attr.suppress-label). Details
@LibertasFoldable(initially_open=true) #[libertas_foldable(initially_open = true)] Table, Union, or List type or field Allows manual folding with an optional initially_open; compiled into the Display Template as fold. Load the field presentation card (attr.foldable). Folding
@LibertasInlineChoices #[libertas_inline_choices] Enumeration or Union field or type; not a Bitflags catalog Shows the permitted choices inline as radio controls; compiled into the Display Template as inline. Placement and the choice ladder are on the field presentation card (annot.inline-choices.placement, attr.inline-choices). Details
@LibertasUIIncludeDescription #[libertas_ui_include_description] Data field/type Shows the localized long description inline with the short display name in client UI nodes. Compiled into the Display Template as include_description (attr.include-description). Details
@LibertasReadOnly #[libertas_read_only] Data field/type Presents data without ordinary editing; the platform still writes it (field presentation card), and only Fixed protects a value (attr.read-only). Details
@LibertasHidden #[libertas_hidden] Data field/type Retains typed context while omitting ordinary visualization and editing (attr.hidden). Details
@LibertasTimeInterval #[libertas_time_interval] Numeric field/type Interprets the raw number as duration seconds for presentation (attr.time-interval). Details
@LibertasDateOnly #[libertas_date_only] Integer field/type Interprets valid decimal yyyyMMdd values as calendar dates without timezone conversion (attr.date-only). Details
@LibertasFormat("#,##0.00") #[libertas_format("#,##0.00")] Number, DateOnly, DateTime, or TimeOnly field/type Applies a Unicode LDML display pattern without changing stored data. Compiled into the Display Template as format (attr.format, format.*). Details
@LibertasMoney("USD", 2) #[libertas_money("USD", 2)] Signed i64 Number field/type Declares exact integer minor units, explicit currency and fixed scale; enables localized currency display and inline entry (attr.money). Money
@LibertasPhysicalUnit("millimeter-per-day") #[libertas_physical_unit("millimeter-per-day")] Numeric field/type Declares the canonical CLDR unit of the supplied value without converting it (attr.physical-unit). Details
@LibertasBitflags or @LibertasBitflags(Access) #[libertas_bitflags] or #[libertas_bitflags(Access)] Bitflag catalog declaration or integer field Defines a flag catalog or associates an integer mask with one (attr.bitflags, bitflags.*). Details
@LibertasEnum(A, B, C) #[libertas_enum(A, B, C)] Supported Enumeration/String compatibility location Parses a positional compatibility catalog (annot.enum.use-native-enum). Details
@LibertasEnumSource("$.choices") #[libertas_enum_source("$.choices")] Unsigned integer field/type, or the key's type when the target List declares a key; or a List of that type to choose several Stores the zero-based index of an item in the resolved same-tree List, or the chosen member's key when that List's member declares Key; host, chooser and unanswered rules are on the field presentation card. A List host stores distinct chosen keys (empty = none; Size bounds the count) and is never auto-filled or a when_single_choice target (annot.enumsource.unmatched-unanswered, enumsource.*, paths.context.enumsource-baseobjects). Details
@LibertasKey #[libertas_key] One direct non-Nullable String or integer field, also marked Unique, of a struct used only as a List member; may be Hidden Makes EnumSource hosts targeting that List store the member's stable key (key.*, enumsource.keyed-host, enumsource.key-no-migration). Details
@LibertasFormattedText #[libertas_formatted_text] Statically ReadOnly data node with effective Bytes type Marks a canonical LMF1 byte tuple; output roles and dormant types do not waive ReadOnly. Follow the placement and request-value contract (lmf.formatted-text.bytes-host, lmf.formatted-text.canonical-tuple). Details
@LibertasMimeTypes("image/png") #[libertas_mime_types("image/png")] Bytes field/type outside CacheIdentity Declares permitted MIME types and LMB1 Bytes encoding (attr.mime-types, mime.*, annot.mime-types.semantic-choice). Details
@LibertasLLMDocTrans(instruction="...", validation="@.facts", doc_type="image/*", accept_multiple_inputs=true) #[libertas_llm_doc_trans(instruction = "...", validation = "@.facts", doc_type = "image/*", accept_multiple_inputs = true)] Named Table struct used in editable Request or SubscriptionRequest Declares an AI Import form, or a classifier when all its variants are LLMDocTrans; rules in the AI Import card (annot.llm-doc-trans.placement, paths.context.llmdoctrans-validation). Details
@LibertasLLMDocField or @LibertasLLMDocField(allowEmpty=false) #[libertas_llm_doc_field] or #[libertas_llm_doc_field(allow_empty = false)] Direct result child, or a field inside a selected composite Selects an AI Import result field and its blank behavior: allowEmpty, or blank=VALUE (Rust blank = VALUE) spelled as a Default literal; rules in the AI Import card (annot.llm-doc-field.blank). Details
@LibertasConstrainedBy("$.allowed_choices") #[libertas_constrained_by("$.allowed_choices")] Enumeration or Union request field; Response variant Constrains a request field's choices, or on a Response its NextRequest actions, from a service-written integer list; load the actions card (choices.constrained-by.placement, paths.context.constrainedby). Backend-constrained choices
@LibertasActionControl("sections") #[libertas_action_control("sections")] Hidden integer-List field of a displayed Response or SubscriptionData payload Declares a named action control whose membership the App supplies; load the actions card (actions.control.declaration). ActionControl annotation
@LibertasCopyFrom("$.first,$.fallback") #[libertas_copy_from("$.first,$.fallback")] Protocol Request/SubscriptionRequest data Declares source paths under the shared copy rules and contexts, including calculation completeness (annot.copy-from.placement, copy.*, paths.context.*). Details
@LibertasEndpointSchema(Protocol) #[libertas_endpoint_schema(Protocol)] LibertasEndpoint field Associates the Endpoint with a local or resolved external protocol Union (endpoint.protocol-union). Details
@LibertasEndpointServer #[libertas_endpoint_server] LibertasEndpoint field Marks the Endpoint as the server side; absence means client (endpoint.protocol-union). Details
@LibertasEndpointBaseObjects("$.device,$.room") #[libertas_endpoint_base_objects("$.device,$.room")] Endpoint field Binds an Endpoint instance to the listed configuration objects (baseobjects.*, paths.context.enumsource-baseobjects). Details
@LibertasRequest #[libertas_request] Protocol Union variant Declares one-shot client-to-server input (annot.role.request). Details
@LibertasResponse #[libertas_response] Protocol Union variant Declares a correlated server-to-client result (annot.role.response). Details
@LibertasError #[libertas_error] Protocol variant with effective Response role Declares an error Response; load the Endpoint protocol card (protocol.error.marker, protocol.error.*). Details
@LibertasErrorFieldPath #[libertas_error_field_path] Nullable String field of an Error-marked Response No argument; locates the rejected Request field; load the Endpoint protocol card (protocol.error-field-path.declaration). Details
@LibertasOutputOnly #[libertas_output_only] Field or named type used in Request payloads No argument; marks server output the App never reads; load the Endpoint protocol card (protocol.output-only.declaration). Details
@LibertasSubscriptionRequest #[libertas_subscription_request] Protocol Union variant Establishes or renews a subscription (annot.role.subscription-request). Details
@LibertasSubscriptionData #[libertas_subscription_data] Protocol Union variant Delivers server-to-client subscription data (annot.role.subscription-data). Details
@LibertasAccessPrivilege("Read,Write") #[libertas_access_privilege("Read,Write")] Request or SubscriptionRequest variant Declares which endpoint access may invoke the variant; load the Endpoint protocol card (access.privilege.declaration). Details
@LibertasCalculationRequest("A,B") #[libertas_calculation_request("A,B")] Protocol request data field Declares the calculations a field participates in; load the calculation card. Details
@LibertasCalculationRoot("A,B") #[libertas_calculation_root("A,B")] Root node: request data field, record type, List member type, Union field or type, or the request's own payload type Names the calculations rooted at this node; load the calculation card. Details
@LibertasCopyTo("@.orderTotal") #[libertas_copy_to("@.orderTotal")] Successful calculation or link-return Response payload field; reduced SubscriptionData variant in the optional App pattern Declares destination paths under the shared copy rules. Calculations, link returns, and reduced subscriptions define their application and lifetime (sub.reduced.copyto, paths.context.reduced-subscriptiondata). Details
@LibertasAppendTo("Entries.entries") #[libertas_append_to("Entries.entries")] Incoming SubscriptionData root array field Appends the report's array to one admitted working variant's root array; load the subscriptions card (sub.append.declaration, paths.context.appendto). Details
@LibertasAppendIndex("$.start_index") #[libertas_append_index("$.start_index")] Same array field as AppendTo Names the report field that checks the destination length before an append; load the subscriptions card (sub.append.index, paths.context.appendindex). Details
@LibertasDefaultRequest #[libertas_default_request] Request variant Optionally selects the request sent for endpoint entry; load the actions card (entry.default-request.declaration). Default entry
@LibertasNextRequest("A,B") #[libertas_next_request("A,B")] Protocol Union variant Lists the next client variants a reply offers; load the Endpoint protocol card and the actions card (protocol.next-request.non-empty, workflow.next-response.kinds, protocol.ack.optional-transition). Details
@LibertasWorkflowRequest("EditProfile") #[libertas_workflow_request("EditProfile")] Response variant Response semi-role naming the Request editor the reply opens; load the workflow card. Details
@LibertasPrevRequest("ReopenProfile,ReopenAddress") #[libertas_prev_request("ReopenProfile,ReopenAddress")] Request variant Lists the workflow's previous actions; load the workflow card (workflow.prev.declaration, paths.context.prevrequest). Details
@LibertasLink("OpenTopic", stacked=true) #[libertas_link("OpenTopic", stacked = true)] Any field; Table, Union, or Enumeration type declaration Makes the node open one same-protocol target, with an optional Boolean stacked; load the links card (links.placement, links.declaration). Details
@LibertasLinkOnly #[libertas_link_only] Request variant targeted by a Link; SubscriptionRequest variant targeted by a stacked Link Offers the target only through its links; load the links card (links.link-only.declaration). Details
@LibertasRequestConfirmation #[libertas_request_confirmation] Request variant Critical Request a person confirms before it is sent; load the actions card, and for a calculation the calculation card (actions.confirmation.placement). Details
@LibertasNextResponse("A,B") #[libertas_next_response("A,B")] Protocol Union variant On a request, lists its admitted replies; on SubscriptionData, its compatible updates; load the workflow card and the subscriptions card (workflow.next-response.kinds). Details
@LibertasProtocolVariant("EditWages") #[libertas_protocol_variant("EditWages")] Ordinary Enumeration member Names one protocol variant for typed value-tree matching that can highlight a linked row; clients match under enum/protocol associations (annot.protocol-variant.placement, protocol-variant.placement). Details
@LibertasExcludeUI #[libertas_exclude_ui] Server Endpoint with ProtocolSchema, or reachable protocol Request/SubscriptionRequest variant Hides the server Endpoint or the operation from Control UI and Hub LLM tools; load the Endpoint protocol card (endpoint.exclude-ui.server). Details
@LibertasAINavigationPrompt("NAVIGATION_PROMPT") #[libertas_ai_navigation_prompt("NAVIGATION_PROMPT")] Protocol Union or page-defining protocol variant Selects optional App guidance for AI Search through a package StringResource; load the AI Search card (ai.prompt.placement). AINavigationPrompt annotation
@LibertasLLMToolCall(false/true) #[libertas_llm_tool_call(false/true)] Protocol Union or Request variant Every Request is an automatic AI tool (Endpoint protocol card) unless withheld. false withholds a request from AI only; ExcludeUI also hides it from people. Union false excludes descendant Requests until a variant sets true. Control UI and protocol behavior remain available (protocol.llm-tool-call). Details
@LibertasProtocolConformance("Read & Status") #[libertas_protocol_conformance("Read & Status")] Protocol Union or Union-typed protocol variant Declares the mandatory compatible variant expression; load the Endpoint protocol card (protocol.conformance-expression). Details
@LibertasForeignType("developer-package::Type") #[libertas_foreign_type(developer-package::Type)] Published top-level compatible named type Identifies its direct official external App type while preserving this type’s identity (types.compatible.*). Details
@LibertasDeviceType("descriptor") #[libertas_device_type("descriptor")] Effective LibertasDevice field Carries only a Studio-generated physical Matter descriptor; never invent its encoding (annot.device-type.generated). Details
@LibertasVirtualDeviceType("descriptor") #[libertas_virtual_device_type("descriptor")] Effective LibertasVirtualDevice field Carries only a Studio-generated virtual Matter descriptor; never invent its encoding (annot.virtual-device-type.generated). Details
@LibertasDiscriminator("kind") — TypeScript discriminated Union when inference is ambiguous Selects the native discriminator property; normal literal/enum cases are inferred (annot.discriminator.typescript-only). Details
@LibertasChart(mark) #[libertas_chart(mark)] Response/SubscriptionData chart payload or composition Declares a 2D primitive mark or composition (annot.chart.placement, chart.*). Details
@LibertasChartChannel(x, tooltip) #[libertas_chart_channel(x, tooltip)] Direct 2D chart data field Assigns canonical chart channel roles (annot.chart-channel.placement, chart.channel-roles). Details
@LibertasChartScale(id=series, kind=linear, ...) #[libertas_chart_scale(id = series, kind = linear, ...)] Scale-bearing 2D chart field Defines a named chart scale. Its kind is compiled into the Display Template as scale (annot.chart-scale.placement, chart.scale-properties). Details
@LibertasChartGuide(target=x, source=scale, ...) #[libertas_chart_guide(target = x, source = scale, ...)] 2D guide binding or label field Binds an explicit guide to its target and source. Its position is compiled into the Display Template as guide (annot.chart-guide.required). Details
@LibertasChart3D(mark) #[libertas_chart3d(mark)] Response/SubscriptionData 3D payload or composition Declares a 3D primitive mark or composition (annot.chart3d.placement, chart.3d-namespace). Details
@LibertasChart3DChannel(x, z, tooltip) #[libertas_chart3d_channel(x, z, tooltip)] Direct 3D chart data field Assigns canonical 3D chart channel roles. Details
@LibertasChart3DScale(id=series, kind=linear, ...) #[libertas_chart3d_scale(id = series, kind = linear, ...)] Scale-bearing 3D chart field Defines a named 3D chart scale. Its kind is compiled into the Display Template as scale (chart.3d-properties). Details
@LibertasChart3DGuide(target=z, source=scale, ...) #[libertas_chart3d_guide(target = z, source = scale, ...)] 3D guide binding or label field Binds an explicit 3D guide to its target and source (chart.3d-properties). Details
@LibertasChart3DView(projection=perspective, ...) #[libertas_chart3d_view(projection = perspective, ...)] One physical 3D chart scene Declares camera and projection settings, not a gesture mode (annot.chart3d-view.placement, chart.3d-properties). Details
@LibertasCacheIdentity #[libertas_cache_identity] Direct field of a Request root record Opts a large request into durable local drafts keyed by all its identity fields; small requests omit it (annot.cache-identity.placement, cache.*). Details

Generated schema metadata never implies a source annotation (annot.generated.no-source-spelling, annot.generated.no-derived-spellings, annot.canonical-spellings-only, annot.removed.never-emit). If a spelling is absent from this inventory, do not generate it; consult the canonical reference when modernizing old source.

Boolean presentation uses field document properties [TrueText] and [FalseText], not schema annotations. Each is one non-empty localized line; the answer controls are on the field presentation card. See standard document properties.

Union member identities and tag metadata follow union.discriminator, union.tag-field-script-only and annot.discriminator.typescript-only (Union metadata).

The public CacheIdentity contract owns large-request eligibility, immutable identity fields, optional application protocol revisions, draft restoration and finished-edit commitment.

Search Libertas