- sabia-core: descoberta de interfaces, controle de modo monitor/canal via iw (ponte até ter nl80211 nativo), captura crua 802.11 via AF_PACKET (sem libpcap), parsing de radiotap e quadros de gerenciamento (beacon/probe/EAPOL), agregação em tabela de APs/ clientes, escrita de .pcap, trilha de auditoria encadeada por hash, auto-atualização via GitHub releases (curl, sem dependências de rede extras) - sabia-cli: `sabia iface`, `sabia scan`, `sabia update`, `sabia audit-verify`, `sabia ui` (servidor local + navegador, protegido por token, mesma filosofia do Guará) - OpenWolf inicializado para memória de projeto entre agentes
20 lines
889 B
TypeScript
20 lines
889 B
TypeScript
// OpenWolf plugin entry — implementation lives in ./openwolf/.
|
|
import {OpenWolf as installed} from "./openwolf/index.js"
|
|
import {pinRuntime, scheduleUpdate} from "./openwolf/runtime-updates.js"
|
|
import {pathToFileURL} from "node:url"
|
|
import * as path from "node:path"
|
|
import type {Plugin} from "@opencode-ai/plugin"
|
|
export const OpenWolf: Plugin = async (ctx) => {
|
|
scheduleUpdate(ctx.directory)
|
|
// The server's plugin instance remains fixed; no reload during a session.
|
|
let pkg: string | undefined
|
|
try { pkg = pinRuntime(ctx.directory, "opencode-server:" + process.pid + ":" + Date.now()) } catch {}
|
|
if (pkg) {
|
|
try {
|
|
const next = await import(pathToFileURL(path.join(pkg,"src/templates/opencode-plugin/index.ts")).href)
|
|
return await next.OpenWolf(ctx)
|
|
} catch {} // retain the installed plugin if the staged module cannot load
|
|
}
|
|
return installed(ctx)
|
|
}
|