#!/usr/bin/env bare
// Diagnostic script to check Pear environment
require('bare-node-runtime/global')
console.log('=== Pear Environment Diagnostic ===\n')
console.log('1. Pear global:', typeof globalThis.Pear !== 'undefined' ? 'EXISTS' : 'MISSING')
if (typeof globalThis.Pear !== 'undefined') {
console.log(' Pear.constructor:', globalThis.Pear.constructor.name)
console.log(' Pear.constructor.IPC:', typeof globalThis.Pear.constructor.IPC)
const ipcSymbol = globalThis.Pear.constructor.IPC
console.log(' IPC Symbol exists:', ipcSymbol !== undefined)
if (ipcSymbol) {
console.log(' Pear[IPC] value:', typeof globalThis.Pear[ipcSymbol])
}
console.log(' Pear.config:', JSON.stringify(globalThis.Pear.config || {}, null, 2))
}
console.log('\n2. Environment:')
console.log(' process.cwd():', process.cwd())
console.log(' __dirname:', __dirname || '(empty)')
console.log(' process.argv:', JSON.stringify(process.argv.slice(0, 4)))
const fs = require('bare-fs')
const path = require('bare-path')
console.log('\n3. UI Directory Check:')
const uiFromCwd = path.join(process.cwd(), 'ui')
console.log(' From cwd:', uiFromCwd)
console.log(' Exists:', fs.existsSync(uiFromCwd))
if (fs.existsSync(uiFromCwd)) {
console.log(' Files:', fs.readdirSync(uiFromCwd))
}
console.log('\n4. Test pear-appdrive:')
try {
const AppDrive = require('pear-appdrive')
console.log(' Module loaded: YES')
const appDrive = new AppDrive()
console.log(' Instance created: YES')
await appDrive.ready()
console.log(' Ready: YES')
} catch (err) {
console.log(' Error:', err.message)
}
console.log('\n=== End Diagnostic ===')