···77 type FetchHandlerOptions,
88} from '@atproto/xrpc'
99import { schemas } from './lexicons.js'
1010+import { CID } from 'multiformats/cid'
1011import { type OmitKey, type Un$Typed } from './util.js'
1112import {
1213 ComAtprotoRepoListRecords,
+36-1
src/client/lexicons.ts
···77 ValidationError,
88 type ValidationResult,
99} from '@atproto/lexicon'
1010-import { is$typed, maybe$typed } from './util.js'
1010+import { type $Typed, is$typed, maybe$typed } from './util.js'
11111212export const schemaDict = {
1313 SocialDrydownFragrance: {
···175175 maxGraphemes: 255,
176176 maxLength: 3000,
177177 description: 'Written review (max 255 graphemes)',
178178+ },
179179+ weatherOptIn: {
180180+ type: 'boolean',
181181+ description: 'User opted in to weather data collection',
182182+ },
183183+ elevation: {
184184+ type: 'integer',
185185+ description: 'Elevation in meters above sea level',
186186+ },
187187+ uvIndex: {
188188+ type: 'integer',
189189+ minimum: 0,
190190+ maximum: 11,
191191+ description: 'Daily maximum UV index (0-11+)',
192192+ },
193193+ stage1Temp: {
194194+ type: 'integer',
195195+ description:
196196+ 'Temperature in Celsius at Stage 1 * 10 (e.g. 225 = 22.5°C)',
197197+ },
198198+ stage2Temp: {
199199+ type: 'integer',
200200+ description:
201201+ 'Temperature in Celsius at Stage 2 * 10 (e.g. 225 = 22.5°C)',
202202+ },
203203+ stage3Temp: {
204204+ type: 'integer',
205205+ description:
206206+ 'Temperature in Celsius at Stage 3 * 10 (e.g. 225 = 22.5°C)',
207207+ },
208208+ stage2CompletedAt: {
209209+ type: 'string',
210210+ format: 'datetime',
211211+ description:
212212+ 'Timestamp when Stage 2 was completed (for accurate temperature)',
178213 },
179214 },
180215 },
+3-1
src/client/types/social/drydown/fragrance.ts
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { CID } from 'multiformats/cid'
46import { validate as _validate } from '../../../lexicons'
55-import { is$typed as _is$typed } from '../../../util'
77+import { type $Typed, is$typed as _is$typed, type OmitKey } from '../../../util'
6879const is$typed = _is$typed,
810 validate = _validate
+3-1
src/client/types/social/drydown/house.ts
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { CID } from 'multiformats/cid'
46import { validate as _validate } from '../../../lexicons'
55-import { is$typed as _is$typed } from '../../../util'
77+import { type $Typed, is$typed as _is$typed, type OmitKey } from '../../../util'
6879const is$typed = _is$typed,
810 validate = _validate
+17-1
src/client/types/social/drydown/review.ts
···11/**
22 * GENERATED CODE - DO NOT MODIFY
33 */
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { CID } from 'multiformats/cid'
46import { validate as _validate } from '../../../lexicons'
55-import { is$typed as _is$typed } from '../../../util'
77+import { type $Typed, is$typed as _is$typed, type OmitKey } from '../../../util'
6879const is$typed = _is$typed,
810 validate = _validate
···3638 weightedScore?: number
3739 /** Written review (max 255 graphemes) */
3840 text?: string
4141+ /** User opted in to weather data collection */
4242+ weatherOptIn?: boolean
4343+ /** Elevation in meters above sea level */
4444+ elevation?: number
4545+ /** Daily maximum UV index (0-11+) */
4646+ uvIndex?: number
4747+ /** Temperature in Celsius at Stage 1 * 10 (e.g. 225 = 22.5°C) */
4848+ stage1Temp?: number
4949+ /** Temperature in Celsius at Stage 2 * 10 (e.g. 225 = 22.5°C) */
5050+ stage2Temp?: number
5151+ /** Temperature in Celsius at Stage 3 * 10 (e.g. 225 = 22.5°C) */
5252+ stage3Temp?: number
5353+ /** Timestamp when Stage 2 was completed (for accurate temperature) */
5454+ stage2CompletedAt?: string
3955 [k: string]: unknown
4056}
4157