@cyrnel/sdk is the TypeScript package every cyrnel module is written against.
It defines the data shapes cyrnel exchanges (services, tools, execution
state) and the interfaces that adapter and environment modules implement.
Who implements what
Module Manifests
Every module exposes metadata (id, name, type, description) via a
module.json file on disk, plus schemas and a factory via a default
code export.
-
Built-in modules use a default export that bundles both schemas
and
instantiate:
export default {
configSchema: { type: "object", properties: {} },
secretsSchema: { type: "null" },
instantiate(): AdapterModule {
return new MyAdapter();
},
};
-
Custom modules declare basic metadata in
module.json and the
schemas + factory in a default export from their entry file. See
Writing a custom module for
the full layout.
Config and secrets schemas are not part of module.json; they come
from the code export instead. This ensures schemas are kept close to the
logic that consumes them.Last modified on June 24, 2026