Files
boc/iom/observation/__pycache__/observation_models.cpython-39.pyc
T

83 lines
8.1 KiB
Plaintext
Raw Normal View History

a
1/>j.$ã@sfdZddlmZddlmZmZmZmZddlmZddl m
Z
m Z Gddde eƒZ
Gdd „d e eƒZGd
d d e
ƒZGd d
d
e
ƒZGddde
ƒZGddde
ƒZGddde
ƒZGddde
ƒZGddde
ƒZGddde
ƒZedkrbededdddd dƒd!d"eejd#d$d%d&d'gee
jd(ed)d*d+d,d-ged.d/d0d1d2Zed3ƒeejd4d5ƒd6S)7z[
Observation Models - Layer 6 of IOM
Pydantic models for observations, findings, and media
é)Údatetime)ÚListÚOptionalÚDictÚAny)ÚEnum)Ú BaseModelÚFieldc@s$eZdZdZdZdZdZdZdZdS)Ú MediaTypezTypes of media attachmentsÚimageZvideoZ depth_mapZthermalZlidarN) Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚIMAGEZVIDEOZ DEPTH_MAPZTHERMALZLIDAR©rrúE/home/bernt/.openclaw/workspace/iom/observation/observation_models.pyr
s r
c@sPeZdZdZdZdZdZdZdZdZ dZ
d Z d
Z d Z
d Zd
ZdZdZdZdZdS)Ú FindingTypezTypes of findings/observationsÚdirt_accumulationZ color_changeÚsurface_damageZgraffitiZcrackZ deformationZ
material_lossZ missing_partZ broken_partZ
loose_partZphysical_blockZ
vegetationZ water_damageZ
ice_damageZ corrosionÚotherN)r r
rrÚDIRT_ACCUMULATIONZ COLOR_CHANGEZSURFACE_DAMAGEZGRAFFITIZCRACKZ DEFORMATIONZ
MATERIAL_LOSSZ MISSING_PARTZ BROKEN_PARTZ
LOOSE_PARTZPHYSICAL_BLOCKZ
VEGETATIONZ WATER_DAMAGEZ
ICE_DAMAGEZ CORROSIONZOTHERrrrrrs"rc@s€eZdZUdZedddddZeed<eddd d
dZeed <ed d
dZ e
eed<ed ddZ e
eed<GdddƒZ d S)ÚGeoTagzGeographic location tag.i¦ÿÿÿéZZLatitude©ÚgeÚleÚ descriptionÚlatiLÿÿÿé´Z LongitudeÚlngNzElevation in meters©rÚ elevationzGPS accuracy in metersÚaccuracyc@seZdZddddddœiZdS)z
GeoTag.ConfigÚexampleçRI€&ªM@çoÅ2@g)@gš™™™™™ @)rr r"r#r r
rÚjson_schema_extrarrrrÚConfig0süÿr))
r r
rrr rÚfloatÚ__annotations__r r"rr#r)rrrrr)s
rc@s`eZdZUdZeed<edddZeed<ee j
dZ e ed<d Z e
eed
<Gd d d ƒZd S)
ÚMediaz%Media attachment (image, video, etc.)Útype.zURL to media filer!Úurl©Údefault_factoryÚ timestampNÚgeotagc@s&eZdZddddddddœd œiZd
S) z Media.Configr$r ú-https://storage.quixzoom.com/obs/img_2847.jpgú2026-06-26T09:15:03Zr%r&çÍÌÌÌÌÌrr r#©r-r.r1r2Nr'rrrrr)Bsýüÿr))r r
rrr
r+r r.ÚstrrÚutcnowr1r2rrr)rrrrr,;s
r,c@eZdZUdZeed<eddddZeed<eddd d
Z eed <ed d
dZ
e eed<ed ddZ e eed<edddddZ
eed<GdddƒZd S)ÚFindingz(Individual finding within an observationr-.z
^[0-9]{4}$zDefect code from Layer 7©ÚpatternrÚcodeé)Ú
min_lengthÚ
max_lengthrNz*Measurement (e.g., '3 mm', '15% coverage')r!Ú measurementz-Location on object (e.g., 'northeast_corner')Úlocationggð?zAI confidence scorerÚ
confidencec@s eZdZdddddddœiZdS) zFinding.Configr$rÚ2100õSmuts pÃ¥ fönsterú 30% coverageç®Gázî?©r-r=rrArCNr'rrrrr)Zsûÿr))r r
rrrr+r r=r8rrArrBrCr*r)rrrrr:Qs
r:c@steZdZUdZedddZeed<eddddd Ze ed
<ed d dZ
e eed
<d Z e e
ed<GdddƒZd S)Ú
AIAnalysisz$AI-generated analysis of observation.zAI model versionr!Úmodelr>ézOverall condition 1-5rÚoverall_conditionNzRecommended actionÚrecommended_actionÚnext_observation_duec@seZdZddddddœiZdS)zAIAnalysis.Configr$úinfrastructure-v3.2éÚschedule_cleaningz
2026-09-26)rJrLrMrNNr'rrrrr)msüÿr))r r
rrr rJr8r+rLÚintrMrrNrr)rrrrrIfs
rIc@s€eZdZUdZedddZeeed<edddZ ee
ed<edddZ eeed <edd
dZ ee
ed <Gd d
d
ƒZ
dS)ÚWeatherz%Weather conditions during observationNzTemperature in Celsiusr!Ú temperaturezWeather conditionsÚ
conditionszWind speed in m/sÚ
wind_speedzPrecipitation typeÚ
precipitationc@seZdZdddddœiZdS)zWeather.Configr$éZsunnyg @)rTrUrVNr'rrrrr)s ýÿr))r r
rrr rTrr*r+rUr8rVrWr)rrrrrSxs
rSc@eZdZUdZedddZeeed<ee j
dZ e ed<edd d