@sema-agent/core
Version:
Stateless, task-oriented AI agent core
22 lines (21 loc) • 977 B
JavaScript
import { MODS_REGISTRATION_REFUSED_CODE } from "./kernel/index.js";
export function modSeatsOf(spec, deps) {
return { ...(deps.mods !== undefined ? { deployment: deps.mods } : {}), ...(spec.mods !== undefined ? { task: spec.mods } : {}) };
}
export function modsReportToOnError(onError, sessionId) {
return (err, classification) => {
try {
onError?.(err, { phase: "hook", sessionId, ...(classification !== undefined ? { classification } : {}) });
}
catch {
}
};
}
const REGISTRATION_REFUSED = "mods.registration_refused";
export function registrationRefusedNotice(record, sessionId) {
return {
code: REGISTRATION_REFUSED,
message: `extension "${record.name}" (${record.seat} seat) was not mounted: ${record.refusedBy} refused it — ${record.reason}`,
detail: { name: record.name, seat: record.seat, tier: record.tier, refusedBy: record.refusedBy, reason: record.reason, sessionId },
};
}