Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

@sms/kernel

Classes

Kernel

Defined in: packages/core/kernel/src/kernel.ts:38

The kernel: a loader + registry + effect tracker. Generic in the Linux-kernel sense — everything concrete is a plugin or an adapter handed in via options.

Implements

Constructors

Constructor
new Kernel(opts?): Kernel;

Defined in: packages/core/kernel/src/kernel.ts:52

Parameters
ParameterType
optsKernelOptions
Returns

Kernel

Properties

blobs
readonly blobs: BlobStore;

Defined in: packages/core/kernel/src/kernel.ts:41

Implementation of

KernelApi.blobs

executor
executor: Executor | undefined;

Defined in: packages/core/kernel/src/kernel.ts:42

Whether an Executor is configured (needed for agent plugins with code).

Implementation of

KernelApi.executor

log
readonly log: EventLog;

Defined in: packages/core/kernel/src/kernel.ts:40

Implementation of

KernelApi.log

name
readonly name: string;

Defined in: packages/core/kernel/src/kernel.ts:39

Implementation of

KernelApi.name

Methods

assertAgentManifest()
assertAgentManifest(manifest): void;

Defined in: packages/core/kernel/src/kernel.ts:247

Static trust checks on an agent manifest (defense in depth; effects re-check at apply time).

Parameters
ParameterType
manifestPluginManifest
Returns

void

Implementation of

KernelApi.assertAgentManifest

authorize()
authorize(manifest, issuedBy): Promise<MountAuthorization>;

Defined in: packages/core/kernel/src/kernel.ts:187

Mint an authorization for an agent plugin. Only system fibers hold a KernelApi.

Parameters
ParameterType
manifestPluginManifest
issuedBystring
Returns

Promise<MountAuthorization>

Implementation of

KernelApi.authorize

contributions()
contributions<T>(point): Contribution<T>[];

Defined in: packages/core/kernel/src/kernel.ts:105

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
pointstring
Returns

Contribution<T>[]

Implementation of

KernelApi.contributions

defineKey()
defineKey(meta): void;

Defined in: packages/core/kernel/src/kernel.ts:78

Parameters
ParameterType
metaKeyMeta
Returns

void

Implementation of

KernelApi.defineKey

definePoint()
definePoint(meta): void;

Defined in: packages/core/kernel/src/kernel.ts:82

Parameters
ParameterType
metaExtensionPointMeta
Returns

void

Implementation of

KernelApi.definePoint

disable()
disable(id, reason?): Promise<FiberView>;

Defined in: packages/core/kernel/src/kernel.ts:302

Parameters
ParameterTypeDefault value
idstringundefined
reasonstring'disabled'
Returns

Promise<FiberView>

Implementation of

KernelApi.disable

dispose()
dispose(): Promise<void>;

Defined in: packages/core/kernel/src/kernel.ts:398

Returns

Promise<void>

enable()
enable(id): Promise<FiberView>;

Defined in: packages/core/kernel/src/kernel.ts:290

Parameters
ParameterType
idstring
Returns

Promise<FiberView>

Implementation of

KernelApi.enable

fiber()
fiber(id): FiberView | undefined;

Defined in: packages/core/kernel/src/kernel.ts:130

Parameters
ParameterType
idstring
Returns

FiberView | undefined

Implementation of

KernelApi.fiber

fibers()
fibers(): FiberView[];

Defined in: packages/core/kernel/src/kernel.ts:126

Returns

FiberView[]

Implementation of

KernelApi.fibers

getValue()
getValue<T>(key): T | undefined;

Defined in: packages/core/kernel/src/kernel.ts:101

Read a key from the host side (composition roots / tests). No trust check.

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
keystring
Returns

T | undefined

Implementation of

KernelApi.getValue

has()
has(key): boolean;

Defined in: packages/core/kernel/src/kernel.ts:96

Parameters
ParameterType
keystring
Returns

boolean

Implementation of

KernelApi.has

install()
install(plugin, opts?): Promise<FiberView>;

Defined in: packages/core/kernel/src/kernel.ts:164

Install an in-process, system-trust plugin.

Parameters
ParameterType
pluginSystemPlugin
opts{ enabled?: boolean; settle?: boolean; }
opts.enabled?boolean
opts.settle?boolean
Returns

Promise<FiberView>

keys()
keys(): KeyMeta[];

Defined in: packages/core/kernel/src/kernel.ts:87

Returns

KeyMeta[]

Implementation of

KernelApi.keys

observeKeys()
observeKeys(observer): () => void;

Defined in: packages/core/kernel/src/kernel.ts:119

Parameters
ParameterType
observerKeyObserver
Returns

() => void

Implementation of

KernelApi.observeKeys

observePoint()
observePoint<T>(point, observer): () => void;

Defined in: packages/core/kernel/src/kernel.ts:109

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
pointstring
observerPointObserver<T>
Returns

() => void

Implementation of

KernelApi.observePoint

points()
points(): ExtensionPointMeta[];

Defined in: packages/core/kernel/src/kernel.ts:92

Returns

ExtensionPointMeta[]

Implementation of

KernelApi.points

propose()
propose(proposed, auth): Promise<FiberView>;

Defined in: packages/core/kernel/src/kernel.ts:200

Install or update an agent-trust plugin. Requires an authorization minted by a system fiber.

Parameters
ParameterType
proposedPluginManifest
authMountAuthorization
Returns

Promise<FiberView>

Implementation of

KernelApi.propose

restore()
restore(): Promise<FiberView[]>;

Defined in: packages/core/kernel/src/kernel.ts:325

Re-mount agent plugins recorded in the log (persistence axis). System plugins must already be installed by the composition root; their enabled flag is taken from the log by install().

Returns

Promise<FiberView[]>

setExecutor()
setExecutor(executor): void;

Defined in: packages/core/kernel/src/kernel.ts:72

Parameters
ParameterType
executorExecutor
Returns

void

settle()
settle(): Promise<void>;

Defined in: packages/core/kernel/src/kernel.ts:367

Drive fibers toward the target: enabled + dependencies satisfied → active; disabled or a dependency withdrawn → inactive. Runs until nothing changes.

Returns

Promise<void>

Implementation of

KernelApi.settle

uninstall()
uninstall(
   id, 
   reason?, 
   opts?
): Promise<void>;

Defined in: packages/core/kernel/src/kernel.ts:310

Remove a plugin. System plugins are refused unless force (composition-root use only).

Parameters
ParameterTypeDefault value
idstringundefined
reasonstring'uninstalled'
opts{ force?: boolean; }{}
opts.force?booleanundefined
Returns

Promise<void>

Implementation of

KernelApi.uninstall


KernelError

Defined in: packages/core/kernel/src/errors.ts:15

Extends

  • Error

Constructors

Constructor
new KernelError(code, message): KernelError;

Defined in: packages/core/kernel/src/errors.ts:17

Parameters
ParameterType
codeKernelErrorCode
messagestring
Returns

KernelError

Overrides
Error.constructor

Properties

cause?
optional cause?: unknown;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts:26

Inherited from
Error.cause
code
readonly code: KernelErrorCode;

Defined in: packages/core/kernel/src/errors.ts:16

message
message: string;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from
Error.message
name
name: string;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from
Error.name
stack?
optional stack?: string;

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from
Error.stack
stackTraceLimit
static stackTraceLimit: number;

Defined in: node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts:68

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from
Error.stackTraceLimit

Methods

captureStackTrace()
static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts:52

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();
Parameters
ParameterType
targetObjectobject
constructorOpt?Function
Returns

void

Inherited from
Error.captureStackTrace
prepareStackTrace()
static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts:56

Parameters
ParameterType
errError
stackTracesCallSite[]
Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from
Error.prepareStackTrace

MemoryBlobStore

Defined in: packages/core/kernel/src/log.ts:18

Content-addressed storage for plugin bundles.

Implements

Constructors

Constructor
new MemoryBlobStore(): MemoryBlobStore;
Returns

MemoryBlobStore

Methods

get()
get(hash): Promise<string | undefined>;

Defined in: packages/core/kernel/src/log.ts:25

Parameters
ParameterType
hashstring
Returns

Promise<string | undefined>

Implementation of

BlobStore.get

put()
put(bytes): Promise<string>;

Defined in: packages/core/kernel/src/log.ts:20

Parameters
ParameterType
bytesstring
Returns

Promise<string>

Implementation of

BlobStore.put


MemoryEventLog

Defined in: packages/core/kernel/src/log.ts:3

Implements

Constructors

Constructor
new MemoryEventLog(): MemoryEventLog;
Returns

MemoryEventLog

Methods

all()
all(): Promise<KernelEvent[]>;

Defined in: packages/core/kernel/src/log.ts:10

Returns

Promise<KernelEvent[]>

Implementation of

EventLog.all

append()
append(event): Promise<KernelEvent>;

Defined in: packages/core/kernel/src/log.ts:5

Parameters
ParameterType
eventOmit<KernelEvent, "seq" | "ts">
Returns

Promise<KernelEvent>

Implementation of

EventLog.append

since()
since(seq): Promise<KernelEvent[]>;

Defined in: packages/core/kernel/src/log.ts:13

Parameters
ParameterType
seqnumber
Returns

Promise<KernelEvent[]>

Implementation of

EventLog.since

Interfaces

AppliedEffect

Defined in: packages/core/kernel/src/types.ts:74

Properties

kind
kind: EffectKind;

Defined in: packages/core/kernel/src/types.ts:75

label
label: string;

Defined in: packages/core/kernel/src/types.ts:76

undo
undo: () => void | Promise<void>;

Defined in: packages/core/kernel/src/types.ts:77

Returns

void | Promise<void>


BlobStore

Defined in: packages/core/kernel/src/types.ts:200

Content-addressed storage for plugin bundles.

Methods

get()
get(hash): Promise<string | undefined>;

Defined in: packages/core/kernel/src/types.ts:202

Parameters
ParameterType
hashstring
Returns

Promise<string | undefined>

put()
put(bytes): Promise<string>;

Defined in: packages/core/kernel/src/types.ts:201

Parameters
ParameterType
bytesstring
Returns

Promise<string>


Contribution

Defined in: packages/core/kernel/src/types.ts:34

Type Parameters

Type ParameterDefault type
Tunknown

Properties

id
id: string;

Defined in: packages/core/kernel/src/types.ts:35

item
item: T;

Defined in: packages/core/kernel/src/types.ts:38

owner
owner: string;

Defined in: packages/core/kernel/src/types.ts:37

point
point: string;

Defined in: packages/core/kernel/src/types.ts:36


EventLog

Defined in: packages/core/kernel/src/types.ts:193

Methods

all()
all(): Promise<KernelEvent[]>;

Defined in: packages/core/kernel/src/types.ts:195

Returns

Promise<KernelEvent[]>

append()
append(event): Promise<KernelEvent>;

Defined in: packages/core/kernel/src/types.ts:194

Parameters
ParameterType
eventOmit<KernelEvent, "seq" | "ts">
Returns

Promise<KernelEvent>

since()
since(seq): Promise<KernelEvent[]>;

Defined in: packages/core/kernel/src/types.ts:196

Parameters
ParameterType
seqnumber
Returns

Promise<KernelEvent[]>


Executor

Defined in: packages/core/kernel/src/types.ts:180

Methods

load()
load(
   bundle, 
   host, 
   opts?
): Promise<ExecutorInstance>;

Defined in: packages/core/kernel/src/types.ts:181

Parameters
ParameterType
bundlePluginBundle
hostHostBridge
opts?{ timeoutMs?: number; }
opts.timeoutMs?number
Returns

Promise<ExecutorInstance>


ExecutorInstance

Defined in: packages/core/kernel/src/types.ts:174

Methods

call()
call(method, args): Promise<unknown>;

Defined in: packages/core/kernel/src/types.ts:176

Call into plugin code: ‘activate’, ‘fn’ {id,args}, …

Parameters
ParameterType
methodstring
argsunknown
Returns

Promise<unknown>

dispose()
dispose(): Promise<void>;

Defined in: packages/core/kernel/src/types.ts:177

Returns

Promise<void>


ExtensionPointMeta

Defined in: packages/core/kernel/src/types.ts:25

A named bag of contributions (tools, routes, collections, ui slots, gates …).

Properties

description?
optional description?: string;

Defined in: packages/core/kernel/src/types.ts:27

minContributorTrust?
optional minContributorTrust?: Trust;

Defined in: packages/core/kernel/src/types.ts:29

Minimum trust a fiber needs to contribute here. Default: agent (open).

name
name: string;

Defined in: packages/core/kernel/src/types.ts:26

validate?
optional validate?: (item) => void;

Defined in: packages/core/kernel/src/types.ts:31

Host-side validation of an item; throw to reject (fails the contributor’s activation).

Parameters
ParameterType
itemunknown
Returns

void


FiberView

Defined in: packages/core/kernel/src/types.ts:82

Properties

effects
effects: number;

Defined in: packages/core/kernel/src/types.ts:92

enabled
enabled: boolean;

Defined in: packages/core/kernel/src/types.ts:87

error?
optional error?: string;

Defined in: packages/core/kernel/src/types.ts:88

id
id: string;

Defined in: packages/core/kernel/src/types.ts:83

inject
inject: string[];

Defined in: packages/core/kernel/src/types.ts:89

optional
optional: string[];

Defined in: packages/core/kernel/src/types.ts:90

provide
provide: string[];

Defined in: packages/core/kernel/src/types.ts:91

state
state: FiberState;

Defined in: packages/core/kernel/src/types.ts:86

trust
trust: Trust;

Defined in: packages/core/kernel/src/types.ts:85

version
version: string;

Defined in: packages/core/kernel/src/types.ts:84

waitingFor
waitingFor: string[];

Defined in: packages/core/kernel/src/types.ts:93


HostBridge

Defined in: packages/core/kernel/src/types.ts:170

Host side of the bridge: handles calls coming from plugin code.

Methods

call()
call(method, args): Promise<unknown>;

Defined in: packages/core/kernel/src/types.ts:171

Parameters
ParameterType
methodstring
argsunknown
Returns

Promise<unknown>


KernelApi

Defined in: packages/core/kernel/src/types.ts:135

What system-trust plugins can do to the kernel. Never reachable by agent code.

Properties

blobs
blobs: BlobStore;

Defined in: packages/core/kernel/src/types.ts:162

executor
executor: Executor | undefined;

Defined in: packages/core/kernel/src/types.ts:164

Whether an Executor is configured (needed for agent plugins with code).

log
log: EventLog;

Defined in: packages/core/kernel/src/types.ts:161

name
readonly name: string;

Defined in: packages/core/kernel/src/types.ts:136

Methods

assertAgentManifest()
assertAgentManifest(manifest): void;

Defined in: packages/core/kernel/src/types.ts:150

Static trust checks on a manifest that will be mounted with agent trust. Throws KernelError.

Parameters
ParameterType
manifestPluginManifest
Returns

void

authorize()
authorize(manifest, issuedBy): Promise<MountAuthorization>;

Defined in: packages/core/kernel/src/types.ts:152

Mint an authorization for an agent plugin. Only system fibers hold a KernelApi.

Parameters
ParameterType
manifestPluginManifest
issuedBystring
Returns

Promise<MountAuthorization>

contributions()
contributions<T>(point): Contribution<T>[];

Defined in: packages/core/kernel/src/types.ts:144

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
pointstring
Returns

Contribution<T>[]

defineKey()
defineKey(meta): void;

Defined in: packages/core/kernel/src/types.ts:137

Parameters
ParameterType
metaKeyMeta
Returns

void

definePoint()
definePoint(meta): void;

Defined in: packages/core/kernel/src/types.ts:138

Parameters
ParameterType
metaExtensionPointMeta
Returns

void

disable()
disable(id, reason?): Promise<FiberView>;

Defined in: packages/core/kernel/src/types.ts:156

Parameters
ParameterType
idstring
reason?string
Returns

Promise<FiberView>

enable()
enable(id): Promise<FiberView>;

Defined in: packages/core/kernel/src/types.ts:155

Parameters
ParameterType
idstring
Returns

Promise<FiberView>

fiber()
fiber(id): FiberView | undefined;

Defined in: packages/core/kernel/src/types.ts:148

Parameters
ParameterType
idstring
Returns

FiberView | undefined

fibers()
fibers(): FiberView[];

Defined in: packages/core/kernel/src/types.ts:147

Returns

FiberView[]

getValue()
getValue<T>(key): T | undefined;

Defined in: packages/core/kernel/src/types.ts:143

Current value of a key, or undefined when nobody provides it (soft dependency — declare it in manifest.optional; no trust check).

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
keystring
Returns

T | undefined

has()
has(key): boolean;

Defined in: packages/core/kernel/src/types.ts:141

Parameters
ParameterType
keystring
Returns

boolean

keys()
keys(): KeyMeta[];

Defined in: packages/core/kernel/src/types.ts:139

Returns

KeyMeta[]

observeKeys()
observeKeys(observer): () => void;

Defined in: packages/core/kernel/src/types.ts:146

Parameters
ParameterType
observerKeyObserver
Returns

() => void

observePoint()
observePoint<T>(point, observer): () => void;

Defined in: packages/core/kernel/src/types.ts:145

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
pointstring
observerPointObserver<T>
Returns

() => void

points()
points(): ExtensionPointMeta[];

Defined in: packages/core/kernel/src/types.ts:140

Returns

ExtensionPointMeta[]

propose()
propose(manifest, auth): Promise<FiberView>;

Defined in: packages/core/kernel/src/types.ts:154

Install (or update to a new version) an agent plugin. Requires a valid authorization.

Parameters
ParameterType
manifestPluginManifest
authMountAuthorization
Returns

Promise<FiberView>

settle()
settle(): Promise<void>;

Defined in: packages/core/kernel/src/types.ts:160

Run the reconciler until quiescence.

Returns

Promise<void>

uninstall()
uninstall(
   id, 
   reason?, 
   opts?
): Promise<void>;

Defined in: packages/core/kernel/src/types.ts:158

Remove a plugin. System plugins are refused unless force (composition-root use only).

Parameters
ParameterType
idstring
reason?string
opts?{ force?: boolean; }
opts.force?boolean
Returns

Promise<void>


KernelEvent

Defined in: packages/core/kernel/src/types.ts:186

Indexable

[k: string]: unknown

Properties

seq
seq: number;

Defined in: packages/core/kernel/src/types.ts:187

ts
ts: number;

Defined in: packages/core/kernel/src/types.ts:188

type
type: string;

Defined in: packages/core/kernel/src/types.ts:189


KernelOptions

Defined in: packages/core/kernel/src/kernel.ts:23

Properties

blobs?
optional blobs?: BlobStore;

Defined in: packages/core/kernel/src/kernel.ts:26

executor?
optional executor?: Executor;

Defined in: packages/core/kernel/src/kernel.ts:27

log?
optional log?: EventLog;

Defined in: packages/core/kernel/src/kernel.ts:25

logger?
optional logger?: (...args) => void;

Defined in: packages/core/kernel/src/kernel.ts:29

Hook for kernel diagnostics (plugin logs, undo failures).

Parameters
ParameterType
argsunknown[]
Returns

void

name?
optional name?: string;

Defined in: packages/core/kernel/src/kernel.ts:24


KeyMeta

Defined in: packages/core/kernel/src/types.ts:15

A typed slot in the shared registry table (a Cordis “coeffect key”).

Properties

description?
optional description?: string;

Defined in: packages/core/kernel/src/types.ts:17

minConsumerTrust?
optional minConsumerTrust?: Trust;

Defined in: packages/core/kernel/src/types.ts:21

Minimum trust a fiber needs to inject/get/invoke this key. Default: agent (open).

minProviderTrust?
optional minProviderTrust?: Trust;

Defined in: packages/core/kernel/src/types.ts:19

Minimum trust a fiber needs to provide this key. Default: agent (open).

name
name: string;

Defined in: packages/core/kernel/src/types.ts:16


MountAuthorization

Defined in: packages/core/kernel/src/types.ts:118

A token proving a system-trust fiber vouched for mounting an agent plugin.

Properties

integrity
integrity: string | null;

Defined in: packages/core/kernel/src/types.ts:121

issuedBy
issuedBy: string;

Defined in: packages/core/kernel/src/types.ts:123

nonce
nonce: string;

Defined in: packages/core/kernel/src/types.ts:122

pluginId
pluginId: string;

Defined in: packages/core/kernel/src/types.ts:119

version
version: string;

Defined in: packages/core/kernel/src/types.ts:120


PluginBundle

Defined in: packages/core/kernel/src/types.ts:64

Properties

code
code: string;

Defined in: packages/core/kernel/src/types.ts:66

format
format: "esm";

Defined in: packages/core/kernel/src/types.ts:65

integrity?
optional integrity?: string;

Defined in: packages/core/kernel/src/types.ts:68

sha-256 hex of code, filled by the loader if absent.


PluginContext

Defined in: packages/core/kernel/src/types.ts:97

The only thing a plugin (in-process or remote) can do to the host.

Properties

id
readonly id: string;

Defined in: packages/core/kernel/src/types.ts:98

kernel?
readonly optional kernel?: KernelApi;

Defined in: packages/core/kernel/src/types.ts:108

Present only for system-trust fibers.

trust
readonly trust: Trust;

Defined in: packages/core/kernel/src/types.ts:99

Methods

contribute()
contribute(point, item): Promise<void>;

Defined in: packages/core/kernel/src/types.ts:105

Contribute an item to an extension point (revertible effect). Resolves once the point owner accepted it.

Parameters
ParameterType
pointstring
itemunknown
Returns

Promise<void>

get()
get<T>(key): T;

Defined in: packages/core/kernel/src/types.ts:101

Read a key declared in inject.

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
keystring
Returns

T

log()
log(...args): void;

Defined in: packages/core/kernel/src/types.ts:106

Parameters
ParameterType
argsunknown[]
Returns

void

provide()
provide(key, value): void;

Defined in: packages/core/kernel/src/types.ts:103

Provide a key (revertible effect).

Parameters
ParameterType
keystring
valueunknown
Returns

void


PluginManifest

Defined in: packages/core/kernel/src/types.ts:42

What a plugin declares. Trust is NOT here — the loader assigns it.

Properties

contributes?
optional contributes?: Record<string, unknown[]>;

Defined in: packages/core/kernel/src/types.ts:59

Declarative contributions, applied by the kernel with no code execution.

description?
optional description?: string;

Defined in: packages/core/kernel/src/types.ts:45

entry?
optional entry?: PluginBundle;

Defined in: packages/core/kernel/src/types.ts:61

Optional code; executed through the Executor capability, never in-process.

id
id: string;

Defined in: packages/core/kernel/src/types.ts:43

inject?
optional inject?: string[];

Defined in: packages/core/kernel/src/types.ts:47

Keys this plugin needs. It activates only when all are provided (σ ⊨ d).

optional?
optional optional?: string[];

Defined in: packages/core/kernel/src/types.ts:53

Keys this plugin uses when present but can live without (soft dependency): read them with ctx.kernel.getValue(key), which returns undefined while nobody provides them. Declared so the dependency is visible to the kernel, the admin surface and the quality gate, not hidden in code.

provide?
optional provide?: string[];

Defined in: packages/core/kernel/src/types.ts:55

Keys this plugin promises to provide. Used for dependency ordering.

scopes?
optional scopes?: string[];

Defined in: packages/core/kernel/src/types.ts:57

Capability scopes requested (interpreted by the judge, e.g. ‘net’, ‘ui’, ‘collection:write’).

version
version: string;

Defined in: packages/core/kernel/src/types.ts:44


PointObserver

Defined in: packages/core/kernel/src/types.ts:127

Listener for extension point changes (the point owner reacts to contributions).

Type Parameters

Type ParameterDefault type
Tunknown

Properties

added?
optional added?: (c) => void | Promise<void>;

Defined in: packages/core/kernel/src/types.ts:128

Parameters
ParameterType
cContribution<T>
Returns

void | Promise<void>

removed?
optional removed?: (c) => void | Promise<void>;

Defined in: packages/core/kernel/src/types.ts:129

Parameters
ParameterType
cContribution<T>
Returns

void | Promise<void>


SystemPlugin

Defined in: packages/core/kernel/src/types.ts:112

An in-process (system-trust) plugin.

Properties

activate
activate: (ctx) => void | Promise<void>;

Defined in: packages/core/kernel/src/types.ts:114

Parameters
ParameterType
ctxPluginContext
Returns

void | Promise<void>

manifest
manifest: PluginManifest;

Defined in: packages/core/kernel/src/types.ts:113


TargetEntry

Defined in: packages/core/kernel/src/log.ts:37

The target view: what the log says should exist. A pure fold, order-independent in its terminal state.

Properties

enabled
enabled: boolean;

Defined in: packages/core/kernel/src/log.ts:41

integrity
integrity: string | null;

Defined in: packages/core/kernel/src/log.ts:40

manifest
manifest: PluginManifest;

Defined in: packages/core/kernel/src/log.ts:38

trust
trust: Trust;

Defined in: packages/core/kernel/src/log.ts:39

Type Aliases

EffectKind

type EffectKind = "provide" | "contribute";

Defined in: packages/core/kernel/src/types.ts:72

Closed effect vocabulary. Undo is derived by the kernel, never written by a plugin.


FiberState

type FiberState = "inactive" | "loading" | "active" | "unloading" | "failed";

Defined in: packages/core/kernel/src/types.ts:80


KernelErrorCode

type KernelErrorCode = 
  | "UNDECLARED_ACCESS"
  | "INACTIVE_ACCESS"
  | "TRUST_VIOLATION"
  | "ALREADY_PROVIDED"
  | "UNKNOWN_POINT"
  | "INVALID_ITEM"
  | "UNAUTHORIZED"
  | "NOT_FOUND"
  | "NO_EXECUTOR"
  | "RESERVED_ID";

Defined in: packages/core/kernel/src/errors.ts:3


KeyObserver

type KeyObserver = (event, key, value) => void;

Defined in: packages/core/kernel/src/types.ts:132

Parameters

ParameterType
event"provided" | "withdrawn"
keystring
valueunknown

Returns

void


Trust

type Trust = "system" | "agent";

Defined in: packages/core/kernel/src/types.ts:10

Who vouched for a plugin. Set by the loader, never by the manifest.

Variables

FN_MARKER

const FN_MARKER: "$fn" = '$fn';

Defined in: packages/core/kernel/src/marshal.ts:8


TRUST_RANK

const TRUST_RANK: Record<Trust, number>;

Defined in: packages/core/kernel/src/types.ts:12

Functions

assertTrust()

function assertTrust(
   actual, 
   required, 
   what
): void;

Defined in: packages/core/kernel/src/errors.ts:24

Parameters

ParameterType
actualTrust
requiredTrust | undefined
whatstring

Returns

void


foldTarget()

function foldTarget(events): Map<string, TargetEntry>;

Defined in: packages/core/kernel/src/log.ts:44

Parameters

ParameterType
eventsKernelEvent[]

Returns

Map<string, TargetEntry>


sha256()

function sha256(text): Promise<string>;

Defined in: packages/core/kernel/src/log.ts:30

Parameters

ParameterType
textstring

Returns

Promise<string>


toJson()

function toJson(value): unknown;

Defined in: packages/core/kernel/src/marshal.ts:24

Drop functions when sending host values to plugin code (they get undefined).

Parameters

ParameterType
valueunknown

Returns

unknown


unmarshal()

function unmarshal(value, instance): unknown;

Defined in: packages/core/kernel/src/marshal.ts:10

Parameters

ParameterType
valueunknown
instanceExecutorInstance

Returns

unknown