Bidirectional transformation (Lens) between two sample types, with code stored in external repositories
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
Timestamp when this lens was created
description
string
Optional
What this transformation does
maxLength: 1000 bytesgetterCode
ref
#codeReference
Required
Code reference for getter function (Source -> Target)
language
string
Optional
(Deprecated: use codeReference.language instead.) Programming language of the lens implementation (e.g., 'python', 'typescript')
maxLength: 50 bytesmetadata
ref
#lensMetadata
Optional
Arbitrary metadata (author, performance notes, etc.)
name
string
Required
Human-readable lens name
maxLength: 100 bytesputterCode
ref
#codeReference
Required
Code reference for putter function (Target, Source -> Source)
sourceSchema
string
at-uri
Required
AT-URI reference to source schema
maxLength: 500 bytessourceSchemaVersion
string
Optional
Semver version or range for source schema compatibility (e.g., '1.0.0', '>=1.0.0 <2.0.0')
maxLength: 100 bytestargetSchema
string
at-uri
Required
AT-URI reference to target schema
maxLength: 500 bytestargetSchemaVersion
string
Optional
Semver version or range for target schema compatibility (e.g., '1.0.0', '>=1.0.0 <2.0.0')
maxLength: 100 bytesView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"sourceSchema",
"targetSchema",
"getterCode",
"putterCode",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Human-readable lens name"
},
"language": {
"type": "string",
"maxLength": 50,
"description": "(Deprecated: use codeReference.language instead.) Programming language of the lens implementation (e.g., 'python', 'typescript')"
},
"metadata": {
"ref": "#lensMetadata",
"type": "ref",
"description": "Arbitrary metadata (author, performance notes, etc.)"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when this lens was created"
},
"getterCode": {
"ref": "#codeReference",
"type": "ref",
"description": "Code reference for getter function (Source -> Target)"
},
"putterCode": {
"ref": "#codeReference",
"type": "ref",
"description": "Code reference for putter function (Target, Source -> Source)"
},
"description": {
"type": "string",
"maxLength": 1000,
"description": "What this transformation does"
},
"sourceSchema": {
"type": "string",
"format": "at-uri",
"maxLength": 500,
"description": "AT-URI reference to source schema"
},
"targetSchema": {
"type": "string",
"format": "at-uri",
"maxLength": 500,
"description": "AT-URI reference to target schema"
},
"sourceSchemaVersion": {
"type": "string",
"maxLength": 100,
"description": "Semver version or range for source schema compatibility (e.g., '1.0.0', '>=1.0.0 <2.0.0')"
},
"targetSchemaVersion": {
"type": "string",
"maxLength": 100,
"description": "Semver version or range for target schema compatibility (e.g., '1.0.0', '>=1.0.0 <2.0.0')"
}
}
},
"description": "Bidirectional transformation (Lens) between two sample types, with code stored in external repositories"
}