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/plugin-judge

Interfaces

Gate

Defined in: packages/plugins/judge/src/contract.ts:25

Properties

description?
optional description?: string;

Defined in: packages/plugins/judge/src/contract.ts:27

name
name: string;

Defined in: packages/plugins/judge/src/contract.ts:26

Methods

run()
run(ctx): 
  | string
  | GateResult
  | Promise<string | GateResult | undefined>
  | undefined;

Defined in: packages/plugins/judge/src/contract.ts:28

Parameters
ParameterType
ctxGateContext
Returns

| string | GateResult | Promise<string | GateResult | undefined> | undefined


GateContext

Defined in: packages/plugins/judge/src/contract.ts:15

Properties

executor?
optional executor?: Executor;

Defined in: packages/plugins/judge/src/contract.ts:18

kernel
kernel: KernelApi;

Defined in: packages/plugins/judge/src/contract.ts:17

manifest
manifest: PluginManifest;

Defined in: packages/plugins/judge/src/contract.ts:16


Invariant

Defined in: packages/plugins/judge/src/contract.ts:31

Properties

description?
optional description?: string;

Defined in: packages/plugins/judge/src/contract.ts:33

name
name: string;

Defined in: packages/plugins/judge/src/contract.ts:32

Methods

check()
check(kernel): void | Promise<void>;

Defined in: packages/plugins/judge/src/contract.ts:35

Throw to fail. Runs after every mount; a failure rolls the mount back.

Parameters
ParameterType
kernelKernelApi
Returns

void | Promise<void>


JudgeOptions

Defined in: packages/plugins/judge/src/index.ts:23

Properties

agentIdPrefix?
optional agentIdPrefix?: string;

Defined in: packages/plugins/judge/src/index.ts:31

Id prefix agent plugins must use. Default ‘agent.’.

autoApprove?
optional autoApprove?: boolean;

Defined in: packages/plugins/judge/src/index.ts:33

Skip human approval entirely (unattended mode).

executor?
optional executor?: Executor;

Defined in: packages/plugins/judge/src/index.ts:29

Executor for the load gate (throwaway instances). Defaults to the kernel’s executor.

gateTimeoutMs?
optional gateTimeoutMs?: number;

Defined in: packages/plugins/judge/src/index.ts:34

sensitivePoints?
optional sensitivePoints?: string[];

Defined in: packages/plugins/judge/src/index.ts:27

Extension points whose contributions require human approval (dsh approves the UI half).

sensitiveScopes?
optional sensitiveScopes?: string[];

Defined in: packages/plugins/judge/src/index.ts:25

Scopes that require human approval.


JudgeService

Defined in: packages/plugins/judge/src/contract.ts:57

Methods

approve()
approve(pluginId, by): Promise<Verdict>;

Defined in: packages/plugins/judge/src/contract.ts:60

Parameters
ParameterType
pluginIdstring
bystring
Returns

Promise<Verdict>

gates()
gates(): {
  description?: string;
  name: string;
  owner: string;
}[];

Defined in: packages/plugins/judge/src/contract.ts:62

Returns

{ description?: string; name: string; owner: string; }[]

pending()
pending(): PendingApproval[];

Defined in: packages/plugins/judge/src/contract.ts:59

Returns

PendingApproval[]

reject()
reject(
   pluginId, 
   by, 
   reason?
): Promise<Verdict>;

Defined in: packages/plugins/judge/src/contract.ts:61

Parameters
ParameterType
pluginIdstring
bystring
reason?string
Returns

Promise<Verdict>

submit()
submit(manifest, submittedBy): Promise<Verdict>;

Defined in: packages/plugins/judge/src/contract.ts:58

Parameters
ParameterType
manifestPluginManifest
submittedBystring
Returns

Promise<Verdict>


PendingApproval

Defined in: packages/plugins/judge/src/contract.ts:51

Properties

manifest
manifest: PluginManifest;

Defined in: packages/plugins/judge/src/contract.ts:52

submittedAt
submittedAt: number;

Defined in: packages/plugins/judge/src/contract.ts:54

verdict
verdict: Verdict;

Defined in: packages/plugins/judge/src/contract.ts:53


Verdict

Defined in: packages/plugins/judge/src/contract.ts:40

Properties

fiber?
optional fiber?: FiberView;

Defined in: packages/plugins/judge/src/contract.ts:47

gates
gates: GateResult[];

Defined in: packages/plugins/judge/src/contract.ts:44

pluginId
pluginId: string;

Defined in: packages/plugins/judge/src/contract.ts:41

reason?
optional reason?: string;

Defined in: packages/plugins/judge/src/contract.ts:45

sensitive?
optional sensitive?: string[];

Defined in: packages/plugins/judge/src/contract.ts:46

status
status: VerdictStatus;

Defined in: packages/plugins/judge/src/contract.ts:43

submittedBy
submittedBy: string;

Defined in: packages/plugins/judge/src/contract.ts:48

version
version: string;

Defined in: packages/plugins/judge/src/contract.ts:42

Type Aliases

GateResult

type GateResult = 
  | {
  gate: string;
  pass: true;
  report?: string;
}
  | {
  gate: string;
  pass: false;
  report: string;
};

Defined in: packages/plugins/judge/src/contract.ts:21


VerdictStatus

type VerdictStatus = "mounted" | "needs-human" | "rejected" | "failed";

Defined in: packages/plugins/judge/src/contract.ts:38

Variables

GATE_POINT

const GATE_POINT: "gate" = 'gate';

Defined in: packages/plugins/judge/src/contract.ts:11

Extension point for checks every agent plugin must pass before mounting (system-only).


INVARIANT_POINT

const INVARIANT_POINT: "invariant" = 'invariant';

Defined in: packages/plugins/judge/src/contract.ts:13

Extension point for properties re-checked after every mount (system-only).


JUDGE_KEY

const JUDGE_KEY: "judge" = 'judge';

Defined in: packages/plugins/judge/src/contract.ts:9

Key under which the judge provides JudgeService (system-only).

Functions

createJudgePlugin()

function createJudgePlugin(opts?): SystemPlugin;

Defined in: packages/plugins/judge/src/index.ts:37

Parameters

ParameterType
optsJudgeOptions

Returns

SystemPlugin