mycelium
Import
Section titled “Import”import * as api from "@fungi.computer/mycelium";Exports
Section titled “Exports”| Kind | Export | Description |
|---|---|---|
| class | MyceliumDefinitionError | A capability declaration could not form one coherent installed surface. |
| class | MyceliumClosedError | An operation attempted to use a closed Mycelium runtime. |
| class | MyceliumSourceError | A capability source failed at its bounded host boundary. |
| class | InvalidOperationInput | Untrusted operation input failed the operation’s declared input schema. |
| class | InvalidOperationOutput | An operation’s result failed its declared output schema. |
| type alias | Access | What one operation does: read observes, write changes something. |
| type alias | ToolPolicy | An author’s labels for one operation or direct tool. |
| type alias | Grant | The access a host grants one module. |
| type alias | Grants | A host’s grants, keyed by module id. An unnamed module uses defaultGrant unless it is required, in which case missing authority is refused. |
| type alias | AccessLabel | The labels an operation or direct tool carries, as its author declared them. |
| type alias | AccessContext | The Session a runtime serves; null for a session-free host. |
| type alias | ConfirmRequest | One call the host is asked to approve before it runs. |
| type alias | AccessRefusalReason | Why a call was refused before it ran. |
| type alias | AccessRefusal | The ordinary result a refused call returns in place of running. |
| type alias | AccessOptions | Host-supplied access data and the one way to ask a person. Every field is
optional: hosted defaults allow unnamed modules, and no confirm means an
operation requiring approval is refused, never run unasked. MCP catalogs
explicitly default unnamed modules to none. Native hosts own durable approval
policy for admitted writes; explicit author confirmation still uses this port. |
| type alias | LabelledTool | A Mule tool that carries its author’s access labels outside execute. |
| type alias | CapabilitySession | Session on whose behalf one runtime acquires its capability projections. |
| type alias | CapabilitySourceContext | Context supplied while acquiring one current capability projection. |
| type alias | CapabilitySourceSnapshot | Bounded current projection returned by one capability source. |
| type alias | CapabilitySourceAcquisition | Acquired source projection and the cleanup that owns its live adapter. |
| type alias | CapabilitySource | Promise-shaped host boundary for one versioned capability projection. |
| type alias | MyceliumSourcePhase | Lifecycle phase in which a capability source failed. |
| type alias | MyceliumError | Closed failure vocabulary for the first Mycelium runtime slice. |
| type alias | ExecutionOptions | Host execution limits plus the reserved, host-only admission contract. |
| type alias | CollectedImage | A single image collected during an execute run. |
| type alias | ExecutionImages | The collector as one execution’s operations see it: push only. |
| type alias | InvocationContext | The only context an operation callback may observe. |
| type alias | MyceliumOptions | Inputs used to construct the Promise-facing runtime. |
| type alias | AcquireOptions | Cancellation options for one Promise-facing lease acquisition. |
| type alias | Lease | One immutable Promise-facing capability revision. |
| type alias | Runtime | Warm Promise-facing lifecycle for acquiring immutable run leases. |
| type alias | OperationDefinition | Declaration for one operation behind the execute door. input and output may
be Effect schemas (encoded as JSON) or any Standard Schema with Standard JSON
Schema, such as Zod 4. |
| type alias | ModuleDefinition | Declaration for one stable module and its related operations. |
| type alias | MyceliumApi | Public convenience namespace contract. |
| type alias | OperationSchemaIssue | One Standard Schema issue. |
| type alias | OperationSchemaResult | Standard Schema validation result. |
| type alias | StandardOperationSchema | Any Standard Schema that also implements Standard JSON Schema, such as a Zod 4
schema. Mycelium validates with validate and describes the operation to the
model with jsonSchema. |
| type alias | OperationSchema | Schema for one operation’s input or output: an Effect schema (exchanged as its
canonical JSON codec, Schema.toCodecJson), or any Standard Schema with
Standard JSON Schema such as Zod 4. |
| type alias | OperationRegistration | Opaque handle for one schema-described operation. |
| type alias | ModuleRegistration | Opaque handle for one namespaced capability module. |
| type alias | GateDecision | A gate’s verdict for one call: run the operation, or return value instead. |
| type alias | OperationGate | Asked before every call of a gated module’s operations. |
| type alias | SandboxAdmissionOptions | Host-owned admission inputs; never part of guest execute arguments. |
| type alias | SandboxAdmissionPolicy | Captured once per runtime and shared across backing-work groups. |
| type alias | SandboxFailureEvent | Full operator diagnostics, excluded from model conversation and default reads. |
| constant | ToolAccessSchema | What one operation does, declared by its author as a fixed fact: read
observes, write changes something. An unlabelled operation is write. |
| constant | ToolConfirmSchema | Whether the author asks that a person approve each call first. |
| constant | ToolPolicySchema | An author’s labels for one operation or direct tool: the one definition both the TypeScript type and the registration-time parse derive from. |
| constant | GrantSchema | The access a host grants one module: write allows every operation, read
allows only read operations, none allows nothing. |
| constant | MAX_EXECUTION_IMAGES | Maximum number of out-of-band images retained for one execution. |
| constant | Mycelium | Schema-described authoring and Promise-facing runtime construction. |
| constant | SandboxFailureEventSchema | Shared structural grammar for durable operator facts and client inspection. |
| function | normalizeSandboxAdmissionPolicy() | Validate host policy and resolve defaults from a platform-owned core observation. |
MyceliumDefinitionErrorclass
Section titled “MyceliumDefinitionError”A capability declaration could not form one coherent installed surface.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MyceliumDefinitionError(message): MyceliumDefinitionError;Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
message |
string |
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructor;Properties
Section titled “Properties”readonly code: "invalid_definition" = invalidDefinitionCode;Stable machine-readable failure code.
MyceliumClosedErrorclass
Section titled “MyceliumClosedError”An operation attempted to use a closed Mycelium runtime.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MyceliumClosedError(message?): MyceliumClosedError;Parameters
Section titled “Parameters”| Parameter | Type | Default value |
|---|---|---|
message |
string |
"Mycelium runtime is closed" |
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructor;Properties
Section titled “Properties”readonly code: "runtime_closed" = runtimeClosedCode;Stable machine-readable failure code.
MyceliumSourceErrorclass
Section titled “MyceliumSourceError”A capability source failed at its bounded host boundary.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MyceliumSourceError(sourceId, phase): MyceliumSourceError;Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
sourceId |
string | undefined |
Stable identity of the source, absent for whole-candidate failures. |
phase |
MyceliumSourcePhase |
Lifecycle phase that could not settle. |
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructor;Properties
Section titled “Properties”readonly code: "source_failure" = sourceFailureCode;Stable machine-readable failure code.
sourceId
Section titled “sourceId”readonly sourceId: string | undefined;Stable identity of the source, absent for whole-candidate failures.
readonly phase: MyceliumSourcePhase;Lifecycle phase that could not settle.
InvalidOperationInputclass
Section titled “InvalidOperationInput”Untrusted operation input failed the operation’s declared input schema.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new InvalidOperationInput(issues): InvalidOperationInput;Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
issues |
readonly Readonly<{ message: string; path?: readonly ( | PropertyKey | Readonly<{ key: PropertyKey; }>)[]; }>[] |
Schema issues, formatted for the model by the execute door. |
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructor;Properties
Section titled “Properties”issues
Section titled “issues”readonly issues: readonly Readonly<{ message: string; path?: readonly ( | PropertyKey | Readonly<{ key: PropertyKey; }>)[];}>[];Schema issues, formatted for the model by the execute door.
InvalidOperationOutputclass
Section titled “InvalidOperationOutput”An operation’s result failed its declared output schema.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new InvalidOperationOutput(issues): InvalidOperationOutput;Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
issues |
readonly Readonly<{ message: string; path?: readonly ( | PropertyKey | Readonly<{ key: PropertyKey; }>)[]; }>[] |
Schema issues, kept for operators; never shown to the model. |
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructor;Properties
Section titled “Properties”issues
Section titled “issues”readonly issues: readonly Readonly<{ message: string; path?: readonly ( | PropertyKey | Readonly<{ key: PropertyKey; }>)[];}>[];Schema issues, kept for operators; never shown to the model.
Accesstype alias
Section titled “Access”type Access = typeof ToolAccessSchema.Type;What one operation does: read observes, write changes something.
ToolPolicytype alias
Section titled “ToolPolicy”type ToolPolicy = typeof ToolPolicySchema.Type;An author’s labels for one operation or direct tool.
Granttype alias
Section titled “Grant”type Grant = typeof GrantSchema.Type;The access a host grants one module.
Grantstype alias
Section titled “Grants”type Grants = Readonly<Record<string, Grant>>;A host’s grants, keyed by module id. An unnamed module uses defaultGrant unless it is required, in which case missing authority is refused.
AccessLabeltype alias
Section titled “AccessLabel”type AccessLabel = Readonly<{ module: string; operation: string; access: Access; confirm: boolean;}>;The labels an operation or direct tool carries, as its author declared them.
AccessContexttype alias
Section titled “AccessContext”type AccessContext = Readonly<{ sessionId: string | null;}>;The Session a runtime serves; null for a session-free host.
ConfirmRequesttype alias
Section titled “ConfirmRequest”type ConfirmRequest = Readonly< Omit<AccessLabel, "confirm"> & AccessContext & object>;One call the host is asked to approve before it runs.
AccessRefusalReasontype alias
Section titled “AccessRefusalReason”type AccessRefusalReason = "not-granted" | "read-only" | "confirmation-unavailable" | "declined";Why a call was refused before it ran.
AccessRefusaltype alias
Section titled “AccessRefusal”type AccessRefusal = Readonly<{ refused: true; module: string; operation: string; reason: AccessRefusalReason; message: string;}>;The ordinary result a refused call returns in place of running.
AccessOptionstype alias
Section titled “AccessOptions”type AccessOptions = Readonly<{ defaultGrant?: Grant; grants?: Grants; required?: readonly string[]; sessionGrants?: (context) => Grants; beforeCall?: (signal) => Promise<void>; confirmWrites?: boolean; confirm?: (request, signal) => Promise<boolean>; onRefused?: (refusal, context) => void;}>;Host-supplied access data and the one way to ask a person. Every field is
optional: hosted defaults allow unnamed modules, and no confirm means an
operation requiring approval is refused, never run unasked. MCP catalogs
explicitly default unnamed modules to none. Native hosts own durable approval
policy for admitted writes; explicit author confirmation still uses this port.
LabelledTooltype alias
Section titled “LabelledTool”type LabelledTool = MuleTool & Readonly<{ module: string; access?: Access; confirm?: boolean; }>;A Mule tool that carries its author’s access labels outside execute.
CapabilitySessiontype alias
Section titled “CapabilitySession”type CapabilitySession = Readonly<{ sessionId: string; commandId?: string; meta?: typeof Schema.Json.Type;}>;Session on whose behalf one runtime acquires its capability projections.
CapabilitySourceContexttype alias
Section titled “CapabilitySourceContext”type CapabilitySourceContext = Readonly<{ session?: CapabilitySession; signal: AbortSignal; invalidate: () => void;}>;Context supplied while acquiring one current capability projection.
CapabilitySourceSnapshottype alias
Section titled “CapabilitySourceSnapshot”type CapabilitySourceSnapshot = Readonly<{ version: string; modules: readonly ModuleRegistration[];}>;Bounded current projection returned by one capability source.
CapabilitySourceAcquisitiontype alias
Section titled “CapabilitySourceAcquisition”type CapabilitySourceAcquisition = Readonly<{ snapshot: CapabilitySourceSnapshot; release: () => Promise<void>;}>;Acquired source projection and the cleanup that owns its live adapter.
CapabilitySourcetype alias
Section titled “CapabilitySource”type CapabilitySource = Readonly<{ id: string; acquire: (context) => Promise<CapabilitySourceAcquisition>;}>;Promise-shaped host boundary for one versioned capability projection.
MyceliumSourcePhasetype alias
Section titled “MyceliumSourcePhase”type MyceliumSourcePhase = "acquire" | "release" | "stale";Lifecycle phase in which a capability source failed.
MyceliumErrortype alias
Section titled “MyceliumError”type MyceliumError = | MyceliumClosedError | MyceliumDefinitionError | MyceliumSourceError | SandboxFailure;Closed failure vocabulary for the first Mycelium runtime slice.
ExecutionOptionstype alias
Section titled “ExecutionOptions”type ExecutionOptions = Readonly<{ timeoutMs?: number; abortGraceMs?: number;}> & SandboxAdmissionOptions;Host execution limits plus the reserved, host-only admission contract.
CollectedImagetype alias
Section titled “CollectedImage”type CollectedImage = Readonly<{ data: string; mimeType: "image/jpeg" | "image/png" | "image/gif" | "image/webp"; path: string; bytes: number;}>;A single image collected during an execute run.
ExecutionImagestype alias
Section titled “ExecutionImages”type ExecutionImages = Readonly<{ push: (image) => string;}>;The collector as one execution’s operations see it: push only.
InvocationContexttype alias
Section titled “InvocationContext”type InvocationContext = Readonly<{ executionId: string; toolCallId?: string; operationOrdinal?: number; toolCallCode?: string; deadlineAt: number | null; signal: AbortSignal; images?: ExecutionImages; output?: Readonly<{ write: (stream, bytes) => void; }>;}>;The only context an operation callback may observe.
MyceliumOptionstype alias
Section titled “MyceliumOptions”type MyceliumOptions = Readonly<{ modules?: readonly ModuleRegistration[]; sources?: readonly CapabilitySource[]; session?: CapabilitySession; execution?: ExecutionOptions; sandbox: Sandbox; onSandboxFailure?: (event) => Promise<void>; tools?: readonly LabelledTool[]; access?: AccessOptions;}>;Inputs used to construct the Promise-facing runtime.
AcquireOptionstype alias
Section titled “AcquireOptions”type AcquireOptions = Readonly<{ signal?: AbortSignal;}>;Cancellation options for one Promise-facing lease acquisition.
Leasetype alias
Section titled “Lease”type Lease = Readonly<{ revision: string; catalog: ForageCatalog; executeTool: MuleTool; tools: readonly MuleTool[]; release: () => Promise<void>;}>;One immutable Promise-facing capability revision.
Runtimetype alias
Section titled “Runtime”type Runtime = Readonly<{ acquire: (options?) => Promise<Lease>; close: () => Promise<void>;}>;Warm Promise-facing lifecycle for acquiring immutable run leases.
OperationDefinitiontype alias
Section titled “OperationDefinition”type OperationDefinition<I, O> = Readonly<{ replay?: "safe" | "unsafe"; access?: Access; confirm?: boolean; description?: string; input: OperationSchema<I>; output?: OperationSchema<O>; execute: (input, context) => Promise<O>;}>;Declaration for one operation behind the execute door. input and output may
be Effect schemas (encoded as JSON) or any Standard Schema with Standard JSON
Schema, such as Zod 4.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
I |
O |
ModuleDefinitiontype alias
Section titled “ModuleDefinition”type ModuleDefinition = Readonly<{ id: string; name?: string; namespace?: readonly string[]; description?: string; operations: Readonly< Record<string, OperationRegistration | ModuleRegistration> >;}>;Declaration for one stable module and its related operations.
MyceliumApitype alias
Section titled “MyceliumApi”type MyceliumApi = Readonly<{ module: (definition) => ModuleRegistration; operation: { <I, O>(definition): OperationRegistration<I, O>; <I, O>(definition): OperationRegistration<I, O>; }; make: (options) => Promise<Runtime>; gate: (module, gate) => ModuleRegistration; grantAs: (module, grantKey) => ModuleRegistration;}>;Public convenience namespace contract.
OperationSchemaIssuetype alias
Section titled “OperationSchemaIssue”type OperationSchemaIssue = Readonly<{ message: string; path?: readonly ( | PropertyKey | Readonly<{ key: PropertyKey; }> )[];}>;One Standard Schema issue.
OperationSchemaResulttype alias
Section titled “OperationSchemaResult”type OperationSchemaResult<T> = | Readonly<{ value: T; issues?: undefined; }> | Readonly<{ issues: readonly OperationSchemaIssue[]; }>;Standard Schema validation result.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
StandardOperationSchematype alias
Section titled “StandardOperationSchema”type StandardOperationSchema<T> = Readonly<{ ~standard: Readonly<{ validate: (value) => | OperationSchemaResult<T> | Promise<OperationSchemaResult<T>>; jsonSchema: JsonSchemaSource["~standard"]["jsonSchema"]; }>;}>;Any Standard Schema that also implements Standard JSON Schema, such as a Zod 4
schema. Mycelium validates with validate and describes the operation to the
model with jsonSchema.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
OperationSchematype alias
Section titled “OperationSchema”type OperationSchema<T> = Schema.Codec<T, unknown> | StandardOperationSchema<T>;Schema for one operation’s input or output: an Effect schema (exchanged as its
canonical JSON codec, Schema.toCodecJson), or any Standard Schema with
Standard JSON Schema such as Zod 4.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
OperationRegistrationtype alias
Section titled “OperationRegistration”type OperationRegistration<I, O> = Readonly<{ [operationBrand]: true; [operationTypes]?: Readonly<{ input: I; output: O; }>;}>;Opaque handle for one schema-described operation.
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
I |
unknown |
O |
unknown |
ModuleRegistrationtype alias
Section titled “ModuleRegistration”type ModuleRegistration = Readonly<{ [moduleBrand]: true;}>;Opaque handle for one namespaced capability module.
GateDecisiontype alias
Section titled “GateDecision”type GateDecision = | Readonly<{ kind: "allow"; }> | Readonly<{ kind: "refuse"; value: MyceliumJsonValue; }>;A gate’s verdict for one call: run the operation, or return value instead.
OperationGatetype alias
Section titled “OperationGate”type OperationGate = (call) => GateDecision | Promise<GateDecision>;Asked before every call of a gated module’s operations.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
call |
Readonly<{ operation: string; context: InvocationContext; }> |
Returns
Section titled “Returns”| GateDecision |
Promise<GateDecision>
SandboxAdmissionOptionstype alias
Section titled “SandboxAdmissionOptions”type SandboxAdmissionOptions = Readonly<{ sandboxCapacity?: number; admissionWaitMs?: number;}>;Host-owned admission inputs; never part of guest execute arguments.
SandboxAdmissionPolicytype alias
Section titled “SandboxAdmissionPolicy”type SandboxAdmissionPolicy = Readonly<{ capacity: number; waitMs: number;}>;Captured once per runtime and shared across backing-work groups.
SandboxFailureEventtype alias
Section titled “SandboxFailureEvent”type SandboxFailureEvent = typeof SandboxFailureEventSchema.Type;Full operator diagnostics, excluded from model conversation and default reads.
ToolAccessSchemaconstant
Section titled “ToolAccessSchema”const ToolAccessSchema: Literals<readonly ["read", "write"]>;What one operation does, declared by its author as a fixed fact: read
observes, write changes something. An unlabelled operation is write.
ToolConfirmSchemaconstant
Section titled “ToolConfirmSchema”const ToolConfirmSchema: Boolean = Schema.Boolean;Whether the author asks that a person approve each call first.
ToolPolicySchemaconstant
Section titled “ToolPolicySchema”const ToolPolicySchema: Struct<{ access: optional<Literals<readonly ["read", "write"]>>; confirm: optional<Boolean>;}>;An author’s labels for one operation or direct tool: the one definition both the TypeScript type and the registration-time parse derive from.
GrantSchemaconstant
Section titled “GrantSchema”const GrantSchema: Literals<readonly ["none", "read", "write"]>;The access a host grants one module: write allows every operation, read
allows only read operations, none allows nothing.
MAX_EXECUTION_IMAGESconstant
Section titled “MAX_EXECUTION_IMAGES”const MAX_EXECUTION_IMAGES: 8 = 8;Maximum number of out-of-band images retained for one execution.
Myceliumconstant
Section titled “Mycelium”const Mycelium: MyceliumApi;Schema-described authoring and Promise-facing runtime construction.
SandboxFailureEventSchemaconstant
Section titled “SandboxFailureEventSchema”const SandboxFailureEventSchema: Struct<{ kind: Literal<"sandbox_failure">; ref: String; executionId: String; adapter: String; buildSha: NullOr<String>; tag: Literals< readonly [ "SourceInvalid", "GuestThrew", "DeadlineExceeded", "SandboxBusy", "Cancelled", "DispatchLost", "SandboxCrashed", "BadResponse", "ResultTooLarge", "ResultNotJson", "CapabilityFailed", "Unknown", ] >; fields: $Record<String, Codec<JSONType, JSONType, never, never>>; healthAlert: Boolean;}>;Shared structural grammar for durable operator facts and client inspection.
normalizeSandboxAdmissionPolicy()function
Section titled “normalizeSandboxAdmissionPolicy()”function normalizeSandboxAdmissionPolicy( options, availableCores?,): SandboxAdmissionPolicy;Validate host policy and resolve defaults from a platform-owned core observation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options |
| Readonly<{ sandboxCapacity?: number; admissionWaitMs?: number; }> | undefined |
availableCores? |
number |
Returns
Section titled “Returns”References
Section titled “References”sandboxFailure
Section titled “sandboxFailure”Re-exports sandboxFailure
isSandboxFailure
Section titled “isSandboxFailure”Re-exports isSandboxFailure
sandboxOperatorValue
Section titled “sandboxOperatorValue”Re-exports sandboxOperatorValue
MyceliumJsonValue
Section titled “MyceliumJsonValue”Re-exports MyceliumJsonValue
SandboxValue
Section titled “SandboxValue”Re-exports SandboxValue
SandboxBinding
Section titled “SandboxBinding”Re-exports SandboxBinding
SandboxRequest
Section titled “SandboxRequest”Re-exports SandboxRequest
Sandbox
Section titled “Sandbox”Re-exports Sandbox
SourceInvalid
Section titled “SourceInvalid”Re-exports SourceInvalid
GuestThrew
Section titled “GuestThrew”Re-exports GuestThrew
DeadlineExceeded
Section titled “DeadlineExceeded”Re-exports DeadlineExceeded
SandboxBusy
Section titled “SandboxBusy”Re-exports SandboxBusy
Cancelled
Section titled “Cancelled”Re-exports Cancelled
DispatchLost
Section titled “DispatchLost”Re-exports DispatchLost
SandboxCrashed
Section titled “SandboxCrashed”Re-exports SandboxCrashed
BadResponse
Section titled “BadResponse”Re-exports BadResponse
ResultTooLarge
Section titled “ResultTooLarge”Re-exports ResultTooLarge
ResultNotJson
Section titled “ResultNotJson”Re-exports ResultNotJson
CapabilityFailed
Section titled “CapabilityFailed”Re-exports CapabilityFailed
Unknown
Section titled “Unknown”Re-exports Unknown
sandboxFailureMessage
Section titled “sandboxFailureMessage”Re-exports sandboxFailureMessage
SandboxFailure
Section titled “SandboxFailure”Re-exports SandboxFailure
CapabilityDiagnostic
Section titled “CapabilityDiagnostic”Re-exports CapabilityDiagnostic
CapabilityFailureFields
Section titled “CapabilityFailureFields”Re-exports CapabilityFailureFields