import { kody, packageStorage } from 'kody:runtime'
import { getDefaultHandle } from './client.ts'
/**
* Copy a leftover user value into package storage, or report the stored handle.
* Authenticated exports no longer read `value_get('blueskyHandle')`.
*/
export default async function migrateBlueskyFromValues() {
try {
const handle = await getDefaultHandle()
return { copied: [], handleLength: handle.length, alreadyPresent: true }
} catch {
// Package storage may be empty while a leftover value still exists.
}
let value = ''
try {
const result = await kody.value_get({ name: 'blueskyHandle', scope: 'user' })
value = typeof result?.value === 'string' ? result.value.trim() : ''
} catch {
// Values retirement: leftover rows may already be gone.
}
if (!value) {
throw new Error(
'Missing packageStorage blueskyHandle and leftover user value blueskyHandle is gone.',
)
}
await packageStorage().set('blueskyHandle', value)
return { copied: ['blueskyHandle'], handleLength: value.length, alreadyPresent: false }
}