Plugin reference
Generated defaults, dependencies, and schemas for the first-party plugins.
Generated by bun run docs:generate from the plugin definitions.
@xandreed/plugin-session-sqlite
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/SessionLog, efferent/TurnAdmission
Requires: none
Defaults
{
"path": ".efferent/runtime/sessions.db"
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
],
"additionalProperties": true
}
@xandreed/plugin-session-sqlite/log
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/SessionLog
Requires: none
Defaults
{
"path": ".efferent/runtime/sessions.db"
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
],
"additionalProperties": true
}
@xandreed/plugin-sessions
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/Sessions, efferent/TurnActivity
Requires: efferent/SessionLog, efferent/TurnAdmission
Defaults
{
"ownership": {
"mode": "lease",
"ttlMs": 60000,
"renew": {
"everyMs": 20000
}
},
"titleChars": 80,
"inbox": {
"maxPending": 20,
"attempts": 2
},
"writer": {
"capacity": 1024,
"batch": 64
},
"retries": 8
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"ownership": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"lease"
]
},
"ttlMs": {
"type": "integer",
"minimum": 1000,
"maximum": 9007199254740991
},
"renew": {
"anyOf": [
{
"type": "string",
"enum": [
"none",
"on-commit"
]
},
{
"type": "object",
"properties": {
"everyMs": {
"type": "integer",
"minimum": 100,
"maximum": 9007199254740991
}
},
"required": [
"everyMs"
],
"additionalProperties": true
}
]
}
},
"required": [
"mode",
"ttlMs",
"renew"
],
"additionalProperties": true,
"description": "A turn is held for ttlMs (storage time) after its begin and after each renewal. renew: \"none\" fixes the lease at begin, \"on-commit\" extends it with each write, { everyMs } also extends it with a keep-alive every everyMs while the turn is open (the first one interval after the begin). everyMs must be at most half of ttlMs (everyMs * 2 <= ttlMs), or the options fail with config.options."
},
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"process"
]
}
},
"required": [
"mode"
],
"additionalProperties": true
}
]
},
"titleChars": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"inbox": {
"type": "object",
"properties": {
"maxPending": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"maxPending",
"attempts"
],
"additionalProperties": true
},
"writer": {
"type": "object",
"properties": {
"capacity": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"batch": {
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": [
"capacity",
"batch"
],
"additionalProperties": true
},
"retries": {
"type": "integer",
"minimum": 1,
"maximum": 64
}
},
"required": [
"ownership",
"titleChars",
"inbox",
"writer",
"retries"
],
"additionalProperties": true
}
@xandreed/plugin-workspace/local
Scope: runtime · API 2 · Version 0.14.0
Provides: @xandreed/core/FileSystem, @xandreed/core/Bash
Requires: none
Defaults
{
"shell": "bash",
"killBackground": true,
"exitGraceMs": 500
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"shell": {
"type": "string",
"minLength": 1
},
"killBackground": {
"type": "boolean"
},
"exitGraceMs": {
"type": "integer",
"minimum": 0,
"maximum": 60000
}
},
"required": [
"shell",
"killBackground",
"exitGraceMs"
],
"additionalProperties": true
}
@xandreed/plugin-workspace/skills
Scope: runtime · API 2 · Version 0.14.0
Provides: none
Contributes: efferent/Capabilities
Requires: @xandreed/core/FileSystem
Optional: efferent/SessionEnvironment
Defaults
{
"roots": [
".agents/skills"
],
"required": false,
"strict": false,
"tools": "ignore",
"idPrefix": "",
"maxReferenceBytes": 65536,
"maxSkills": 200,
"maxFiles": 2000,
"maxBytes": 8388608,
"alwaysSection": true,
"sectionOrder": 850
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"roots": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"required": {
"type": "boolean"
},
"strict": {
"type": "boolean"
},
"tools": {
"type": "string",
"enum": [
"declared",
"ignore"
]
},
"idPrefix": {
"type": "string",
"description": "Put before every skill id; no whitespace."
},
"maxReferenceBytes": {
"type": "integer",
"minimum": 1,
"maximum": 16777216
},
"maxSkills": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"maxFiles": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"maxBytes": {
"type": "integer",
"minimum": 1,
"maximum": 1073741824
},
"alwaysSection": {
"type": "boolean"
},
"sectionOrder": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"roots",
"required",
"strict",
"tools",
"idPrefix",
"maxReferenceBytes",
"maxSkills",
"maxFiles",
"maxBytes",
"alwaysSection",
"sectionOrder"
],
"additionalProperties": true
}
@xandreed/plugin-workspace/tools
Scope: runtime · API 2 · Version 0.14.0
Provides: none
Contributes: efferent/Capabilities
Requires: @xandreed/core/FileSystem, efferent/SessionEnvironment
Optional: @xandreed/core/Bash
Defaults
{
"tools": [
"read",
"write",
"edit",
"ls",
"find",
"grep",
"bash"
],
"always": [
"read"
],
"confine": true,
"protect": [
".git/**",
".efferent/**"
],
"exclude": [
"node_modules",
".git",
".efferent"
],
"maxLines": 2000,
"maxBytes": 51200,
"lsEntries": 500,
"findResults": 1000,
"grepMatches": 100,
"grepLineChars": 500,
"maxFileBytes": 33554432,
"readImages": true,
"fuzzyEdit": true,
"bashTimeoutMs": 120000,
"bashMaxTimeoutMs": 600000,
"bashEnv": {},
"bashInheritEnv": false,
"bashEnvAllow": [
"PATH",
"HOME",
"USER",
"LOGNAME",
"LANG",
"LC_*",
"TERM",
"SHELL",
"TMPDIR",
"TZ"
],
"bashSessionEnv": false,
"spillDir": ".efferent/runtime/tool-output",
"spillKeep": 50,
"progressMs": 250,
"environmentSection": true,
"sectionOrder": 800
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tools": {
"type": "array",
"items": {
"type": "string",
"enum": [
"read",
"write",
"edit",
"ls",
"find",
"grep",
"bash"
]
}
},
"always": {
"type": "array",
"items": {
"type": "string",
"enum": [
"read",
"edit",
"shell"
]
}
},
"confine": {
"type": "boolean"
},
"protect": {
"type": "array",
"items": {
"type": "string"
}
},
"exclude": {
"type": "array",
"items": {
"type": "string"
}
},
"maxLines": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"maxBytes": {
"type": "integer",
"minimum": 1024,
"maximum": 10485760
},
"lsEntries": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"findResults": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"grepMatches": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"grepLineChars": {
"type": "integer",
"minimum": 16,
"maximum": 100000
},
"maxFileBytes": {
"type": "integer",
"minimum": 1024,
"maximum": 1073741824
},
"readImages": {
"type": "boolean"
},
"fuzzyEdit": {
"type": "boolean"
},
"bashTimeoutMs": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"bashMaxTimeoutMs": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"bashEnv": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"bashInheritEnv": {
"type": "boolean"
},
"bashEnvAllow": {
"type": "array",
"items": {
"type": "string"
}
},
"bashSessionEnv": {
"type": "boolean"
},
"spillDir": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"spillKeep": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"progressMs": {
"type": "integer",
"minimum": 1,
"maximum": 60000
},
"environmentSection": {
"type": "boolean"
},
"sectionOrder": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"tools",
"always",
"confine",
"protect",
"exclude",
"maxLines",
"maxBytes",
"lsEntries",
"findResults",
"grepMatches",
"grepLineChars",
"maxFileBytes",
"readImages",
"fuzzyEdit",
"bashTimeoutMs",
"bashMaxTimeoutMs",
"bashEnv",
"bashInheritEnv",
"bashEnvAllow",
"bashSessionEnv",
"spillDir",
"spillKeep",
"progressMs",
"environmentSection",
"sectionOrder"
],
"additionalProperties": true
}
@xandreed/plugin-models
Scope: runtime · API 2 · Version 0.14.0
Provides: effect/ai/LanguageModel, @xandreed/core/UtilityLlm, @xandreed/core/AuthStore, @xandreed/core/SettingsStore, @xandreed/core/ModelCatalog
Requires: efferent/SessionEnvironment
Optional: @xandreed/plugin-models/HostCredentials, @xandreed/plugin-models/ModelsTransport
Defaults
{
"model": "",
"fastModel": "",
"fallbackModel": "",
"inheritPrevious": true,
"endpoints": {},
"storage": "local",
"credentials": {},
"credentialEnv": {},
"proxy": "",
"noProxy": ""
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"model": {
"type": "string"
},
"fastModel": {
"type": "string"
},
"fallbackModel": {
"type": "string"
},
"inheritPrevious": {
"type": "boolean"
},
"endpoints": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"apiKey": {
"anyOf": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"apiKeyEnv": {
"type": "string"
},
"standardOnly": {
"type": "boolean"
},
"images": {
"type": "boolean"
}
},
"required": [
"url"
],
"additionalProperties": true
}
},
"storage": {
"type": "string",
"enum": [
"local",
"memory"
]
},
"credentials": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"api_key"
]
},
"key": {
"type": "string"
}
},
"required": [
"type",
"key"
],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"oauth"
]
},
"access": {
"type": "string"
},
"refresh": {
"type": "string"
},
"expires": {
"type": "number"
},
"accountId": {
"type": "string"
},
"installationId": {
"type": "string"
}
},
"required": [
"type",
"access",
"refresh",
"expires"
],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"local"
]
},
"baseUrl": {
"type": "string"
}
},
"required": [
"type"
],
"additionalProperties": true
}
]
}
},
"credentialEnv": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"proxy": {
"anyOf": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"noProxy": {
"type": "string"
}
},
"required": [
"model",
"fastModel",
"fallbackModel",
"inheritPrevious",
"endpoints",
"storage",
"credentials",
"credentialEnv",
"proxy",
"noProxy"
],
"additionalProperties": true
}
@xandreed/plugin-memory-window
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/ConversationMemory
Contributes: efferent/Capabilities
Requires: none
Defaults
{
"compactPreviousTurn": true,
"turnContext": "current",
"replies": true,
"spillMinChars": 2000,
"previewChars": 600,
"ledgerTurnChars": 240,
"digestOnWriteChars": 0,
"digests": true,
"media": "inline",
"maxImages": 8,
"maxMediaChars": 20000000
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"compactPreviousTurn": {
"type": "boolean"
},
"turnContext": {
"type": "string",
"enum": [
"current",
"all"
]
},
"replies": {
"type": "boolean"
},
"spillMinChars": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"previewChars": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"ledgerTurnChars": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"digestOnWriteChars": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"digests": {
"type": "boolean"
},
"media": {
"type": "string",
"enum": [
"none",
"inline"
]
},
"maxImages": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"maxMediaChars": {
"type": "integer",
"minimum": 0,
"maximum": 20000000
}
},
"required": [
"compactPreviousTurn",
"turnContext",
"replies",
"spillMinChars",
"previewChars",
"ledgerTurnChars",
"digestOnWriteChars",
"digests",
"media",
"maxImages",
"maxMediaChars"
],
"additionalProperties": true
}
@xandreed/plugin-memory-summary
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/ConversationMemory
Requires: none
Defaults
{
"triggerRatio": 0.8,
"keepRatio": 0.16,
"cooldownTurns": 3,
"turnContext": "current",
"replies": true,
"digests": true,
"media": "inline",
"maxImages": 8,
"maxMediaChars": 20000000,
"instructions": "Summarize the earlier part of this conversation for the same assistant, which will continue from your summary plus the newest turns. Preserve, in order: the user's goals and constraints; facts and records established (with their identifiers); answers already given; open questions and pending work. Dense prose and lists; never invent anything not in the transcript."
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"triggerRatio": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"enum": [
"Infinity",
"-Infinity",
"NaN"
]
}
]
},
"keepRatio": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"enum": [
"Infinity",
"-Infinity",
"NaN"
]
}
]
},
"cooldownTurns": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"turnContext": {
"type": "string",
"enum": [
"current",
"all"
]
},
"replies": {
"type": "boolean"
},
"digests": {
"type": "boolean"
},
"media": {
"type": "string",
"enum": [
"none",
"inline"
]
},
"maxImages": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"maxMediaChars": {
"type": "integer",
"minimum": 0,
"maximum": 20000000
},
"instructions": {
"type": "string"
}
},
"required": [
"triggerRatio",
"keepRatio",
"cooldownTurns",
"turnContext",
"replies",
"digests",
"media",
"maxImages",
"maxMediaChars",
"instructions"
],
"additionalProperties": true
}
@xandreed/plugin-memory-digest
Scope: session · API 2 · Version 0.14.0
Provides: efferent/ResultDigester
Requires: @xandreed/core/UtilityLlm
Defaults
{
"maxSourceChars": 48000
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"maxSourceChars": {
"type": "integer",
"minimum": 1000,
"maximum": 400000
}
},
"required": [
"maxSourceChars"
],
"additionalProperties": true
}
@xandreed/plugin-tool-discovery
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/ToolRegistry
Contributes: efferent/Capabilities
Requires: efferent/Capabilities
Defaults
{
"grants": [],
"loadSkill": true,
"maxCallsPerRun": 64,
"maxSkillLoadsPerRun": 4,
"readConcurrency": 4,
"matcherTimeoutMs": 3000,
"catalogVersion": "1",
"catalogOrder": 900
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"grants": {
"type": "array",
"items": {
"type": "string"
}
},
"loadSkill": {
"type": "boolean"
},
"maxCallsPerRun": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"maxSkillLoadsPerRun": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"readConcurrency": {
"type": "integer",
"minimum": 1,
"maximum": 32
},
"matcherTimeoutMs": {
"type": "integer",
"minimum": 50,
"maximum": 60000
},
"catalogVersion": {
"type": "string",
"minLength": 1
},
"catalogOrder": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"grants",
"loadSkill",
"maxCallsPerRun",
"maxSkillLoadsPerRun",
"readConcurrency",
"matcherTimeoutMs",
"catalogVersion",
"catalogOrder"
],
"additionalProperties": true
}
@xandreed/plugin-agent-loop/steps
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/StepLoop
Requires: none
Defaults
{}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"not": {
"type": "null"
}
}
@xandreed/plugin-tasks
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/Tasks
Contributes: efferent/Capabilities
Requires: efferent/Sessions, efferent/TaskRunner, efferent/TaskExecutor
Defaults
{
"maxRunning": 2,
"tools": false,
"replyChars": 12000,
"closingReserveMs": 2000
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"maxRunning": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"tools": {
"type": "boolean"
},
"replyChars": {
"type": "integer",
"minimum": 100,
"maximum": 100000
},
"closingReserveMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
},
"required": [
"maxRunning",
"tools",
"replyChars",
"closingReserveMs"
],
"additionalProperties": true
}
@xandreed/plugin-telemetry
Scope: session · API 2 · Version 0.14.0
Provides: none
Requires: efferent/RunContext, efferent/TurnEvents
Defaults
{
"prices": {},
"metricAttributes": {},
"spanEvents": true
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"prices": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"input": {
"type": "number",
"minimum": 0
},
"output": {
"type": "number",
"minimum": 0
},
"cacheRead": {
"type": "number",
"minimum": 0
},
"cacheWrite": {
"type": "number",
"minimum": 0
},
"reasoning": {
"type": "number",
"minimum": 0
}
},
"required": [
"input",
"output",
"cacheRead",
"cacheWrite"
],
"additionalProperties": true
}
},
"metricAttributes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"spanEvents": {
"type": "boolean"
}
},
"required": [
"prices",
"metricAttributes",
"spanEvents"
],
"additionalProperties": true
}
@xandreed/plugin-render/surface
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/render/Render
Requires: efferent/render/Store, efferent/ui/OutputAdmission
Defaults
{
"maxBytes": 32768
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"maxBytes": {
"type": "integer",
"minimum": 1024,
"maximum": 131072
}
},
"required": [
"maxBytes"
],
"additionalProperties": true
}
@xandreed/plugin-render/feed
Scope: runtime · API 2 · Version 0.14.0
Provides: efferent/render/Feed
Requires: efferent/render/JournalTail
Defaults
{
"pollMs": 200,
"maxPollMs": 1000,
"heartbeatMs": 15000,
"maxDurationMs": 240000
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"pollMs": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxPollMs": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"heartbeatMs": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxDurationMs": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"required": [
"pollMs",
"maxPollMs",
"heartbeatMs",
"maxDurationMs"
],
"additionalProperties": true
}
@xandreed/plugin-render/output
Scope: session · API 2 · Version 0.14.0
Provides: efferent/ui/Output, efferent/ui/OutputTools
Requires: efferent/ui/OutputAdmission, efferent/ui/OutputJournal, efferent/ui/OutputContext
Defaults
{
"maxBytes": 32768
}
Configuration schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"maxBytes": {
"type": "integer",
"minimum": 1024,
"maximum": 131072
}
},
"required": [
"maxBytes"
],
"additionalProperties": true
}