Files
bare-operating-system/packages/bare-os-booter/lib/tools/bare-os-hyperbee-guest-hint.js
T
2026-08-18 18:11:28 -04:00

30 lines
1.1 KiB
JavaScript

/**
* Operator hint for optional Hyperbee2-style P2P indexes (Holepunch hyperbee2).
* Guests do not open Hyperbee by default; extensions on a capable host may dynamic-import.
*/
/**
* @param {Record<string, string | undefined> | null | undefined} env
*/
export function buildBareOsHyperbeeGuestHint(env) {
const on =
env?.BARE_OS_HYPERBEE_GUEST_INDEX === '1' ||
env?.BARE_OS_HYPERBEE_GUEST_INDEX === 'true'
return {
schema: 2,
enabled: on,
optionalNpmPackage: 'hyperbee2',
hyperbee2ReadSurface: {
schema: 1,
typicalOps: ['get', 'peek', 'createReadStream', 'find'],
guestProcOnly: true,
note:
'Read-only hint for operators; matches common **hyperbee2** APIs. Guests do not auto-open indexes.'
},
code: on ? 'host_extension_may_import' : 'ENOTSUP',
note:
'When enabled, operators may attach hyperbee2-backed indexes from host Pear/Bare context; stock guest kernel stays file/Hyperdrive-shaped. No central authority: indexes replicate with their Hypercore backing store.',
atMs: Date.now()
}
}