SAService Architect Back to designer
SAService ArchitectDocumentation
Type system Definition formats

Definition formats

Native, Protobuf, FlatBuffers, Cap’n Proto and OpenAPI representations.

When to use

Define this contract before assigning it to stream valueType or keyType.

Behavior

  • The format informs serialization and generated bindings.

Definition properties

Identity and representation

PropertyTypeDescription
namestring

Canonical named type referenced by streams and other types.

Required
typeint | uint | byte | char | boolean | unicode char | string | unicode string | float | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | any | error | array | map | struct | custom

DataType kind that controls generated representation, composition and serde behavior.

RequiredAllowed: int, uint, byte, char, boolean, unicode char, string, unicode string, float, double, int8, int16, int32, int64, uint8, uint16, uint32, uint64, any, error, array, map, struct, custom
definitionFormatNative | Protobuf | FlatBuffers | CapNProto | OpenAPI

Serialization or external definition format.

Allowed: Native, Protobuf, FlatBuffers, CapNProto, OpenAPI
descriptiontext

Generated type documentation.

Composition properties

Nested type references

PropertyTypeDescription
keyTypeType

Map key type.

map only
valueTypeType

Array item or map value type.

array or map

Code generation properties

Sharing and target-language behavior

PropertyTypeDescription
transferByValueboolean

Uses value rather than pointer/reference signatures.

Default: false
useAliasboolean

Generates a named alias for a built-in scalar or runtime contract.

Default: false
publicTypeboolean

When true, the type is generated in the selected user-defined Module and can be shared across services.

moduleModule

Name of a Module from the project-level modules collection. With publicType = true, this Module owns the generated type; its modulePath and repository layout determine the physical module directory and import identity.

publicType = true
packagestring

Optional target-language package alias/compatibility metadata. Leave it empty unless external tooling explicitly consumes it. The current generator derives imports and physical placement from the resolved type path and from publicType + module; this field is not interpreted as a path such as folder/sub-folder.

Default: empty
typeDefinitionLang*code

Inline target-language definition.

custom type

Configuration example

name: Definition formats
type: definition-formats