#!/usr/bin/env node /** * CI: ensure bare-os-ctx.d.ts documents roadmap ctx fields present in index.js. */ import fs from 'node:fs' import path from 'node:path' import process from 'node:process' import { fileURLToPath } from 'node:url' const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') const needles = [ 'bareOsAdvertisedKernelCapabilityWords', 'bareOsSeedKernelCapabilityWords', 'bareOsProtocolPackageVersion', 'bareOsPearRuntimeVersion', 'bareOsBooterPackageVersion', 'bareOsEmitBundlebeeHint', 'bareOsRegisterBareDiagnosticsTap', 'bareOsHrpcRequest', 'bareOsSetSessionHostname', 'bareOsPearUpdaterDelegate', 'bareOsEmitHyperdhtBootstrapRefresh', 'bareOsReadDelegateFairnessSnapshot', 'bareOsReadSubprocessBridgeJobs', 'bareOsReadSubprocessBridgeSnapshot', 'bareOsRequestKernelProfileReload', 'bareOsIsCtxMethodAllowed', 'bareOsEmitIpcAudit', 'bareOsBareRuntimeVersion', 'bareOsEmitStructuredCloneCap', 'bareOsProtomuxChannelAlias', 'bareOsProtomuxAliasRegistrySnapshot', 'bareOsRunCurlCli', 'bareOsRunWgetCli', 'bareOsRunOpensslCli', 'bareOsRunSshKeygenCli', 'bareOsRunTarCli', 'bareOsRunSystemctlCli', 'bareOsRunHolesailCli', 'bareOsReleaseKeyHandle', 'bareOsAuditLogAppend', 'bareOsAclEvaluate', 'bareOsMetricInc', 'bareOsHostCapabilityProfile', 'bareOsEvaluatePeerAdmission', 'bareOsReadPearRuntimeSnapshotJson', 'bareOsPrioritizeReplicationPaths', 'bareOsEmitPearStageHint', 'bareOsBareModuleResolveProbe', 'bareOsBareCryptoCapProbe', 'bareOsEmitPearDoctorHint', 'bareOsPearInspectProbe', 'bareOsEmitBareBootPhaseHint', 'bareOsRegisterBootStepHook', 'bareOsInvokeBootStepHooks', 'bareOsEmitBareBootStepHint', 'bareOsBareRpcCapProbe', 'bareOsEmitPearStampPointer', 'bareOsRegisterBareLoggerTap', 'bareOsEmitAutobaseDiscoveryHint', 'bareOsEmitBlindPairingSketch', 'bareOsBareStreamBackpressureHint', 'bareOsPearTerminalCapsProbe', 'bareOsEmitHypercoreReplicateBudget', 'bareOsPearRuntimeMatrixProbe', 'bareOsBarePackCacheProbe', 'bareOsEmitKernelEvent', 'bareOsSubscribeKernelEvent', 'bareOsAcquireKeyHandle', 'bareOsQvacAvailable', 'bareOsQvacStatus', 'bareOsQvacLoadModel', 'bareOsQvacUnloadModel', 'bareOsQvacComplete', 'ctx.tui', 'ctx.sdk', 'bareOsTlsConnect', 'bareOsIrcHostAllowed', 'bareOsSummonEval' ] function main() { const dts = fs.readFileSync( path.join(root, 'packages/bare-os-booter/lib/bare-os-ctx.d.ts'), 'utf8' ) const idx = fs.readFileSync( path.join(root, 'packages/bare-os-booter/index.js'), 'utf8' ) for (const n of needles) { if (!idx.includes(n)) { console.error('verify-ctx-dts: index.js missing', n) process.exit(1) } if (!dts.includes(n)) { console.error('verify-ctx-dts: bare-os-ctx.d.ts missing', n) process.exit(1) } } console.log('verify-ctx-dts: OK') } main()