Skip to main content

Type Alias: PluginContext

PluginContext = object

Properties

backends

backends: object

registerDialect()

registerDialect(id, dialect): () => void

Parameters
id

string

dialect

Dialect

Returns

() => void

registerProfile()

registerProfile(profile): () => void

Parameters
profile

RegisteredProfile

Returns

() => void


businessEvents

businessEvents: PluginBusinessEvents


config

readonly config: Record<string, unknown>


connections

connections: PluginConnections


events

events: object

on()

on(kind, handler): () => void

Parameters
kind

"mission_complete" | "task_blocked" | "task_done" | "workflow_run" | "workflow_proposal" | "notifications_changed"

handler

(ev) => void

Returns

() => void


fetch?

readonly optional fetch?: typeof globalThis.fetch


host

host: object

exec()

exec(bin, args?, opts?): Promise<PluginExecResult>

Parameters
bin

string

args?

readonly string[]

opts?
cwd?

string

Returns

Promise<PluginExecResult>


id

readonly id: string


kanban

kanban: object

add()

add(task): Promise<unknown>

Parameters
task

PluginTaskInput

Returns

Promise<unknown>

list()

list(filter?): Promise<unknown[]>

Parameters
filter?
status?

string

Returns

Promise<unknown[]>

update()

update(id, patch): Promise<unknown>

Parameters
id

string

patch

PluginTaskPatch

Returns

Promise<unknown>


log

readonly log: PluginLog


missions

missions: object

get()

get(id): Promise<unknown>

Parameters
id

string

Returns

Promise<unknown>

list()

list(opts?): Promise<unknown[]>

Parameters
opts?
agents?

string[]

limit?

number

status?

string

Returns

Promise<unknown[]>

spawn()

spawn(input): Promise<string>

Parameters
input

PluginMissionInput

Returns

Promise<string>


notify

notify: object

alert()

alert(title, body?, opts?): void

Parameters
title

string

body?

string

opts?
urgent?

boolean

Returns

void

report()

report(title, body?): void

Parameters
title

string

body?

string

Returns

void


permissions

readonly permissions: readonly PluginPermission[]


realtime

realtime: PluginRealtime


secrets

secrets: PluginSecrets


settings

settings: object

get()

get(key): PluginSettingValue

Parameters
key

string

Returns

PluginSettingValue


storage

storage: PluginStorage


transports

transports: PluginTransports


ui

ui: object

token()

token(): string

Returns

string


usage

usage: object

get()

get(backend): Promise<UsageEntry | null>

Parameters
backend

string

Returns

Promise<UsageEntry | null>

list()

list(): Promise<UsageEntry[]>

Returns

Promise<UsageEntry[]>

registerCollector()

registerCollector(backend, collect): () => void

Parameters
backend

string

collect

UsageCollector

Returns

() => void


version

readonly version: string


workflows

workflows: PluginWorkflows

Methods

assert()

assert(permission): void

Parameters

permission

"notify" | "storage" | "settings" | "missions:spawn" | "missions:read" | "kanban:write" | "kanban:read" | "secrets:read" | "users:read" | "http:outbound" | "host:exec" | "events:subscribe" | "realtime:publish" | "usage:read" | "usage:collect" | "backends:register" | "events:register" | "events:publish" | "workflows:triggers:register" | "workflows:executors:register" | "transports:register" | "connections:read" | "connections:write"

Returns

void


assertPermission()

assertPermission(permission): void

Parameters

permission

string

Returns

void


can()

can(permission): boolean

Parameters

permission

"notify" | "storage" | "settings" | "missions:spawn" | "missions:read" | "kanban:write" | "kanban:read" | "secrets:read" | "users:read" | "http:outbound" | "host:exec" | "events:subscribe" | "realtime:publish" | "usage:read" | "usage:collect" | "backends:register" | "events:register" | "events:publish" | "workflows:triggers:register" | "workflows:executors:register" | "transports:register" | "connections:read" | "connections:write"

Returns

boolean


effect()

Call Signature

effect(fn): PluginEffectHandle

Parameters
fn

() => void | PluginSyncEffect

Returns

PluginEffectHandle

Call Signature

effect(fn): PluginAsyncEffectHandle

Parameters
fn

() => void | PluginEffect

Returns

PluginAsyncEffectHandle


router()

router(): Router

Returns

Router


user()

user(): PluginUser | undefined

Returns

PluginUser | undefined