Jason's 2026-11-12 ruling: the only deployed system is the dev environment on dragon-lin, so the system-type plug-in kind goes with no retired kind, fence, conversion or new refusal code. - plugins: system-type leaves KINDS; system-types.mjs and the five modules are deleted. An org file naming the kind refuses unknown-kind. - organization: the plugins.system-type check, systemTypesFence and the system-types.console right are removed. - bus: system-types.console, project.system-types[.set], the system-type half of the tester check, the runtime reads and system-type-not-enabled are removed. Step 3v-3w drops project_system_types, its index, its four guards and its rows; SCHEMA_VERSION is 3w (32 tables, 126 triggers, 5 views). - cli: mosaic org system-types and mosaic project system-types[-set] are removed; stack-release COUNTED and the budget supervisor's closed list move to 3w. - channel: the project.system-types verbs are removed. - webui: the System types page, route, dashboard row, chips and project selection are removed. - docs: REQ-SYS-1/2 now describe starter packs; README system-type text and the requirements titles follow.
27 lines
688 B
JavaScript
27 lines
688 B
JavaScript
// Surface adapter only. The caller and its human proof belong to core.
|
|
import { PluginError } from "../../src/kinds.mjs";
|
|
export const interfaceVersion = 1;
|
|
const VERBS = new Set([
|
|
"project.list",
|
|
"project.create",
|
|
"project.archive",
|
|
"project.unarchive",
|
|
"thread.list",
|
|
"thread.create",
|
|
"thread.messages",
|
|
"thread.send",
|
|
"thread.open",
|
|
"session.list",
|
|
"session.create",
|
|
"session.clear",
|
|
"session.cancel",
|
|
"session.operation",
|
|
"message.receive",
|
|
"message.read",
|
|
]);
|
|
|
|
export async function dispatch({ verb, args }, { call }) {
|
|
if (!VERBS.has(verb)) throw new PluginError("channel-operation", "unsupported channel operation");
|
|
return call(verb, args);
|
|
}
|